Addition of stopAllEffectsWithoutExclusions method.
This commit is contained in:
		| @@ -344,6 +344,26 @@ public final class EffectList | ||||
| 		stopEffects(info -> !info.getSkill().isStayAfterDeath(), true, true); | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Exits all active, passive and option effects in this effect list without excluding anything,<br> | ||||
| 	 * like necessary toggles, irreplacable buffs or effects that last through death.<br> | ||||
| 	 * Stops all the effects, clear the effect lists and updates the effect flags and icons. | ||||
| 	 * @param update set to true to update the effect flags and icons. | ||||
| 	 * @param broadcast {@code true} to broadcast update packets, {@code false} otherwise. | ||||
| 	 */ | ||||
| 	public void stopAllEffectsWithoutExclusions(boolean update, boolean broadcast) | ||||
| 	{ | ||||
| 		_actives.stream().forEach(this::remove); | ||||
| 		_passives.stream().forEach(this::remove); | ||||
| 		_options.stream().forEach(this::remove); | ||||
| 		 | ||||
| 		// Update stats, effect flags and icons. | ||||
| 		if (update) | ||||
| 		{ | ||||
| 			updateEffectList(broadcast); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Stops all active toggle skills. | ||||
| 	 */ | ||||
|   | ||||
| @@ -1650,7 +1650,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe | ||||
| 		 | ||||
| 		if (isMonster()) | ||||
| 		{ | ||||
| 			stopAllEffects(); | ||||
| 			_effectList.stopAllEffectsWithoutExclusions(true, true); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| @@ -1691,8 +1691,8 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe | ||||
| 			_summoner.removeSummonedNpc(getObjectId()); | ||||
| 		} | ||||
| 		 | ||||
| 		// Remove all effects, do not broadcast changes. | ||||
| 		_effectList.stopAllEffects(false); | ||||
| 		// Remove all active, passive and option effects, do not broadcast changes. | ||||
| 		_effectList.stopAllEffectsWithoutExclusions(false, false); | ||||
| 		 | ||||
| 		// Cancel all timers related to this Creature | ||||
| 		TimersManager.getInstance().cancelTimers(getObjectId()); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment