Elin Decompiled Documentation EA 23.102 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 WillOverride => true;
23
24 public override bool AllowMultipleInstance => true;
25
26 public override bool UseElements => true;
27
28 public override int EvaluateTurn(int p)
29 {
30 if (base.refVal2 == 267)
31 {
32 return 7;
33 }
34 return base.EvaluateTurn(p) * ((base.refVal == 79) ? 50 : 100) / 100;
35 }
36
37 public override int GetPhase()
38 {
39 return 0;
40 }
41
42 public override Color GetColor(SkinColorProfile c)
43 {
44 if (!isDebuff)
45 {
46 return c.textGood;
47 }
48 return c.textBad;
49 }
50
51 public override string GetPhaseStr()
52 {
53 return GetText();
54 }
55
56 public override string GetText()
57 {
58 string[] list = Lang.GetList("buff_" + EClass.sources.elements.map[base.refVal].alias);
59 if (list != null)
60 {
61 if (!isDebuff)
62 {
63 return list[0];
64 }
65 return list[1];
66 }
67 return base.GetText();
68 }
69
70 public override void PlayEffect()
71 {
73 {
74 owner.PlaySound(isDebuff ? "debuff" : "buff");
75 owner.PlayEffect(isDebuff ? "debuff" : "buff");
76 owner.Say(isDebuff ? "buffStats_curse" : "buffStats", owner, EClass.sources.elements.map[base.refVal].GetName().ToLower());
77 }
78 }
79
80 public override bool CanStack(Condition c)
81 {
82 if (c is ConBuffStats conBuffStats)
83 {
84 return conBuffStats.refVal == base.refVal;
85 }
86 return true;
87 }
88
89 public override void SetOwner(Chara _owner, bool onDeserialize = false)
90 {
91 base.SetOwner(_owner);
92 elements.SetBase(base.refVal, CalcValue() * ((!isDebuff) ? 1 : (-1)));
94 }
95
96 public int CalcValue()
97 {
98 if (base.refVal2 == 267)
99 {
100 return 100 + (int)Mathf.Sqrt(base.power) * 2;
101 }
102 if (base.refVal == 79)
103 {
104 return (int)Mathf.Max(5f, Mathf.Sqrt(base.power) * 1.5f + 20f);
105 }
106 return (int)Mathf.Max(5f, Mathf.Sqrt(base.power) * 2f - 15f);
107 }
108
109 public override void OnWriteNote(List<string> list)
110 {
111 list.Add((isDebuff ? "hintDebuffStats" : "hintBuffStats").lang(base.sourceElement.GetName(), CalcValue().ToString() ?? ""));
112 }
113}
ConditionType
Definition: ConditionType.cs:2
ElementContainer elements
override string ToString()
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
override bool WillOverride
Definition: ConBuffStats.cs:22
override void PlayEffect()
Definition: ConBuffStats.cs:70
override int EvaluateTurn(int p)
Definition: ConBuffStats.cs:28
override string Name
Definition: ConBuffStats.cs:6
override bool UseElements
Definition: ConBuffStats.cs:26
override bool CanStack(Condition c)
Definition: ConBuffStats.cs:80
override ConditionType Type
Definition: ConBuffStats.cs:9
int CalcValue()
Definition: ConBuffStats.cs:96
override string GetPhaseStr()
Definition: ConBuffStats.cs:51
override void SetOwner(Chara _owner, bool onDeserialize=false)
Definition: ConBuffStats.cs:89
override int GetPhase()
Definition: ConBuffStats.cs:37
override Color GetColor(SkinColorProfile c)
Definition: ConBuffStats.cs:42
override string GetText()
Definition: ConBuffStats.cs:56
override bool AllowMultipleInstance
Definition: ConBuffStats.cs:24
override void OnWriteNote(List< string > list)
static bool ignoreEffect
Definition: Condition.cs:5
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
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