From b6ae49f953058cd9107f53e02d8758d5c50da578 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 10 Oct 2021 14:27:09 +0000 Subject: [PATCH] Atingo HP change listener logic rework. --- .../game/data/scripts/ai/others/Atingo.java | 21 +++++-------------- .../game/data/scripts/ai/others/Atingo.java | 21 +++++-------------- 2 files changed, 10 insertions(+), 32 deletions(-) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/ai/others/Atingo.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/ai/others/Atingo.java index d69ad4d96e..56ebc98a9d 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/ai/others/Atingo.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/ai/others/Atingo.java @@ -92,23 +92,12 @@ public class Atingo extends AbstractNpcAI private void onHpChange(OnCreatureHpChange hpChangeEvent) { final Npc creature = (Npc) hpChangeEvent.getCreature(); - final double hp = hpChangeEvent.getNewHp(); - if (((creature.getMaxHp() / 2) > hp) && (creature.getScriptValue() == 0)) + if ((creature.getScriptValue() == 0) && !creature.isDead() && creature.isInCombat()) { - if (Rnd.get(100) <= ATINGO_PET_SPAWN_RATE) - { - final Npc pet = addSpawn(getRandomEntry(PETS), GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); - creature.setScriptValue(pet.getObjectId()); - pet.setInvul(true); - pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); - } - else - { - final Npc pet = addSpawn(SIN_EATER, GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); - creature.setScriptValue(pet.getObjectId()); - pet.setInvul(true); - pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); - } + final Npc pet = addSpawn(Rnd.get(100) <= ATINGO_PET_SPAWN_RATE ? getRandomEntry(PETS) : SIN_EATER, GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); + creature.setScriptValue(pet.getObjectId()); + pet.setInvul(true); + pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/Atingo.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/Atingo.java index d69ad4d96e..56ebc98a9d 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/Atingo.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/Atingo.java @@ -92,23 +92,12 @@ public class Atingo extends AbstractNpcAI private void onHpChange(OnCreatureHpChange hpChangeEvent) { final Npc creature = (Npc) hpChangeEvent.getCreature(); - final double hp = hpChangeEvent.getNewHp(); - if (((creature.getMaxHp() / 2) > hp) && (creature.getScriptValue() == 0)) + if ((creature.getScriptValue() == 0) && !creature.isDead() && creature.isInCombat()) { - if (Rnd.get(100) <= ATINGO_PET_SPAWN_RATE) - { - final Npc pet = addSpawn(getRandomEntry(PETS), GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); - creature.setScriptValue(pet.getObjectId()); - pet.setInvul(true); - pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); - } - else - { - final Npc pet = addSpawn(SIN_EATER, GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); - creature.setScriptValue(pet.getObjectId()); - pet.setInvul(true); - pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); - } + final Npc pet = addSpawn(Rnd.get(100) <= ATINGO_PET_SPAWN_RATE ? getRandomEntry(PETS) : SIN_EATER, GeoEngine.getInstance().getValidLocation(creature.getX(), creature.getY(), creature.getZ(), creature.getX() + 50, creature.getY() + 50, creature.getZ(), null)); + creature.setScriptValue(pet.getObjectId()); + pet.setInvul(true); + pet.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.H_ULTIMATE_DEFENCE_B_AVE); } }