diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java index 615d35484c728f31eabf0114ff2ad130e0890bb2..3f8fc058932d4161fbc80c6f197ad2d345fbfae1 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -103,6 +103,7 @@ public final class EffectMasterHandler HealOverTime.class, HealPercent.class, Hide.class, + HolythingPossess.class, HpByLevel.class, HpDrain.class, ImmobileBuff.class, diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java index 1840f09dbf5d1f3623e7f9c99d72e3d68c3d8640..14f53b38e4003e2756602d4185512e38bb80da81 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java @@ -215,7 +215,6 @@ import handlers.skillhandlers.GetPlayer; import handlers.skillhandlers.GiveReco; import handlers.skillhandlers.NornilsPower; import handlers.skillhandlers.Sow; -import handlers.skillhandlers.TakeCastle; import handlers.skillhandlers.TakeFort; import handlers.skillhandlers.Trap; import handlers.skillhandlers.Unlock; @@ -510,7 +509,6 @@ public class MasterHandler GiveReco.class, NornilsPower.class, Sow.class, - TakeCastle.class, TakeFort.class, Trap.class, Unlock.class, diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HolythingPossess.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HolythingPossess.java new file mode 100644 index 0000000000000000000000000000000000000000..605aa24b3f2f9afecf3b321f71e7376bc1c7ccfa --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HolythingPossess.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package handlers.effecthandlers; + +import com.l2jserver.gameserver.instancemanager.CastleManager; +import com.l2jserver.gameserver.model.effects.EffectTemplate; +import com.l2jserver.gameserver.model.effects.L2Effect; +import com.l2jserver.gameserver.model.effects.L2EffectType; +import com.l2jserver.gameserver.model.entity.Castle; +import com.l2jserver.gameserver.model.stats.Env; +import com.l2jserver.gameserver.network.SystemMessageId; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; + +/** + * Holything Possess effect implementation. + * @author Adry_85 + */ +public class HolythingPossess extends L2Effect +{ + public HolythingPossess(Env env, EffectTemplate template) + { + super(env, template); + } + + @Override + public L2EffectType getEffectType() + { + return L2EffectType.NONE; + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public boolean onStart() + { + if (!getEffector().isPlayer()) + { + return false; + } + + Castle castle = CastleManager.getInstance().getCastle(getEffector()); + castle.engrave(getEffector().getActingPlayer().getClan(), getEffected()); + castle.getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.OPPONENT_STARTED_ENGRAVING), false); + return true; + } +} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TakeCastle.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TakeCastle.java deleted file mode 100644 index 0cbdefd3042265ed4671d48cd4213db0863e97a4..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TakeCastle.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2004-2013 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package handlers.skillhandlers; - -import com.l2jserver.gameserver.handler.ISkillHandler; -import com.l2jserver.gameserver.instancemanager.CastleManager; -import com.l2jserver.gameserver.model.L2Object; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.entity.Castle; -import com.l2jserver.gameserver.model.skills.L2Skill; -import com.l2jserver.gameserver.model.skills.L2SkillType; - -/** - * @author _drunk_ - */ -public class TakeCastle implements ISkillHandler -{ - private static final L2SkillType[] SKILL_IDS = - { - L2SkillType.TAKECASTLE - }; - - @Override - public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) - { - if (!activeChar.isPlayer() || (targets.length == 0)) - { - return; - } - - L2PcInstance player = activeChar.getActingPlayer(); - - if ((player.getClan() == null) || (player.getClan().getLeaderId() != player.getObjectId())) - { - return; - } - - Castle castle = CastleManager.getInstance().getCastle(player); - if ((castle == null) || !player.checkIfOkToCastSealOfRule(castle, true, skill, targets[0])) - { - return; - } - - try - { - castle.engrave(player.getClan(), targets[0]); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - @Override - public L2SkillType[] getSkillIds() - { - return SKILL_IDS; - } - - public static void main(String[] args) - { - new TakeCastle(); - } -} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/Holy.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/Holy.java index 57218c4381b631c8dc3cf16093333b5d31e4b8a4..04efaec0972ec2567d17e8392e20e7c02d6de9fc 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/Holy.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/Holy.java @@ -19,11 +19,9 @@ package handlers.targethandlers; import com.l2jserver.gameserver.handler.ITargetTypeHandler; -import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.entity.Castle; +import com.l2jserver.gameserver.model.actor.instance.L2ArtefactInstance; import com.l2jserver.gameserver.model.skills.L2Skill; import com.l2jserver.gameserver.model.skills.targets.L2TargetType; @@ -35,21 +33,14 @@ public class Holy implements ITargetTypeHandler @Override public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target) { - if (!activeChar.isPlayer()) - { - return EMPTY_TARGET_LIST; - } - - final L2PcInstance player = activeChar.getActingPlayer(); - final Castle castle = CastleManager.getInstance().getCastle(player); - if ((player.getClan() == null) || (castle == null) || !player.checkIfOkToCastSealOfRule(castle, true, skill, target)) + if (!(target instanceof L2ArtefactInstance)) { return EMPTY_TARGET_LIST; } return new L2Object[] { - activeChar.getTarget() + target }; } diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml index 234a0e3edbd8b0d9b559da36f049a3d9fb08ceb5..dbf3c5f992ff55d4b76ab250f238978ed9688d6f 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml @@ -927,6 +927,7 @@ </for> </skill> <skill id="246" levels="1" name="Seal of Ruler"> + <!-- Confirmed CT2.5 --> <set name="castRange" val="85" /> <set name="effectRange" val="400" /> <set name="hitTime" val="180000" /> @@ -936,8 +937,13 @@ <set name="mpInitialConsume" val="50" /> <set name="operateType" val="A1" /> <set name="reuseDelay" val="5000" /> - <set name="skillType" val="TAKECASTLE" /> <set name="targetType" val="HOLY" /> + <cond> + <player canPossessHolything="true" /> + </cond> + <for> + <effect name="HolythingPossess" noicon="1" val="0" /> + </for> </skill> <skill id="247" levels="1" name="Build Headquarters"> <set name="hitTime" val="4000" />