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