9 public string recipeCat
13 if (!this.isBridge && !this.isBridgePillar)
15 return this.row.Category.recipeCat;
22 public string GetDetail()
24 return this.row.GetDetail();
33 return this.row.GetName() + (this.isBridge ?
"recipeBridge".lang() :
"");
39 public bool IsQuickCraft
43 return !this.row.factory.IsEmpty() && this.row.factory[0] ==
"self";
49 public bool NeedFactory
53 return !this.row.factory.IsEmpty() && this.row.factory[0] !=
"self" && this.row.factory[0] !=
"x" && this.row.factory[0] !=
"none" && this.row.factory[0] !=
"None";
59 public string NameFactory
63 return EClass.sources.cards.map[this.idFactory].GetName();
69 public string idFactory
73 if (this.row.factory.IsEmpty())
79 return "factory_platform";
81 if (!this.isBridgePillar)
83 return this.row.factory[0];
85 return "tool_carving";
92 return Element.Create((this.NeedFactory ?
EClass.sources.cards.GetModelCrafter(
this.idFactory) :
Trait.SelfFactory).IDReqEle(
this),
this.row.LV);
98 if (!this.row.factory.IsEmpty() &&
this.row.factory[0] ==
"x")
100 this.noListing =
true;
102 if (this.row.components.Length == 0)
106 if (this.row.components[0] ==
"-")
110 if (this.row.recipeKey.Length != 0 &&
this.row.recipeKey[0] ==
"*")
112 this.alwaysKnown =
true;
114 string[] components = this.row.components;
116 if (!components.IsEmpty() && components[0] !=
"-")
119 while (i < components.Length)
121 string[] array = components[i].Split(
'|', StringSplitOptions.None);
122 string[] array2 = array[0].Split(
'/', StringSplitOptions.None);
123 string[] array3 = array2[0].Split(
'@', StringSplitOptions.None);
124 bool optional =
false;
128 char c = array3[0][0];
142 array3[0] = array3[0].Remove(0, 1);
148 tag = ((array3.Length > 1) ? array3[1] :
null),
149 req = ((array2.Length > 1) ?
int.Parse(array2[1]) : 1),
153 if (array.Length > 1)
155 for (
int j = 1; j < array.Length; j++)
157 ingredient.idOther.Add(array[j]);
160 list.Add(ingredient);
166 array3[0] = array3[0].Remove(0, 1);
170 array3[0] = array3[0].Remove(0, 1);
178 public string GetIDIngredient()
180 string[] components = this.row.components;
181 if (!components.IsEmpty() && components[0] !=
"-")
184 if (num < components.Length)
186 string[] array = components[num].Split(
'/', StringSplitOptions.None)[0].Split(
'@', StringSplitOptions.None);
187 char c = array[0][0];
188 if (c ==
'#' || c ==
'$' || c ==
'+')
190 array[0] = array[0].Remove(0, 1);
199 public int GetSPCost(
Card factory)
201 Element reqSkill = this.GetReqSkill();
202 int num = this.row.Category.costSP + reqSkill.Value / 10;
203 int num2 =
EClass.pc.Evalue(reqSkill.id);
204 if (num2 < reqSkill.Value)
206 num += (reqSkill.Value - num2) * 2 / 3;
224 public bool isBridge;
227 public bool isBridgePillar;
233 public bool noListing;
236 public bool isRandom;
239 public bool alwaysKnown;