54public class Dessourt extends SimplifiedListener<Npc> {
56 private static MagicAttack MAGIC;
57 private static CombatStrategy<Npc>[] STRATEGIES;
61 MAGIC =
new MagicAttack();
62 STRATEGIES = createStrategyArray(NpcMeleeStrategy.get(), MAGIC);
63 }
catch(Exception e) {
69 public boolean canAttack(
Npc attacker,
Mob defender) {
70 if(!NpcMeleeStrategy.get().withinDistance(attacker, defender)) {
71 attacker.setStrategy(MAGIC);
73 return attacker.
getStrategy().canAttack(attacker, defender);
77 public void start(
Npc attacker,
Mob defender,
Hit[] hits) {
78 if(!NpcMeleeStrategy.get().withinDistance(attacker, defender)) {
79 attacker.setStrategy(MAGIC);
81 attacker.setStrategy(randomStrategy(STRATEGIES));
86 public void hit(
Npc attacker,
Mob defender,
Hit hit) {
87 super.hit(attacker, defender, hit);
88 attacker.
speak(
"Hssssssssssssssss");
91 private static class MagicAttack
extends NpcMagicStrategy {
92 private MagicAttack() {
93 super(getDefinition(
"Toktz-xil-ul"));
103 CombatHit combatHit = nextMagicHit(attacker, defender, combatProjectile);
104 combatHit.setAccurate(
true);