RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
SpritualMage.java
1package com.osroyale.game.world.entity.combat.attack.listener.npc.godwar;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.UpdatePriority;
5import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
6import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
7import com.osroyale.game.world.entity.combat.hit.CombatHit;
8import com.osroyale.game.world.entity.combat.hit.Hit;
9import com.osroyale.game.world.entity.combat.strategy.CombatStrategy;
10import com.osroyale.game.world.entity.combat.strategy.npc.NpcMagicStrategy;
11import com.osroyale.game.world.entity.combat.strategy.npc.NpcMeleeStrategy;
12import com.osroyale.game.world.entity.mob.Mob;
13import com.osroyale.game.world.entity.mob.npc.Npc;
14
15import static com.osroyale.game.world.entity.combat.CombatUtil.createStrategyArray;
16import static com.osroyale.game.world.entity.combat.CombatUtil.randomStrategy;
17import static com.osroyale.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
18
22@NpcCombatListenerSignature(npcs = { 3161, 2212 })
49
50public class SpritualMage extends SimplifiedListener<Npc> {
51
52 private static MagicAttack MAGIC = new MagicAttack();
53
54 @Override
55 public void start(Npc attacker, Mob defender, Hit[] hits) {
56 attacker.setStrategy(MAGIC);
57 }
58
59 private static class MagicAttack extends NpcMagicStrategy {
60 private MagicAttack() {
61 super(getDefinition("Spirtual Mage"));
62 }
63
64 @Override
65 public Animation getAttackAnimation(Npc attacker, Mob defender) {
66 return new Animation(1167, UpdatePriority.VERY_HIGH);
67 }
68
69 @Override
70 public CombatHit[] getHits(Npc attacker, Mob defender) {
71 CombatHit combatHit = nextMagicHit(attacker, defender, 15);
72 combatHit.setAccurate(true);
73 return new CombatHit[] { combatHit };
74 }
75 }
76}