8 public static Check Get(
string id,
float dcMod = 1f)
24 if ((result = this._source) ==
null)
26 result = (this._source =
EClass.sources.checks.map[this.id]);
34 public string mainElementName
38 return EClass.sources.elements.map[this.source.element].GetName();
48 return this.source.baseDC;
53 public string GetText(
Chara p,
Card tg,
bool inDialog =
false)
56 int finalDC = this.GetFinalDC(p, tg);
57 string text2 = (finalDC > 20) ?
"絶望的" : ((finalDC > 17) ?
"ほぼ絶望的" : ((finalDC > 14) ?
"とても難しい" : ((finalDC > 11) ?
"難しい" : ((finalDC > 8) ?
"普通" : ((finalDC > 5) ?
"簡単" : ((finalDC > 2) ?
"とても簡単" :
"とても余裕"))))));
58 if (finalDC > 20 || finalDC > 15 || finalDC <= 10)
61 text =
string.Concat(
new string[]
65 this.GetDC(tg).ToString(),
71 return string.Concat(
new string[]
75 this.source.element.ToString(),
77 EClass.sources.elements.map[this.source.element].alias
82 public int GetDC(
Card tg =
null)
84 float num = (float)this.baseDC * this.dcMod;
89 num += this.source.lvMod * (float)tg.LV;
90 if (this.source.targetElement != 0)
92 Element element = tg.elements.GetElement(this.source.element);
95 num += (float)element.Value;
96 if (this.source.targetSubFactor > 0f && !element.source.aliasParent.IsEmpty())
98 Element element2 = tg.elements.GetElement(element.source.aliasParent);
101 num += this.source.targetSubFactor * (float)element2.Value;
110 public int GetFinalDC(
Chara p,
Card tg =
null)
112 int num = this.GetDC(tg);
113 if (this.source.element != 0)
115 Element element = p.elements.GetElement(this.source.element);
118 num -= element.Value;
119 if (this.source.subFactor > 0f && !element.source.aliasParent.IsEmpty())
121 Element element2 = p.elements.GetElement(element.source.aliasParent);
122 if (element2 !=
null)
124 num -= (int)(this.source.subFactor * (
float)element2.Value);
131 num = 14 + (int)Mathf.Sqrt((
float)(num - 14));
135 num = 6 - (int)Mathf.Sqrt((
float)(6 - num));
141 public Check.Result Perform(
Chara p,
Card tg =
null)
143 int finalDC = this.GetFinalDC(p, tg);
144 int num =
Dice.Roll(1, 20, 0,
null);
147 string text =
string.Concat(
new string[]
159 text +=
"CriticalPass";
163 text +=
"CriticalFail";
165 else if (num >= finalDC)
177 return Check.Result.CriticalPass;
181 return Check.Result.CriticalFail;
185 return Check.Result.Pass;
187 return Check.Result.Fail;
191 public Check.Result Perform(
Chara p,
Card tg, Action<Check.Result> action)
193 Check.Result result = this.Perform(p, tg);