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