Elin Decompiled Documentation EA 23.319 Nightly Patch 1
Loading...
Searching...
No Matches
TraitTrolley.cs
Go to the documentation of this file.
2{
3 public virtual bool HideChara => false;
4
5 public override bool CanManucalActivate
6 {
7 get
8 {
10 {
11 return CanActivate(EClass.pc);
12 }
13 return false;
14 }
15 }
16
17 public virtual float FadeDuration
18 {
19 get
20 {
21 if (owner.idSkin != 7)
22 {
23 return 1f;
24 }
25 return 0.5f;
26 }
27 }
28
29 public bool CanActivate(Chara c)
30 {
31 if (c.host != null || c.IsInCombat || c.isLeashed || c.IsMultisize)
32 {
33 return false;
34 }
36 {
37 return false;
38 }
39 if (c.IsPCFaction && !c.IsPC && EClass._zone is Zone_Dungeon)
40 {
41 return false;
42 }
43 foreach (Chara chara in EClass._map.charas)
44 {
45 if (chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley && aI_Trolley.trolley == this)
46 {
47 return false;
48 }
49 }
50 return true;
51 }
52
53 public override void OnActivateTrap(Chara c)
54 {
55 TraitSwitch.haltMove = false;
56 if (CanActivate(c))
57 {
58 c.SetAI(new AI_Trolley
59 {
60 trolley = this
61 });
62 }
63 }
64
65 public virtual string GetIdSound()
66 {
67 switch (owner.id)
68 {
69 case "play_ride_kin":
70 return "ride_kin";
71 case "ride_boat":
72 case "ride_boat2":
73 return "ride_boat";
74 case "wheel_chair":
75 if (owner.idSkin != 1)
76 {
77 return "ride_trolley";
78 }
79 return "ride_bike";
80 case "play_ride_big":
81 if (owner.idSkin != 0)
82 {
83 return "ride_trolley";
84 }
85 return "ride_kin";
86 default:
87 if (owner.idSkin != 7)
88 {
89 return "ride_trolley";
90 }
91 return "ride_bike";
92 }
93 }
94
95 public virtual bool ShouldPlaySound(Point p)
96 {
97 string id = owner.id;
98 if (id == "ride_boat" || id == "ride_boat2")
99 {
100 return p.cell.IsTopWaterAndNoSnow;
101 }
102 return true;
103 }
104}
TraitTrolley trolley
Definition: AI_Trolley.cs:24
string id
Definition: Card.cs:36
Point pos
Definition: Card.cs:60
bool IsInstalled
Definition: Card.cs:2435
int idSkin
Definition: Card.cs:365
bool isLeashed
Definition: Card.cs:845
bool IsTopWaterAndNoSnow
Definition: Cell.cs:720
Definition: Chara.cs:10
AIAct ai
Definition: Chara.cs:206
override bool IsPC
Definition: Chara.cs:630
Chara host
Definition: Chara.cs:33
bool IsInCombat
Definition: Chara.cs:887
AIAct SetAI(AIAct g)
Definition: Chara.cs:9266
override bool IsPCFaction
Definition: Chara.cs:689
override bool IsMultisize
Definition: Chara.cs:724
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
static Map _map
Definition: EClass.cs:19
static Chara pc
Definition: EClass.cs:15
List< Chara > charas
Definition: Map.cs:81
Definition: Point.cs:9
bool HasRail
Definition: Point.cs:133
bool Equals(int _x, int _z)
Definition: Point.cs:966
Cell cell
Definition: Point.cs:51
virtual bool ShouldPlaySound(Point p)
Definition: TraitTrolley.cs:95
bool CanActivate(Chara c)
Definition: TraitTrolley.cs:29
override bool CanManucalActivate
Definition: TraitTrolley.cs:6
virtual string GetIdSound()
Definition: TraitTrolley.cs:65
virtual float FadeDuration
Definition: TraitTrolley.cs:18
virtual bool HideChara
Definition: TraitTrolley.cs:3
override void OnActivateTrap(Chara c)
Definition: TraitTrolley.cs:53
Card owner
Definition: Trait.cs:28