From 9ed58fd763c7a87e36f06e7ae4af85cdce1070d7 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sun, 30 Nov 2014 17:32:36 -0200 Subject: [PATCH] Datapack part for L2J/L2J_Server@0854ed868ff6b09917ebbc4731b6a9e14cfc9c3f. --- .../ai/group_template/DragonValley.java | 14 +++--- .../scripts/ai/group_template/FairyTrees.java | 9 ++-- .../ai/group_template/FrozenLabyrinth.java | 5 +- .../scripts/ai/group_template/GiantsCave.java | 4 +- .../ai/group_template/LairOfAntharas.java | 8 ++-- .../ai/group_template/MonasteryOfSilence.java | 7 ++- .../ai/group_template/PavelArchaic.java | 9 ++-- .../ai/group_template/PlainsOfDion.java | 5 +- .../ai/group_template/PlainsOfLizardman.java | 16 +++---- .../ai/group_template/PrimevalIsle.java | 4 +- .../ai/group_template/SelMahumSquad.java | 2 +- .../ai/group_template/SilentValley.java | 9 ++-- .../ai/group_template/StakatoNest.java | 26 +++------- .../scripts/ai/individual/Baium/Baium.java | 20 ++++---- .../data/scripts/ai/individual/Gordon.java | 2 +- .../ai/individual/Sailren/Sailren.java | 9 ++-- .../data/scripts/ai/npc/AbstractNpcAI.java | 47 ------------------- .../CavernOfThePirateCaptain.java | 4 +- .../Q00063_PathOfTheWarder.java | 16 +------ .../Q00120_PavelsLastResearch.java | 9 ---- .../Q00220_TestimonyOfGlory.java | 39 +++++---------- .../Q00223_TestOfTheChampion.java | 33 +++---------- .../Q00225_TestOfTheSearcher.java | 15 +----- .../Q00226_TestOfTheHealer.java | 15 +----- .../Q00231_TestOfTheMaestro.java | 19 ++------ .../Q00409_PathOfTheElvenOracle.java | 24 ++-------- .../Q00414_PathOfTheOrcRaider.java | 15 +----- 27 files changed, 97 insertions(+), 288 deletions(-) diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/DragonValley.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/DragonValley.java index a2c7d84980..541a0fb683 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/DragonValley.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/DragonValley.java @@ -175,8 +175,8 @@ public final class DragonValley extends AbstractNpcAI for (int i = 0; i < rnd; i++) { final L2Playable playable = isSummon ? attacker.getSummon() : attacker; - final L2Attackable minion = (L2Attackable) addSpawn(DRAKOS_ASSASSIN, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), true, 0, true); - attackPlayer(minion, playable); + final L2Npc minion = addSpawn(DRAKOS_ASSASSIN, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), true, 0, true); + addAttackPlayerDesire(minion, playable); } } } @@ -278,14 +278,14 @@ public final class DragonValley extends AbstractNpcAI { int val = npc.getScriptValue(); final L2Playable attacker = isSummon ? player.getSummon() : player; - final L2Attackable Ghost1 = (L2Attackable) addSpawn(EXPLODING_ORC_GHOST, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, true); - Ghost1.getVariables().set("playable", attacker); - attackPlayer(Ghost1, attacker); + final L2Npc ghost1 = addSpawn(EXPLODING_ORC_GHOST, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, true); + ghost1.getVariables().set("playable", attacker); + addAttackPlayerDesire(ghost1, attacker); val++; if ((val < 2) && (getRandomBoolean())) { - final L2Attackable Ghost2 = (L2Attackable) addSpawn(WRATHFUL_ORC_GHOST, npc.getX(), npc.getY(), npc.getZ() + 20, npc.getHeading(), false, 0, false); - attackPlayer(Ghost2, attacker); + final L2Npc ghost2 = addSpawn(WRATHFUL_ORC_GHOST, npc.getX(), npc.getY(), npc.getZ() + 20, npc.getHeading(), false, 0, false); + addAttackPlayerDesire(ghost2, attacker); val++; } npc.setScriptValue(val); diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/FairyTrees.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/FairyTrees.java index 1fcabd6aa5..e47d9c84bf 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/FairyTrees.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/FairyTrees.java @@ -20,7 +20,6 @@ package ai.group_template; import ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Playable; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -63,13 +62,13 @@ public class FairyTrees extends AbstractNpcAI { for (int i = 0; i < 20; i++) { - final L2Attackable Guardian = (L2Attackable) addSpawn(SOUL_GUARDIAN, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 30000); + final L2Npc guardian = addSpawn(SOUL_GUARDIAN, npc, false, 30000); final L2Playable attacker = isSummon ? killer.getSummon() : killer; - attackPlayer(Guardian, attacker); + addAttackPlayerDesire(guardian, attacker); if (getRandomBoolean()) { - Guardian.setTarget(attacker); - Guardian.doCast(VENOMOUS_POISON.getSkill()); + guardian.setTarget(attacker); + guardian.doCast(VENOMOUS_POISON.getSkill()); } } } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/FrozenLabyrinth.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/FrozenLabyrinth.java index 05362aa9c1..42b11a9484 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/FrozenLabyrinth.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/FrozenLabyrinth.java @@ -20,7 +20,6 @@ package ai.group_template; import ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.skills.Skill; @@ -55,8 +54,8 @@ public final class FrozenLabyrinth extends AbstractNpcAI final int x = diff < 60 ? npc.getX() + diff : npc.getX(); final int y = diff >= 60 ? npc.getY() + (diff - 40) : npc.getY(); - final L2Attackable monster = (L2Attackable) addSpawn(spawnId, x, y, npc.getZ(), npc.getHeading(), false, 0); - attackPlayer(monster, attacker); + final L2Npc monster = addSpawn(spawnId, x, y, npc.getZ(), npc.getHeading(), false, 0); + addAttackPlayerDesire(monster, attacker); diff += 20; } npc.setScriptValue(1); diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/GiantsCave.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/GiantsCave.java index 33d95b777e..fd4b7655fa 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/GiantsCave.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/GiantsCave.java @@ -20,7 +20,6 @@ package ai.group_template; import ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -65,8 +64,7 @@ public final class GiantsCave extends AbstractNpcAI { if ((characters != null) && (characters.isAttackable()) && (getRandomBoolean())) { - L2Attackable monster = (L2Attackable) characters; - attackPlayer(monster, player); + addAttackPlayerDesire((L2Npc) characters, player); } } } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/LairOfAntharas.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/LairOfAntharas.java index 96421d996e..0f9aa1cf11 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/LairOfAntharas.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/LairOfAntharas.java @@ -96,10 +96,10 @@ public final class LairOfAntharas extends AbstractNpcAI { if (getRandom(100) > KNIGHT_CHANCE) { - final L2Attackable newKnight = (L2Attackable) addSpawn(DRAGON_KNIGHT2, npc.getLocation(), false, 0, true); + final L2Npc newKnight = addSpawn(DRAGON_KNIGHT2, npc, false, 0, true); npc.deleteMe(); broadcastNpcSay(newKnight, Say2.NPC_SHOUT, NpcStringId.THOSE_WHO_SET_FOOT_IN_THIS_PLACE_SHALL_NOT_LEAVE_ALIVE); - attackPlayer(newKnight, killer); + addAttackPlayerDesire(newKnight, killer); } break; } @@ -107,10 +107,10 @@ public final class LairOfAntharas extends AbstractNpcAI { if (getRandom(100) > KNIGHT_CHANCE) { - final L2Attackable eliteKnight = (L2Attackable) addSpawn(ELITE_DRAGON_KNIGHT, npc.getLocation(), false, 0, true); + final L2Npc eliteKnight = addSpawn(ELITE_DRAGON_KNIGHT, npc, false, 0, true); npc.deleteMe(); broadcastNpcSay(eliteKnight, Say2.NPC_SHOUT, NpcStringId.IF_YOU_WISH_TO_SEE_HELL_I_WILL_GRANT_YOU_YOUR_WISH); - attackPlayer(eliteKnight, killer); + addAttackPlayerDesire(eliteKnight, killer); } break; } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java index b46b9aa987..39b247b8e6 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java @@ -163,8 +163,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI } npc.setScriptValue(1); broadcastNpcSay(npc, Say2.ALL, NpcStringId.FOR_THE_GLORY_OF_SOLINA); - final L2Attackable knight = (L2Attackable) addSpawn(KNIGHT, npc); - attackPlayer(knight, player); + addAttackPlayerDesire(addSpawn(KNIGHT, npc), player); } break; } @@ -258,7 +257,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_CANNOT_CARRY_A_WEAPON_WITHOUT_AUTHORIZATION); } - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } return super.onAggroRangeEnter(npc, player, isSummon); } @@ -273,7 +272,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI if (obj.equals(npc)) { broadcastNpcSay(npc, Say2.NPC_ALL, DIVINITY_MSG[getRandom(DIVINITY_MSG.length)], caster.getName()); - attackPlayer((L2Attackable) npc, caster); + addAttackPlayerDesire(npc, caster); break; } } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PavelArchaic.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PavelArchaic.java index 84301483cf..1d7d9e59c1 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PavelArchaic.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PavelArchaic.java @@ -20,7 +20,6 @@ package ai.group_template; import ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -47,11 +46,11 @@ public final class PavelArchaic extends AbstractNpcAI { if (getRandom(100) < 70) { - final L2Attackable golem1 = (L2Attackable) addSpawn(PINCER_GOLEM2, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, false); - attackPlayer(golem1, killer); + final L2Npc golem1 = addSpawn(PINCER_GOLEM2, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, false); + addAttackPlayerDesire(golem1, killer); - final L2Attackable golem2 = (L2Attackable) addSpawn(PINCER_GOLEM3, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, false); - attackPlayer(golem2, killer); + final L2Npc golem2 = addSpawn(PINCER_GOLEM3, npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, false); + addAttackPlayerDesire(golem2, killer); } return super.onKill(npc, killer, isSummon); } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfDion.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfDion.java index 24c932b827..b9063e5cc5 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfDion.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfDion.java @@ -23,7 +23,6 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.clientpackets.Say2; @@ -83,8 +82,8 @@ public final class PlainsOfDion extends AbstractNpcAI { if (obj.isMonster() && Util.contains(DELU_LIZARDMEN, obj.getId()) && !obj.isAttackingNow() && !obj.isDead() && GeoData.getInstance().canSeeTarget(npc, obj)) { - final L2MonsterInstance monster = (L2MonsterInstance) obj; - attackPlayer(monster, player); + final L2Npc monster = (L2Npc) obj; + addAttackPlayerDesire(monster, player); broadcastNpcSay(monster, Say2.NPC_ALL, MONSTERS_ASSIST_MSG[getRandom(3)]); } } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java index fc71eccf43..f644295171 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java @@ -25,6 +25,7 @@ import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.L2Playable; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; @@ -104,10 +105,10 @@ public final class PlainsOfLizardman extends AbstractNpcAI { if ((target != null) && target.isAttackable()) { - final L2Attackable monster = (L2Attackable) target; + final L2Npc monster = (L2Npc) target; npc.setTarget(monster); npc.doCast(STUN_EFFECT.getSkill()); - attackPlayer(monster, player); + addAttackPlayerDesire(monster, player); } } npc.doDie(player); @@ -165,8 +166,7 @@ public final class PlainsOfLizardman extends AbstractNpcAI // Tanta Guard if (getRandom(1000) == 0) { - final L2Npc guard = addSpawn(TANTA_GUARD, npc); - attackPlayer((L2Attackable) guard, killer); + addAttackPlayerDesire(addSpawn(TANTA_GUARD, npc), killer); } // Invisible buff npc @@ -230,13 +230,11 @@ public final class PlainsOfLizardman extends AbstractNpcAI } } - private void castSkill(L2Npc npc, L2Character target, SkillHolder skill) + @Override + protected void castSkill(L2Npc npc, L2Playable target, SkillHolder skill) { npc.doDie(target); - - final L2Npc buffer = addSpawn(INVISIBLE_NPC, npc.getLocation(), false, 6000); - buffer.setTarget(target); - buffer.doCast(skill.getSkill()); + super.castSkill(addSpawn(INVISIBLE_NPC, npc, false, 6000), target, skill); } public static void main(String[] args) diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PrimevalIsle.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PrimevalIsle.java index 0dedff4583..f262d55e11 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/PrimevalIsle.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/PrimevalIsle.java @@ -217,7 +217,7 @@ public final class PrimevalIsle extends AbstractNpcAI { npc.setTarget(player); npc.doCast(LONGRANGEDMAGIC1.getSkill()); - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } } break; @@ -332,7 +332,7 @@ public final class PrimevalIsle extends AbstractNpcAI if ((characters != null) && (characters.isAttackable()) && (getRandomBoolean())) { L2Attackable monster = (L2Attackable) characters; - attackPlayer(monster, playable); + addAttackPlayerDesire(monster, playable); } } } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/SelMahumSquad.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/SelMahumSquad.java index 3a46c37572..3314e723c1 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/SelMahumSquad.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/SelMahumSquad.java @@ -109,7 +109,7 @@ public final class SelMahumSquad extends AbstractNpcAI npc.getVariables().remove("INVUL_REMOVE_TIMER_STARTED"); if ((player != null) && !player.isDead() && npc.getKnownList().knowsThePlayer(player)) { - attackPlayer((L2MonsterInstance) npc, player); + addAttackPlayerDesire(npc, player); } } break; diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/SilentValley.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/SilentValley.java index 6d8d4c1e52..5e50b09d35 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/SilentValley.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/SilentValley.java @@ -21,7 +21,6 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.L2Object; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; @@ -123,14 +122,14 @@ public final class SilentValley extends AbstractNpcAI { npc.setTarget(player); npc.doCast(BLAZE.getSkill()); - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); break; } default: { if (isSummon) { - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } } } @@ -161,11 +160,11 @@ public final class SilentValley extends AbstractNpcAI { npc.setTarget(player); npc.doCast(BLAZE.getSkill()); - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } else if (creature.isAffectedBySkill(BETRAYAL.getSkillId())) { - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } } return super.onSeeCreature(npc, creature, isSummon); diff --git a/L2J_DataPack/dist/game/data/scripts/ai/group_template/StakatoNest.java b/L2J_DataPack/dist/game/data/scripts/ai/group_template/StakatoNest.java index 2b0005a166..e95c558d50 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/group_template/StakatoNest.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/group_template/StakatoNest.java @@ -22,10 +22,8 @@ import java.util.List; import ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.model.L2Object; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -131,8 +129,8 @@ public final class StakatoNest extends AbstractNpcAI Broadcast.toSelfAndKnownPlayers(npc, new MagicSkillUse(npc, 2046, 1, 1000, 0)); for (int i = 0; i < 3; i++) { - L2Npc _spawned = addSpawn(STAKATO_CAPTAIN, monster, true); - attackPlayer(killer, _spawned); + L2Npc spawned = addSpawn(STAKATO_CAPTAIN, monster, true); + addAttackPlayerDesire(spawned, killer); } } break; @@ -150,8 +148,8 @@ public final class StakatoNest extends AbstractNpcAI Broadcast.toSelfAndKnownPlayers(npc, new MagicSkillUse(npc, 2046, 1, 1000, 0)); for (int i = 0; i < 3; i++) { - L2Npc _spawned = addSpawn(STAKATO_GUARD, monster, true); - attackPlayer(killer, _spawned); + L2Npc spawned = addSpawn(STAKATO_GUARD, monster, true); + addAttackPlayerDesire(spawned, killer); } } break; @@ -187,7 +185,7 @@ public final class StakatoNest extends AbstractNpcAI { npc.doDie(caster); final L2Npc spawned = addSpawn(STAKATO_CHIEF, npc.getX(), npc.getY(), npc.getZ(), Util.calculateHeadingFrom(npc, caster), false, 0, true); - attackPlayer(caster, spawned); + addAttackPlayerDesire(spawned, caster); } return super.onSkillSee(npc, caster, skill, targets, isSummon); } @@ -214,8 +212,8 @@ public final class StakatoNest extends AbstractNpcAI { npc.getSpawn().decreaseCount(npc); npc.deleteMe(); - final L2Npc _spawned = addSpawn(npcId, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, true); - attackPlayer(player, _spawned); + final L2Npc spawned = addSpawn(npcId, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, true); + addAttackPlayerDesire(spawned, player); } return super.onAdvEvent(event, npc, player); } @@ -234,16 +232,6 @@ public final class StakatoNest extends AbstractNpcAI return null; } - private static void attackPlayer(L2PcInstance player, L2Npc npc) - { - if ((npc != null) && (player != null)) - { - ((L2Attackable) npc).setIsRunning(true); - ((L2Attackable) npc).addDamageHate(player, 0, 999); - ((L2Attackable) npc).getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } - private static void giveCocoon(L2PcInstance player, L2Npc npc) { player.addItem("StakatoCocoon", ((getRandom(100) > 80) ? LARGE_COCOON : SMALL_COCOON), 1, npc, true); diff --git a/L2J_DataPack/dist/game/data/scripts/ai/individual/Baium/Baium.java b/L2J_DataPack/dist/game/data/scripts/ai/individual/Baium/Baium.java index 0f82cf88ba..5624104479 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/individual/Baium/Baium.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/individual/Baium/Baium.java @@ -294,19 +294,19 @@ public final class Baium extends AbstractNpcAI if ((player != null) && !player.isDead()) { - attackPlayer((L2Attackable) npc, player); + addAttackPlayerDesire(npc, player); } else if ((_standbyPlayer != null) && !_standbyPlayer.isDead()) { - attackPlayer((L2Attackable) npc, _standbyPlayer); + addAttackPlayerDesire(npc, _standbyPlayer); } else { - for (L2Character characters : npc.getKnownList().getKnownCharactersInRadius(2000)) + for (L2Character creature : npc.getKnownList().getKnownCharactersInRadius(2000)) { - if ((characters != null) && characters.isPlayer() && zone.isInsideZone(characters) && !characters.isDead()) + if ((creature != null) && creature.isPlayer() && zone.isInsideZone(creature) && !creature.isDead()) { - attackPlayer((L2Attackable) npc, (L2Playable) characters); + addAttackPlayerDesire(npc, (L2Playable) creature); break; } } @@ -332,20 +332,20 @@ public final class Baium extends AbstractNpcAI { mob.clearAggroList(); } - attackPlayer(mob, (L2Playable) mostHated); + addAttackPlayerDesire(mob, (L2Playable) mostHated); } else { boolean found = false; - for (L2Character characters : mob.getKnownList().getKnownCharactersInRadius(1000)) + for (L2Character creature : mob.getKnownList().getKnownCharactersInRadius(1000)) { - if ((characters != null) && characters.isPlayable() && zone.isInsideZone(characters) && !characters.isDead()) + if ((creature != null) && creature.isPlayable() && zone.isInsideZone(creature) && !creature.isDead()) { - if (mob.getTarget() != characters) + if (mob.getTarget() != creature) { mob.clearAggroList(); } - attackPlayer(mob, (L2Playable) characters); + addAttackPlayerDesire(mob, (L2Playable) creature); found = true; break; } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/individual/Gordon.java b/L2J_DataPack/dist/game/data/scripts/ai/individual/Gordon.java index 33686e45b5..a2b459f69c 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/individual/Gordon.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/individual/Gordon.java @@ -45,7 +45,7 @@ public final class Gordon extends AbstractNpcAI { if (creature.isPlayer() && ((L2PcInstance) creature).isCursedWeaponEquipped()) { - attackPlayer((L2Attackable) npc, (L2PcInstance) creature); + addAttackPlayerDesire(npc, (L2PcInstance) creature); } return super.onSeeCreature(npc, creature, isSummon); } diff --git a/L2J_DataPack/dist/game/data/scripts/ai/individual/Sailren/Sailren.java b/L2J_DataPack/dist/game/data/scripts/ai/individual/Sailren/Sailren.java index f0d34c09f8..d31171fe5d 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/individual/Sailren/Sailren.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/individual/Sailren/Sailren.java @@ -23,7 +23,6 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.TeleportWhereType; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -291,16 +290,16 @@ public final class Sailren extends AbstractNpcAI _killCount++; if (_killCount == 3) { - final L2Attackable pterosaur = (L2Attackable) addSpawn(PTEROSAUR, 27313, -6766, -1975, 0, false, 0); - attackPlayer(pterosaur, killer); + final L2Npc pterosaur = addSpawn(PTEROSAUR, 27313, -6766, -1975, 0, false, 0); + addAttackPlayerDesire(pterosaur, killer); _killCount = 0; } break; } case PTEROSAUR: { - final L2Attackable trex = (L2Attackable) addSpawn(TREX, 27313, -6766, -1975, 0, false, 0); - attackPlayer(trex, killer); + final L2Npc trex = addSpawn(TREX, 27313, -6766, -1975, 0, false, 0); + addAttackPlayerDesire(trex, killer); break; } case TREX: diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/AbstractNpcAI.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/AbstractNpcAI.java index 8fbfac8acb..007924645d 100644 --- a/L2J_DataPack/dist/game/data/scripts/ai/npc/AbstractNpcAI.java +++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/AbstractNpcAI.java @@ -20,15 +20,11 @@ package ai.npc; import java.util.logging.Logger; -import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.L2Playable; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.MinionHolder; -import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.serverpackets.NpcSay; @@ -168,49 +164,6 @@ public abstract class AbstractNpcAI extends Quest Broadcast.toSelfAndKnownPlayersInRadius(character, new SocialAction(character.getObjectId(), actionId), radius); } - /** - * Monster is running and attacking the playable. - * @param npc - * @param playable - */ - protected void attackPlayer(L2Attackable npc, L2Playable playable) - { - attackPlayer(npc, playable, 999); - } - - /** - * Monster is running and attacking the target. - * @param npc the NPC that performs the attack - * @param target the target of the attack - * @param desire the desire to perform the attack - */ - protected void attackPlayer(L2Npc npc, L2Playable target, int desire) - { - if (npc instanceof L2Attackable) - { - ((L2Attackable) npc).addDamageHate(target, 0, desire); - } - npc.setIsRunning(true); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target); - } - - /** - * Monster cast an skill to the character. - * @param npc the NPC whom cast the skill - * @param target the skill target - * @param skill the skill to cast - * @param desire the desire to cast the skill - */ - protected void castSkill(L2Npc npc, L2Character target, SkillHolder skill, int desire) - { - if (npc instanceof L2Attackable) - { - ((L2Attackable) npc).addDamageHate(target, 0, desire); - } - npc.setTarget(target); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), target); - } - public void spawnMinions(final L2Npc npc, final String spawnName) { for (MinionHolder is : npc.getTemplate().getParameters().getMinionList(spawnName)) diff --git a/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java b/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java index a6703c43e2..02a32a4058 100644 --- a/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java +++ b/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java @@ -46,7 +46,7 @@ public class CavernOfThePirateCaptain extends AbstractNpcAI { protected class CavernOfThePirateCaptainWorld extends InstanceWorld { - ArrayList<L2PcInstance> playersInside = new ArrayList<>(); + List<L2PcInstance> playersInside = new ArrayList<>(); L2Attackable _zaken; long storeTime = 0; boolean _is83; @@ -511,7 +511,7 @@ public class CavernOfThePirateCaptain extends AbstractNpcAI if ((player != null) && (npcId != ZAKEN_60) && (npcId != ZAKEN_83)) { final L2Attackable mob = (L2Attackable) addSpawn(npcId, ROOM_DATA[roomId - 1][0] + getRandom(350), ROOM_DATA[roomId - 1][1] + getRandom(350), ROOM_DATA[roomId - 1][2], 0, false, 0, false, world.getInstanceId()); - attackPlayer(mob, player); + addAttackPlayerDesire(mob, player); return mob; } return (L2Attackable) addSpawn(npcId, ROOM_DATA[roomId - 1][0], ROOM_DATA[roomId - 1][1], ROOM_DATA[roomId - 1][2], 0, false, 0, false, world.getInstanceId()); diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java index f51e832524..36a1129ccd 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00063_PathOfTheWarder/Q00063_PathOfTheWarder.java @@ -18,9 +18,7 @@ */ package quests.Q00063_PathOfTheWarder; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -237,16 +235,6 @@ public final class Q00063_PathOfTheWarder extends Quest return htmltext; } - private static void attackPlayer(L2Attackable npc, L2PcInstance player) - { - if ((npc != null) && (player != null)) - { - npc.setIsRunning(true); - npc.addDamageHate(player, 0, 999); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } - @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { @@ -301,8 +289,8 @@ public final class Q00063_PathOfTheWarder extends Quest else { qs.set("ex", 0); - final L2Attackable monster = (L2Attackable) addSpawn(OL_MAHUM_OFFICER_TAK, npc, true, 0, false); - attackPlayer(monster, killer); + final L2Npc monster = addSpawn(OL_MAHUM_OFFICER_TAK, npc, true, 0, false); + addAttackPlayerDesire(monster, killer); } } break; diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00120_PavelsLastResearch/Q00120_PavelsLastResearch.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00120_PavelsLastResearch/Q00120_PavelsLastResearch.java index f396ec189b..866464ea43 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00120_PavelsLastResearch/Q00120_PavelsLastResearch.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00120_PavelsLastResearch/Q00120_PavelsLastResearch.java @@ -1532,15 +1532,6 @@ public final class Q00120_PavelsLastResearch extends Quest return html; } - private static void castSkill(L2Npc npc, L2PcInstance player, Skill skill) - { - if ((skill.getHpConsume() <= npc.getCurrentHp()) && (skill.getMpConsume() <= npc.getCurrentMp()) && (npc.getSkillRemainingReuseTime(skill.getReuseHashCode()) <= 0)) - { - npc.setTarget(player); - npc.doCast(skill); - } - } - private static boolean checkQ114(L2PcInstance player) { final QuestState q114 = player.getQuestState(Q00114_ResurrectionOfAnOldManager.class.getSimpleName()); diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00220_TestimonyOfGlory/Q00220_TestimonyOfGlory.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00220_TestimonyOfGlory/Q00220_TestimonyOfGlory.java index 7cc19873e6..5a52906617 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00220_TestimonyOfGlory/Q00220_TestimonyOfGlory.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00220_TestimonyOfGlory/Q00220_TestimonyOfGlory.java @@ -18,11 +18,9 @@ */ package quests.Q00220_TestimonyOfGlory; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.CategoryType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.enums.Race; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -280,8 +278,8 @@ public final class Q00220_TestimonyOfGlory extends Quest { giveItems(player, GLOVE_OF_VOLTAR, 1); takeItems(player, MANAKIA_1ST_LETTER, 1); - attackPlayer(addSpawn(npc, PASHIKA_SON_OF_VOLTAR, npc, true, 200000), player); - attackPlayer(addSpawn(npc, VULTUS_SON_OF_VOLTAR, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, PASHIKA_SON_OF_VOLTAR, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, VULTUS_SON_OF_VOLTAR, npc, true, 200000), player); htmltext = event; } break; @@ -292,10 +290,10 @@ public final class Q00220_TestimonyOfGlory extends Quest { giveItems(player, GLOVE_OF_KEPRA, 1); takeItems(player, MANAKIA_2ND_LETTER, 1); - attackPlayer(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); - attackPlayer(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); - attackPlayer(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); - attackPlayer(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); htmltext = event; } break; @@ -306,8 +304,8 @@ public final class Q00220_TestimonyOfGlory extends Quest { giveItems(player, GLOVE_OF_BURAI, 1); takeItems(player, KASMANS_2ND_LETTER, 1); - attackPlayer(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); - attackPlayer(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); htmltext = event; } break; @@ -815,8 +813,8 @@ public final class Q00220_TestimonyOfGlory extends Quest { if (npc.getSummonedNpcCount() < 2) { - attackPlayer(addSpawn(npc, PASHIKA_SON_OF_VOLTAR, npc, true, 200000), player); - attackPlayer(addSpawn(npc, VULTUS_SON_OF_VOLTAR, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, PASHIKA_SON_OF_VOLTAR, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, VULTUS_SON_OF_VOLTAR, npc, true, 200000), player); } htmltext = "30615-05.html"; } @@ -859,7 +857,7 @@ public final class Q00220_TestimonyOfGlory extends Quest { if (npc.getSummonedNpcCount() < 5) { - attackPlayer(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, ENKU_ORC_OVERLORD, npc, true, 200000), player); } htmltext = "30616-05.html"; } @@ -901,8 +899,8 @@ public final class Q00220_TestimonyOfGlory extends Quest { if (npc.getSummonedNpcCount() < 3) { - attackPlayer(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); - attackPlayer(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, MAKUM_BUGBEAR_THUG, npc, true, 200000), player); } htmltext = "30617-04.html"; } @@ -1054,15 +1052,4 @@ public final class Q00220_TestimonyOfGlory extends Quest } return htmltext; } - - private static void attackPlayer(L2Npc npc, L2PcInstance player) - { - L2Attackable monster = (L2Attackable) npc; - if ((monster != null) && (player != null)) - { - monster.setIsRunning(true); - monster.addDamageHate(player, 0, 999); - monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java index b6c7784c8d..318b512c4d 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java @@ -18,9 +18,7 @@ */ package quests.Q00223_TestOfTheChampion; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -226,15 +224,12 @@ public final class Q00223_TestOfTheChampion extends Quest { if (getRandom(10) < 7) { - final L2Attackable monster1 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false); - attackPlayer(monster1, attacker); + addAttackPlayerDesire(addSpawn(HARPY_MATRIARCH, npc, true, 0, false), attacker); } else { - final L2Attackable monster1 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false); - final L2Attackable monster2 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false); - attackPlayer(monster1, attacker); - attackPlayer(monster2, attacker); + addAttackPlayerDesire(addSpawn(HARPY_MATRIARCH, npc, true, 0, false), attacker); + addAttackPlayerDesire(addSpawn(HARPY_MATRIARCH, npc, true, 0, false), attacker); } } } @@ -262,15 +257,12 @@ public final class Q00223_TestOfTheChampion extends Quest { if (getRandom(10) < 7) { - final L2Attackable monster1 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false); - attackPlayer(monster1, attacker); + addAttackPlayerDesire(addSpawn(ROAD_COLLECTOR, npc, true, 0, false), attacker); } else { - final L2Attackable monster1 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false); - final L2Attackable monster2 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false); - attackPlayer(monster1, attacker); - attackPlayer(monster2, attacker); + addAttackPlayerDesire(addSpawn(ROAD_COLLECTOR, npc, true, 0, false), attacker); + addAttackPlayerDesire(addSpawn(ROAD_COLLECTOR, npc, true, 0, false), attacker); } } } @@ -296,8 +288,7 @@ public final class Q00223_TestOfTheChampion extends Quest { if (getRandomBoolean()) { - final L2Attackable monster1 = (L2Attackable) addSpawn(BLOODY_AXE_ELITE, npc, true, 0, false); - attackPlayer(monster1, attacker); + addAttackPlayerDesire(addSpawn(BLOODY_AXE_ELITE, npc, true, 0, false), attacker); } } npc.setScriptValue(1); @@ -645,14 +636,4 @@ public final class Q00223_TestOfTheChampion extends Quest } return htmltext; } - - private static void attackPlayer(L2Attackable npc, L2PcInstance player) - { - if ((npc != null) && (player != null)) - { - npc.setIsRunning(true); - npc.addDamageHate(player, 0, 999); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00225_TestOfTheSearcher/Q00225_TestOfTheSearcher.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00225_TestOfTheSearcher/Q00225_TestOfTheSearcher.java index 38389571ba..4c25c59e2a 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00225_TestOfTheSearcher/Q00225_TestOfTheSearcher.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00225_TestOfTheSearcher/Q00225_TestOfTheSearcher.java @@ -18,9 +18,7 @@ */ package quests.Q00225_TestOfTheSearcher; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -216,8 +214,7 @@ public final class Q00225_TestOfTheSearcher extends Quest if (npc.isScriptValue(0) && hasQuestItems(attacker, LEIRYNNS_1ST_ORDER)) { npc.setScriptValue(1); - final L2Attackable monster1 = (L2Attackable) addSpawn(NEER_BODYGUARD, npc, true, 200000); - attackPlayer(monster1, attacker); + addAttackPlayerDesire(addSpawn(NEER_BODYGUARD, npc, true, 200000), attacker); } } return super.onAttack(npc, attacker, damage, isSummon); @@ -607,14 +604,4 @@ public final class Q00225_TestOfTheSearcher extends Quest } return htmltext; } - - private static void attackPlayer(L2Attackable npc, L2PcInstance player) - { - if ((npc != null) && (player != null)) - { - npc.setIsRunning(true); - npc.addDamageHate(player, 0, 999); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00226_TestOfTheHealer/Q00226_TestOfTheHealer.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00226_TestOfTheHealer/Q00226_TestOfTheHealer.java index 875b3d7919..63cd7511a3 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00226_TestOfTheHealer/Q00226_TestOfTheHealer.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00226_TestOfTheHealer/Q00226_TestOfTheHealer.java @@ -18,10 +18,8 @@ */ package quests.Q00226_TestOfTheHealer; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.CategoryType; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -161,7 +159,7 @@ public final class Q00226_TestOfTheHealer extends Quest qs.setCond(2, true); if (npc.getSummonedNpcCount() < 1) { - attackPlayer(addSpawn(npc, TATOMA, npc, true, 200000), player); + addAttackPlayerDesire(addSpawn(npc, TATOMA, npc, true, 200000), player); } } htmltext = event; @@ -675,15 +673,4 @@ public final class Q00226_TestOfTheHealer extends Quest } return htmltext; } - - private static void attackPlayer(L2Npc npc, L2PcInstance player) - { - L2Attackable monster = (L2Attackable) npc; - if ((monster != null) && (player != null)) - { - monster.setIsRunning(true); - monster.addDamageHate(player, 0, 999); - monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00231_TestOfTheMaestro/Q00231_TestOfTheMaestro.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00231_TestOfTheMaestro/Q00231_TestOfTheMaestro.java index a213c811ba..cb61705b85 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00231_TestOfTheMaestro/Q00231_TestOfTheMaestro.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00231_TestOfTheMaestro/Q00231_TestOfTheMaestro.java @@ -18,9 +18,7 @@ */ package quests.Q00231_TestOfTheMaestro; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -162,9 +160,9 @@ public final class Q00231_TestOfTheMaestro extends Quest } case "SPAWN_KING_BUGBEAR": { - attackPlayer(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); - attackPlayer(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); - attackPlayer(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); + addAttackPlayerDesire(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); + addAttackPlayerDesire(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); + addAttackPlayerDesire(addSpawn(KING_BUGBEAR, 140395, -194147, -3146, 0, false, 200000, false), player); break; } } @@ -484,15 +482,4 @@ public final class Q00231_TestOfTheMaestro extends Quest } return htmltext; } - - private static void attackPlayer(L2Npc npc, L2PcInstance player) - { - L2Attackable monster = (L2Attackable) npc; - if ((monster != null) && (player != null)) - { - monster.setIsRunning(true); - monster.addDamageHate(player, 0, 999); - monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java index 9ce61dfa97..c3fa072b6c 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00409_PathOfTheElvenOracle/Q00409_PathOfTheElvenOracle.java @@ -18,8 +18,6 @@ */ package quests.Q00409_PathOfTheElvenOracle; -import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -130,12 +128,9 @@ public final class Q00409_PathOfTheElvenOracle extends Quest case "replay_1": { qs.setMemoState(2); - final L2Attackable monster1 = (L2Attackable) addSpawn(lIZARDMAN_WARRIOR, npc, true, 0, false); - final L2Attackable monster2 = (L2Attackable) addSpawn(LIZARDMAN_SCOUT, npc, true, 0, false); - final L2Attackable monster3 = (L2Attackable) addSpawn(LIZARDMAN_SOLDIER, npc, true, 0, false); - attackPlayer(monster1, player); - attackPlayer(monster2, player); - attackPlayer(monster3, player); + addAttackPlayerDesire(addSpawn(lIZARDMAN_WARRIOR, npc, true, 0, false), player); + addAttackPlayerDesire(addSpawn(LIZARDMAN_SCOUT, npc, true, 0, false), player); + addAttackPlayerDesire(addSpawn(LIZARDMAN_SOLDIER, npc, true, 0, false), player); break; } case "30428-02.html": @@ -152,8 +147,7 @@ public final class Q00409_PathOfTheElvenOracle extends Quest if (qs.isMemoState(2)) { qs.setMemoState(3); - final L2Attackable monster = (L2Attackable) addSpawn(TAMIL, npc, true, 0, true); - attackPlayer(monster, player); + addAttackPlayerDesire(addSpawn(TAMIL, npc, true, 0, true), player); } break; } @@ -407,14 +401,4 @@ public final class Q00409_PathOfTheElvenOracle extends Quest } return htmltext; } - - private static void attackPlayer(L2Attackable npc, L2PcInstance player) - { - if ((npc != null) && (player != null)) - { - npc.setIsRunning(true); - npc.addDamageHate(player, 0, 999); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java index 96a03d23cf..105be39c53 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00414_PathOfTheOrcRaider/Q00414_PathOfTheOrcRaider.java @@ -18,9 +18,7 @@ */ package quests.Q00414_PathOfTheOrcRaider; -import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -176,8 +174,7 @@ public final class Q00414_PathOfTheOrcRaider extends Quest if (getRandom(100) < (getQuestItemsCount(killer, GREEN_BLOOD) * 5)) { takeItems(killer, GREEN_BLOOD, -1); - final L2Attackable monster = (L2Attackable) addSpawn(KURUKA_RATMAN_LEADER, npc, true, 0, true); - attackPlayer(monster, killer); + addAttackPlayerDesire(addSpawn(KURUKA_RATMAN_LEADER, npc, true, 0, true), killer); } else { @@ -360,14 +357,4 @@ public final class Q00414_PathOfTheOrcRaider extends Quest } return htmltext; } - - private static void attackPlayer(L2Attackable npc, L2PcInstance player) - { - if ((npc != null) && (player != null)) - { - npc.setIsRunning(true); - npc.addDamageHate(player, 0, 999); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - } } \ No newline at end of file -- GitLab