12 return EClass._zone.DangerLv;
18 public virtual bool CanDisarmTrap
28 public virtual bool CanManucalActivate
38 public virtual bool StartHidden
47 public virtual bool IgnoreWhenLevitating()
54 public virtual bool IsNegativeEffect
64 public virtual bool IsJammed
68 return this.owner.GetInt(60,
null) >= 3;
74 public virtual bool IsLaidByDog
78 return this.owner.c_idRefCard ==
"dog_mine";
83 public override void OnInstall(
bool byPlayer)
85 if (byPlayer && this.StartHidden)
87 this.owner.SetHidden(
true);
92 public override void TrySetAct(
ActPlan p)
94 if (!
EClass._zone.IsPCFaction &&
this.CanDisarmTrap)
96 p.TrySetAct(
"actDisarm", delegate()
98 if (!this.TryDisarmTrap(
EClass.pc) &&
EClass.pc.Evalue(1656) < 3 &&
EClass.rnd(2) == 0)
100 this.ActivateTrap(
EClass.pc);
103 }, this.owner,
null, 1,
false,
true,
false);
106 if (this.CanManucalActivate)
108 p.TrySetAct(
"actUse", delegate()
110 this.ActivateTrap(
EClass.pc);
112 }, this.owner,
null, 1,
false,
true,
false);
117 public bool TryDisarmTrap(
Chara c)
119 if (
EClass.rnd(c.Evalue(293) * 15 + 20 + c.DEX) >
EClass.rnd(
this.TrapLv * 12 + 100))
121 c.Say(
"disarm_success", c, this.owner,
null,
null);
122 this.owner.PlaySound(
"disarm", 1f,
true);
123 c.ModExp(293, 50 + this.TrapLv);
124 int num = EClass.debug.enable ? 10 :
EClass.pc.Evalue(1656);
129 if (!this.IsLaidByDog && num > 0 && num + 2 >
EClass.rnd(10))
133 int lv = num * 5 +
EClass.pc.Evalue(293) / 4 +
EClass.pc.Evalue(210) / 4;
153 idMat =
MATERIAL.GetRandomMaterial(lv,
"metal",
false).id;
158 idMat =
MATERIAL.GetRandomMaterial(lv,
"leather",
false).id;
161 thing.isHidden =
false;
162 EClass.pc.Say(
"scavenge", this.owner, thing,
null,
null);
163 EClass._map.TrySmoothPick(this.owner.pos, thing,
EClass.pc);
165 this.owner.Destroy();
168 c.Say(
"disarm_fail", c, this.owner,
null,
null);
169 c.PlaySound(
"disarm_fail", 1f,
true);
170 c.ModExp(293, 20 + this.TrapLv / 3);
173 int @
int = this.owner.GetInt(60,
null);
174 this.owner.SetInt(60, @
int + 1);
178 c.Say(
"trapJammed", this.owner,
null,
null);
179 c.PlaySound(
"electricity_insufficient", 1f,
true);
185 public void ActivateTrap(
Chara c)
189 c.Say(
"trapJammed2", this.owner,
null,
null);
192 TraitSwitch.haltMove =
true;
193 this.OnActivateTrap(c);
196 EClass.player.haltMove =
true;
201 public virtual void OnActivateTrap(
Chara c)
206 public static bool haltMove;