From 4b2ba554dd0e21db247a3efee5dcb0d9fd124939 Mon Sep 17 00:00:00 2001 From: Rumen Nikiforov <unafraid89@gmail.com> Date: Fri, 11 May 2012 03:46:30 +0000 Subject: [PATCH] BETA: DP-Part for [L5330] --- .../scripts/ai/group_template/DenOfEvil.java | 7 +++---- .../ai/group_template/EnergySeeds.java | 18 ++++++++++++++--- .../data/scripts/ai/individual/Antharas.java | 9 +++++---- .../data/scripts/ai/individual/Beleth.java | 2 +- .../RainbowSpringsChateau.java | 5 +++-- .../admincommandhandlers/AdminSkill.java | 20 +++++++++++++++---- .../hellbound/TowerOfNaia/TowerOfNaia.java | 15 +++++++------- 7 files changed, 50 insertions(+), 26 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java index b67abf54d7..6e735fe1dc 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java @@ -20,7 +20,6 @@ import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.Location; 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.skills.L2Skill; import com.l2jserver.gameserver.model.zone.type.L2EffectZone; @@ -201,11 +200,11 @@ public class DenOfEvil extends L2AttackableAIScript private void destroyZone() { - for (L2Character character : _zone.getCharactersInsideArray()) + for (L2Character character : _zone.getCharactersInside()) { if (character == null) continue; - if (character instanceof L2Playable) + if (character.isPlayable()) { L2Skill skill = SkillTable.getInstance().getInfo(6149, 1); skill.getEffects(character, character); // apply effect @@ -214,7 +213,7 @@ public class DenOfEvil extends L2AttackableAIScript { if (character.doDie(null)) // mobs die { - if (character instanceof L2Npc) + if (character.isNpc()) { // respawn eye L2Npc npc = (L2Npc) character; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java index 34c8b56213..da2d92ef91 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java @@ -209,7 +209,9 @@ public class EnergySeeds extends L2AttackableAIScript { L2DoorInstance doorInstance = DoorTable.getInstance().getDoor(doorId); if (doorInstance != null) + { doorInstance.openMe(); + } } startAI(GraciaSeeds.DESTRUCTION); } @@ -219,19 +221,29 @@ public class EnergySeeds extends L2AttackableAIScript { L2DoorInstance doorInstance = DoorTable.getInstance().getDoor(doorId); if (doorInstance != null) + { doorInstance.closeMe(); + } + } + for(L2PcInstance ch : ZoneManager.getInstance().getZoneById(SOD_ZONE).getPlayersInside()) + { + if (ch != null) + { + ch.teleToLocation(SOD_EXIT_POINT[0], SOD_EXIT_POINT[1], SOD_EXIT_POINT[2]); + } } - for(L2Character chars : ZoneManager.getInstance().getZoneById(SOD_ZONE).getCharactersInsideArray()) - if (chars instanceof L2PcInstance) - chars.teleToLocation(SOD_EXIT_POINT[0], SOD_EXIT_POINT[1], SOD_EXIT_POINT[2]); stopAI(GraciaSeeds.DESTRUCTION); } else if (event.equalsIgnoreCase("DeSpawnTask")) { if (npc.isInCombat()) + { startQuestTimer("DeSpawnTask", 30000, npc, null); + } else + { npc.deleteMe(); + } } return null; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java index 92f6b288d5..fbfcd93bdb 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java @@ -16,6 +16,7 @@ package ai.individual; import gnu.trove.map.hash.TIntObjectHashMap; +import java.util.Collection; import java.util.List; import java.util.concurrent.ScheduledFuture; @@ -405,7 +406,7 @@ public class Antharas extends L2AttackableAIScript private class AntharasSpawn implements Runnable { private int _taskId = 0; - private final L2Character[] _players = _Zone.getCharactersInsideArray(); + private final Collection<L2Character> _players = _Zone.getCharactersInside(); public AntharasSpawn(int taskId) { @@ -429,11 +430,11 @@ public class Antharas extends L2AttackableAIScript { npcId = 29019; // old } - else if (_players.length <= FWA_LIMITOFWEAK) + else if (_players.size() <= FWA_LIMITOFWEAK) { npcId = 29066; // weak } - else if (_players.length > FWA_LIMITOFNORMAL) + else if (_players.size() > FWA_LIMITOFNORMAL) { npcId = 29068; // strong } @@ -555,7 +556,7 @@ public class Antharas extends L2AttackableAIScript { if (_Zone != null) { - for (L2Character characters : _Zone.getCharactersInsideArray()) + for (L2Character characters : _Zone.getCharactersInside()) { if (characters instanceof L2PcInstance) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java index a159210090..f733de47a1 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java @@ -184,7 +184,7 @@ public class Beleth extends L2AttackableAIScript { case 1: movie = true; - for (L2Character npc : _zone.getCharactersInsideArray()) + for (L2Character npc : _zone.getCharactersInside()) { if (npc instanceof L2Npc) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java index e3ffa07da6..dec329cd77 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java @@ -21,6 +21,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -187,7 +188,7 @@ public class RainbowSpringsChateau extends Quest { for (int arenaId : ARENA_ZONES) { - final L2Character[] chars = ZoneManager.getInstance().getZoneById(arenaId).getCharactersInsideArray(); + final Collection<L2Character> chars = ZoneManager.getInstance().getZoneById(arenaId).getCharactersInside(); for (L2Character chr : chars) { if (chr != null) @@ -804,7 +805,7 @@ public class RainbowSpringsChateau extends Quest continue; } - final L2Character[] chars = ZoneManager.getInstance().getZoneById(id).getCharactersInsideArray(); + final Collection<L2Character> chars = ZoneManager.getInstance().getZoneById(id).getCharactersInside(); for (L2Character chr : chars) { if (chr != null) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java index 3dab122a83..4752653024 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java @@ -280,7 +280,7 @@ public class AdminSkill implements IAdminCommandHandler } final L2PcInstance player = target.getActingPlayer(); - final L2Skill[] skills = player.getAllSkills(); + final L2Skill[] skills = player.getAllSkills().toArray(new L2Skill[player.getAllSkills().size()]); int maxSkillsPerPage = 10; int maxPages = skills.length / maxSkillsPerPage; @@ -404,12 +404,16 @@ public class AdminSkill implements IAdminCommandHandler } else { - L2Skill[] skills = player.getAllSkills(); - adminSkills = activeChar.getAllSkills(); + L2Skill[] skills = player.getAllSkills().toArray(new L2Skill[player.getAllSkills().size()]); + adminSkills = activeChar.getAllSkills().toArray(new L2Skill[activeChar.getAllSkills().size()]); for (L2Skill skill: adminSkills) + { activeChar.removeSkill(skill); + } for (L2Skill skill: skills) + { activeChar.addSkill(skill, true); + } activeChar.sendMessage("You now have all the skills of " + player.getName() + "."); activeChar.sendSkillList(); } @@ -434,15 +438,23 @@ public class AdminSkill implements IAdminCommandHandler } else { - L2Skill[] skills = player.getAllSkills(); + L2Skill[] skills = player.getAllSkills().toArray(new L2Skill[player.getAllSkills().size()]); for (L2Skill skill: skills) + { player.removeSkill(skill); + } for (L2Skill skill: activeChar.getAllSkills()) + { player.addSkill(skill, true); + } for (L2Skill skill: skills) + { activeChar.removeSkill(skill); + } for (L2Skill skill: adminSkills) + { activeChar.addSkill(skill, true); + } player.sendMessage("[GM]" + activeChar.getName() + " updated your skills."); activeChar.sendMessage("You now have all your skills back."); adminSkills = null; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java index fd3728d6a6..62cc18bc34 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java @@ -31,7 +31,6 @@ import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2CharPosition; import com.l2jserver.gameserver.model.L2Party; -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; @@ -1051,14 +1050,14 @@ public class TowerOfNaia extends Quest if ((party != null) && ZONES.containsKey(managerId) && (ZoneManager.getInstance().getZoneById(ZONES.get(managerId)) != null)) { L2ZoneType zone = ZoneManager.getInstance().getZoneById(ZONES.get(managerId)); - for (L2Character ch : zone.getCharactersInsideArray()) + for (L2PcInstance player : zone.getPlayersInside()) { - if (ch instanceof L2PcInstance) + if (player != null) { - L2Party charParty = ((L2PcInstance) ch).getParty(); + L2Party charParty = player.getParty(); if ((charParty == null) || (charParty.getLeaderObjectId() != party.getLeaderObjectId())) { - ch.teleToLocation(16110, 243841, 11616); + player.teleToLocation(16110, 243841, 11616); } } } @@ -1070,11 +1069,11 @@ public class TowerOfNaia extends Quest if (ZONES.containsKey(managerId) && (ZoneManager.getInstance().getZoneById(ZONES.get(managerId)) != null)) { L2ZoneType zone = ZoneManager.getInstance().getZoneById(ZONES.get(managerId)); - for (L2Character ch : zone.getCharactersInsideArray()) + for (L2PcInstance player : zone.getPlayersInside()) { - if (ch instanceof L2PcInstance) + if (player != null) { - ch.teleToLocation(16110, 243841, 11616); + player.teleToLocation(16110, 243841, 11616); } } } -- GitLab