diff --git a/playerbot/AiFactory.cpp b/playerbot/AiFactory.cpp index 3bd095fa6..668f6db8e 100644 --- a/playerbot/AiFactory.cpp +++ b/playerbot/AiFactory.cpp @@ -115,11 +115,14 @@ int AiFactory::GetPlayerSpecTab(Player* bot) tab = 1; break; case CLASS_PALADIN: - tab = 0; + tab = 2; break; case CLASS_PRIEST: tab = 1; break; + case CLASS_WARRIOR: + tab = 2; + break; } return tab; } @@ -518,13 +521,6 @@ void AiFactory::AddDefaultCombatStrategies(Player* player, PlayerbotAI* const fa } } - // enable paladin fight at low level - if (player->getClass() == CLASS_PALADIN && tab == 0 && player->GetLevel() < 10) - { - combatEngine->addStrategies("retribution", "close", NULL); - combatEngine->removeStrategy("ranged"); - } - // remove threat for now //engine->removeStrategy("threat"); diff --git a/playerbot/PlayerbotFactory.cpp b/playerbot/PlayerbotFactory.cpp index 810f20975..8e1162a61 100644 --- a/playerbot/PlayerbotFactory.cpp +++ b/playerbot/PlayerbotFactory.cpp @@ -1415,7 +1415,7 @@ void PlayerbotFactory::InitEquipment(bool incremental, bool syncWithMaster) if (!incremental) { if (level < 10) - quality = urand(ITEM_QUALITY_POOR, ITEM_QUALITY_UNCOMMON); + quality = ITEM_QUALITY_POOR; else if (level < 20) quality = urand(ITEM_QUALITY_NORMAL, ITEM_QUALITY_UNCOMMON); else if (level < 40) diff --git a/playerbot/strategy/paladin/PaladinTriggers.h b/playerbot/strategy/paladin/PaladinTriggers.h index 4d0c48f6a..ce4985ca7 100644 --- a/playerbot/strategy/paladin/PaladinTriggers.h +++ b/playerbot/strategy/paladin/PaladinTriggers.h @@ -25,7 +25,7 @@ namespace ai class SealTrigger : public BuffTrigger { public: - SealTrigger(PlayerbotAI* ai) : BuffTrigger(ai, "seal of justice") {} + SealTrigger(PlayerbotAI* ai) : BuffTrigger(ai, "seal") {} virtual bool IsActive(); }; diff --git a/playerbot/strategy/paladin/RetributionPaladinStrategy.cpp b/playerbot/strategy/paladin/RetributionPaladinStrategy.cpp index e83a17556..e6f051499 100644 --- a/playerbot/strategy/paladin/RetributionPaladinStrategy.cpp +++ b/playerbot/strategy/paladin/RetributionPaladinStrategy.cpp @@ -44,6 +44,11 @@ class RetributionPaladinStrategyActionNodeFactory : public NamedObjectFactory& triggers) override; diff --git a/playerbot/strategy/values/TradeValues.cpp b/playerbot/strategy/values/TradeValues.cpp index 97ae0d82f..a9203c970 100644 --- a/playerbot/strategy/values/TradeValues.cpp +++ b/playerbot/strategy/values/TradeValues.cpp @@ -47,6 +47,10 @@ list ItemsUsefulToGiveValue::Calculate() if (!item->CanBeTraded()) continue; + // do not trade equipped items + if (item->IsEquipped()) + continue; + TradeData* trade = bot->GetTradeData(); if (trade)