From a53ac2aca71ea137cdba9ccc6509f353e3bc9d46 Mon Sep 17 00:00:00 2001 From: stfx Date: Tue, 28 Aug 2012 23:29:05 +0200 Subject: [PATCH] [12152] Remove unused argument from OutdoorPvP::HandlePlayerKillInsideArea --- src/game/OutdoorPvP/OutdoorPvP.cpp | 6 ++--- src/game/OutdoorPvP/OutdoorPvP.h | 6 ++--- src/game/OutdoorPvP/OutdoorPvPHP.cpp | 2 +- src/game/OutdoorPvP/OutdoorPvPHP.h | 2 +- src/game/OutdoorPvP/OutdoorPvPNA.cpp | 2 +- src/game/OutdoorPvP/OutdoorPvPNA.h | 2 +- src/game/OutdoorPvP/OutdoorPvPZM.cpp | 2 +- src/game/OutdoorPvP/OutdoorPvPZM.h | 2 +- src/game/Unit.cpp | 37 +++++++++++++++------------- src/shared/revision_nr.h | 2 +- 10 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/game/OutdoorPvP/OutdoorPvP.cpp b/src/game/OutdoorPvP/OutdoorPvP.cpp index 908a14174..146894c05 100644 --- a/src/game/OutdoorPvP/OutdoorPvP.cpp +++ b/src/game/OutdoorPvP/OutdoorPvP.cpp @@ -78,7 +78,7 @@ void OutdoorPvP::SendUpdateWorldState(uint32 field, uint32 value) @param player who killed another player @param victim who was killed */ -void OutdoorPvP::HandlePlayerKill(Player* killer, Unit* victim) +void OutdoorPvP::HandlePlayerKill(Player* killer, Player* victim) { if (Group* group = killer->GetGroup()) { @@ -96,14 +96,14 @@ void OutdoorPvP::HandlePlayerKill(Player* killer, Unit* victim) // creature kills must be notified, even if not inside objective / not outdoor pvp active // player kills only count if active and inside objective if (groupMember->CanUseOutdoorCapturePoint()) - HandlePlayerKillInsideArea(groupMember, victim); + HandlePlayerKillInsideArea(groupMember); } } else { // creature kills must be notified, even if not inside objective / not outdoor pvp active if (killer && killer->CanUseOutdoorCapturePoint()) - HandlePlayerKillInsideArea(killer, victim); + HandlePlayerKillInsideArea(killer); } } diff --git a/src/game/OutdoorPvP/OutdoorPvP.h b/src/game/OutdoorPvP/OutdoorPvP.h index 20b71fc26..884a80ab2 100644 --- a/src/game/OutdoorPvP/OutdoorPvP.h +++ b/src/game/OutdoorPvP/OutdoorPvP.h @@ -83,8 +83,8 @@ class OutdoorPvP // update - called by the OutdoorPvPMgr virtual void Update(uint32 /*diff*/) {} - // handle npc/player kill - void HandlePlayerKill(Player* killer, Unit* victim); + // Handle player kill + void HandlePlayerKill(Player* killer, Player* victim); protected: @@ -96,7 +96,7 @@ class OutdoorPvP virtual void SendRemoveWorldStates(Player* /*player*/) {} // handle npc/player kill - virtual void HandlePlayerKillInsideArea(Player* /*killer*/, Unit* /*victim*/) {} + virtual void HandlePlayerKillInsideArea(Player* /*killer*/) {} // send world state update to all players present void SendUpdateWorldState(uint32 field, uint32 value); diff --git a/src/game/OutdoorPvP/OutdoorPvPHP.cpp b/src/game/OutdoorPvP/OutdoorPvPHP.cpp index df4accea6..55e12dbe8 100644 --- a/src/game/OutdoorPvP/OutdoorPvPHP.cpp +++ b/src/game/OutdoorPvP/OutdoorPvPHP.cpp @@ -142,7 +142,7 @@ void OutdoorPvPHP::HandleObjectiveComplete(uint32 eventId, std::list pl } // Cast player spell on opponent kill -void OutdoorPvPHP::HandlePlayerKillInsideArea(Player* player, Unit* /*victim*/) +void OutdoorPvPHP::HandlePlayerKillInsideArea(Player* player) { for (uint8 i = 0; i < MAX_HP_TOWERS; ++i) { diff --git a/src/game/OutdoorPvP/OutdoorPvPHP.h b/src/game/OutdoorPvP/OutdoorPvPHP.h index beafb01a4..617b7a056 100644 --- a/src/game/OutdoorPvP/OutdoorPvPHP.h +++ b/src/game/OutdoorPvP/OutdoorPvPHP.h @@ -159,7 +159,7 @@ class OutdoorPvPHP : public OutdoorPvP void HandleObjectiveComplete(uint32 eventId, std::list players, Team team) override; void HandleGameObjectCreate(GameObject* go) override; - void HandlePlayerKillInsideArea(Player* player, Unit* victim) override; + void HandlePlayerKillInsideArea(Player* player) override; private: // process capture events diff --git a/src/game/OutdoorPvP/OutdoorPvPNA.cpp b/src/game/OutdoorPvP/OutdoorPvPNA.cpp index 37bd32c7d..29d41d924 100644 --- a/src/game/OutdoorPvP/OutdoorPvPNA.cpp +++ b/src/game/OutdoorPvP/OutdoorPvPNA.cpp @@ -95,7 +95,7 @@ void OutdoorPvPNA::HandleObjectiveComplete(uint32 eventId, std::list pl } // Cast player spell on opponent kill -void OutdoorPvPNA::HandlePlayerKillInsideArea(Player* player, Unit* /*victim*/) +void OutdoorPvPNA::HandlePlayerKillInsideArea(Player* player) { if (GameObject* capturePoint = player->GetMap()->GetGameObject(m_capturePoint)) { diff --git a/src/game/OutdoorPvP/OutdoorPvPNA.h b/src/game/OutdoorPvP/OutdoorPvPNA.h index 2c7d734bf..daafad99b 100644 --- a/src/game/OutdoorPvP/OutdoorPvPNA.h +++ b/src/game/OutdoorPvP/OutdoorPvPNA.h @@ -171,7 +171,7 @@ class OutdoorPvPNA : public OutdoorPvP void HandleGameObjectCreate(GameObject* go) override; void HandleCreatureDeath(Creature* creature) override; - void HandlePlayerKillInsideArea(Player* player, Unit* victim) override; + void HandlePlayerKillInsideArea(Player* player) override; bool HandleGameObjectUse(Player* player, GameObject* go) override; void Update(uint32 diff) override; diff --git a/src/game/OutdoorPvP/OutdoorPvPZM.cpp b/src/game/OutdoorPvP/OutdoorPvPZM.cpp index 5df47833b..cac866d98 100644 --- a/src/game/OutdoorPvP/OutdoorPvPZM.cpp +++ b/src/game/OutdoorPvP/OutdoorPvPZM.cpp @@ -138,7 +138,7 @@ void OutdoorPvPZM::HandleGameObjectCreate(GameObject* go) } // Cast player spell on opponent kill -void OutdoorPvPZM::HandlePlayerKillInsideArea(Player* player, Unit* /*victim*/) +void OutdoorPvPZM::HandlePlayerKillInsideArea(Player* player) { for (uint8 i = 0; i < MAX_ZM_TOWERS; ++i) { diff --git a/src/game/OutdoorPvP/OutdoorPvPZM.h b/src/game/OutdoorPvP/OutdoorPvPZM.h index a9e74e140..c45a743fc 100644 --- a/src/game/OutdoorPvP/OutdoorPvPZM.h +++ b/src/game/OutdoorPvP/OutdoorPvPZM.h @@ -143,7 +143,7 @@ class OutdoorPvPZM : public OutdoorPvP void HandleCreatureCreate(Creature* creature) override; void HandleGameObjectCreate(GameObject* go) override; - void HandlePlayerKillInsideArea(Player* player, Unit* victim) override; + void HandlePlayerKillInsideArea(Player* player) override; bool HandleGameObjectUse(Player* player, GameObject* go) override; //bool HandleDropFlag(Player* player, uint32 spellId) override; diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index fdadfa2cd..a9bb35c67 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -1114,26 +1114,29 @@ uint32 Unit::DealDamage(Unit* pVictim, uint32 damage, CleanDamage const* cleanDa he->DuelComplete(DUEL_INTERUPTED); } - // handle player kill in outdoor pvp - if (player_tap && pVictim->GetTypeId() == TYPEID_PLAYER && pVictim != this) + // handle player/npc kill in battleground or outdoor pvp script + if (player_tap) { - if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(player_tap->GetCachedZoneId())) - outdoorPvP->HandlePlayerKill(player_tap, pVictim); - } - - // battleground things (do this at the end, so the death state flag will be properly set to handle in the bg->handlekill) - if (pVictim->GetTypeId() == TYPEID_PLAYER && ((Player*)pVictim)->InBattleGround()) - { - Player* killed = ((Player*)pVictim); - if (BattleGround* bg = killed->GetBattleGround()) - if (player_tap) - bg->HandleKillPlayer(killed, player_tap); - } - else if (pVictim->GetTypeId() == TYPEID_UNIT) - { - if (player_tap) + if (pVictim->GetTypeId() == TYPEID_PLAYER) + { + Player* killed = (Player*)pVictim; + if (killed->InBattleGround()) + { + if (BattleGround* bg = killed->GetBattleGround()) + bg->HandleKillPlayer(killed, player_tap); + } + else if (pVictim != this) + { + // selfkills are not handled in outdoor pvp scripts + if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(player_tap->GetCachedZoneId())) + outdoorPvP->HandlePlayerKill(player_tap, killed); + } + } + else if (pVictim->GetTypeId() == TYPEID_UNIT) + { if (BattleGround* bg = player_tap->GetBattleGround()) bg->HandleKillUnit((Creature*)pVictim, player_tap); + } } } else // if (health <= damage) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index f5394a3e6..ba3728dff 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12151" + #define REVISION_NR "12152" #endif // __REVISION_NR_H__