Code:
public void giveLife() {
c.killerId = findKiller();
Client o = (Client) PlayerHandler.players[c.killerId];
if(o != null) {
if (c.killerId != c.playerId)
o.sendMessage(getKM());
c.playerKilled = c.playerId;
}
c.playerKilled = c.playerId;
c.isDead = false;
c.faceUpdate(-1);
c.freezeTimer = 0;
removeAllWindows();
c.tradeResetNeeded = true;
if (!c.inBarbDef) {
c.getItems().resetKeepItems();
if((c.playerRights == 2 && Config.ADMIN_DROP_ITEMS) || c.playerRights != 2) {
if(!c.isSkulled) { // what items to keep
c.getItems().keepItem(0, true);
c.getItems().keepItem(1, true);
c.getItems().keepItem(2, true);
}
if (c.inFightCaves()) {
resetTzhaar();
}
if(c.protectItem) {
c.getItems().keepItem(3, true);
}
c.getItems().dropAllItems(); // drop all items
if(c.playerRights == 0) {
c.getItems().deleteAllItems(); // delete all items
}
if(!c.isSkulled) { // add the kept items once we finish deleting and dropping them
for (int i1 = 0; i1 < 3; i1++) {
if(c.itemKeptId[i1] > 0) {
c.getItems().addItem(c.itemKeptId[i1], 1);
}
}
}
if(c.protectItem) { // if we have protect items
if(c.itemKeptId[3] > 0) {
c.getItems().addItem(c.itemKeptId[3], 1);
}
}
}
}
c.getItems().resetKeepItems();
c.getCombat().resetPrayers();
for (int i = 0; i < 20; i++) {
c.playerLevel[i] = getLevelForXP(c.playerXP[i]);
c.getPA().refreshSkill(i);
}
PlayerSave.saveGame(c);
c.getCombat().resetPlayerAttack();
resetAnimation();
c.startAnimation(65535);
frame1();
resetTb();
c.isSkulled = false;
c.attackedPlayers.clear();
c.headIconPk = -1;
c.skullTimer = -1;
resetDamageDone();
c.specAmount = 10;
c.getCombat().resetPrayers();
c.damageTaken = new int[Config.MAX_PLAYERS];
c.getPA().requestUpdates();
c.protectItem = false;
c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]);
c.sendMessage("Oh dear you are dead!");
movePlayer(3222,3222,0);
}