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