Elin Decompiled Documentation EA 23.268 Nightly
Loading...
Searching...
No Matches
Feat Class Reference
Inheritance diagram for Feat:
Element EClass Mutation

Public Member Functions

override bool CanLink (ElementContainer owner)
 
override Sprite GetIcon (string suffix="")
 
override void OnWriteNote (UINote n, ElementContainer owner)
 
string GetHint (ElementContainer owner)
 
override bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
override void WritePurchaseReq (UINote n, int lv=-1)
 
List< string > Apply (int a, ElementContainer owner, bool hint=false)
 
- Public Member Functions inherited from Element
virtual SourceElement.Row GetSource ()
 
virtual int GetSourcePotential (int v)
 
virtual Sprite GetSprite ()
 
int GetMaterialSourceValue (Thing t, int v)
 
virtual long GetSourceValue (long v, int lv, SourceValueType type)
 
virtual Sprite GetIcon (string suffix="")
 
bool IsActive (Card c)
 
int SortVal (bool charaSheet=false)
 
virtual bool CanLink (ElementContainer owner)
 
bool HasTag (string tag)
 
void SetImage (Image i)
 
virtual string GetDetail ()
 
bool IsFactionElement (Chara c)
 
Element GetParent (Card c)
 
void WriteNote (UINote n, ElementContainer owner=null, Action< UINote > onWriteNote=null)
 
void WriteNoteWithRef (UINote n, ElementContainer owner, Action< UINote > onWriteNote, Element refEle)
 
void _WriteNote (UINote n, Chara c, Act act)
 
void AddHeaderAbility (UINote n)
 
void _WriteNote (UINote n, ElementContainer owner, Action< UINote > onWriteNote, bool isRef, bool addHeader=true)
 
void AddEncNote (UINote n, Card Card, ElementContainer.NoteMode mode=ElementContainer.NoteMode.Default, Func< Element, string, string > funcText=null, Action< UINote, Element > onAddNote=null)
 
virtual void OnWriteNote (UINote n, ElementContainer owner)
 
virtual void OnChangeValue ()
 
void CheckLevelBonus (ElementContainer owner, UINote n=null)
 
int GetSortVal (UIList.SortMode m)
 
virtual Act.Cost GetCost (Chara c)
 
virtual int GetPower (Card c)
 
virtual void SetTextValue (UIText text, bool shorten=false)
 
virtual bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
virtual void WritePurchaseReq (UINote n, int lv=1)
 

Static Public Attributes

static List< string > hints = new List<string>()
 
static string[] featRef = new string[5]
 
- Static Public Attributes inherited from Element
const int Div = 5
 
static Element Void = new Element()
 
static int[] List_MainAttributes = new int[9] { 70, 72, 71, 77, 74, 75, 76, 73, 79 }
 
static int[] List_MainAttributesMajor = new int[8] { 70, 72, 71, 77, 74, 75, 76, 73 }
 
static int[] List_Body = new int[4] { 70, 72, 71, 77 }
 
static int[] List_Mind = new int[4] { 74, 75, 76, 73 }
 
static List< SourceElement.RowListElements = new List<SourceElement.Row>()
 
static List< SourceElement.RowListAttackElements = new List<SourceElement.Row>()
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

override bool ShowBonuses [get]
 
override string Name [get]
 
override string FullName [get]
 
override bool ShowXP [get]
 
override bool ShowValue [get]
 
override int CostLearn [get]
 
- Properties inherited from Element
SourceElement.Row source [get]
 
virtual int DisplayValue [get]
 
virtual int MinValue [get]
 
int Value [get]
 
int ValueWithoutLink [get]
 
virtual int MinPotential [get]
 
int Potential [get]
 
virtual bool CanGainExp [get]
 
bool IsFlag [get]
 
virtual string Name [get]
 
virtual string FullName [get]
 
virtual int ExpToNext [get]
 
virtual bool UseExpMod [get]
 
