bool OnCheck(Player* source, Unit* target) { if (!target) return false; if (Player const* player = target->ToPlayer()) { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID() == BATTLEGROUND_WS && bg->ToBattlegroundWS()->GetFlagState(player->GetTeamId()) == BG_WS_FLAG_STATE_ON_BASE; } return false; }