Core/Battleground: correct checking for which flag was on the ground. fixes issue with not being able to pick up flags
This commit is contained in:
@@ -476,7 +476,7 @@ void BattlegroundWS::EventPlayerClickedOnFlag(Player* Source, GameObject* target
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Alliance flag on ground(not in base) (returned or picked up again from ground!)
|
//Alliance flag on ground(not in base) (returned or picked up again from ground!)
|
||||||
if (GetFlagState(ALLIANCE) == BG_WS_FLAG_STATE_ON_GROUND && Source->IsWithinDistInMap(target_obj, 10) && BgObjects[BG_WS_OBJECT_A_FLAG] == target_obj->GetGUID())
|
if (GetFlagState(ALLIANCE) == BG_WS_FLAG_STATE_ON_GROUND && Source->IsWithinDistInMap(target_obj, 10) && target_obj->GetGOInfo()->entry == BG_OBJECT_A_FLAG_GROUND_WS_ENTRY)
|
||||||
{
|
{
|
||||||
if (Source->GetTeam() == ALLIANCE)
|
if (Source->GetTeam() == ALLIANCE)
|
||||||
{
|
{
|
||||||
@@ -510,7 +510,7 @@ void BattlegroundWS::EventPlayerClickedOnFlag(Player* Source, GameObject* target
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Horde flag on ground(not in base) (returned or picked up again)
|
//Horde flag on ground(not in base) (returned or picked up again)
|
||||||
if (GetFlagState(HORDE) == BG_WS_FLAG_STATE_ON_GROUND && Source->IsWithinDistInMap(target_obj, 10) && BgObjects[BG_WS_OBJECT_H_FLAG] == target_obj->GetGUID())
|
if (GetFlagState(HORDE) == BG_WS_FLAG_STATE_ON_GROUND && Source->IsWithinDistInMap(target_obj, 10) && target_obj->GetGOInfo()->entry == BG_OBJECT_H_FLAG_GROUND_WS_ENTRY)
|
||||||
{
|
{
|
||||||
if (Source->GetTeam() == HORDE)
|
if (Source->GetTeam() == HORDE)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user