Elin Decompiled Documentation EA 23.342 Nightly
Loading...
Searching...
No Matches
Party Class Reference
Inheritance diagram for Party:
EClass

Public Member Functions

List< CharaSetMembers ()
 
int Count ()
 
void AddMemeber (Chara c, bool showMsg=false)
 
Chara Find (string id)
 
void RemoveMember (Chara c)
 
void Replace (Chara c, int index)
 
void SetLeader (Chara c)
 
Element GetPartySkill (int ele)
 
void ModExp (int ele, int a)
 
Element GetBestSkill (int ele)
 
bool IsCriticallyWounded (bool includePc=false)
 
int EvalueBest (int ele)
 
int EvalueTotal (int ele, Func< Chara, bool > funcIf=null)
 
bool HasElement (int ele, bool excludePC=false)
 
void RegisterSetup (int index)
 
void Disband ()
 

Public Attributes

int uidLeader
 
List< int > uidMembers = new List<int>()
 
List< Chara_members
 
RefChara refLeader = new RefChara()
 

Properties

List< Charamembers [get]
 
Chara leader [get, set]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Static Public Attributes inherited from EClass
static Core core
 

Detailed Description

Definition at line 6 of file Party.cs.

Member Function Documentation

◆ AddMemeber()

void Party.AddMemeber ( Chara  c,
bool  showMsg = false 
)
inline

Definition at line 71 of file Party.cs.

72 {
73 if (c.party == this)
74 {
75 return;
76 }
77 if (!c.IsGlobal)
78 {
79 Debug.LogError("exception: " + c?.ToString() + " is not global chara");
80 }
81 members.Add(c);
82 uidMembers.Add(c.uid);
83 c.party = this;
84 c.isSale = false;
85 c.SetBool(18, enable: false);
86 if (c.homeBranch != null)
87 {
91 if (c.homeBranch.owner.map != null)
92 {
93 c.homeBranch.owner.map.props.sales.Remove(c);
94 }
95 }
96 if (showMsg)
97 {
98 Msg.Say("party_join", c.Name);
99 SE.Play("party_join");
100 }
102 }
string Name
Definition: Card.cs:2191
int uid
Definition: Card.cs:125
void SetBool(string id, bool enable)
Definition: Card.cs:2562
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:9563
override bool IsGlobal
Definition: Chara.cs:628
Party party
Definition: Chara.cs:43
FactionBranch homeBranch
Definition: Chara.cs:1113
void RefreshEfficiency()
PolicyManager policies
ElementContainerZone elements
PropsManager props
Definition: Map.cs:91
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
List< int > uidMembers
Definition: Party.cs:12
List< Chara > members
Definition: Party.cs:19
List< Card > sales
Definition: PropsManager.cs:14
static void SetDirty()
Map map
Definition: Zone.cs:66

References Debug, FactionBranch.elements, Chara.homeBranch, Chara.IsGlobal, Zone.map, members, Card.Name, FactionBranch.owner, Chara.party, FactionBranch.policies, Map.props, FactionBranch.RefreshEfficiency(), Chara.RefreshWorkElements(), PropsManager.sales, Msg.Say(), Card.SetBool(), WidgetRoster.SetDirty(), Card.uid, uidMembers, and PolicyManager.Validate().

Referenced by PartyManager.Create(), FactionBranch.DailyOutcome(), Chara.GetRevived(), TraitFoodEggFertilized.Incubate(), ListPeopleParty.JoinParty(), Chara.MakeAlly(), Chara.MakePartyMemeber(), FactionBranch.OnAfterSimulate(), QuestDebt.OnStart(), CoreDebug.QuickStart(), and ActRide.Ride().

◆ Count()

int Party.Count ( )
inline

Definition at line 61 of file Party.cs.

62 {
63 int num = members.Count;
64 foreach (Chara member in members)
65 {
66 num += member.Evalue(1431);
67 }
68 return num;
69 }
int Evalue(int ele)
Definition: Card.cs:2704
Definition: Chara.cs:10

References Card.Evalue(), and members.

Referenced by WidgetStatsBar.Build(), and Player.RefreshEmptyAlly().

◆ Disband()

void Party.Disband ( )
inline

Definition at line 242 of file Party.cs.

243 {
244 foreach (Chara item in members.Copy())
245 {
246 if (!item.IsPC)
247 {
249 if (item.homeZone != EClass._zone)
250 {
251 item.MoveZone(item.homeZone);
252 }
253 }
254 }
255 }
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
void RemoveMember(Chara c)
Definition: Party.cs:116

