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