virtual int CostTrain [get]
 
virtual int CostLearn [get]
 
virtual bool ShowXP [get]
 
virtual bool ShowMsgOnValueChanged [get]
 
virtual bool ShowValue [get]
 
virtual bool ShowPotential [get]
 
virtual bool UsePotential [get]
 
virtual bool PotentialAsStock [get]
 
virtual bool ShowRelativeAttribute [get]
 
virtual bool ShowBonuses [get]
 
virtual string ShortName [get]
 
bool IsGlobalElement [get]
 
bool IsFactionWideElement [get]
 
bool IsPartyWideElement [get]
 
virtual bool ShowEncNumber [get]
 
bool IsTrait [get]
 
bool IsFoodTrait [get]
 
bool IsFoodTraitMain [get]
 
bool IsMainAttribute [get]
 
Act act [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from Element
static string GetName (string alias)
 
static SourceElement.Row Get (int id)
 
static Dictionary< int, int > GetElementMap (int[] list)
 
static Dictionary< int, int > GetElementMap (int[] list, Dictionary< int, int > map)
 
static SourceElement.Row GetRandomElement (int lv=1, bool useWeight=true)
 
static Element Create (int id, int v=0)
 
static Element Create (string id, int v=1)
 
static int GetId (string alias)
 
static int GetResistLv (int v)
 
static int GetResistDamage (int dmg, int v, int power=0)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Public Attributes inherited from Element
SourceElement.Row _source
 
int id
 
int vBase
 
int vExp
 
int vPotential
 
int vTempPotential
 
int vLink
 
int vSource
 
int vSourcePotential
 
ElementContainer owner
 

Detailed Description

Definition at line 307 of file FEAT.cs.

Member Function Documentation

◆ Apply()

List< string > Feat.Apply ( int  a,
ElementContainer  owner,
bool  hint = false 
)
inline

Definition at line 388 of file FEAT.cs.

389 {
390 if (hint)
391 {
392 hints.Clear();
393 }
394 int value = base.Value;
395 int A = Mathf.Abs(a);
396 int invert = ((a >= 0) ? 1 : (-1));
397 if (hint)
398 {
399 featRef[0] = a.ToString() ?? "";
400 featRef[1] = a.ToString() ?? "";
401 }
402 Chara chara = owner.Chara;
403 int num = vPotential;
404 if (!hint && a > 0 && chara != null)
405 {
406 num = (vPotential = chara.LV);
407 }
408 switch (id)
409 {
410 case 1660:
411 featRef[0] = (a * 25).ToString() ?? "";
412 break;
413 case 1206:
414 ModBase(78, -a * 10, hide: false);
415 break;
416 case 1642:
417 featRef[0] = ((a == 1) ? 10 : ((a == 2) ? 20 : 30)).ToString() ?? "";
418 break;
419 case 1643:
420 featRef[0] = ((a == 1) ? 1 : ((a == 2) ? 3 : 5)).ToString() ?? "";
421 break;
422 case 1610:
423 ModBase(60, a * 4, hide: false);
424 break;
425 case 1611:
426 ModBase(61, a * 4, hide: false);
427 break;
428 case 1612:
429 ModBase(62, a * 4, hide: false);
430 break;
431 case 1620:
432 ModAttribute(70);
433 break;
434 case 1621:
435 ModAttribute(72);
436 break;
437 case 1622:
438 ModAttribute(71);
439 break;
440 case 1623:
441 ModAttribute(73);
442 break;
443 case 1626:
444 ModAttribute(75);
445 break;
446 case 1625:
447 ModAttribute(76);
448 break;
449 case 1627:
450 ModAttribute(77);
451 break;
452 case 1624:
453 ModAttribute(74);
454 break;
455 case 1629:
456 ModBase(79, a * 5, hide: false);
457 break;
458 case 1630:
459 ModBase(65, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
460 break;
461 case 1631:
462 ModBase(64, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
463 break;
464 case 1632:
465 ModBase(150, a * 2, hide: false);
466 break;
467 case 1633:
468 ModBase(210, a * 3, hide: false);
469 ModBase(402, ((A == 3) ? 1 : 0) * invert, hide: false);
470 break;
471 case 1634:
472 ModBase(291, a * 4, hide: false);
473 break;
474 case 1635:
475 ModBase(100, a * 3, hide: false);
476 break;
477 case 1636:
478 ModBase(306, a * 4, hide: false);
479 break;
480 case 1628:
481 ModBase(78, a * 2, hide: false);
482 break;
483 case 1640:
484 ModBase(77, a * 2, hide: false);
485 break;
486 case 1400:
487 featRef[0] = (a * 10).ToString() ?? "";
488 break;
489 case 1404:
490 featRef[0] = (a * 10).ToString() ?? "";
491 break;
492 case 1401:
493 ModBase(78, a * 15, hide: false);
494 break;
495 case 1406:
496 featRef[0] = (a * 20).ToString() ?? "";
497 featRef[1] = (a * 5).ToString() ?? "";
498 break;
499 case 1644:
500 featRef[0] = a.ToString() ?? "";
501 if (!hint)
502 {
503 if (a > 0)
504 {
506 }
507 else
508 {
509 _ = a;
510 _ = 0;
511 }
512 if (owner.Chara.IsPC && (bool)WidgetEquip.Instance)
513 {
515 }
516 }
517 ModBase(60, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
518 ModBase(79, (A > 5) ? ((A - 5) * -5 * invert) : 0, hide: false);
519 ModBase(77, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
520 break;
521 case 1230:
522 ModBase(60, A * 2 * invert, hide: false);
523 ModBase(79, A * 3 * invert, hide: false);
524 break;
525 case 1204:
526 ModBase(64, a * 50, hide: true);
527 ModBase(401, a, hide: false);
528 break;
529 case 1202:
530 ModBase(403, a * 20, hide: true);
531 break;
532 case 1210:
533 ModBase(955, a * 5, hide: false);
534 ModBase(953, a * 10, hide: false);
535 ModBase(958, a * 5, hide: false);
536 ModBase(956, a * 10, hide: false);
537 ModBase(950, a * -5, hide: false);
538 ModBase(960, a * -5, hide: false);
539 ModBase(423, a, hide: false);
540 break;
541 case 1290:
542 ModBase(418, a * 100, hide: false);
543 break;
544 case 1239:
545 ModBase(956, a * 5, hide: false);
546 ModBase(959, a * 5, hide: false);
547 ModBase(423, a, hide: false);
548 ModBase(424, a, hide: false);
549 ModBase(421, a, hide: false);
550 break;
551 case 1233:
552 ModBase(954, a * 10, hide: false);
553 ModBase(423, a, hide: false);
554 ModBase(425, a, hide: false);
555 ModBase(424, a, hide: false);
556 ModBase(421, a, hide: false);
557 break;
558 case 1226:
559 ModBase(955, a * 5, hide: false);
560 ModBase(953, a * 5, hide: false);
561 break;
562 case 1212:
563 ModBase(961, a * 5, hide: false);
564 ModBase(953, a * 5, hide: false);
565 ModBase(958, a * 5, hide: false);
566 ModBase(956, a * 5, hide: false);
567 ModBase(954, a * 5, hide: false);
568 ModBase(957, a * 5, hide: false);
569 ModBase(959, a * 5, hide: false);
570 break;
571 case 1213:
572 ModBase(962, a * 20, hide: false);
573 break;
574 case 1224:
575 ModBase(951, a * 15, hide: false);
576 break;
577 case 1217:
578 ModBase(952, a * -10, hide: false);
579 ModBase(955, a * 20, hide: false);
580 ModBase(964, a * 20, hide: false);
581 break;
582 case 1218:
583 ModBase(950, a / 40, hide: false);
584 ModBase(952, a / 40, hide: false);
585 ModBase(955, a / 40, hide: false);
586 ModBase(953, a / 40, hide: false);
587 ModBase(958, a / 40, hide: false);
588 ModBase(956, a / 40, hide: false);
589 ModBase(954, a / 40, hide: false);
590 ModBase(959, a / 40, hide: false);
591 ModBase(964, a / 40, hide: false);
592 ModBase(961, a / 40, hide: false);
593 break;
594 case 1221:
595 ModBase(964, a * 20, hide: false);
596 break;
597 case 1223:
598 ModBase(963, a * 20, hide: false);
599 break;
600 case 1216:
601 ModBase(6020, a, hide: false);
602 break;
603 case 1250:
604 ModBase(950, a * -10, hide: false);
605 ModBase(951, a * 5, hide: false);
606 ModBase(961, a * 5, hide: false);
607 ModBase(8793, a, hide: false);
608 ModBase(6607, a, hide: false);
609 break;
610 case 1415:
611 ModBase(60, a * 15, hide: false);
612 ModBase(79, a * 5, hide: false);
613 ModBase(953, a * 3, hide: false);
614 ModBase(961, a, hide: false);
615 ModBase(960, a, hide: false);
616 break;
617 case 1419:
618 ModPotential(101, a * 50);
619 ModPotential(111, a * 50);
620 ModPotential(103, a * 50);
621 ModPotential(106, a * 50);
622 ModPotential(122, a * 50);
623 ModPotential(120, a * 50);
624 ModPotential(123, a * 50);
625 break;
626 case 1750:
627 {
628 string[] array = featRef;
629 int num2 = a;
630 array[0] = num2.ToString() ?? "";
631 featRef[1] = (a * 2).ToString() ?? "";
632 break;
633 }
634 case 1532:
635 ModBase(73, -a * 5, hide: false);
636 break;
637 case 1533:
638 ModBase(73, a * 5, hide: false);
639 break;
640 case 1510:
641 ModBase(65, a * 3, hide: false);
642 break;
643 case 1511:
644 ModBase(65, -a * 3, hide: false);
645 break;
646 case 1512:
647 ModBase(73, a * 5, hide: false);
648 break;
649 case 1513:
650 ModBase(73, -a * 5, hide: false);
651 break;
652 case 1514:
653 ModBase(72, a * 3, hide: false);
654 break;
655 case 1515:
656 ModBase(72, -a * 3, hide: false);
657 break;
658 case 1516:
659 ModBase(300, a * 4, hide: false);
660 break;
661 case 1517:
662 ModBase(300, -a * 4, hide: false);
663 break;
664 case 1518:
665 ModBase(79, a * 5, hide: false);
666 break;
667 case 1519:
668 ModBase(79, -a * 5, hide: false);
669 break;
670 case 1520:
671 ModBase(70, a * 3, hide: false);
672 break;
673 case 1521:
674 ModBase(70, -a * 3, hide: false);
675 break;
676 case 1522:
677 ModBase(77, a * 5, hide: false);
678 break;
679 case 1523:
680 ModBase(77, -a * 5, hide: false);
681 break;
682 case 1524:
683 ModBase(307, a * 4, hide: false);
684 break;
685 case 1525:
686 ModBase(307, -a * 4, hide: false);
687 break;
688 case 1526:
689 ModBase(951, a * 5, hide: false);
690 ModBase(950, -a * 5, hide: false);
691 break;
692 case 1527:
693 ModBase(951, -a * 5, hide: false);
694 ModBase(950, a * 5, hide: false);
695 break;
696 case 1528:
697 ModBase(952, a * 5, hide: false);
698 break;
699 case 1529:
700 ModBase(952, -a * 5, hide: false);
701 break;
702 case 1530:
703 ModBase(960, a * 5, hide: false);
704 ModBase(956, -a * 5, hide: false);
705 break;
706 case 1531:
707 ModBase(960, -a * 5, hide: false);
708 ModBase(956, a * 5, hide: false);
709 break;
710 case 1300:
711 case 1305:
712 case 1310:
713 case 1315:
714 case 1320:
715 case 1325:
716 case 1330:
717 case 1335:
718 case 1340:
719 case 1345:
720 case 1350:
721 case 1355:
722 GodHint();
723 break;
724 case 1550:
725 ModBase(404, -a * 10, hide: false);
726 break;
727 case 1551:
728 ModBase(77, -a * (4 + num / 5), hide: false);
729 break;
730 case 1552:
731 ModBase(79, a * Mathf.Min(30 + num / 5, 100), hide: false);
732 if (!hint && a > 0)
733 {
734 chara?.body.UnequipAll(39);
735 }
736 break;
737 case 1553:
738 ModBase(73, a * (5 + num / 3), hide: false);
739 ModBase(77, -a * (5 + num / 3), hide: false);
740 break;
741 case 1554:
742 ModBase(404, a * 10, hide: false);
743 ModBase(401, a, hide: false);
744 ModBase(79, a * (10 + num / 5), hide: false);
745 if (!hint && a > 0)
746 {
747 chara?.body.UnequipAll(33);
748 }
749 break;
750 case 1555:
751 ModBase(65, a * (12 + num), hide: false);
752 ModBase(77, -a * (5 + num / 5), hide: false);
753 if (!hint && a > 0)
754 {
755 chara?.body.UnequipAll(31);
756 }
757 break;
758 case 1556:
759 ModBase(64, -a * (10 + num), hide: false);
760 ModBase(67, a * (5 + num / 2), hide: false);
761 break;
762 case 1557:
763 ModBase(71, -a * (5 + num / 3), hide: false);
764 ModBase(72, -a * (4 + num / 4), hide: false);
765 ModBase(74, a * (6 + num / 2), hide: false);
766 ModBase(75, a * (2 + num / 6), hide: false);
767 break;
768 case 1560:
769 ModBase(60, -a * 15, hide: false);
770 ModBase(70, -a * (4 + num / 3), hide: false);
771 break;
772 case 1561:
773 ModBase(61, -a * 15, hide: false);
774 ModBase(76, -a * (4 + num / 3), hide: false);
775 break;
776 case 1562:
777 ModBase(65, a * (15 + num / 2), hide: false);
778 ModBase(79, -a * (10 + num / 5), hide: false);
779 break;
780 case 1563:
781 ModBase(77, -a * (3 + num / 4), hide: false);
782 break;
783 case 1564:
784 ModBase(961, a * 5, hide: false);
785 break;
786 case 1565:
787 ModBase(955, a * 20, hide: false);
788 break;
789 }
790 if (hint)
791 {
792 string text = base.source.GetText("textExtra");
793 if (!text.IsEmpty())
794 {
795 string text2 = text.SplitNewline().TryGet(value - 1, 99);
796 if (!text2.IsEmpty())
797 {
798 int num3 = 0;
799 string[] array2 = text2.Split(',');
800 foreach (string obj in array2)
801 {
802 string text3 = featRef[num3];
803 string text4 = obj;
804 if (text3.ToInt() < 0)
805 {
806 text4 = text4.Replace("+#1", text3);
807 }
808 text4 = text4.Replace("#1", text3);
809 hints.Add(text4);
810 num3++;
811 }
812 }
813 }
814 }
815 return hints;
816 void GodHint()
817 {
818 if (!hint)
819 {
820 return;
821 }
822 foreach (Element value2 in owner.Card.Chara.faithElements.dict.Values)
823 {
824 if (value2.source.id != id)
825 {
826 NoteElement(value2.id, value2.Value);
827 }
828 }
829 }
830 void ModAttribute(int ele)
831 {
832 _ = hint;
833 ModBase(ele, ((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert, hide: false);
834 ModPotential(ele, a * 10);
835 }
836 void ModBase(int ele, int _v, bool hide)
837 {
838 if (!hint)
839 {
840 owner.ModBase(ele, _v);
841 }
842 if (!hide && _v != 0)
843 {
844 NoteElement(ele, _v);
845 }
846 }
847 void ModPotential(int ele, int _v)
848 {
849 if (!hint)
850 {
851 owner.ModPotential(ele, _v);
852 }
853 Note("modPotential".lang(EClass.sources.elements.map[ele].GetName(), "+" + _v + "%"));
854 }
855 void Note(string s)
856 {
857 if (hint)
858 {
859 hints.Add(s);
860 }
861 }
862 void NoteElement(int ele, int a)
863 {
865 if (row.category == "ability")
866 {
867 Note("hintLearnAbility".lang(row.GetName().ToTitleCase()));
868 }
869 else if (row.tag.Contains("flag"))
870 {
871 Note(row.GetName());
872 }
873 else
874 {
875 string @ref = ((a < 0) ? "" : "+") + a;
876 if (row.category == "resist")
877 {
878 int num4 = 0;
879 @ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num4, 1, 5));
880 Note("modValueRes".lang(row.GetName(), @ref));
881 }
882 else
883 {
884 Note("modValue".lang(row.GetName(), @ref));
885 }
886 }
887 }
888 }
@ ModPotential
@ hint
virtual Chara Chara
Definition: Card.cs:2071
int LV
Definition: Card.cs:387
void UnequipAll(int idSlot)
Definition: CharaBody.cs:57
Definition: Chara.cs:10
CharaBody body
Definition: Chara.cs:94
override bool IsPC
Definition: Chara.cs:614
void AddRandomBodyPart(bool msg=false)
Definition: Chara.cs:2209
ElementContainer faithElements
Definition: Chara.cs:38
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
Dictionary< int, Element > dict
Element ModPotential(int ele, int v)
virtual Card Card
Element ModBase(int ele, int v)
virtual Chara Chara
int id
Definition: ELEMENT.cs:255
SourceElement.Row source
Definition: ELEMENT.cs:278
int vPotential
Definition: ELEMENT.cs:261
ElementContainer owner
Definition: ELEMENT.cs:271
int Value
Definition: ELEMENT.cs:297
static List< string > hints
Definition: FEAT.cs:309
static string[] featRef
Definition: FEAT.cs:311
override string GetName()
SourceElement elements
static WidgetEquip Instance
Definition: WidgetEquip.cs:11
void Rebuild()
Definition: WidgetEquip.cs:53

References Chara.AddRandomBodyPart(), Chara.body, ElementContainer.Card, SourceElement.Row.category, Card.Chara, ElementContainer.Chara, ElementContainer.dict, SourceManager.elements, Chara.faithElements, featRef, SourceElement.Row.GetName(), hint, hints, Element.id, WidgetEquip.Instance, Chara.IsPC, Card.LV, ElementContainer.ModBase(), ModPotential, ElementContainer.ModPotential(), Element.owner, WidgetEquip.Rebuild(), Element.source, EClass.sources, SourceElement.Row.tag, CharaBody.UnequipAll(), Element.Value, and Element.vPotential.

Referenced by GetHint(), OnWriteNote(), and Chara.SetFeat().

◆ CanLink()

override bool Feat.CanLink ( ElementContainer  owner)
inlinevirtual

Reimplemented from Element.

Definition at line 332 of file FEAT.cs.

333 {
334 return !base.IsGlobalElement;
335 }

◆ GetHint()

string Feat.GetHint ( ElementContainer  owner)
inline

Definition at line 351 of file FEAT.cs.

352 {
353 string text = "";
354 Apply(base.Value, owner, hint: true);
355 foreach (string hint in hints)
356 {
357 text = text + hint.StripLastPun() + ", ";
358 }
359 return text.TrimEnd(' ').TrimEnd(',');
360 }
List< string > Apply(int a, ElementContainer owner, bool hint=false)
Definition: FEAT.cs:388

References Apply(), hint, hints, and Element.owner.

◆ GetIcon()

override Sprite Feat.GetIcon ( string  suffix = "")
inlinevirtual

Reimplemented from Element.

Definition at line 337 of file FEAT.cs.

338 {
339 return SpriteSheet.Get("Media/Graphics/Icon/Element/icon_elements", "ele_Feat");
340 }
static Sprite Get(string id)
Definition: SpriteSheet.cs:28

References SpriteSheet.Get().

◆ IsPurchaseFeatReqMet()

override bool Feat.IsPurchaseFeatReqMet ( ElementContainer  owner,
int  lv = -1 
)
inlinevirtual

Reimplemented from Element.

Definition at line 362 of file FEAT.cs.

363 {
364 if (base.source.req.Length != 0)
365 {
366 Element element = owner.GetElement(base.source.req[0]);
367 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()))
368 {
369 return false;
370 }
371 }
372 return true;
373 }
int Value(int ele)
Element GetElement(string alias)
int ValueWithoutLink
Definition: ELEMENT.cs:299

References ElementContainer.GetElement(), Element.owner, ElementContainer.Value(), and Element.ValueWithoutLink.

Referenced by Chara.ListAvailabeFeats().

◆ OnWriteNote()

override void Feat.OnWriteNote ( UINote  n,
ElementContainer  owner 
)
inlinevirtual

Reimplemented from Element.

Definition at line 342 of file FEAT.cs.

343 {
344 Apply(base.Value, owner, hint: true);
345 foreach (string hint in hints)
346 {
347 n.AddText("_bullet".lang() + hint);
348 }
349 }
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113

References Apply(), hint, hints, and Element.owner.

◆ WritePurchaseReq()

override void Feat.WritePurchaseReq ( UINote  n,
int  lv = -1 
)
inlinevirtual

Reimplemented from Element.

Definition at line 375 of file FEAT.cs.

376 {
377 if (base.source.req.Length != 0)
378 {
379 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());
380 if (element != null)
381 {
382 n.AddHeader("featReq");
383 n.AddText(element.Name + ": " + element.Value, FontColor.Bad);
384 }
385 }
386 }
FontColor
Definition: FontColor.cs:2
virtual string Name
Definition: ELEMENT.cs:309
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1107
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79

References UINote.AddHeader(), UINote.AddText(), Element.Create(), Element.Name, Element.owner, Element.Value, and ElementContainer.Value().

Member Data Documentation

◆ featRef

string [] Feat.featRef = new string[5]
static

Definition at line 311 of file FEAT.cs.

Referenced by Apply(), and ElementContainer.GetFeatRef().

◆ hints

List<string> Feat.hints = new List<string>()
static

Definition at line 309 of file FEAT.cs.

Referenced by Apply(), GetHint(), and OnWriteNote().

Property Documentation

◆ CostLearn

override int Feat.CostLearn
get

Definition at line 330 of file FEAT.cs.

◆ FullName

override string Feat.FullName
get

Definition at line 317 of file FEAT.cs.

318 {
319 get
320 {
321 string[] array = base.source.GetText().SplitNewline();
322 return array.TryGet(base.Value - 1) + ((base.source.max > 1 && array.Length == 1 && base.Value > 1) ? (" " + base.Value) : "");
323 }
324 }

Referenced by Chara.SetFeat().

◆ Name

override string Feat.Name
get

Definition at line 315 of file FEAT.cs.

◆ ShowBonuses

override bool Feat.ShowBonuses
get

Definition at line 313 of file FEAT.cs.

◆ ShowValue

override bool Feat.ShowValue
get

Definition at line 328 of file FEAT.cs.

◆ ShowXP

override bool Feat.ShowXP
get

Definition at line 326 of file FEAT.cs.


The documentation for this class was generated from the following file: