Elin Decompiled Documentation EA 23.341 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 TrySetHeldAct(ActPlan p)
21 {
22 if (owner.c_DNA == null || !p.pos.Equals(EClass.pc.pos) || !EClass.pc.HasElement(1274))
23 {
24 return;
25 }
29 {
30 p.TrySetAct("invFood", delegate
31 {
32 SE.Beep();
33 Msg.Say("notEnoughFeatPoint");
34 return false;
35 });
36 }
37 else if (invalidFeat != null)
38 {
39 p.TrySetAct("invFood", delegate
40 {
41 SE.Beep();
42 Msg.Say("invalidGeneFeat", EClass.pc, invalidFeat.Name.ToTitleCase());
43 return false;
44 });
45 }
46 else if (invalidAction != null)
47 {
48 p.TrySetAct("invFood", delegate
49 {
50 SE.Beep();
51 Msg.Say("invalidGeneAction", EClass.pc, invalidAction.Name.ToTitleCase());
52 return false;
53 });
54 }
55 else
56 {
57 p.TrySetAct(new AI_Eat
58 {
59 target = owner
60 });
61 }
62 }
63
64 public override int GetValue()
65 {
66 return base.GetValue() * ((owner.c_DNA == null) ? 100 : (100 + owner.c_DNA.cost * 10)) / 100;
67 }
68}
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:372
Point pos
Definition: Card.cs:60
int feat
Definition: Card.cs:377
virtual CardRow sourceCard
Definition: Card.cs:2183
DNA c_DNA
Definition: Card.cs:1933
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6376
int GeneCostMTP
Definition: Chara.cs:1118
Definition: DNA.cs:8
Type type
Definition: DNA.cs:29
int cost
Definition: DNA.cs:41
Element GetInvalidFeat(Chara c)
Definition: DNA.cs:689
Type
Definition: DNA.cs:10
Element GetInvalidAction(Chara c)
Definition: DNA.cs:715
Definition: EClass.cs:6
static Chara pc
Definition: EClass.cs:15
virtual string Name
Definition: ELEMENT.cs:313
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:966
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:688
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:64
override float DropChance
Definition: TraitGene.cs:9
override bool CanStack
Definition: TraitGene.cs:3
override void TrySetHeldAct(ActPlan p)
Definition: TraitGene.cs:20
Definition: Trait.cs:7
Card owner
Definition: Trait.cs:28