Elin Decompiled Documentation EA 23.333 Myaightly 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 case "ride_surf":
74 return "ride_boat";
75 case "wheel_chair":
76 if (owner.idSkin != 1)
77 {
78 return "ride_trolley";
79 }
80 return "ride_bike";
81 case "play_ride_big":
82 if (owner.idSkin != 3)
83 {
84 if (owner.idSkin != 0)
85 {
86 return "ride_trolley";
87 }
88 return "ride_kin";
89 }
90 return "ride_bike";
91 default:
92 if (owner.idSkin != 7)
93 {
94 return "ride_trolley";
95 }
96 return "ride_bike";
97 }
98 }
99
100 public virtual bool ShouldPlaySound(Point p)
101 {
102 string id = owner.id;
103 if (id == "ride_boat" || id == "ride_boat2")
104 {
105 return p.cell.IsTopWaterAndNoSnow;
106 }
107 return true;
108 }
109}
TraitTrolley trolley
Definition: AI_Trolley.cs:24
string id
Definition: Card.cs:36
Point pos
Definition: Card.cs:60
bool IsInstalled
Definition: Card.cs:2451
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:911
AIAct SetAI(AIAct g)
Definition: Chara.cs:9413
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)
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