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
	 MobiusDevelopment
					MobiusDevelopment