/** * Method activate. * * @param player Player * @param item ItemInstance */ public void activate(Player player, ItemInstance item) { if ((player == null) || player.isInOlympiadMode()) { return; } CursedWeapon cw = _cursedWeaponsMap.get(item.getId()); if (cw == null) { return; } if (player.isCursedWeaponEquipped()) { if (player.getCursedWeaponEquippedId() != item.getId()) { CursedWeapon cw2 = _cursedWeaponsMap.get(player.getCursedWeaponEquippedId()); cw2.setNbKills(cw2.getStageKills() - 1); cw2.increaseKills(); } endOfLife(cw); player.getInventory().destroyItem(item, 1); } else if (cw.getTimeLeft() > 0) { cw.activate(player, item); saveData(cw); announce( new SystemMessage(SystemMessage.THE_OWNER_OF_S2_HAS_APPEARED_IN_THE_S1_REGION) .addZoneName(player.getLoc()) .addString(cw.getName())); } else { endOfLife(cw); player.getInventory().destroyItem(item, 1); } }
/** * Method dropPlayer. * * @param player Player */ public void dropPlayer(Player player) { CursedWeapon cw = _cursedWeaponsMap.get(player.getCursedWeaponEquippedId()); if (cw == null) { return; } if (cw.dropIt(null, null, player)) { saveData(cw); announce( new SystemMessage(SystemMessage.S2_WAS_DROPPED_IN_THE_S1_REGION) .addZoneName(player.getLoc()) .addItemName(cw.getItemId())); } else { endOfLife(cw); } }