diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 93306cc193b..d3fda196774 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -424,9 +424,16 @@ void TradeData::SetAccepted(bool state, bool crosssend /*= false*/) KillRewarder::KillRewarder(Player* killer, Unit* victim, bool isBattleGround) : // 1. Initialize internal variables to default values. _killer(killer), _victim(victim), _isBattleGround(isBattleGround), - _isPvP(victim->isCharmedOwnedByPlayerOrPlayer()), _group(killer->GetGroup()), _groupRate(1.0f), + _group(killer->GetGroup()), _groupRate(1.0f), _maxLevel(0), _maxNotGrayMember(NULL), _count(0), _sumLevel(0), _isFullXP(false), _xp(0) { + // mark the credit as pvp if victim is player + if (victim->GetTypeId() == TYPEID_PLAYER) + _isPvP = true; + // or if its owned by player and its not a vehicle + else if (IS_PLAYER_GUID(victim->GetCharmerOrOwnerGUID())) + _isPvP = !victim->IsVehicle(); + _InitGroupData(); } |
