Synced presumably forgotten changes from Summon to SummonMulti effect.
This commit is contained in:
parent
e46fbd724f
commit
41f9321e60
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user