Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitCatalyst.cs
1using System;
2
3// Token: 0x02000382 RID: 898
4public class TraitCatalyst : TraitTool
5{
6 // Token: 0x17000810 RID: 2064
7 // (get) Token: 0x06001B59 RID: 7001 RVA: 0x000A7AB0 File Offset: 0x000A5CB0
8 public Act act
9 {
10 get
11 {
12 Act result;
13 if ((result = this._act) == null)
14 {
15 result = (this._act = this.CreateAct());
16 }
17 return result;
18 }
19 }
20
21 // Token: 0x17000811 RID: 2065
22 // (get) Token: 0x06001B5A RID: 7002 RVA: 0x000A7AD6 File Offset: 0x000A5CD6
23 public virtual bool IsRod
24 {
25 get
26 {
27 return true;
28 }
29 }
30
31 // Token: 0x06001B5B RID: 7003 RVA: 0x000A7AD9 File Offset: 0x000A5CD9
32 public virtual Act CreateAct()
33 {
34 return ACT.Create(this.owner.Thing.sourceCard.vals[0]);
35 }
36
37 // Token: 0x06001B5C RID: 7004 RVA: 0x000A7AF7 File Offset: 0x000A5CF7
38 public override bool CanUse(Chara c)
39 {
40 return (!this.act.LocalAct || !EClass._zone.IsRegion) && this.act.TargetType.CanSelectSelf;
41 }
42
43 // Token: 0x06001B5D RID: 7005 RVA: 0x000A7B24 File Offset: 0x000A5D24
44 public override bool OnUse(Chara c)
45 {
46 return ButtonAbility.TryUse(this.act, null, null, this.owner, true, true);
47 }
48
49 // Token: 0x06001B5E RID: 7006 RVA: 0x000A7B3C File Offset: 0x000A5D3C
50 public override void TrySetHeldAct(ActPlan p)
51 {
52 Card tg = null;
53 p.pos.ListCards(false).ForeachReverse(delegate(Card a)
54 {
55 if (EClass.pc.CanSee(a) && !a.HasHost && this.act.IsValidTC(a))
56 {
57 tg = a;
58 return true;
59 }
60 return false;
61 });
62 if (!this.act.CanPerform(EClass.pc, tg, p.pos))
63 {
64 return;
65 }
66 p.TrySetAct(this.act.source.GetName(), delegate()
67 {
68 if (tg != null && !tg.ExistsOnMap)
69 {
70 return false;
71 }
72 Point point = (tg != null && tg.ExistsOnMap) ? tg.pos : p.pos;
73 if (!this.act.CanPerform(EClass.pc, tg, point))
74 {
75 return false;
76 }
77 if (p.performed && this.act.CanPressRepeat)
78 {
79 return EClass.pc.UseAbility(this.act.source.alias, tg, point, false);
80 }
81 return ButtonAbility.TryUse(this.act, tg, point, this.owner, true, true);
82 }, tg, null, -1, EClass._zone.IsCrime(EClass.pc, this.act), this.act.LocalAct, this.act.CanPressRepeat);
83 }
84
85 // Token: 0x040010BD RID: 4285
86 private Act _act;
87}
Definition ACT.cs:6
Definition Act.2.cs:7
Definition Card.cs:13
Definition Chara.cs:12
Definition Point.cs:11