From f9b328b432c9ed3defdd176f2eae994e0afff76f Mon Sep 17 00:00:00 2001 From: Silwhoon Date: Mon, 5 Feb 2024 17:58:43 +0000 Subject: [PATCH] Mob Skills now have a success rate This was only used for MAGIC_IMMUNITY and WEAPON_IMMUNITY for some reason? A lot of other MobSkills also have a 'prop' node in the WZ files such as; Darkness and Seduce --- src/main/java/server/life/MobSkill.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/server/life/MobSkill.java b/src/main/java/server/life/MobSkill.java index 6f222a5446..4b47f1ad74 100644 --- a/src/main/java/server/life/MobSkill.java +++ b/src/main/java/server/life/MobSkill.java @@ -190,6 +190,11 @@ public class MobSkill { // TODO: avoid output argument banishPlayersOutput public void applyEffect(Character player, Monster monster, boolean skill, List banishPlayersOutput) { + // See if the MobSkill is successful before doing anything + if (!makeChanceResult()) { + return; + } + Disease disease = null; Map stats = new EnumMap<>(MonsterStatus.class); List reflection = new ArrayList<>(); @@ -213,12 +218,12 @@ public class MobSkill { case REVERSE_INPUT -> disease = Disease.CONFUSE; case UNDEAD -> disease = Disease.ZOMBIFY; case PHYSICAL_IMMUNE -> { - if (makeChanceResult() && !monster.isBuffed(MonsterStatus.MAGIC_IMMUNITY)) { + if (!monster.isBuffed(MonsterStatus.MAGIC_IMMUNITY)) { stats.put(MonsterStatus.WEAPON_IMMUNITY, x); } } case MAGIC_IMMUNE -> { - if (makeChanceResult() && !monster.isBuffed(MonsterStatus.WEAPON_IMMUNITY)) { + if (!monster.isBuffed(MonsterStatus.WEAPON_IMMUNITY)) { stats.put(MonsterStatus.MAGIC_IMMUNITY, x); } }