8 public override bool ShowMapHighlight
17 public override void OnMarkMapHighlights()
19 if (!
EClass.scene.mouseTarget.pos.IsValid ||
EClass.scene.mouseTarget.TargetChara ==
null)
26 if (p.Equals(
EClass.pc.pos))
30 p.cell.highlight = ((blocked || p.IsBlocked || (!p.Equals(dest) && p.HasChara)) ? 4 : ((p.Distance(
EClass.pc.pos) <= 2) ? 2 : 8));
31 EClass.player.lastMarkedHighlights.Add(p.Copy());
36 public override bool CanPerform()
41 Act.TC =
EClass.scene.mouseTarget.TargetChara;
47 Act.TP.Set(flag ?
EClass.scene.mouseTarget.pos :
Act.TC.pos);
48 return !Act.CC.isRestrained && Act.CC.host ==
null &&
Act.CC.Dist(
Act.TP) > 2 &&
Los.GetRushPoint(
Act.CC.pos,
Act.TP) !=
null && base.CanPerform();
53 public override int PerformDistance
62 public override bool Perform()
67 Act.TC =
EClass.scene.mouseTarget.TargetChara;
73 Act.TP.Set(flag ?
EClass.scene.mouseTarget.pos :
Act.TC.pos);
74 int num =
Act.CC.Dist(
Act.TP);
76 Act.CC.pos.PlayEffect(
"vanish");
77 Act.CC.MoveImmediate(rushPoint,
true,
false);
78 Act.CC.Say(
"rush",
Act.CC,
Act.TC,
null,
null);
79 Act.CC.PlaySound(
"rush", 1f,
true);
80 Act.CC.pos.PlayEffect(
"vanish");
81 return base.Attack(1f + 0.1f * (
float)num,
true);