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