References EClass._zone, item, members, and RemoveMember().

Referenced by ListPeopleParty.OnRefreshMenu().

◆ EvalueBest()

int Party.EvalueBest ( int  ele)
inline

Definition at line 186 of file Party.cs.

187 {
188 int num = 0;
189 foreach (Chara member in members)
190 {
191 if (member.Evalue(ele) > num)
192 {
193 num = member.Evalue(ele);
194 }
195 }
196 return num;
197 }

References Card.Evalue(), and members.

◆ EvalueTotal()

int Party.EvalueTotal ( int  ele,
Func< Chara, bool >  funcIf = null 
)
inline

Definition at line 199 of file Party.cs.

200 {
201 int num = 0;
202 foreach (Chara member in members)
203 {
204 if (funcIf == null || funcIf(member))
205 {
206 num += member.Evalue(ele);
207 }
208 }
209 return num;
210 }

References Card.Evalue(), and members.

Referenced by Card.DamageHP(), and AI_Idle.Run().

◆ Find()

Chara Party.Find ( string  id)
inline

Definition at line 104 of file Party.cs.

105 {
106 foreach (Chara member in members)
107 {
108 if (member.id == id)
109 {
110 return member;
111 }
112 }
113 return null;
114 }
string id
Definition: Card.cs:36

References Card.id, and members.

Referenced by Zone_DungeonFairy.OnGenerateMap(), and TraitStairsLocked.OnUse().

◆ GetBestSkill()

Element Party.GetBestSkill ( int  ele)
inline

Definition at line 161 of file Party.cs.

162 {
163 Element element = Element.Create(ele);
164 foreach (Chara member in members)
165 {
166 if (member.IsAliveInCurrentZone && member.Evalue(ele) > element.Value)
167 {
168 element = member.elements.GetElement(ele);
169 }
170 }
171 return element;
172 }
ElementContainerCard elements
Definition: Card.cs:42
override bool IsAliveInCurrentZone
Definition: Chara.cs:567
Element GetElement(string alias)
int Value
Definition: ELEMENT.cs:301
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1131

References Element.Create(), Card.elements, Card.Evalue(), ElementContainer.GetElement(), Chara.IsAliveInCurrentZone, and members.

Referenced by GetPartySkill().

◆ GetPartySkill()

Element Party.GetPartySkill ( int  ele)
inline

Definition at line 148 of file Party.cs.

149 {
150 return GetBestSkill(ele);
151 }
Element GetBestSkill(int ele)
Definition: Party.cs:161

References GetBestSkill().

◆ HasElement()

bool Party.HasElement ( int  ele,
bool  excludePC = false 
)
inline

Definition at line 212 of file Party.cs.

213 {
214 foreach (Chara member in members)
215 {
216 if ((!excludePC || !member.IsPC) && member.HasElement(ele))
217 {
218 return true;
219 }
220 }
221 return false;
222 }
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6376
override bool IsPC
Definition: Chara.cs:630

References Card.HasElement(), Chara.IsPC, and members.

Referenced by Chara.Die(), and AI_Idle.Run().

◆ IsCriticallyWounded()

bool Party.IsCriticallyWounded ( bool  includePc = false)
inline

Definition at line 174 of file Party.cs.

175 {
176 foreach (Chara member in members)
177 {
178 if ((!includePc || !member.IsPC) && member.IsCriticallyWounded())
179 {
180 return true;
181 }
182 }
183 return false;
184 }
bool IsCriticallyWounded(bool includeRide=false)
Definition: Chara.cs:1236

References Chara.IsCriticallyWounded(), Chara.IsPC, and members.

Referenced by AM_Adv._OnUpdateInput(), and GoalAutoCombat.GetActPlanColor().

◆ ModExp()

void Party.ModExp ( int  ele,
int  a 
)
inline

Definition at line 153 of file Party.cs.

154 {
155 foreach (Chara member in members)
156 {
157 member.ModExp(ele, a);
158 }
159 }
void ModExp(string alias, int a)
Definition: Card.cs:2781

References members, and Card.ModExp().

Referenced by Card.ModExpParty().

◆ RegisterSetup()

void Party.RegisterSetup ( int  index)
inline

Definition at line 224 of file Party.cs.

