@Override public boolean doDie(L2Character killer) { if (!super.doDie(killer)) { return false; } final L2PcInstance player = killer.getActingPlayer(); if (player != null) { broadcastPacket( SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_YOUR_RAID_WAS_SUCCESSFUL)); if (player.getParty() != null) { for (L2PcInstance member : player.getParty().getMembers()) { member.setRaidPoints(member.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5))); if (member.isNoble()) { Hero.getInstance().setRBkilled(member.getObjectId(), getId()); } } } else { player.setRaidPoints(player.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5))); if (player.isNoble()) { Hero.getInstance().setRBkilled(player.getObjectId(), getId()); } } } RaidBossSpawnManager.getInstance().updateStatus(this, true); return true; }
@Override public boolean doDie(L2Character killer) { if (!super.doDie(killer)) return false; L2PcInstance player = null; if (killer.isPlayer) player = (L2PcInstance) killer; else if (killer.isSummon) player = ((L2Summon) killer).getOwner(); if (player != null) { SystemMessage msg = new SystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL); broadcastPacket(msg); msg = null; if (player.getParty() != null) { for (L2PcInstance member : player.getParty().getPartyMembers()) { RaidBossPointsManager.addPoints(member, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5)); } } else RaidBossPointsManager.addPoints(player, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5)); } return true; }
/** * Actions: * * <ul> * <li>Check if the killing object is a player, and then find the party they belong to. * <li>Add a blood offering item to the leader of the party. * <li>Update the party leader's inventory to show the new item addition. * </ul> */ @Override public void doItemDrop(L2Character lastAttacker) { L2PcInstance killingChar = null; if (!(lastAttacker instanceof L2PcInstance)) { return; } killingChar = (L2PcInstance) lastAttacker; L2Party associatedParty = killingChar.getParty(); if (associatedParty == null) { return; } L2PcInstance partyLeader = associatedParty.getLeader(); L2ItemInstance addedOfferings = partyLeader .getInventory() .addItem( "Sign", SevenSignsFestival.FESTIVAL_OFFERING_ID, _bonusMultiplier, partyLeader, this); InventoryUpdate iu = new InventoryUpdate(); if (addedOfferings.getCount() != _bonusMultiplier) { iu.addModifiedItem(addedOfferings); } else { iu.addNewItem(addedOfferings); } partyLeader.sendPacket(iu); super.doItemDrop(lastAttacker); // Normal drop }