From 41f9321e60f6e9c4e8f166e27665fd153020f4ce Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 9 Oct 2022 21:54:14 +0000 Subject: [PATCH] Synced presumably forgotten changes from Summon to SummonMulti effect. --- .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ .../handlers/effecthandlers/SummonMulti.java | 22 +++++++++++++------ 24 files changed, 360 insertions(+), 168 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java index c69701ea6c..0310dc74a5 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/SummonMulti.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.instance.Servitor; import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.skill.BuffInfo; @@ -53,6 +54,12 @@ public class SummonMulti extends AbstractEffect _summonPoints = params.getInt("summonPoints", 0); } + @Override + public EffectType getEffectType() + { + return EffectType.SUMMON; + } + @Override public boolean isInstant() { @@ -62,7 +69,7 @@ public class SummonMulti extends AbstractEffect @Override public void instant(Creature effector, Creature effected, Skill skill, Item item) { - if (!effector.isPlayer()) + if (!effected.isPlayer()) { return; } @@ -72,6 +79,7 @@ public class SummonMulti extends AbstractEffect { return; } + final NpcTemplate template = NpcData.getInstance().getTemplate(_npcId); final Servitor summon = new Servitor(template, player); final int consumeItemInterval = (_consumeItemInterval > 0 ? _consumeItemInterval : (template.getRace() != Race.SIEGE_WEAPON ? 240 : 60)) * 1000; @@ -84,21 +92,21 @@ public class SummonMulti extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= ExperienceData.getInstance().getMaxLevel()) + final int maxPetLevel = ExperienceData.getInstance().getMaxPetLevel(); + if (summon.getLevel() >= maxPetLevel) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(ExperienceData.getInstance().getMaxLevel() - 1)); - LOGGER.warning(getClass().getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + ExperienceData.getInstance().getMaxLevel() + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(maxPetLevel - 1)); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % ExperienceData.getInstance().getMaxLevel())); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % maxPetLevel)); } // Summons must have their master buffs upon spawn. for (BuffInfo effect : player.getEffectList().getEffects()) { final Skill sk = effect.getSkill(); - if (!sk.isBad()) + if (!sk.isBad() && !sk.isTransformation() && skill.isSharedWithSummon()) { sk.applyEffects(player, summon, false, effect.getTime()); } @@ -112,7 +120,7 @@ public class SummonMulti extends AbstractEffect player.addServitor(summon); summon.setShowSummonAnimation(true); - summon.setRunning(); summon.spawnMe(); + summon.setRunning(); } }