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 a2c7d8498083849c5cfa44f8fab855f5b31d040f..541a0fb683119e45e7d054ab3cb1d9d36176702a 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 1fcabd6aa5414ebcddea77826de40bd424ae38c6..e47d9c84bf2ce1505ccab73229e80c2da49d024d 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 05362aa9c1eadc9347dd67a271690fd3db4c9831..42b11a948451dc47d5b5b8a06dfb32c1db028171 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 33d95b777e6d3f9c63c4ac44a3aab3305d882c72..fd4b7655fa4baa2ab1ef29af1ee1b9cdede8e9ab 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 96421d996e565523a4eec52a87cafaf32e652c89..0f9aa1cf11e3336726bc06339a6046212770d75d 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 b46b9aa987f72ab289f992cd46b7239e57c06d9e..39b247b8e6a8fb652a0a105c52df6ecd02364912 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 84301483cfab8983d699e594e8a91364bc5fcb25..1d7d9e59c13af65071d0f2e74ef52d3810c9647b 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 24c932b8274dfb47d985d7f11cdf5a54dd4977e8..b9063e5cc58db33797fbd5c27c9fc65cd339ba45 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 fc71eccf431c8d471fbe01e258a58b2c25bb81d4..f64429517108a35f6566c0d7e0cdcf18e3233f86 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 0dedff4583e638db93dec2aa5a9b118ceb58f297..f262d55e117b750ac34a78b42e6cd171a21aa49e 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 3a46c3757209aedbe0073c0f35850e77cae850b0..3314e723c1c645634792e52cb8ca8b236775c1ed 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 6d8d4c1e52477bce808389a91cb9e560cf523407..5e50b09d35e4b51fcc18a9d05dbcff2c627ac69e 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 2b0005a16657be79bd63232125d302a703b3ceec..e95c558d50e84e52c2b44b216a33bb40410f6fe7 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 0f82cf88ba7fc7e8812c6d3ee474111f4e3f2111..56241044799d90302a94b831406b020eb9ee54d1 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 33686e45b5e26a7aaf6379785c2b87c729199a6e..a2b459f69cc22cdf400caaebcdbf6be6311f7591 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 f0d34c09f88545b195e3f9824d6bf6efd9f1abd6..d31171fe5d415603625f5ca923411d236fe97cb8 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 8fbfac8acb4cc0c0f0e3bb6694b68783db6e98aa..007924645d200cd23a27e9cae38d5c869919a2eb 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 a6703c43e242b9cfbcb173b5d92cd5c3e5031b37..02a32a40584080344e2edc31b199a7215cf5a2a9 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 f51e832524149c6e1e4c80aef286e5848d6d84ca..36a1129ccdf5554ff37fac44944f9319b6da1437 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 f396ec189bed1f4cb33ccd4ca22bc7d052f2c9c1..866464ea43634e5fe7cf500b077586f63ebfcea8 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 7cc19873e6eabc7114dafce8b19a3f0df6747393..5a52906617ce4bbcb5b6b70285fd5b87fc843d7d 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 b6c7784c8dc3c93048edf05aad31e4569689bd05..318b512c4deaa9e0241d45bca41e7911adb37809 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 38389571ba48f2fac139630e0ce40c02ac28a063..4c25c59e2a613b685bc6d9542473990de7c08d87 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 875b3d7919b83120c2fac4c02533e7c3d253820a..63cd7511a3b00751df76d1ee17681dfeedb24953 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 a213c811ba4807ca1157d87c37d08e5d0f3d38ab..cb61705b856afa0d160d43faa81f23b0e2914092 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 9ce61dfa9736850b58a86f1e0ba36f6c31172ba4..c3fa072b6c6c7024995adddbddcb2137acc9bde6 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 96a03d23cf7b0e5ed6c06001c7ea3abcc4095540..105be39c53ab65656eb9da851209f00bfaf80f4e 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