RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Alkahrid.java
1package com.osroyale.game.world.entity.combat.attack.listener.npc;
2
3import com.osroyale.game.world.entity.combat.CombatType;
4import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
5import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
6import com.osroyale.game.world.entity.combat.hit.Hit;
7import com.osroyale.game.world.entity.mob.Mob;
8import com.osroyale.game.world.entity.mob.npc.Npc;
9import com.osroyale.game.world.entity.mob.player.Player;
10import com.osroyale.util.Utility;
11
13@NpcCombatListenerSignature(npcs = {3103})
14public class Alkahrid extends SimplifiedListener<Npc> {
15
16 @Override
17 public void block(Mob attacker, Npc defender, Hit hit, CombatType combatType) {
18 if (!attacker.isPlayer())
19 return;
20
21 int currentHealth = defender.getCurrentHealth();
22 int maximumHealth = defender.getMaximumHealth();
23
24 if (currentHealth == maximumHealth) {
25 Player player = attacker.getPlayer();
26
27 for (Npc monster : player.viewport.getNpcsInViewport()) {
28 if (monster.id != 3103) continue;
29 if (monster.equals(defender)) continue;
30 if (monster.getCombat().inCombat() && monster.getCombat().getDefender() != null) continue;
31 if (!Utility.within(attacker.getPosition(), monster.getPosition(), 10)) continue;
32 monster.speak("Brother, I will help thee with this infidel!");
33 monster.getCombat().attack(attacker);
34 }
35 }
36 }
37}