Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ConSuspend.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2
3public class ConSuspend : BadCondition
4{
5 [JsonProperty]
6 public int uidMachine;
7
8 [JsonProperty]
9 public int duration;
10
11 [JsonProperty]
12 public int dateFinish;
13
14 [JsonProperty]
15 public Thing gene;
16
17 public override bool ConsumeTurn => true;
18
19 public bool HasGene
20 {
21 get
22 {
23 if (gene != null)
24 {
25 return gene.GetRootCard() == owner;
26 }
27 return false;
28 }
29 }
30
31 public override int GetPhase()
32 {
33 return 0;
34 }
35
36 public override void SetOwner(Chara _owner, bool onDeserialize = false)
37 {
38 base.SetOwner(_owner);
39 owner.conSuspend = this;
40 }
41
42 public override void Tick()
43 {
44 if (uidMachine != 0)
45 {
47 if (traitGeneMachine == null || !traitGeneMachine.owner.isOn || (duration > 0 && !HasGene))
48 {
49 Kill();
50 }
51 }
52 }
53
54 public override void OnRemoved()
55 {
56 owner.conSuspend = null;
57 if (HasGene)
58 {
60 }
61 }
62}
Point pos
Definition: Card.cs:55
Card GetRootCard()
Definition: Card.cs:3173
bool isOn
Definition: Card.cs:514
Definition: Chara.cs:10
void PickOrDrop(Point p, string idThing, int idMat=-1, int num=1, bool msg=true)
Definition: Chara.cs:3900
override int GetPhase()
Definition: ConSuspend.cs:31
Thing gene
Definition: ConSuspend.cs:15
int duration
Definition: ConSuspend.cs:9
override void SetOwner(Chara _owner, bool onDeserialize=false)
Definition: ConSuspend.cs:36
override void OnRemoved()
Definition: ConSuspend.cs:54
bool HasGene
Definition: ConSuspend.cs:20
override void Tick()
Definition: ConSuspend.cs:42
int uidMachine
Definition: ConSuspend.cs:6
override bool ConsumeTurn
Definition: ConSuspend.cs:17
int dateFinish
Definition: ConSuspend.cs:12
void Kill(bool silent=false)
Definition: Condition.cs:91
Thing FindThing(Func< Thing, bool > func)
Definition: Point.cs:1104
Definition: Thing.cs:8
Card owner
Definition: Trait.cs:26