* @param percent double
* @param pet boolean
*/
public void reviveRequest(Player reviver, double percent, boolean pet)
{
ReviveAnswerListener reviveAsk = (_askDialog != null) && (_askDialog.getValue() instanceof ReviveAnswerListener) ? (ReviveAnswerListener) _askDialog.getValue() : null;
if (reviveAsk != null)
{
if ((reviveAsk.isForPet() == pet) && (reviveAsk.getPower() >= percent))
{
reviver.sendPacket(Msg.BETTER_RESURRECTION_HAS_BEEN_ALREADY_PROPOSED);
return;
}
if (pet && !reviveAsk.isForPet())
{
reviver.sendPacket(Msg.SINCE_THE_MASTER_WAS_IN_THE_PROCESS_OF_BEING_RESURRECTED_THE_ATTEMPT_TO_RESURRECT_THE_PET_HAS_BEEN_CANCELLED);
return;
}
if (pet && isDead())
{
reviver.sendPacket(Msg.WHILE_A_PET_IS_ATTEMPTING_TO_RESURRECT_IT_CANNOT_HELP_IN_RESURRECTING_ITS_MASTER);
return;
}
}
PetInstance petInstance = getSummonList().getPet();
if ((pet && (petInstance != null) && petInstance.isDead()) || (!pet && isDead()))
{
ConfirmDlg pkt = new ConfirmDlg(SystemMsg.C1_IS_MAKING_AN_ATTEMPT_TO_RESURRECT_YOU_IF_YOU_CHOOSE_THIS_PATH_S2_EXPERIENCE_WILL_BE_RETURNED_FOR_YOU, 0);
pkt.addName(reviver).addString(Math.round(percent) + " percent");
ask(pkt, new ReviveAnswerListener(this, percent, pet));
}
WorldStatisticsManager.getInstance().updateStat(reviver, CategoryType.RESURRECTED_CHAR_COUNT, 1);
WorldStatisticsManager.getInstance().updateStat(this, CategoryType.RESURRECTED_BY_OTHER_COUNT, 1);
}