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