15 id = SourceData.GetInt(0),
16 alias = SourceData.GetString(1),
17 name_JP = SourceData.GetString(2),
18 name = SourceData.GetString(3),
19 altname_JP = SourceData.GetString(4),
20 altname = SourceData.GetString(5),
21 aliasParent = SourceData.GetString(6),
22 parentFactor = SourceData.GetFloat(7),
23 lvFactor = SourceData.GetInt(8),
24 encFactor = SourceData.GetInt(9),
25 mtp = SourceData.GetInt(10),
26 aliasRef = SourceData.GetString(11),
27 aliasMtp = SourceData.GetString(12),
28 sort = SourceData.GetInt(13),
29 target = SourceData.GetString(14),
30 proc = SourceData.GetStringArray(15),
31 type = SourceData.GetString(16),
32 group = SourceData.GetString(17),
33 category = SourceData.GetString(18),
34 categorySub = SourceData.GetString(19),
35 abilityType = SourceData.GetStringArray(20),
36 tag = SourceData.GetStringArray(21),
37 thing = SourceData.GetString(22),
38 eleP = SourceData.GetInt(23),
39 cooldown = SourceData.GetInt(24),
40 LV = SourceData.GetInt(25),
41 chance = SourceData.GetInt(26),
42 value = SourceData.GetInt(27),
43 cost = SourceData.GetIntArray(28),
44 charge = SourceData.GetInt(29),
45 radius = SourceData.GetFloat(30),
46 max = SourceData.GetInt(31),
47 req = SourceData.GetStringArray(32),
48 idTrainer = SourceData.GetString(33),
49 encSlot = SourceData.GetString(34),
50 partySkill = SourceData.GetInt(35),
51 tagTrainer = SourceData.GetString(36),
52 levelBonus_JP = SourceData.GetString(37),
53 levelBonus = SourceData.GetString(38),
54 foodEffect = SourceData.GetStringArray(39),
55 langAct = SourceData.GetStringArray(41),
56 detail_JP = SourceData.GetString(42),
57 detail = SourceData.GetString(43),
58 textPhase_JP = SourceData.GetString(44),
59 textPhase = SourceData.GetString(45),
60 textExtra_JP = SourceData.GetString(46),
61 textExtra = SourceData.GetString(47),
62 textInc_JP = SourceData.GetString(48),
63 textInc = SourceData.GetString(49),
64 textDec_JP = SourceData.GetString(50),
65 textDec = SourceData.GetString(51),
66 textAlt_JP = SourceData.GetStringArray(52),
67 textAlt = SourceData.GetStringArray(53),
68 adjective_JP = SourceData.GetStringArray(54),
69 adjective = SourceData.GetStringArray(55)
80 public override void OnInit()
84 if (row.id >= 100 && row.id < 400)
86 this.hobbies.Add(row);
88 row.isAttribute = (row.category ==
"attribute");
89 row.isPrimaryAttribute = (row.isAttribute && row.tag.Contains(
"primary"));
90 row.isSkill = (row.category ==
"skill");
91 row.isSpell = (row.categorySub ==
"spell");
96 public override void OnAfterImportData()
98 Core.SetCurrent(
null);
101 this.map[row.id] = row;
102 this.alias[row.GetAlias] = row;
106 for (
int i = 910; i < 925; i++)
109 this.AddRow(ele, num + num2 + 100,
"ball_");
110 this.AddRow(ele, num + num2 + 200,
"breathe_");
111 this.AddRow(ele, num + num2 + 300,
"bolt_");
112 this.AddRow(ele, num + num2 + 400,
"hand_");
113 this.AddRow(ele, num + num2 + 500,
"arrow_");
114 this.AddRow(ele, num + num2 + 600,
"funnel_");
115 this.AddRow(ele, num + num2 + 700,
"miasma_");
116 this.AddRow(ele, num + num2 + 800,
"weapon_");
117 this.AddRow(ele, num + num2 + 900,
"puddle_");
126 System.Reflection.FieldInfo[] fields = row.GetType().GetFields();
128 foreach (System.Reflection.FieldInfo fieldInfo in fields)
130 row2.SetField(fieldInfo.Name, row.GetField(fieldInfo.Name));
133 row2.idMold = row.id;
134 row2.alias = row.alias + ele.alias.Remove(0, 3);
135 row2.aliasRef = ele.alias;
136 row2.aliasParent = ele.aliasParent;
137 row2.chance = row.chance;
139 row2.OnImportData(
EClass.sources.elements);
145 public override string[] ImportFields
169 public class Row : SourceData.BaseRow
173 public override bool UseAlias
183 public override string GetAlias
192 public override string GetName()
194 if (this.idMold != 0)
196 return EClass.sources.elements.map[this.idMold].alias.lang(
EClass.sources.elements.alias[
this.aliasRef].GetAltname(0),
null,
null,
null,
null);
198 return base.GetName();
202 public Sprite GetSprite()
205 if ((result = SpriteSheet.Get(
"Media/Graphics/Icon/Element/icon_ability",
this.alias)) ==
null)
207 result = (SpriteSheet.Get(
"Media/Graphics/Icon/Element/icon_ability", this.type) ??
EClass.core.refs.icons.defaultAbility);
213 public void SetImage(Image image)
215 image.sprite = (this.GetSprite() ??
EClass.core.refs.icons.defaultAbility);
216 if (!this.aliasRef.IsEmpty())
218 image.color =
EClass.setting.elements[this.aliasRef].colorSprite;
221 image.color = Color.white;
225 public string GetAltname(
int i)
227 return base.GetText(
"altname",
false).Split(
',', StringSplitOptions.None).TryGet(i, -1);
231 public bool IsEncAppliable(
Thing t,
bool isMaterial)
233 if (isMaterial && t.IsEquipmentOrRanged)
237 if (this.tag.Contains(
"trait"))
239 return !t.IsEquipmentOrRanged;
241 return this.IsEncAppliable(t.category);
245 public bool IsEncAppliable(
Thing t)
251 if (this.tag.Contains(
"trait"))
253 return !t.IsEquipmentOrRanged && !t.IsAmmo;
255 if (!t.IsEquipmentOrRanged)
261 this.IsEncAppliable(t.category);
269 if (this.encSlot.IsEmpty())
273 if (this.encSlot ==
"global")
282 string a = this.encSlot;
287 if (!(a ==
"weapon"))
289 return this.encSlot.Contains(
EClass.sources.elements.map[slot].alias);
291 return cat.IsChildOf(
"weapon");
301 public string name_JP;
307 public string altname_JP;
310 public string altname;
313 public string aliasParent;
316 public float parentFactor;
322 public int encFactor;
328 public string aliasRef;
331 public string aliasMtp;
337 public string target;
340 public string[] proc;
349 public string category;
352 public string categorySub;
355 public string[] abilityType;
394 public string idTrainer;
397 public string encSlot;
400 public int partySkill;
403 public string tagTrainer;
406 public string levelBonus_JP;
409 public string levelBonus;
412 public string[] foodEffect;
415 public string[] langAct;
418 public string detail_JP;
421 public string detail;
424 public string textPhase_JP;
427 public string textPhase;
430 public string textExtra_JP;
433 public string textExtra;
436 public string textInc_JP;
439 public string textInc;
442 public string textDec_JP;
445 public string textDec;
448 public string[] textAlt_JP;
451 public string[] textAlt;
454 public string[] adjective_JP;
457 public string[] adjective;
461 public bool isAttribute;
465 public bool isPrimaryAttribute;
479 public string name_L;
482 public string altname_L;
485 public string detail_L;
488 public string textPhase_L;
491 public string textExtra_L;
494 public string textInc_L;
497 public string textDec_L;
500 public string levelBonus_L;
503 public string[] textAlt_L;
506 public string[] adjective_L;