Elin Decompiled Documentation EA 23.248 Nightly
Loading...
Searching...
No Matches
ConBuffStats.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
4public class ConBuffStats : Condition
5{
6 public override string Name => (isDebuff ? "debuff" : "buff").lang();
7
8 public override ConditionType Type
9 {
10 get
11 {
12 if (!isDebuff)
13 {
14 return ConditionType.Buff;
15 }
16 return ConditionType.Debuff;
17 }
18 }
19
20 public bool isDebuff => base.refVal2 == 222;
21
22 public override bool AllowMultipleInstance => true;
23
24 public override bool UseElements => true;
25
26 public override int EvaluateTurn(int p)
27 {
28 if (base.refVal2 == 268)
29 {
30 return 7;
31 }
32 return base.EvaluateTurn(p) * ((base.refVal == 79) ? 50 : 100) / 100;
33 }
34
35 public override bool ShouldOverride(Condition c)
36 {
37 return true;
38 }
39
40 public override int GetPhase()
41 {
42 return 0;
43 }
44
45 public override Color GetColor(SkinColorProfile c)
46 {
47 if (!isDebuff)
48 {
49 return c.textGood;
50 }
51 return c.textBad;
52 }
53
54 public override string GetPhaseStr()
55 {
56 return GetText();
57 }
58
59 public override string GetText()
60 {
61 string[] list = Lang.GetList("buff_" + EClass.sources.elements.map[base.refVal].alias);
62 if (list != null)
63 {
64 if (!isDebuff)
65 {
66 return list[0];
67 }
68 return list[1];
69 }
70 return base.GetText();
71 }
72
73 public override void PlayEffect()
74 {
76 {
77 owner.PlaySound(isDebuff ? "debuff" : "buff");
78 owner.PlayEffect(isDebuff ? "debuff" : "buff");
79 owner.Say(isDebuff ? "buffStats_curse" : "buffStats", owner, EClass.sources.elements.map[base.refVal].GetName().ToLower());
80 }
81 }
82
83 public override bool CanStack(Condition c)
84 {
85 if (c is ConBuffStats conBuffStats)
86 {
87 return conBuffStats.refVal == base.refVal;
88 }
89 return true;
90 }
91
92 public override void SetOwner(Chara _owner, bool onDeserialize = false)
93 {
94 base.SetOwner(_owner);
95 elements.SetBase(base.refVal, CalcValue() * ((!isDebuff) ? 1 : (-1)));
97 }
98
99 public int CalcValue()
100 {
101 if (base.refVal2 == 268)
102 {
103 return 100 + (int)Mathf.Sqrt(base.power) * 2;
104 }
105 if (base.refVal == 79)
106 {
107 return (int)Mathf.Max(5f, Mathf.Sqrt(base.power) * 1.5f + 20f);
108 }
109 return (int)Mathf.Max(5f, Mathf.Sqrt(base.power) * 2f - 15f);
110 }
111
112 public override void OnWriteNote(List<string> list)
113 {
114 list.Add((isDebuff ? "hintDebuffStats" : "hintBuffStats").lang(base.sourceElement.GetName(), CalcValue().ToString() ?? ""));
115 }
116}
ConditionType
Definition: ConditionType.cs:2
ElementContainer elements
override string ToString()
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6177
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6211
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6830
Definition: Chara.cs:10
override void PlayEffect()
Definition: ConBuffStats.cs:73
override int EvaluateTurn(int p)
Definition: ConBuffStats.cs:26
override string Name
Definition: ConBuffStats.cs:6
override bool ShouldOverride(Condition c)
Definition: ConBuffStats.cs:35
override bool UseElements
Definition: ConBuffStats.cs:24
override bool CanStack(Condition c)
Definition: ConBuffStats.cs:83
override ConditionType Type
Definition: ConBuffStats.cs:9
int CalcValue()
Definition: ConBuffStats.cs:99
override string GetPhaseStr()
Definition: ConBuffStats.cs:54
override void SetOwner(Chara _owner, bool onDeserialize=false)
Definition: ConBuffStats.cs:92
override int GetPhase()
Definition: ConBuffStats.cs:40
override Color GetColor(SkinColorProfile c)
Definition: ConBuffStats.cs:45
override string GetText()
Definition: ConBuffStats.cs:59
override bool AllowMultipleInstance
Definition: ConBuffStats.cs:22
override void OnWriteNote(List< string > list)
static bool ignoreEffect
Definition: Condition.cs:5
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
void SetParent(Card c)
Element SetBase(string alias, int v, int potential=0)
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114
SourceElement elements