13 if ((result = this._act) ==
null)
15 result = (this._act = this.CreateAct());
23 public virtual bool IsRod
32 public virtual Act CreateAct()
34 return ACT.Create(this.owner.Thing.sourceCard.vals[0]);
38 public override bool CanUse(
Chara c)
40 return (!this.act.LocalAct || !
EClass._zone.IsRegion) && this.act.TargetType.CanSelectSelf;
44 public override bool OnUse(
Chara c)
46 return ButtonAbility.TryUse(this.act,
null,
null, this.owner,
true,
true);
50 public override void TrySetHeldAct(
ActPlan p)
53 p.pos.ListCards(
false).ForeachReverse(delegate(
Card a)
55 if (
EClass.pc.CanSee(a) && !a.HasHost &&
this.act.IsValidTC(a))
62 if (!this.act.CanPerform(
EClass.pc, tg, p.pos))
66 p.TrySetAct(this.act.source.GetName(), delegate()
68 if (tg !=
null && !tg.ExistsOnMap)
72 Point point = (tg !=
null && tg.ExistsOnMap) ? tg.pos : p.pos;
73 if (!this.act.CanPerform(
EClass.pc, tg, point))
77 if (p.performed &&
this.act.CanPressRepeat)
79 return EClass.pc.UseAbility(this.act.source.alias, tg, point,
false);
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);