Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceRace.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceRace : SourceDataString<SourceRace.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public string id;
10
11 public string name_JP;
12
13 public string name;
14
15 public int playable;
16
17 public string[] tag;
18
19 public int life;
20
21 public int mana;
22
23 public int vigor;
24
25 public int DV;
26
27 public int PV;
28
29 public int PDR;
30
31 public int EDR;
32
33 public int EP;
34
35 public int STR;
36
37 public int END;
38
39 public int DEX;
40
41 public int PER;
42
43 public int LER;
44
45 public int WIL;
46
47 public int MAG;
48
49 public int CHA;
50
51 public int SPD;
52
53 public int INT;
54
55 public int martial;
56
57 public int pen;
58
59 public int[] elements;
60
61 public string skill;
62
63 public string figure;
64
65 public int geneCap;
66
67 public string material;
68
69 public string[] corpse;
70
71 public string[] loot;
72
73 public int blood;
74
75 public string meleeStyle;
76
77 public string castStyle;
78
79 public string[] EQ;
80
81 public int sex;
82
83 public int[] age;
84
85 public int height;
86
87 public int breeder;
88
89 public string[] food;
90
91 public string fur;
92
93 public string detail_JP;
94
95 public string detail;
96
98
99 public Dictionary<int, int> elementMap;
100
101 [NonSerialized]
102 public string name_L;
103
104 [NonSerialized]
105 public string detail_L;
106
107 public override bool UseAlias => false;
108
109 public override string GetAlias => "n";
110
111 public bool IsAnimal => tag.Contains("animal");
112
113 public bool IsHuman => tag.Contains("human");
114
115 public bool IsUndead => tag.Contains("undead");
116
117 public bool IsMachine => tag.Contains("machine");
118
119 public bool IsHorror => tag.Contains("horror");
120
121 public bool IsFish => tag.Contains("fish");
122
123 public bool IsFairy => tag.Contains("fairy");
124
125 public bool IsGod => tag.Contains("god");
126
127 public bool IsDragon => tag.Contains("dragon");
128
129 public bool IsPlant => tag.Contains("plant");
130 }
131
132 public override Row CreateRow()
133 {
134 return new Row
135 {
136 id = SourceData.GetString(0),
137 name_JP = SourceData.GetString(1),
138 name = SourceData.GetString(2),
139 playable = SourceData.GetInt(3),
140 tag = SourceData.GetStringArray(4),
141 life = SourceData.GetInt(5),
142 mana = SourceData.GetInt(6),
143 vigor = SourceData.GetInt(7),
144 DV = SourceData.GetInt(8),
145 PV = SourceData.GetInt(9),
146 PDR = SourceData.GetInt(10),
147 EDR = SourceData.GetInt(11),
148 EP = SourceData.GetInt(12),
149 STR = SourceData.GetInt(13),
150 END = SourceData.GetInt(14),
151 DEX = SourceData.GetInt(15),
152 PER = SourceData.GetInt(16),
153 LER = SourceData.GetInt(17),
154 WIL = SourceData.GetInt(18),
155 MAG = SourceData.GetInt(19),
156 CHA = SourceData.GetInt(20),
157 SPD = SourceData.GetInt(21),
158 INT = SourceData.GetInt(23),
159 martial = SourceData.GetInt(24),
160 pen = SourceData.GetInt(25),
161 elements = Core.ParseElements(SourceData.GetStr(26)),
162 skill = SourceData.GetString(27),
164 geneCap = SourceData.GetInt(29),
166 corpse = SourceData.GetStringArray(31),
167 loot = SourceData.GetStringArray(32),
168 blood = SourceData.GetInt(33),
169 meleeStyle = SourceData.GetString(34),
170 castStyle = SourceData.GetString(35),
171 EQ = SourceData.GetStringArray(36),
172 sex = SourceData.GetInt(37),
173 age = SourceData.GetIntArray(38),
174 height = SourceData.GetInt(39),
175 breeder = SourceData.GetInt(40),
178 detail_JP = SourceData.GetString(43),
179 detail = SourceData.GetString(44)
180 };
181 }
182
183 public override void SetRow(Row r)
184 {
185 map[r.id] = r;
186 }
187
188 public override void OnInit()
189 {
190 foreach (Row row in rows)
191 {
192 Dictionary<int, int> dictionary = new Dictionary<int, int>();
193 dictionary[70] = row.STR;
194 dictionary[71] = row.END;
195 dictionary[72] = row.DEX;
196 dictionary[73] = row.PER;
197 dictionary[74] = row.LER;
198 dictionary[75] = row.WIL;
199 dictionary[76] = row.MAG;
200 dictionary[77] = row.CHA;
201 dictionary[79] = row.SPD;
202 dictionary[80] = row.INT;
203 dictionary[100] = row.martial;
204 dictionary[60] = row.life;
205 dictionary[61] = row.mana;
206 dictionary[62] = row.vigor;
207 dictionary[65] = row.PV;
208 dictionary[64] = row.DV;
209 dictionary[55] = row.PDR;
210 dictionary[56] = row.EDR;
211 dictionary[57] = row.EP;
212 dictionary[261] = 1;
213 dictionary[225] = 1;
214 dictionary[255] = 1;
215 dictionary[220] = 1;
216 dictionary[250] = 1;
217 dictionary[101] = 1;
218 dictionary[102] = 1;
219 dictionary[103] = 1;
220 dictionary[107] = 1;
221 dictionary[106] = 1;
222 dictionary[110] = 1;
223 dictionary[111] = 1;
224 dictionary[104] = 1;
225 dictionary[109] = 1;
226 dictionary[108] = 1;
227 dictionary[123] = 1;
228 dictionary[122] = 1;
229 dictionary[120] = 1;
230 dictionary[150] = 1;
231 dictionary[301] = 1;
232 dictionary[306] = 1;
233 row.elementMap = Element.GetElementMap(row.elements, dictionary);
234 row.visibleWithTelepathy = !row.IsUndead && !row.IsMachine && !row.IsHorror;
235 }
236 }
237}
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:714
static Dictionary< int, int > GetElementMap(int[] list)
Definition: ELEMENT.cs:521
static string[] GetStringArray(int id)
Definition: SourceData.cs:741
static string GetString(int id)
Definition: SourceData.cs:746
static int GetInt(int id)
Definition: SourceData.cs:711
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:751
static int[] GetIntArray(int id)
Definition: SourceData.cs:736
string[] corpse
Definition: SourceRace.cs:69
string name_JP
Definition: SourceRace.cs:11
override string GetAlias
Definition: SourceRace.cs:109
string material
Definition: SourceRace.cs:67
string[] loot
Definition: SourceRace.cs:71
string detail_JP
Definition: SourceRace.cs:93
override bool UseAlias
Definition: SourceRace.cs:107
string figure
Definition: SourceRace.cs:63
string meleeStyle
Definition: SourceRace.cs:75
int[] elements
Definition: SourceRace.cs:59
string[] tag
Definition: SourceRace.cs:17
string castStyle
Definition: SourceRace.cs:77
string[] food
Definition: SourceRace.cs:89
bool visibleWithTelepathy
Definition: SourceRace.cs:97
Dictionary< int, int > elementMap
Definition: SourceRace.cs:99
string[] EQ
Definition: SourceRace.cs:79
string detail_L
Definition: SourceRace.cs:105
string detail
Definition: SourceRace.cs:95
string skill
Definition: SourceRace.cs:61
override Row CreateRow()
Definition: SourceRace.cs:132
override void OnInit()
Definition: SourceRace.cs:188
override void SetRow(Row r)
Definition: SourceRace.cs:183