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