Elin Decompiled Documentation EA 23.241 Nightly
Loading...
Searching...
No Matches
FEAT.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
4public class FEAT
5{
6 public const int featSTR = 1620;
7
8 public const int featLuck = 1628;
9
10 public const int featCHA = 1627;
11
12 public const int featWIL = 1626;
13
14 public const int featMAG = 1625;
15
16 public const int featLER = 1624;
17
18 public const int featPER = 1623;
19
20 public const int featEND = 1622;
21
22 public const int featDEX = 1621;
23
24 public const int featHardy = 1630;
25
26 public const int featSPD = 1629;
27
28 public const int featWhiteVixen = 1414;
29
30 public const int featMana = 1611;
31
32 public const int featLife = 1610;
33
34 public const int featHealer = 1422;
35
36 public const int featManaMeat = 1421;
37
38 public const int featExecutioner = 1420;
39
40 public const int featMilitant = 1419;
41
42 public const int featSwordsage = 1418;
43
44 public const int featWitch = 1417;
45
46 public const int featInquisitor = 1416;
47
48 public const int featFoxMaid = 1415;
49
50 public const int featDefense = 1631;
51
52 public const int featFairysan = 1413;
53
54 public const int featLuckyCat = 1412;
55
56 public const int featStamina = 1612;
57
58 public const int featEvade = 1632;
59
60 public const int featRapidMagic = 1648;
61
62 public const int featNegotiate = 1634;
63
64 public const int featEarthStrength = 1411;
65
66 public const int featGoldenFinger = 1662;
67
68 public const int featDismantler = 1661;
69
70 public const int featLooter = 1660;
71
72 public const int featFisher = 1659;
73
74 public const int featChef = 1658;
75
76 public const int featManaCost = 1657;
77
78 public const int featScavenger = 1656;
79
80 public const int featModelBeliever = 1655;
81
82 public const int featHeavyCasting = 1654;
83
84 public const int featDreamWaker = 1653;
85
86 public const int featRapidArrow = 1652;
87
88 public const int featMagicManner = 1651;
89
90 public const int featGourmet = 1650;
91
92 public const int featDefender = 1649;
93
94 public const int featSummoner = 1647;
95
96 public const int featLonelySoul = 1646;
97
98 public const int featParty = 1645;
99
100 public const int featBodyParts = 1644;
101
102 public const int featSorter = 1643;
103
104 public const int featSleeper = 1642;
105
106 public const int featResCurse = 1641;
107
108 public const int featAnimalLover = 1640;
109
110 public const int featFaith = 1636;
111
112 public const int featMartial = 1635;
113
114 public const int featSpotting = 1633;
115
116 public const int featReboot = 1410;
117
118 public const int featHeavyEater = 1234;
119
120 public const int featPaladin2 = 1408;
121
122 public const int featAdam = 1230;
123
124 public const int featNirvana = 1231;
125
126 public const int featBaby = 1232;
127
128 public const int featCosmicHorror = 1233;
129
130 public const int featLightEater = 1235;
131
132 public const int featNorland = 1236;
133
134 public const int featRoran = 1237;
135
136 public const int featElder = 1238;
137
138 public const int featDemon = 1239;
139
140 public const int featMassSummoner = 1240;
141
142 public const int featMeatCushion = 1241;
143
144 public const int featGeneSlot = 1242;
145
146 public const int featLittleOne = 1229;
147
148 public const int featEternalYouth = 1243;
149
150 public const int featSevenSense = 1245;
151
152 public const int featPegasus = 1246;
153
154 public const int featLibra = 1247;
155
156 public const int featMiscreation = 1248;
157
158 public const int featBloodBond = 1249;
159
160 public const int featVampire = 1250;
161
162 public const int featAshborn = 1251;
163
164 public const int featGoodKarma = 1270;
165
166 public const int featBadKarma = 1271;
167
168 public const int featPeacemaker = 1272;
169
170 public const int featBloom = 1273;
171
172 public const int featGoddess = 1290;
173
174 public const int featBoost = 1409;
175
176 public const int featGod_element1 = 1300;
177
178 public const int featDemigod = 1228;
179
180 public const int featUnderground = 1226;
181
182 public const int featSlowFood = 1200;
183
184 public const int featManaBond = 1201;
185
186 public const int featFastLearner = 1202;
187
188 public const int featGrowParts = 1203;
189
190 public const int featFairyWeak = 1204;
191
192 public const int featCannibalism = 1205;
193
194 public const int featMelilithCurse = 1206;
195
196 public const int featFoxBless = 1207;
197
198 public const int featFoxLearn = 1208;
199
200 public const int featFluffyTail = 1209;
201
202 public const int featUndead = 1210;
203
204 public const int featSnail = 1211;
205
206 public const int featServant = 1227;
207
208 public const int featFairyResist = 1212;
209
210 public const int featManaPrecision = 1214;
211
212 public const int featDwarf = 1215;
213
214 public const int featSuccubus = 1216;
215
216 public const int featGolem = 1217;
217
218 public const int featMetal = 1218;
219
220 public const int featElderCrab = 1219;
221
222 public const int featFate = 1220;
223
224 public const int featSpike = 1221;
225
226 public const int featSplit = 1222;
227
228 public const int featAcidBody = 1223;
229
230 public const int featShiva = 1224;
231
232 public const int featLoyal = 1225;
233
234 public const int featElea = 1213;
235
236 public const int featGod_earth1 = 1305;
237
238 public const int featCentaur = 1244;
239
240 public const int featGod_machine1 = 1315;
241
242 public const int featPianist = 1405;
243
244 public const int featArcher = 1404;
245
246 public const int featFarmer = 1403;
247
248 public const int featWizard = 1402;
249
250 public const int featThief = 1401;
251
252 public const int featWarrior = 1400;
253
254 public const int featGod_strife1 = 1355;
255
256 public const int featGod_moonshadow1 = 1350;
257
258 public const int featGod_trickery1 = 1345;
259
260 public const int featGod_oblivion1 = 1340;
261
262 public const int featGod_wind1 = 1310;
263
264 public const int featGod_harmony1 = 1335;
265
266 public const int featGod_luck1 = 1330;
267
268 public const int featGod_harvest1 = 1325;
269
270 public const int featGod_healing1 = 1320;
271
272 public const int featTourist = 1406;
273
274 public const int featPaladin = 1407;
275
276 public static readonly int[] IDS = new int[135]
277 {
278 1620, 1628, 1627, 1626, 1625, 1624, 1623, 1622, 1621, 1630,
279 1629, 1414, 1611, 1610, 1422, 1421, 1420, 1419, 1418, 1417,
280 1416, 1415, 1631, 1413, 1412, 1612, 1632, 1648, 1634, 1411,
281 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653,
282 1652, 1651, 1650, 1649, 1647, 1646, 1645, 1644, 1643, 1642,
283 1641, 1640, 1636, 1635, 1633, 1410, 1234, 1408, 1230, 1231,
284 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
285 1229, 1243, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1270,
286 1271, 1272, 1273, 1290, 1409, 1300, 1228, 1226, 1200, 1201,
287 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
288 1227, 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
289 1222, 1223, 1224, 1225, 1213, 1305, 1244, 1315, 1405, 1404,
290 1403, 1402, 1401, 1400, 1355, 1350, 1345, 1340, 1310, 1335,
291 1330, 1325, 1320, 1406, 1407
292 };
293}
294public class Feat : Element
295{
296 public static List<string> hints = new List<string>();
297
298 public static string[] featRef = new string[5];
299
300 public override bool ShowBonuses => false;
301
302 public override string Name => base.source.GetText().SplitNewline().TryGet(base.Value - 1);
303
304 public override string FullName
305 {
306 get
307 {
308 string[] array = base.source.GetText().SplitNewline();
309 return array.TryGet(base.Value - 1) + ((base.source.max > 1 && array.Length == 1 && base.Value > 1) ? (" " + base.Value) : "");
310 }
311 }
312
313 public override bool ShowXP => false;
314
315 public override bool ShowValue => false;
316
317 public override int CostLearn => base.source.cost.TryGet(base.Value - 1);
318
319 public override bool CanLink(ElementContainer owner)
320 {
321 return !base.IsGlobalElement;
322 }
323
324 public override Sprite GetIcon(string suffix = "")
325 {
326 return SpriteSheet.Get("Media/Graphics/Icon/Element/icon_elements", "ele_Feat");
327 }
328
329 public override void OnWriteNote(UINote n, ElementContainer owner)
330 {
331 Apply(base.Value, owner, hint: true);
332 foreach (string hint in hints)
333 {
334 n.AddText("_bullet".lang() + hint);
335 }
336 }
337
339 {
340 string text = "";
341 Apply(base.Value, owner, hint: true);
342 foreach (string hint in hints)
343 {
344 text = text + hint.StripLastPun() + ", ";
345 }
346 return text.TrimEnd(' ').TrimEnd(',');
347 }
348
349 public override bool IsPurchaseFeatReqMet(ElementContainer owner, int lv = -1)
350 {
351 if (base.source.req.Length != 0)
352 {
353 Element element = owner.GetElement(base.source.req[0]);
354 if (element == null || element.ValueWithoutLink < ((base.source.req.Length == 1) ? 1 : base.source.req[Mathf.Clamp(((lv == -1 && owner != null) ? owner.Value(id) : lv) + 1, 1, base.source.req.Length - 1)].ToInt()))
355 {
356 return false;
357 }
358 }
359 return true;
360 }
361
362 public override void WritePurchaseReq(UINote n, int lv = -1)
363 {
364 if (base.source.req.Length != 0)
365 {
366 Element element = Element.Create(base.source.req[0], (base.source.req.Length == 1) ? 1 : base.source.req[Mathf.Clamp(((lv == -1 && owner != null) ? owner.Value(id) : lv) + 1, 1, base.source.req.Length - 1)].ToInt());
367 if (element != null)
368 {
369 n.AddHeader("featReq");
370 n.AddText(element.Name + ": " + element.Value, FontColor.Bad);
371 }
372 }
373 }
374
375 public List<string> Apply(int a, ElementContainer owner, bool hint = false)
376 {
377 if (hint)
378 {
379 hints.Clear();
380 }
381 int value = base.Value;
382 int A = Mathf.Abs(a);
383 int invert = ((a >= 0) ? 1 : (-1));
384 if (hint)
385 {
386 featRef[0] = a.ToString() ?? "";
387 featRef[1] = a.ToString() ?? "";
388 }
389 Chara chara = owner.Chara;
390 int num = vPotential;
391 if (!hint && a > 0 && chara != null)
392 {
393 num = (vPotential = chara.LV);
394 }
395 switch (id)
396 {
397 case 1660:
398 featRef[0] = (a * 25).ToString() ?? "";
399 break;
400 case 1206:
401 ModBase(78, -a * 10, hide: false);
402 break;
403 case 1642:
404 featRef[0] = ((a == 1) ? 10 : ((a == 2) ? 20 : 30)).ToString() ?? "";
405 break;
406 case 1643:
407 featRef[0] = ((a == 1) ? 1 : ((a == 2) ? 3 : 5)).ToString() ?? "";
408 break;
409 case 1610:
410 ModBase(60, a * 4, hide: false);
411 break;
412 case 1611:
413 ModBase(61, a * 4, hide: false);
414 break;
415 case 1612:
416 ModBase(62, a * 4, hide: false);
417 break;
418 case 1620:
419 ModAttribute(70);
420 break;
421 case 1621:
422 ModAttribute(72);
423 break;
424 case 1622:
425 ModAttribute(71);
426 break;
427 case 1623:
428 ModAttribute(73);
429 break;
430 case 1626:
431 ModAttribute(75);
432 break;
433 case 1625:
434 ModAttribute(76);
435 break;
436 case 1627:
437 ModAttribute(77);
438 break;
439 case 1624:
440 ModAttribute(74);
441 break;
442 case 1629:
443 ModBase(79, a * 5, hide: false);
444 break;
445 case 1630:
446 ModBase(65, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
447 break;
448 case 1631:
449 ModBase(64, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
450 break;
451 case 1632:
452 ModBase(150, a * 2, hide: false);
453 break;
454 case 1633:
455 ModBase(210, a * 3, hide: false);
456 ModBase(402, ((A == 3) ? 1 : 0) * invert, hide: false);
457 break;
458 case 1634:
459 ModBase(291, a * 4, hide: false);
460 break;
461 case 1635:
462 ModBase(100, a * 3, hide: false);
463 break;
464 case 1636:
465 ModBase(306, a * 4, hide: false);
466 break;
467 case 1628:
468 ModBase(78, a * 2, hide: false);
469 break;
470 case 1640:
471 ModBase(77, a * 2, hide: false);
472 break;
473 case 1400:
474 featRef[0] = (a * 10).ToString() ?? "";
475 break;
476 case 1404:
477 featRef[0] = (a * 10).ToString() ?? "";
478 break;
479 case 1401:
480 ModBase(78, a * 15, hide: false);
481 break;
482 case 1406:
483 featRef[0] = (a * 20).ToString() ?? "";
484 featRef[1] = (a * 5).ToString() ?? "";
485 break;
486 case 1644:
487 featRef[0] = a.ToString() ?? "";
488 if (!hint)
489 {
490 if (a > 0)
491 {
493 }
494 else
495 {
496 _ = a;
497 _ = 0;
498 }
499 if (owner.Chara.IsPC && (bool)WidgetEquip.Instance)
500 {
502 }
503 }
504 ModBase(60, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
505 ModBase(79, (A > 5) ? ((A - 5) * -5 * invert) : 0, hide: false);
506 ModBase(77, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
507 break;
508 case 1230:
509 ModBase(60, A * 2 * invert, hide: false);
510 ModBase(79, A * 3 * invert, hide: false);
511 break;
512 case 1204:
513 ModBase(64, a * 50, hide: true);
514 ModBase(401, a, hide: false);
515 break;
516 case 1202:
517 ModBase(403, a * 20, hide: true);
518 break;
519 case 1210:
520 ModBase(955, a * 5, hide: false);
521 ModBase(953, a * 10, hide: false);
522 ModBase(958, a * 5, hide: false);
523 ModBase(956, a * 10, hide: false);
524 ModBase(950, a * -5, hide: false);
525 ModBase(960, a * -5, hide: false);
526 ModBase(423, a, hide: false);
527 break;
528 case 1290:
529 ModBase(418, a * 100, hide: false);
530 break;
531 case 1239:
532 ModBase(956, a * 5, hide: false);
533 ModBase(959, a * 5, hide: false);
534 ModBase(423, a, hide: false);
535 ModBase(424, a, hide: false);
536 ModBase(421, a, hide: false);
537 break;
538 case 1233:
539 ModBase(954, a * 10, hide: false);
540 ModBase(423, a, hide: false);
541 ModBase(425, a, hide: false);
542 ModBase(424, a, hide: false);
543 ModBase(421, a, hide: false);
544 break;
545 case 1226:
546 ModBase(955, a * 5, hide: false);
547 ModBase(953, a * 5, hide: false);
548 break;
549 case 1212:
550 ModBase(961, a * 5, hide: false);
551 ModBase(953, a * 5, hide: false);
552 ModBase(958, a * 5, hide: false);
553 ModBase(956, a * 5, hide: false);
554 ModBase(954, a * 5, hide: false);
555 ModBase(957, a * 5, hide: false);
556 ModBase(959, a * 5, hide: false);
557 break;
558 case 1213:
559 ModBase(962, a * 20, hide: false);
560 break;
561 case 1224:
562 ModBase(951, a * 15, hide: false);
563 break;
564 case 1217:
565 ModBase(952, a * -10, hide: false);
566 ModBase(955, a * 20, hide: false);
567 ModBase(964, a * 20, hide: false);
568 break;
569 case 1218:
570 ModBase(950, a / 40, hide: false);
571 ModBase(952, a / 40, hide: false);
572 ModBase(955, a / 40, hide: false);
573 ModBase(953, a / 40, hide: false);
574 ModBase(958, a / 40, hide: false);
575 ModBase(956, a / 40, hide: false);
576 ModBase(954, a / 40, hide: false);
577 ModBase(959, a / 40, hide: false);
578 ModBase(964, a / 40, hide: false);
579 ModBase(961, a / 40, hide: false);
580 break;
581 case 1221:
582 ModBase(964, a * 20, hide: false);
583 break;
584 case 1223:
585 ModBase(963, a * 20, hide: false);
586 break;
587 case 1216:
588 ModBase(6020, a, hide: false);
589 break;
590 case 1250:
591 ModBase(950, a * -10, hide: false);
592 ModBase(951, a * 5, hide: false);
593 ModBase(961, a * 5, hide: false);
594 ModBase(8793, a, hide: false);
595 ModBase(6607, a, hide: false);
596 break;
597 case 1415:
598 ModBase(60, a * 15, hide: false);
599 ModBase(79, a * 5, hide: false);
600 ModBase(953, a * 3, hide: false);
601 ModBase(961, a, hide: false);
602 ModBase(960, a, hide: false);
603 break;
604 case 1419:
605 ModPotential(101, a * 50);
606 ModPotential(111, a * 50);
607 ModPotential(103, a * 50);
608 ModPotential(106, a * 50);
609 ModPotential(122, a * 50);
610 ModPotential(120, a * 50);
611 ModPotential(123, a * 50);
612 break;
613 case 1532:
614 ModBase(73, -a * 5, hide: false);
615 break;
616 case 1533:
617 ModBase(73, a * 5, hide: false);
618 break;
619 case 1510:
620 ModBase(65, a * 3, hide: false);
621 break;
622 case 1511:
623 ModBase(65, -a * 3, hide: false);
624 break;
625 case 1512:
626 ModBase(73, a * 5, hide: false);
627 break;
628 case 1513:
629 ModBase(73, -a * 5, hide: false);
630 break;
631 case 1514:
632 ModBase(72, a * 3, hide: false);
633 break;
634 case 1515:
635 ModBase(72, -a * 3, hide: false);
636 break;
637 case 1516:
638 ModBase(300, a * 4, hide: false);
639 break;
640 case 1517:
641 ModBase(300, -a * 4, hide: false);
642 break;
643 case 1518:
644 ModBase(79, a * 5, hide: false);
645 break;
646 case 1519:
647 ModBase(79, -a * 5, hide: false);
648 break;
649 case 1520:
650 ModBase(70, a * 3, hide: false);
651 break;
652 case 1521:
653 ModBase(70, -a * 3, hide: false);
654 break;
655 case 1522:
656 ModBase(77, a * 5, hide: false);
657 break;
658 case 1523:
659 ModBase(77, -a * 5, hide: false);
660 break;
661 case 1524:
662 ModBase(307, a * 4, hide: false);
663 break;
664 case 1525:
665 ModBase(307, -a * 4, hide: false);
666 break;
667 case 1526:
668 ModBase(951, a * 5, hide: false);
669 ModBase(950, -a * 5, hide: false);
670 break;
671 case 1527:
672 ModBase(951, -a * 5, hide: false);
673 ModBase(950, a * 5, hide: false);
674 break;
675 case 1528:
676 ModBase(952, a * 5, hide: false);
677 break;
678 case 1529:
679 ModBase(952, -a * 5, hide: false);
680 break;
681 case 1530:
682 ModBase(960, a * 5, hide: false);
683 ModBase(956, -a * 5, hide: false);
684 break;
685 case 1531:
686 ModBase(960, -a * 5, hide: false);
687 ModBase(956, a * 5, hide: false);
688 break;
689 case 1300:
690 case 1305:
691 case 1310:
692 case 1315:
693 case 1320:
694 case 1325:
695 case 1330:
696 case 1335:
697 case 1340:
698 case 1345:
699 case 1350:
700 case 1355:
701 GodHint();
702 break;
703 case 1550:
704 ModBase(404, -a * 10, hide: false);
705 break;
706 case 1551:
707 ModBase(77, -a * (4 + num / 5), hide: false);
708 break;
709 case 1552:
710 ModBase(79, a * Mathf.Min(30 + num / 5, 100), hide: false);
711 if (!hint && a > 0)
712 {
713 chara?.body.UnequipAll(39);
714 }
715 break;
716 case 1553:
717 ModBase(73, a * (5 + num / 3), hide: false);
718 ModBase(77, -a * (5 + num / 3), hide: false);
719 break;
720 case 1554:
721 ModBase(404, a * 10, hide: false);
722 ModBase(401, a, hide: false);
723 ModBase(79, a * (10 + num / 5), hide: false);
724 if (!hint && a > 0)
725 {
726 chara?.body.UnequipAll(33);
727 }
728 break;
729 case 1555:
730 ModBase(65, a * (12 + num), hide: false);
731 ModBase(77, -a * (5 + num / 5), hide: false);
732 if (!hint && a > 0)
733 {
734 chara?.body.UnequipAll(31);
735 }
736 break;
737 case 1556:
738 ModBase(64, -a * (10 + num), hide: false);
739 ModBase(67, a * (5 + num / 2), hide: false);
740 break;
741 case 1557:
742 ModBase(71, -a * (5 + num / 3), hide: false);
743 ModBase(72, -a * (4 + num / 4), hide: false);
744 ModBase(74, a * (6 + num / 2), hide: false);
745 ModBase(75, a * (2 + num / 6), hide: false);
746 break;
747 case 1560:
748 ModBase(60, -a * 15, hide: false);
749 ModBase(70, -a * (4 + num / 3), hide: false);
750 break;
751 case 1561:
752 ModBase(61, -a * 15, hide: false);
753 ModBase(76, -a * (4 + num / 3), hide: false);
754 break;
755 case 1562:
756 ModBase(65, a * (15 + num / 2), hide: false);
757 ModBase(79, -a * (10 + num / 5), hide: false);
758 break;
759 case 1563:
760 ModBase(77, -a * (3 + num / 4), hide: false);
761 break;
762 case 1564:
763 ModBase(961, a * 5, hide: false);
764 break;
765 case 1565:
766 ModBase(955, a * 20, hide: false);
767 break;
768 }
769 if (hint)
770 {
771 string text = base.source.GetText("textExtra");
772 if (!text.IsEmpty())
773 {
774 string text2 = text.SplitNewline().TryGet(value - 1, 99);
775 if (!text2.IsEmpty())
776 {
777 int num2 = 0;
778 string[] array = text2.Split(',');
779 foreach (string obj in array)
780 {
781 string text3 = featRef[num2];
782 string text4 = obj;
783 if (text3.ToInt() < 0)
784 {
785 text4 = text4.Replace("+#1", text3);
786 }
787 text4 = text4.Replace("#1", text3);
788 hints.Add(text4);
789 num2++;
790 }
791 }
792 }
793 }
794 return hints;
795 void GodHint()
796 {
797 if (!hint)
798 {
799 return;
800 }
801 foreach (Element value2 in owner.Card.Chara.faithElements.dict.Values)
802 {
803 if (value2.source.id != id)
804 {
805 NoteElement(value2.id, value2.Value);
806 }
807 }
808 }
809 void ModAttribute(int ele)
810 {
811 _ = hint;
812 ModBase(ele, ((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert, hide: false);
813 ModPotential(ele, a * 10);
814 }
815 void ModBase(int ele, int _v, bool hide)
816 {
817 if (!hint)
818 {
819 owner.ModBase(ele, _v);
820 }
821 if (!hide && _v != 0)
822 {
823 NoteElement(ele, _v);
824 }
825 }
826 void ModPotential(int ele, int _v)
827 {
828 if (!hint)
829 {
830 owner.ModPotential(ele, _v);
831 }
832 Note("modPotential".lang(EClass.sources.elements.map[ele].GetName(), "+" + _v + "%"));
833 }
834 void Note(string s)
835 {
836 if (hint)
837 {
838 hints.Add(s);
839 }
840 }
841 void NoteElement(int ele, int a)
842 {
844 if (row.category == "ability")
845 {
846 Note("hintLearnAbility".lang(row.GetName().ToTitleCase()));
847 }
848 else if (row.tag.Contains("flag"))
849 {
850 Note(row.GetName());
851 }
852 else
853 {
854 string @ref = ((a < 0) ? "" : "+") + a;
855 if (row.category == "resist")
856 {
857 int num3 = 0;
858 @ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num3, 1, 5));
859 Note("modValueRes".lang(row.GetName(), @ref));
860 }
861 else
862 {
863 Note("modValue".lang(row.GetName(), @ref));
864 }
865 }
866 }
867 }
868}
@ ModPotential
@ hint
FontColor
Definition: FontColor.cs:2
virtual Chara Chara
Definition: Card.cs:2070
int LV
Definition: Card.cs:386
void UnequipAll(int idSlot)
Definition: CharaBody.cs:57
Definition: Chara.cs:10
CharaBody body
Definition: Chara.cs:94
override bool IsPC
Definition: Chara.cs:612
void AddRandomBodyPart(bool msg=false)
Definition: Chara.cs:2183
ElementContainer faithElements
Definition: Chara.cs:38
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
Dictionary< int, Element > dict
Element ModPotential(int ele, int v)
virtual Card Card
int Value(int ele)
Element ModBase(int ele, int v)
virtual Chara Chara
Element GetElement(string alias)
int ValueWithoutLink
Definition: ELEMENT.cs:294
int id
Definition: ELEMENT.cs:250
SourceElement.Row source
Definition: ELEMENT.cs:273
int vPotential
Definition: ELEMENT.cs:256
ElementContainer owner
Definition: ELEMENT.cs:266
int Value
Definition: ELEMENT.cs:292
virtual string Name
Definition: ELEMENT.cs:304
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1105
Definition: FEAT.cs:5
const int featManaCost
Definition: FEAT.cs:76
const int featDemon
Definition: FEAT.cs:138
const int featLonelySoul
Definition: FEAT.cs:96
const int featUnderground
Definition: FEAT.cs:180
const int featMiscreation
Definition: FEAT.cs:156
const int featAdam
Definition: FEAT.cs:122
const int featWitch
Definition: FEAT.cs:44
const int featLuckyCat
Definition: FEAT.cs:54
const int featShiva
Definition: FEAT.cs:230
const int featCannibalism
Definition: FEAT.cs:192
const int featMartial
Definition: FEAT.cs:112
const int featFairysan
Definition: FEAT.cs:52
const int featBoost
Definition: FEAT.cs:174
const int featNirvana
Definition: FEAT.cs:124
const int featSPD
Definition: FEAT.cs:26
const int featSnail
Definition: FEAT.cs:204
const int featSwordsage
Definition: FEAT.cs:42
const int featEvade
Definition: FEAT.cs:58
const int featModelBeliever
Definition: FEAT.cs:80
const int featEternalYouth
Definition: FEAT.cs:148
const int featAcidBody
Definition: FEAT.cs:228
const int featBloom
Definition: FEAT.cs:170
const int featGeneSlot
Definition: FEAT.cs:144
const int featMelilithCurse
Definition: FEAT.cs:194
const int featTourist
Definition: FEAT.cs:272
const int featGod_element1
Definition: FEAT.cs:176
const int featFate
Definition: FEAT.cs:222
const int featServant
Definition: FEAT.cs:206
const int featAshborn
Definition: FEAT.cs:162
const int featDEX
Definition: FEAT.cs:22
const int featNorland
Definition: FEAT.cs:132
const int featGoodKarma
Definition: FEAT.cs:164
const int featFaith
Definition: FEAT.cs:110
const int featExecutioner
Definition: FEAT.cs:38
const int featArcher
Definition: FEAT.cs:244
const int featEND
Definition: FEAT.cs:20
const int featPaladin
Definition: FEAT.cs:274
const int featSuccubus
Definition: FEAT.cs:214
const int featPaladin2
Definition: FEAT.cs:120
const int featRoran
Definition: FEAT.cs:134
const int featLightEater
Definition: FEAT.cs:130
const int featHardy
Definition: FEAT.cs:24
const int featHeavyCasting
Definition: FEAT.cs:82
const int featGolem
Definition: FEAT.cs:216
const int featFisher
Definition: FEAT.cs:72
const int featMagicManner
Definition: FEAT.cs:88
const int featHealer
Definition: FEAT.cs:34
const int featElea
Definition: FEAT.cs:234
const int featDreamWaker
Definition: FEAT.cs:84
const int featMetal
Definition: FEAT.cs:218
const int featLoyal
Definition: FEAT.cs:232
const int featManaPrecision
Definition: FEAT.cs:210
const int featScavenger
Definition: FEAT.cs:78
const int featMassSummoner
Definition: FEAT.cs:140
const int featLuck
Definition: FEAT.cs:8
const int featFoxLearn
Definition: FEAT.cs:198
const int featBodyParts
Definition: FEAT.cs:100
const int featSTR
Definition: FEAT.cs:6
const int featDefense
Definition: FEAT.cs:50
const int featManaBond
Definition: FEAT.cs:184
const int featFastLearner
Definition: FEAT.cs:186
const int featGod_wind1
Definition: FEAT.cs:262
const int featSplit
Definition: FEAT.cs:226
const int featLER
Definition: FEAT.cs:16
const int featPER
Definition: FEAT.cs:18
const int featDwarf
Definition: FEAT.cs:212
const int featFairyWeak
Definition: FEAT.cs:190
const int featInquisitor
Definition: FEAT.cs:46
const int featGod_trickery1
Definition: FEAT.cs:258
const int featCosmicHorror
Definition: FEAT.cs:128
const int featSummoner
Definition: FEAT.cs:94
const int featEarthStrength
Definition: FEAT.cs:64
const int featSorter
Definition: FEAT.cs:102
const int featWhiteVixen
Definition: FEAT.cs:28
const int featManaMeat
Definition: FEAT.cs:36
const int featGod_healing1
Definition: FEAT.cs:270
const int featReboot
Definition: FEAT.cs:116
const int featMAG
Definition: FEAT.cs:14
const int featSevenSense
Definition: FEAT.cs:150
const int featBadKarma
Definition: FEAT.cs:166
const int featRapidMagic
Definition: FEAT.cs:60
const int featFluffyTail
Definition: FEAT.cs:200
const int featLibra
Definition: FEAT.cs:154
const int featGourmet
Definition: FEAT.cs:90
const int featResCurse
Definition: FEAT.cs:106
const int featMeatCushion
Definition: FEAT.cs:142
const int featBloodBond
Definition: FEAT.cs:158
const int featBaby
Definition: FEAT.cs:126
static readonly int[] IDS
Definition: FEAT.cs:276
const int featWIL
Definition: FEAT.cs:12
const int featFoxBless
Definition: FEAT.cs:196
const int featSpotting
Definition: FEAT.cs:114
const int featGod_moonshadow1
Definition: FEAT.cs:256
const int featSleeper
Definition: FEAT.cs:104
const int featStamina
Definition: FEAT.cs:56
const int featThief
Definition: FEAT.cs:250
const int featDismantler
Definition: FEAT.cs:68
const int featGoldenFinger
Definition: FEAT.cs:66
const int featVampire
Definition: FEAT.cs:160
const int featWarrior
Definition: FEAT.cs:252
const int featGod_strife1
Definition: FEAT.cs:254
const int featGod_harvest1
Definition: FEAT.cs:268
const int featAnimalLover
Definition: FEAT.cs:108
const int featSpike
Definition: FEAT.cs:224
const int featUndead
Definition: FEAT.cs:202
const int featCHA
Definition: FEAT.cs:10
const int featFairyResist
Definition: FEAT.cs:208
const int featGod_earth1
Definition: FEAT.cs:236
const int featFoxMaid
Definition: FEAT.cs:48
const int featElderCrab
Definition: FEAT.cs:220
const int featGod_luck1
Definition: FEAT.cs:266
const int featPegasus
Definition: FEAT.cs:152
const int featHeavyEater
Definition: FEAT.cs:118
const int featCentaur
Definition: FEAT.cs:238
const int featGod_machine1
Definition: FEAT.cs:240
const int featMilitant
Definition: FEAT.cs:40
const int featRapidArrow
Definition: FEAT.cs:86
const int featLooter
Definition: FEAT.cs:70
const int featGrowParts
Definition: FEAT.cs:188
const int featDemigod
Definition: FEAT.cs:178
const int featParty
Definition: FEAT.cs:98
const int featPianist
Definition: FEAT.cs:242
const int featLittleOne
Definition: FEAT.cs:146
const int featChef
Definition: FEAT.cs:74
const int featDefender
Definition: FEAT.cs:92
const int featGoddess
Definition: FEAT.cs:172
const int featGod_harmony1
Definition: FEAT.cs:264
const int featElder
Definition: FEAT.cs:136
const int featPeacemaker
Definition: FEAT.cs:168
const int featMana
Definition: FEAT.cs:30
const int featWizard
Definition: FEAT.cs:248
const int featSlowFood
Definition: FEAT.cs:182
const int featLife
Definition: FEAT.cs:32
const int featGod_oblivion1
Definition: FEAT.cs:260
const int featFarmer
Definition: FEAT.cs:246
const int featNegotiate
Definition: FEAT.cs:62
Definition: FEAT.cs:295
List< string > Apply(int a, ElementContainer owner, bool hint=false)
Definition: FEAT.cs:375
override bool ShowValue
Definition: FEAT.cs:315
override string FullName
Definition: FEAT.cs:305
override Sprite GetIcon(string suffix="")
Definition: FEAT.cs:324
override bool ShowXP
Definition: FEAT.cs:313
static List< string > hints
Definition: FEAT.cs:296
override bool CanLink(ElementContainer owner)
Definition: FEAT.cs:319
static string[] featRef
Definition: FEAT.cs:298
string GetHint(ElementContainer owner)
Definition: FEAT.cs:338
override void WritePurchaseReq(UINote n, int lv=-1)
Definition: FEAT.cs:362
override bool IsPurchaseFeatReqMet(ElementContainer owner, int lv=-1)
Definition: FEAT.cs:349
override string Name
Definition: FEAT.cs:302
override void OnWriteNote(UINote n, ElementContainer owner)
Definition: FEAT.cs:329
override int CostLearn
Definition: FEAT.cs:317
override bool ShowBonuses
Definition: FEAT.cs:300
override string GetName()
SourceElement elements
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
Definition: UINote.cs:6
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113
static WidgetEquip Instance
Definition: WidgetEquip.cs:11
void Rebuild()
Definition: WidgetEquip.cs:53