Waterbirth Dungeon is cannonable

Spinolyps only drain prayer if they hit, and always target ranged defence.
This commit is contained in:
Avi Weinstock
2022-01-18 08:38:11 +00:00
committed by Ryan
parent 2cc2a497d4
commit 50ff5e1c38
4 changed files with 11 additions and 3 deletions
@@ -122,6 +122,12 @@ public final class SpinolypNPC extends AbstractNPC {
return 12;
}
@Override
public int calculateDefence(Entity v, Entity e) {
// Spinolyps' attack always targets ranged defence
return CombatStyle.RANGE.getSwingHandler().calculateDefence(v, e);
}
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
super.visualize(entity, victim, state);
@@ -137,7 +143,7 @@ public final class SpinolypNPC extends AbstractNPC {
@Override
public void impact(Entity entity, Entity victim, BattleState state) {
super.impact(entity, victim, state);
if (super.getType() == CombatStyle.MAGIC) {
if (super.getType() == CombatStyle.MAGIC && state.getEstimatedHit() > 0) {
victim.getSkills().decrementPrayerPoints(1);
} else {
if (RandomFunction.random(20) == 5) {
@@ -48,7 +48,7 @@ public final class WaterBirthDungeonZone extends MapZone implements Plugin<Objec
* Constructs a new {@code WaterBirthDungeonZone} {@code Object}.
*/
public WaterBirthDungeonZone() {
super("Water birth dungeon", true, ZoneRestriction.CANNON, ZoneRestriction.RANDOM_EVENTS);
super("Water birth dungeon", true, ZoneRestriction.RANDOM_EVENTS);
PluginManager.definePlugin(new DagannothKingNPC());
PluginManager.definePlugin(new DoorSupportNPC());
PluginManager.definePlugin(new DungeonOptionHandler());