225 {
226 Player.PartySetup partySetup = new Player.PartySetup();
227 foreach (Chara member in members)
228 {
229 partySetup.uids.Add(member.uid);
230 if (member == EClass.pc.ride)
231 {
232 partySetup.ride = member.uid;
233 }
234 if (member == EClass.pc.parasite)
235 {
236 partySetup.parasite = member.uid;
237 }
238 }
239 EClass.player.partySetups[index] = partySetup;
240 }
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
List< int > uids
Definition: Player.cs:921
Definition: Player.cs:11
PartySetup[] partySetups
Definition: Player.cs:1203

References members, Chara.parasite, Player.partySetups, EClass.pc, EClass.player, Chara.ride, Card.uid, and Player.PartySetup.uids.

Referenced by ListPeopleParty.OnRefreshMenu().

◆ RemoveMember()

void Party.RemoveMember ( Chara  c)
inline

Definition at line 116 of file Party.cs.

117 {
118 if (c.host != null)
119 {
120 ActRide.Unride(c.host, c.host.parasite == c, talk: false);
121 }
122 members.Remove(c);
123 uidMembers.Remove(c.uid);
124 c.party = null;
125 c.c_wasInPcParty = false;
126 c.SetDirtySpeed();
127 if (c.homeBranch != null)
128 {
131 }
133 }
static void Unride(Chara host, Chara mount, bool talk=true)
Definition: ActRide.cs:107
void SetDirtySpeed()
Definition: Chara.cs:2040
Chara host
Definition: Chara.cs:33

References FactionBranch.elements, Chara.homeBranch, Chara.host, members, Chara.parasite, FactionBranch.RefreshEfficiency(), Chara.RefreshWorkElements(), WidgetRoster.SetDirty(), Chara.SetDirtySpeed(), Card.uid, uidMembers, and ActRide.Unride().

Referenced by Faction.AddReserve(), Card.Destroy(), Chara.Die(), Disband(), Chara.MoveHome(), TraitHitchingPost.OnActivateTrap(), ListPeopleParty.OnClick(), TraitGeneMachine.OnUse(), AI_Slaughter.Run(), and CoreDebug.UpdateInput().

◆ Replace()

void Party.Replace ( Chara  c,
int  index 
)
inline

Definition at line 135 of file Party.cs.

136 {
137 members.Remove(c);
138 uidMembers.Remove(c.uid);
139 members.Insert(index, c);
140 uidMembers.Insert(index, c.uid);
141 }

References members, Card.uid, and uidMembers.

◆ SetLeader()

void Party.SetLeader ( Chara  c)
inline

Definition at line 143 of file Party.cs.

144 {
145 leader = c;
146 }
Chara leader
Definition: Party.cs:31

References leader.

Referenced by PartyManager.Create().

◆ SetMembers()

List< Chara > Party.SetMembers ( )
inline

Definition at line 42 of file Party.cs.

43 {
44 _members = new List<Chara>();
45 HashSet<int> hashSet = new HashSet<int>();
46 foreach (int uidMember in uidMembers)
47 {
48 if (!hashSet.Contains(uidMember))
49 {
50 Chara chara = RefChara.Get(uidMember);
51 if (chara != null)
52 {
53 hashSet.Add(uidMember);
54 members.Add(chara);
55 }
56 }
57 }
58 return _members;
59 }
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3254
List< Chara > _members
Definition: Party.cs:14
static Chara Get(int uid)
Definition: RefChara.cs:36

References _members, Card.Add(), RefChara.Get(), members, and uidMembers.

Member Data Documentation

◆ _members

List<Chara> Party._members

Definition at line 14 of file Party.cs.

Referenced by SetMembers().

◆ refLeader

RefChara Party.refLeader = new RefChara()

Definition at line 16 of file Party.cs.

◆ uidLeader

int Party.uidLeader

Definition at line 9 of file Party.cs.

◆ uidMembers

List<int> Party.uidMembers = new List<int>()

Definition at line 12 of file Party.cs.

Referenced by AddMemeber(), RemoveMember(), Replace(), and SetMembers().

Property Documentation

◆ leader

Chara Party.leader
getset

Definition at line 30 of file Party.cs.

31 {
32 get
33 {
35 }
36 set
37 {
38 refLeader.Set(ref uidLeader, value);
39 }
40 }
int uidLeader
Definition: Party.cs:9
RefChara refLeader
Definition: Party.cs:16
Chara GetAndCache(int uid)
Definition: RefChara.cs:5
void Set(ref int val, Chara c)
Definition: RefChara.cs:30

Referenced by TileMapElona.DrawTile(), Chara.MoveZone(), AI_Idle.Run(), and SetLeader().

◆ members

List<Chara> Party.members
get

The documentation for this class was generated from the following file: