{
activeChar.doRevive(100);
}
else
{
activeChar.sendPacket(ActionFail.STATIC, new Die(activeChar));
}
break;
case FIXED:
if (activeChar.getPlayerAccess().ResurectFixed)
{
activeChar.doRevive(100);
}
else if (ItemFunctions.removeItem(activeChar, 13300, 1, true) == 1)
{
activeChar.sendPacket(SystemMsg.YOU_HAVE_USED_THE_FEATHER_OF_BLESSING_TO_RESURRECT);
activeChar.doRevive(100);
}
else if (ItemFunctions.removeItem(activeChar, 10649, 1, true) == 1)
{
activeChar.sendPacket(SystemMsg.YOU_HAVE_USED_THE_FEATHER_OF_BLESSING_TO_RESURRECT);
activeChar.doRevive(100);
}
else
{
activeChar.sendPacket(ActionFail.STATIC, new Die(activeChar));
}
break;
default:
Location loc = null;
Reflection ref = activeChar.getReflection();
if (ref == ReflectionManager.DEFAULT)
{
for (GlobalEvent e : activeChar.getEvents())
{
loc = e.getRestartLoc(activeChar, _restartType);
}
}
if (loc == null)
{
loc = defaultLoc(_restartType, activeChar);
}
if (loc != null)
{
Pair<Integer, OnAnswerListener> ask = activeChar.getAskListener(false);
if ((ask != null) && (ask.getValue() instanceof ReviveAnswerListener) && !((ReviveAnswerListener) ask.getValue()).isForPet())
{
activeChar.getAskListener(true);
}
activeChar.setPendingRevive(true);
activeChar.teleToLocation(loc, ReflectionManager.DEFAULT);
}
else
{
activeChar.sendPacket(ActionFail.STATIC, new Die(activeChar));
}
break;
}
}