Elin Decompiled Documentation EA 23.283 Nightly
Loading...
Searching...
No Matches
TraitGene.cs
Go to the documentation of this file.
1public class TraitGene : Trait
2{
3 public override bool CanStack => false;
4
5 public override bool CanBeStolen => false;
6
7 public override bool CanBeDestroyed => false;
8
9 public override float DropChance => 1f;
10
11 public override string GetName()
12 {
13 if (owner.c_DNA == null || owner.c_DNA.type == DNA.Type.Default || owner.c_DNA.type == DNA.Type.Brain)
14 {
15 return base.GetName();
16 }
17 return ("dna_" + owner.c_DNA.type).lang() + Lang.space + owner.sourceCard.GetText();
18 }
19
20 public override void WriteNote(UINote n, bool identified)
21 {
22 if (owner.c_DNA != null)
23 {
24 bool flag = EClass.pc.HasElement(1274) && !LayerDragGrid.Instance;
25 if (owner.c_DNA.cost > 0)
26 {
27 n.AddText("NoteText_enc", "isCostFeatPoint".lang((flag ? (owner.c_DNA.cost * EClass.pc.GeneCostMTP / 100 + " (" + owner.c_DNA.cost + ")") : ((object)owner.c_DNA.cost))?.ToString() ?? ""));
28 }
30 {
31 n.AddText("NoteText_enc", "duration:" + owner.c_DNA.GetDurationHour());
32 }
33 owner.c_DNA.WriteNote(n, flag ? EClass.pc : null);
34 if (flag)
35 {
37 }
38 }
39 }
40
41 public override void TrySetHeldAct(ActPlan p)
42 {
43 if (!p.pos.Equals(EClass.pc.pos) || !EClass.pc.HasElement(1274))
44 {
45 return;
46 }
50 {
51 p.TrySetAct("invFood", delegate
52 {
53 SE.Beep();
54 Msg.Say("notEnoughFeatPoint");
55 return false;
56 });
57 }
58 else if (invalidFeat != null)
59 {
60 p.TrySetAct("invFood", delegate
61 {
62 SE.Beep();
63 Msg.Say("invalidGeneFeat", EClass.pc, invalidFeat.Name.ToTitleCase());
64 return false;
65 });
66 }
67 else if (invalidAction != null)
68 {
69 p.TrySetAct("invFood", delegate
70 {
71 SE.Beep();
72 Msg.Say("invalidGeneAction", EClass.pc, invalidAction.Name.ToTitleCase());
73 return false;
74 });
75 }
76 else
77 {
78 p.TrySetAct(new AI_Eat
79 {
80 target = owner
81 });
82 }
83 }
84
85 public override int GetValue()
86 {
87 return base.GetValue() * ((owner.c_DNA == null) ? 100 : (100 + owner.c_DNA.cost * 10)) / 100;
88 }
89}
Definition: AI_Eat.cs:5
Point pos
Definition: ActPlan.cs:152
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:368
Point pos
Definition: Card.cs:60
int feat
Definition: Card.cs:375
virtual CardRow sourceCard
Definition: Card.cs:2157
DNA c_DNA
Definition: Card.cs:1907
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6106
int GeneCostMTP
Definition: Chara.cs:1085
bool showExtra
Definition: CoreDebug.cs:168
Definition: DNA.cs:8
void WriteNoteExtra(UINote n, Chara tg)
Definition: DNA.cs:644
Type type
Definition: DNA.cs:29
int cost
Definition: DNA.cs:41
void WriteNote(UINote n, Chara tg=null)
Definition: DNA.cs:575
Element GetInvalidFeat(Chara c)
Definition: DNA.cs:662
Type
Definition: DNA.cs:10
int GetDurationHour()
Definition: DNA.cs:547
Element GetInvalidAction(Chara c)
Definition: DNA.cs:688
Definition: EClass.cs:6
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
virtual string Name
Definition: ELEMENT.cs:309
static LayerDragGrid Instance
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
bool Equals(int _x, int _z)
Definition: Point.cs:960
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:622
override bool CanBeDestroyed
Definition: TraitGene.cs:7
override string GetName()
Definition: TraitGene.cs:11
override bool CanBeStolen
Definition: TraitGene.cs:5
override int GetValue()
Definition: TraitGene.cs:85
override float DropChance
Definition: TraitGene.cs:9
override bool CanStack
Definition: TraitGene.cs:3
override void WriteNote(UINote n, bool identified)
Definition: TraitGene.cs:20
override void TrySetHeldAct(ActPlan p)
Definition: TraitGene.cs:41
Definition: Trait.cs:7
Card owner
Definition: Trait.cs:28
Definition: UINote.cs:6
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113