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