From ced13e537090438a0d87567431d2f84a938afeef Mon Sep 17 00:00:00 2001 From: Yunfan Li Date: Sun, 30 Jul 2023 15:14:43 +0800 Subject: [PATCH] attacker checker & strategy init --- src/AiFactory.cpp | 4 ++-- src/strategy/values/AttackersValue.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/AiFactory.cpp b/src/AiFactory.cpp index 397374f0..5675da24 100644 --- a/src/AiFactory.cpp +++ b/src/AiFactory.cpp @@ -79,7 +79,7 @@ uint8 AiFactory::GetPlayerSpecTab(Player* bot) tab = 1; break; case CLASS_PALADIN: - tab = 0; + tab = 2; break; case CLASS_PRIEST: tab = 1; @@ -366,7 +366,7 @@ void AiFactory::AddDefaultCombatStrategies(Player* player, PlayerbotAI* const fa switch (player->getClass()) { case CLASS_PRIEST: { if (tab != PRIEST_TAB_SHADOW) { - engine->addStrategies("dps", "shadow debuff", "shadow aoe", nullptr); + engine->addStrategies("holy", "shadow debuff", "shadow aoe", nullptr); } break; } diff --git a/src/strategy/values/AttackersValue.cpp b/src/strategy/values/AttackersValue.cpp index b39d103e..2cca5aea 100644 --- a/src/strategy/values/AttackersValue.cpp +++ b/src/strategy/values/AttackersValue.cpp @@ -150,6 +150,7 @@ bool AttackersValue::IsPossibleTarget(Unit* attacker, Player* bot, float range) !attacker->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION) && // !(attacker->GetGUID().IsPet() && enemy) && !(attacker->GetCreatureType() == CREATURE_TYPE_CRITTER && !attacker->IsInCombat()) && !(sPlayerbotAIConfig->IsInPvpProhibitedZone(attacker->GetAreaId()) && + !attacker->HasUnitFlag(UNIT_FLAG_IMMUNE_TO_PC) && !attacker->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE) && bot->CanSeeOrDetect(attacker) && (attacker->GetGUID().IsPlayer() || attacker->GetGUID().IsPet())) && (!c || (!c->IsInEvadeMode() && ((!isMemberBotGroup && botAI->HasStrategy("attack tagged", BOT_STATE_NON_COMBAT)) || leaderHasThreat || (!c->hasLootRecipient() && (!c->GetVictim() || (c->GetVictim() && ((!c->GetVictim()->IsPlayer() || bot->IsInSameGroupWith(c->GetVictim()->ToPlayer())) ||