mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-02-05 11:53:49 +00:00
Loot when moving
This commit is contained in:
@@ -485,7 +485,7 @@ AiPlayerbot.PremadeSpecName.3.2 = surv pve
|
|||||||
AiPlayerbot.PremadeSpecLink.3.2.60 =
|
AiPlayerbot.PremadeSpecLink.3.2.60 =
|
||||||
AiPlayerbot.PremadeSpecLink.3.2.80 = -0053041-5000032500033330523134321331
|
AiPlayerbot.PremadeSpecLink.3.2.80 = -0053041-5000032500033330523134321331
|
||||||
# Rogue
|
# Rogue
|
||||||
AiPlayerbot.PremadeSpecName.4.0 = ass pve
|
AiPlayerbot.PremadeSpecName.4.0 = as pve
|
||||||
AiPlayerbot.PremadeSpecLink.4.0.60 =
|
AiPlayerbot.PremadeSpecLink.4.0.60 =
|
||||||
AiPlayerbot.PremadeSpecLink.4.0.80 = 005323005350100520103331051-005005003-502
|
AiPlayerbot.PremadeSpecLink.4.0.80 = 005323005350100520103331051-005005003-502
|
||||||
AiPlayerbot.PremadeSpecName.4.1 = combat pve
|
AiPlayerbot.PremadeSpecName.4.1 = combat pve
|
||||||
|
|||||||
@@ -84,6 +84,11 @@ bool OpenLootAction::DoLoot(LootObject& lootObject)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bot->isMoving())
|
||||||
|
{
|
||||||
|
bot->StopMoving();
|
||||||
|
}
|
||||||
|
|
||||||
if (creature)
|
if (creature)
|
||||||
{
|
{
|
||||||
SkillType skill = creature->GetCreatureTemplate()->GetRequiredLootSkill();
|
SkillType skill = creature->GetCreatureTemplate()->GetRequiredLootSkill();
|
||||||
@@ -119,7 +124,7 @@ bool OpenLootAction::DoLoot(LootObject& lootObject)
|
|||||||
uint32 spellId = GetOpeningSpell(lootObject);
|
uint32 spellId = GetOpeningSpell(lootObject);
|
||||||
if (!spellId)
|
if (!spellId)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return botAI->CastSpell(spellId, bot);
|
return botAI->CastSpell(spellId, bot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,58 +48,58 @@ class GenericPaladinStrategyActionNodeFactory : public NamedObjectFactory<Action
|
|||||||
static ActionNode* blessing_of_sanctuary(PlayerbotAI* ai)
|
static ActionNode* blessing_of_sanctuary(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("blessing of sanctuary",
|
return new ActionNode ("blessing of sanctuary",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* blessing_of_kings(PlayerbotAI* ai)
|
static ActionNode* blessing_of_kings(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("blessing of kings",
|
return new ActionNode ("blessing of kings",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* blessing_of_wisdom(PlayerbotAI* ai)
|
static ActionNode* blessing_of_wisdom(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("blessing of wisdom",
|
return new ActionNode ("blessing of wisdom",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* blessing_of_kings_on_party(PlayerbotAI* ai)
|
static ActionNode* blessing_of_kings_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("blessing of kings on party",
|
return new ActionNode ("blessing of kings on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* blessing_of_wisdom_on_party(PlayerbotAI* ai)
|
static ActionNode* blessing_of_wisdom_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("blessing of wisdom on party",
|
return new ActionNode ("blessing of wisdom on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* retribution_aura(PlayerbotAI* ai)
|
static ActionNode* retribution_aura(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("retribution aura",
|
return new ActionNode ("retribution aura",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("devotion aura"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("devotion aura"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* lay_on_hands(PlayerbotAI* ai)
|
static ActionNode* lay_on_hands(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("lay on hands",
|
return new ActionNode ("lay on hands",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL, // NextAction::array(0, new NextAction("divine shield"), new NextAction("flash of light"), NULL),
|
/*A*/ nullptr, // NextAction::array(0, new NextAction("divine shield"), new NextAction("flash of light"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* lay_on_hands_on_party(PlayerbotAI* ai)
|
static ActionNode* lay_on_hands_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("lay on hands on party",
|
return new ActionNode ("lay on hands on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL, // NextAction::array(0, new NextAction("flash of light"), NULL),
|
/*A*/ nullptr, // NextAction::array(0, new NextAction("flash of light"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
// static ActionNode* seal_of_light(PlayerbotAI* ai)
|
// static ActionNode* seal_of_light(PlayerbotAI* ai)
|
||||||
// {
|
// {
|
||||||
@@ -111,37 +111,37 @@ class GenericPaladinStrategyActionNodeFactory : public NamedObjectFactory<Action
|
|||||||
static ActionNode* cleanse_poison(PlayerbotAI* ai)
|
static ActionNode* cleanse_poison(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("cleanse poison",
|
return new ActionNode ("cleanse poison",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("purify poison"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("purify poison"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* cleanse_magic(PlayerbotAI* ai)
|
static ActionNode* cleanse_magic(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("cleanse magic",
|
return new ActionNode ("cleanse magic",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* cleanse_disease(PlayerbotAI* ai)
|
static ActionNode* cleanse_disease(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("cleanse disease",
|
return new ActionNode ("cleanse disease",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("purify disease"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("purify disease"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* cleanse_poison_on_party(PlayerbotAI* ai)
|
static ActionNode* cleanse_poison_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("cleanse poison on party",
|
return new ActionNode ("cleanse poison on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("purify poison on party"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("purify poison on party"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* cleanse_disease_on_party(PlayerbotAI* ai)
|
static ActionNode* cleanse_disease_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("cleanse disease on party",
|
return new ActionNode ("cleanse disease on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("purify disease on party"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("purify disease on party"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
// static ActionNode* seal_of_wisdom(PlayerbotAI* ai)
|
// static ActionNode* seal_of_wisdom(PlayerbotAI* ai)
|
||||||
// {
|
// {
|
||||||
@@ -153,86 +153,86 @@ class GenericPaladinStrategyActionNodeFactory : public NamedObjectFactory<Action
|
|||||||
static ActionNode* seal_of_justice(PlayerbotAI* ai)
|
static ActionNode* seal_of_justice(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("seal of justice",
|
return new ActionNode ("seal of justice",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* hand_of_reckoning(PlayerbotAI* ai)
|
static ActionNode* hand_of_reckoning(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("hand of reckoning",
|
return new ActionNode ("hand of reckoning",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("righteous defense"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("righteous defense"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* righteous_defense(PlayerbotAI* ai)
|
static ActionNode* righteous_defense(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("righteous defense",
|
return new ActionNode ("righteous defense",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("avenger's shield"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("avenger's shield"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* avengers_shield(PlayerbotAI* ai)
|
static ActionNode* avengers_shield(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("avenger's shield",
|
return new ActionNode ("avenger's shield",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("judgement of wisdom"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("judgement of wisdom"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* judgement_of_wisdom(PlayerbotAI* ai)
|
static ActionNode* judgement_of_wisdom(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("judgement of wisdom",
|
return new ActionNode ("judgement of wisdom",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("judgement of light"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("judgement of light"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* judgement(PlayerbotAI* ai)
|
static ActionNode* judgement(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("judgement",
|
return new ActionNode ("judgement",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NULL,
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* divine_shield(PlayerbotAI* ai)
|
static ActionNode* divine_shield(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("divine shield",
|
return new ActionNode ("divine shield",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("divine protection"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("divine protection"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* flash_of_light(PlayerbotAI* ai)
|
static ActionNode* flash_of_light(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("flash of light",
|
return new ActionNode ("flash of light",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("holy light"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("holy light"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* flash_of_light_on_party(PlayerbotAI* ai)
|
static ActionNode* flash_of_light_on_party(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("flash of light on party",
|
return new ActionNode ("flash of light on party",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("holy light on party"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("holy light on party"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* holy_wrath(PlayerbotAI* ai)
|
static ActionNode* holy_wrath(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("holy wrath",
|
return new ActionNode ("holy wrath",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("consecration"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("consecration"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* hammer_of_wrath(PlayerbotAI* ai)
|
static ActionNode* hammer_of_wrath(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("hammer of wrath",
|
return new ActionNode ("hammer of wrath",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("melee"), NULL),
|
/*A*/ nullptr,
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
static ActionNode* seal_of_command(PlayerbotAI* ai)
|
static ActionNode* seal_of_command(PlayerbotAI* ai)
|
||||||
{
|
{
|
||||||
return new ActionNode ("seal of command",
|
return new ActionNode ("seal of command",
|
||||||
/*P*/ NULL,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), NULL),
|
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), NULL),
|
||||||
/*C*/ NULL);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user