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