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