Elin Decompiled Documentation EA 23.316 Nightly
Loading...
Searching...
No Matches
SourceFood.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceFood : SourceThingV
5{
6 [Serializable]
7 public class Row2 : Row
8 {
9 public string idTaste;
10
11 public int TST;
12
13 public int NUT;
14
15 public int STR;
16
17 public int STR2;
18
19 public int END;
20
21 public int END2;
22
23 public int DEX;
24
25 public int DEX2;
26
27 public int PER;
28
29 public int PER2;
30
31 public int LER;
32
33 public int LER2;
34
35 public int WIL;
36
37 public int WIL2;
38
39 public int MAG;
40
41 public int MAG2;
42
43 public int CHA;
44
45 public int CHA2;
46
47 public override bool UseAlias => false;
48
49 public override string GetAlias => "n";
50 }
51
52 public new static readonly IReadOnlyDictionary<string, int> RowMapping = new Dictionary<string, int>
53 {
54 ["id"] = 0,
55 ["_origin"] = 1,
56 ["name_JP"] = 2,
57 ["unit_JP"] = 3,
58 ["name"] = 4,
59 ["unit"] = 5,
60 ["name2_JP"] = 6,
61 ["name2"] = 7,
62 ["unknown_JP"] = 8,
63 ["unknown"] = 9,
64 ["tiles"] = 10,
65 ["parse"] = 11,
66 ["vals"] = 12,
67 ["trait"] = 13,
68 ["elements"] = 14,
69 ["idTaste"] = 16,
70 ["TST"] = 17,
71 ["NUT"] = 18,
72 ["STR"] = 19,
73 ["STR2"] = 20,
74 ["END"] = 21,
75 ["END2"] = 22,
76 ["DEX"] = 23,
77 ["DEX2"] = 24,
78 ["PER"] = 25,
79 ["PER2"] = 26,
80 ["LER"] = 27,
81 ["LER2"] = 28,
82 ["WIL"] = 29,
83 ["WIL2"] = 30,
84 ["MAG"] = 31,
85 ["MAG2"] = 32,
86 ["CHA"] = 33,
87 ["CHA2"] = 34,
88 ["LV"] = 36,
89 ["chance"] = 37,
90 ["value"] = 38,
91 ["weight"] = 39,
92 ["recipeKey"] = 40,
93 ["factory"] = 41,
94 ["components"] = 42,
95 ["defMat"] = 43,
96 ["category"] = 44,
97 ["tag"] = 45,
98 ["detail_JP"] = 46,
99 ["detail"] = 47
100 };
101
102 public new static readonly IReadOnlyDictionary<string, string> TypeMapping = new Dictionary<string, string>
103 {
104 ["id"] = "string",
105 ["_origin"] = "string",
106 ["name_JP"] = "string",
107 ["unit_JP"] = "string",
108 ["name"] = "string",
109 ["unit"] = "string",
110 ["name2_JP"] = "string[]",
111 ["name2"] = "string[]",
112 ["unknown_JP"] = "string",
113 ["unknown"] = "string",
114 ["tiles"] = "int[]",
115 ["parse"] = "string[]",
116 ["vals"] = "string[]",
117 ["trait"] = "string[]",
118 ["elements"] = "elements",
119 ["idTaste"] = "string",
120 ["TST"] = "int",
121 ["NUT"] = "int",
122 ["STR"] = "int",
123 ["STR2"] = "int",
124 ["END"] = "int",
125 ["END2"] = "int",
126 ["DEX"] = "int",
127 ["DEX2"] = "int",
128 ["PER"] = "int",
129 ["PER2"] = "int",
130 ["LER"] = "int",
131 ["LER2"] = "int",
132 ["WIL"] = "int",
133 ["WIL2"] = "int",
134 ["MAG"] = "int",
135 ["MAG2"] = "int",
136 ["CHA"] = "int",
137 ["CHA2"] = "int",
138 ["LV"] = "int",
139 ["chance"] = "int",
140 ["value"] = "int",
141 ["weight"] = "int",
142 ["recipeKey"] = "string[]",
143 ["factory"] = "string[]",
144 ["components"] = "string[]",
145 ["defMat"] = "string",
146 ["category"] = "string",
147 ["tag"] = "string[]",
148 ["detail_JP"] = "string",
149 ["detail"] = "string"
150 };
151
152 public override Row CreateRow()
153 {
154 return new Row2
155 {
156 id = SourceData.GetString(0),
157 _origin = SourceData.GetString(1),
158 name_JP = SourceData.GetString(2),
159 unit_JP = SourceData.GetString(3),
160 name = SourceData.GetString(4),
161 unit = SourceData.GetString(5),
162 name2_JP = SourceData.GetStringArray(6),
163 name2 = SourceData.GetStringArray(7),
164 unknown_JP = SourceData.GetString(8),
165 unknown = SourceData.GetString(9),
166 tiles = SourceData.GetIntArray(10),
167 parse = SourceData.GetStringArray(11),
168 vals = SourceData.GetStringArray(12),
169 trait = SourceData.GetStringArray(13),
170 elements = Core.ParseElements(SourceData.GetStr(14)),
171 idTaste = SourceData.GetString(16),
172 TST = SourceData.GetInt(17),
173 NUT = SourceData.GetInt(18),
174 STR = SourceData.GetInt(19),
175 STR2 = SourceData.GetInt(20),
176 END = SourceData.GetInt(21),
177 END2 = SourceData.GetInt(22),
178 DEX = SourceData.GetInt(23),
179 DEX2 = SourceData.GetInt(24),
180 PER = SourceData.GetInt(25),
181 PER2 = SourceData.GetInt(26),
182 LER = SourceData.GetInt(27),
183 LER2 = SourceData.GetInt(28),
184 WIL = SourceData.GetInt(29),
185 WIL2 = SourceData.GetInt(30),
186 MAG = SourceData.GetInt(31),
187 MAG2 = SourceData.GetInt(32),
188 CHA = SourceData.GetInt(33),
189 CHA2 = SourceData.GetInt(34),
190 LV = SourceData.GetInt(36),
191 chance = SourceData.GetInt(37),
192 value = SourceData.GetInt(38),
193 weight = SourceData.GetInt(39),
194 recipeKey = SourceData.GetStringArray(40),
195 factory = SourceData.GetStringArray(41),
196 components = SourceData.GetStringArray(42),
197 defMat = SourceData.GetString(43),
198 category = SourceData.GetString(44),
199 tag = SourceData.GetStringArray(45),
200 detail_JP = SourceData.GetString(46),
201 detail = SourceData.GetString(47)
202 };
203 }
204
205 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
206 {
207 return new Row2
208 {
209 id = SourceData.GetString(mapping["id"]),
210 _origin = SourceData.GetString(mapping["_origin"]),
211 name_JP = SourceData.GetString(mapping["name_JP"]),
212 unit_JP = SourceData.GetString(mapping["unit_JP"]),
213 name = SourceData.GetString(mapping["name"]),
214 unit = SourceData.GetString(mapping["unit"]),
215 name2_JP = SourceData.GetStringArray(mapping["name2_JP"]),
216 name2 = SourceData.GetStringArray(mapping["name2"]),
217 unknown_JP = SourceData.GetString(mapping["unknown_JP"]),
218 unknown = SourceData.GetString(mapping["unknown"]),
219 tiles = SourceData.GetIntArray(mapping["tiles"]),
220 parse = SourceData.GetStringArray(mapping["parse"]),
221 vals = SourceData.GetStringArray(mapping["vals"]),
222 trait = SourceData.GetStringArray(mapping["trait"]),
223 elements = Core.ParseElements(SourceData.GetStr(mapping["elements"])),
224 idTaste = SourceData.GetString(mapping["idTaste"]),
225 TST = SourceData.GetInt(mapping["TST"]),
226 NUT = SourceData.GetInt(mapping["NUT"]),
227 STR = SourceData.GetInt(mapping["STR"]),
228 STR2 = SourceData.GetInt(mapping["STR2"]),
229 END = SourceData.GetInt(mapping["END"]),
230 END2 = SourceData.GetInt(mapping["END2"]),
231 DEX = SourceData.GetInt(mapping["DEX"]),
232 DEX2 = SourceData.GetInt(mapping["DEX2"]),
233 PER = SourceData.GetInt(mapping["PER"]),
234 PER2 = SourceData.GetInt(mapping["PER2"]),
235 LER = SourceData.GetInt(mapping["LER"]),
236 LER2 = SourceData.GetInt(mapping["LER2"]),
237 WIL = SourceData.GetInt(mapping["WIL"]),
238 WIL2 = SourceData.GetInt(mapping["WIL2"]),
239 MAG = SourceData.GetInt(mapping["MAG"]),
240 MAG2 = SourceData.GetInt(mapping["MAG2"]),
241 CHA = SourceData.GetInt(mapping["CHA"]),
242 CHA2 = SourceData.GetInt(mapping["CHA2"]),
243 LV = SourceData.GetInt(mapping["LV"]),
244 chance = SourceData.GetInt(mapping["chance"]),
245 value = SourceData.GetInt(mapping["value"]),
246 weight = SourceData.GetInt(mapping["weight"]),
247 recipeKey = SourceData.GetStringArray(mapping["recipeKey"]),
248 factory = SourceData.GetStringArray(mapping["factory"]),
249 components = SourceData.GetStringArray(mapping["components"]),
250 defMat = SourceData.GetString(mapping["defMat"]),
251 category = SourceData.GetString(mapping["category"]),
252 tag = SourceData.GetStringArray(mapping["tag"]),
253 detail_JP = SourceData.GetString(mapping["detail_JP"]),
254 detail = SourceData.GetString(mapping["detail"])
255 };
256 }
257
258 public override void SetRow(Row r)
259 {
260 map[r.id] = r;
261 }
262
263 public override IReadOnlyDictionary<string, int> GetRowMapping()
264 {
265 return RowMapping;
266 }
267
268 public override IReadOnlyDictionary<string, string> GetTypeMapping()
269 {
270 return TypeMapping;
271 }
272
273 public override void Reset()
274 {
275 base.Reset();
276 EClass.sources.things.Reset();
277 }
278
279 public override void OnImportRow(Row _r, SourceThing.Row c)
280 {
281 List<int> list = new List<int>(c.elements);
282 Row2 row = _r as Row2;
283 Add(10, row.NUT);
284 Parse(row.STR, 70, row.STR2, 440);
285 Parse(row.END, 71, row.END2, 441);
286 Parse(row.DEX, 72, row.DEX2, 442);
287 Parse(row.PER, 73, row.PER2, 443);
288 Parse(row.LER, 74, row.LER2, 444);
289 Parse(row.WIL, 75, row.WIL2, 445);
290 Parse(row.MAG, 76, row.MAG2, 446);
291 Parse(row.CHA, 77, row.CHA2, 447);
292 for (int i = 0; i < row.elements.Length; i += 2)
293 {
294 Add(_r.elements[i], row.elements[i + 1]);
295 }
296 c.elements = list.ToArray();
297 c.name2 = row.name2;
298 c.name2_JP = row.name2_JP;
299 c.unknown = row.unknown;
300 c.unknown_JP = row.unknown_JP;
301 if (!row.unit_JP.IsEmpty())
302 {
303 c.unit_JP = row.unit_JP;
304 }
305 void Add(int ele, int a)
306 {
307 list.Add(ele);
308 list.Add(a);
309 }
310 void Parse(int raw, int ele, int raw2, int ele2)
311 {
312 if (raw != 0)
313 {
314 Add(ele, raw);
315 }
316 if (raw2 != 0)
317 {
318 Add(ele2, raw2);
319 }
320 }
321 }
322}
int[] elements
Definition: CardRow.cs:21
string id
Definition: CardRow.cs:7
string[] name2
Definition: CardRow.cs:39
string[] name2_JP
Definition: CardRow.cs:41
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:726
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
static string[] GetStringArray(int id)
Definition: SourceData.cs:1011
static string GetString(int id)
Definition: SourceData.cs:1016
static int GetInt(int id)
Definition: SourceData.cs:981
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:1021
static int[] GetIntArray(int id)
Definition: SourceData.cs:1006
string idTaste
Definition: SourceFood.cs:9
override bool UseAlias
Definition: SourceFood.cs:47
override string GetAlias
Definition: SourceFood.cs:49
static new readonly IReadOnlyDictionary< string, string > TypeMapping
Definition: SourceFood.cs:102
override void Reset()
Definition: SourceFood.cs:273
override Row CreateRow()
Definition: SourceFood.cs:152
override void OnImportRow(Row _r, SourceThing.Row c)
Definition: SourceFood.cs:279
override IReadOnlyDictionary< string, string > GetTypeMapping()
Definition: SourceFood.cs:268
override void SetRow(Row r)
Definition: SourceFood.cs:258
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
Definition: SourceFood.cs:205
override IReadOnlyDictionary< string, int > GetRowMapping()
Definition: SourceFood.cs:263
static new readonly IReadOnlyDictionary< string, int > RowMapping
Definition: SourceFood.cs:52
SourceThing things
string unknown_JP
Definition: SourceThing.cs:9