Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ElementContainerFaction.cs
Go to the documentation of this file.
2{
3 public bool isDirty;
4
5 public bool IsEffective(Thing t)
6 {
7 if (t.c_idDeity.IsEmpty())
8 {
9 return true;
10 }
11 return t.c_idDeity == EClass.pc.idFaith;
12 }
13
14 public void OnEquip(Chara c, Thing t)
15 {
16 if (c.IsPCFaction)
17 {
18 OnEquip(t);
19 }
20 }
21
22 public void OnUnequip(Chara c, Thing t)
23 {
24 if (c.IsPCFaction)
25 {
26 OnUnequip(t);
27 }
28 }
29
30 public void OnEquip(Thing t)
31 {
32 if (!IsEffective(t))
33 {
34 return;
35 }
36 foreach (Element value in t.elements.dict.Values)
37 {
38 if (value.IsGlobalElement)
39 {
40 ModBase(value.id, value.Value).vExp = value.vExp;
41 isDirty = true;
42 }
43 }
44 CheckDirty();
45 }
46
47 public void OnUnequip(Thing t)
48 {
49 if (!IsEffective(t))
50 {
51 return;
52 }
53 foreach (Element value in t.elements.dict.Values)
54 {
55 if (value.IsGlobalElement)
56 {
57 ModBase(value.id, -value.Value);
58 isDirty = true;
59 }
60 }
61 CheckDirty();
62 }
63
64 public void CheckDirty()
65 {
66 if (!isDirty)
67 {
68 return;
69 }
70 foreach (Chara value in EClass.game.cards.globalCharas.Values)
71 {
72 if (value.IsPCFaction)
73 {
74 value.Refresh();
75 }
76 }
78 {
79 foreach (Chara chara in EClass._map.charas)
80 {
81 if (chara.IsPCFactionMinion)
82 {
83 chara.Refresh();
84 }
85 }
86 }
87 isDirty = false;
88 }
89
90 public void OnLeaveFaith()
91 {
92 foreach (Chara value in EClass.game.cards.globalCharas.Values)
93 {
94 if (value.IsPCFaction)
95 {
96 OnRemoveMember(value);
97 }
98 }
99 }
100
101 public void OnJoinFaith()
102 {
103 foreach (Chara value in EClass.game.cards.globalCharas.Values)
104 {
105 if (value.IsPCFaction)
106 {
107 OnAddMemeber(value);
108 }
109 }
110 }
111
112 public void OnAddMemeber(Chara c)
113 {
114 foreach (BodySlot slot in c.body.slots)
115 {
116 if (slot.thing != null)
117 {
118 OnEquip(slot.thing);
119 }
120 }
121 }
122
123 public void OnRemoveMember(Chara c)
124 {
125 foreach (BodySlot slot in c.body.slots)
126 {
127 if (slot.thing != null)
128 {
129 OnUnequip(slot.thing);
130 }
131 }
132 }
133}
Thing thing
Definition: BodySlot.cs:8
GlobalCharaList globalCharas
Definition: CardManager.cs:46
string c_idDeity
Definition: Card.cs:1481
Definition: Chara.cs:10
void Refresh(bool calledRecursive=false)
Definition: Chara.cs:1504
string idFaith
Definition: Chara.cs:216
override bool IsPCFaction
Definition: Chara.cs:656
override bool IsPCFactionMinion
Definition: Chara.cs:640
bool IsGameStarted
Definition: Core.cs:84
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Core core
Definition: EClass.cs:6
static Map _map
Definition: EClass.cs:18
static Chara pc
Definition: EClass.cs:14
void OnUnequip(Chara c, Thing t)
void OnEquip(Chara c, Thing t)
Element ModBase(int ele, int v)
int id
Definition: ELEMENT.cs:240
int vExp
Definition: ELEMENT.cs:244
int Value
Definition: ELEMENT.cs:282
bool IsGlobalElement
Definition: ELEMENT.cs:335
CardManager cards
Definition: Game.cs:155
List< Chara > charas
Definition: Map.cs:81
Definition: Thing.cs:8