Unequip shield on Death Knight class change.
This commit is contained in:
@@ -25,6 +25,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||||
|
import org.l2jmobius.gameserver.model.item.type.ArmorType;
|
||||||
|
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@@ -42,9 +44,10 @@ import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
|||||||
*/
|
*/
|
||||||
public class ClassChange extends AbstractEffect
|
public class ClassChange extends AbstractEffect
|
||||||
{
|
{
|
||||||
private final int _index;
|
|
||||||
private static final int IDENTITY_CRISIS_SKILL_ID = 1570;
|
private static final int IDENTITY_CRISIS_SKILL_ID = 1570;
|
||||||
|
|
||||||
|
private final int _index;
|
||||||
|
|
||||||
public ClassChange(StatSet params)
|
public ClassChange(StatSet params)
|
||||||
{
|
{
|
||||||
_index = params.getInt("index", 0);
|
_index = params.getInt("index", 0);
|
||||||
@@ -156,9 +159,17 @@ public class ClassChange extends AbstractEffect
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix Death Knight model animation.
|
// Death Knight adjustments.
|
||||||
if (player.isDeathKnight())
|
if (player.isDeathKnight())
|
||||||
{
|
{
|
||||||
|
// Unequip shield.
|
||||||
|
final Item lhand = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
|
||||||
|
if ((lhand != null) && lhand.isArmor() && (lhand.getItemType() == ArmorType.SHIELD))
|
||||||
|
{
|
||||||
|
player.disarmShield();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix Death Knight model animation.
|
||||||
player.transform(101, false);
|
player.transform(101, false);
|
||||||
ThreadPool.schedule(() -> player.stopTransformation(false), 50);
|
ThreadPool.schedule(() -> player.stopTransformation(false), 50);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user