mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
Spells
This commit is contained in:
@@ -790,7 +790,7 @@ AiPlayerbot.PremadeSpecLink.2.0.80 = 50350152220013053100515221-503201312
|
|||||||
AiPlayerbot.PremadeSpecName.2.1 = prot pve
|
AiPlayerbot.PremadeSpecName.2.1 = prot pve
|
||||||
AiPlayerbot.PremadeSpecGlyph.2.1 = 41100,43367,43869,43369,43365,45745
|
AiPlayerbot.PremadeSpecGlyph.2.1 = 41100,43367,43869,43369,43365,45745
|
||||||
AiPlayerbot.PremadeSpecLink.2.1.60 = -05005135203102311333112321
|
AiPlayerbot.PremadeSpecLink.2.1.60 = -05005135203102311333112321
|
||||||
AiPlayerbot.PremadeSpecLink.2.1.80 = -05005135203132311333312321-5023005
|
AiPlayerbot.PremadeSpecLink.2.1.80 = -05005135203102311333312321-502302012003
|
||||||
AiPlayerbot.PremadeSpecName.2.2 = ret pve
|
AiPlayerbot.PremadeSpecName.2.2 = ret pve
|
||||||
AiPlayerbot.PremadeSpecGlyph.2.2 = 41092,43367,41099,43369,43365,43869
|
AiPlayerbot.PremadeSpecGlyph.2.2 = 41092,43367,41099,43369,43365,43869
|
||||||
AiPlayerbot.PremadeSpecLink.2.2.60 = --05230051203331302133231131
|
AiPlayerbot.PremadeSpecLink.2.2.60 = --05230051203331302133231131
|
||||||
|
|||||||
@@ -1254,6 +1254,7 @@ bool PlayerbotFactory::CanEquipWeapon(ItemTemplate const* proto)
|
|||||||
case CLASS_ROGUE:
|
case CLASS_ROGUE:
|
||||||
if (proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD &&
|
if (proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD &&
|
||||||
proto->SubClass != ITEM_SUBCLASS_WEAPON_FIST && proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE &&
|
proto->SubClass != ITEM_SUBCLASS_WEAPON_FIST && proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE &&
|
||||||
|
proto->SubClass != ITEM_SUBCLASS_WEAPON_AXE &&
|
||||||
proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW &&
|
proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW &&
|
||||||
proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN)
|
proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN)
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -462,7 +462,7 @@ void StatsWeightCalculator::CalculateItemTypePenalty(ItemTemplate const* proto)
|
|||||||
weight_ *= 1.1;
|
weight_ *= 1.1;
|
||||||
}
|
}
|
||||||
if (cls == CLASS_WARRIOR && player_->HasAura(12785)
|
if (cls == CLASS_WARRIOR && player_->HasAura(12785)
|
||||||
&& (proto->SubClass == ITEM_SUBCLASS_WEAPON_THROWN || proto->SubClass == ITEM_SUBCLASS_WEAPON_AXE2))
|
&& (proto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || proto->SubClass == ITEM_SUBCLASS_WEAPON_AXE2))
|
||||||
{
|
{
|
||||||
weight_ *= 1.1;
|
weight_ *= 1.1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ private:
|
|||||||
{
|
{
|
||||||
return new ActionNode("seal of vengeance",
|
return new ActionNode("seal of vengeance",
|
||||||
/*P*/ nullptr,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), nullptr),
|
/*A*/ NextAction::array(0, new NextAction("seal of command"), nullptr),
|
||||||
/*C*/ nullptr);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ private:
|
|||||||
{
|
{
|
||||||
return new ActionNode("seal of command",
|
return new ActionNode("seal of command",
|
||||||
/*P*/ nullptr,
|
/*P*/ nullptr,
|
||||||
/*A*/ NextAction::array(0, new NextAction("seal of corruption"), nullptr),
|
/*A*/ NextAction::array(0, new NextAction("seal of righteousness"), nullptr),
|
||||||
/*C*/ nullptr);
|
/*C*/ nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ void DpsPaladinStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
|||||||
GenericPaladinStrategy::InitTriggers(triggers);
|
GenericPaladinStrategy::InitTriggers(triggers);
|
||||||
|
|
||||||
triggers.push_back(
|
triggers.push_back(
|
||||||
new TriggerNode("seal", NextAction::array(0, new NextAction("seal of command", ACTION_HIGH), NULL)));
|
new TriggerNode("seal", NextAction::array(0, new NextAction("seal of corruption", ACTION_HIGH), NULL)));
|
||||||
// triggers.push_back(new TriggerNode("seal", NextAction::array(0, new NextAction("seal of command", 90.0f),
|
// triggers.push_back(new TriggerNode("seal", NextAction::array(0, new NextAction("seal of command", 90.0f),
|
||||||
// nullptr)));
|
// nullptr)));
|
||||||
triggers.push_back(
|
triggers.push_back(
|
||||||
|
|||||||
@@ -47,10 +47,13 @@ NextAction** CasterShamanStrategy::getDefaultActions()
|
|||||||
void CasterShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
void CasterShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||||
{
|
{
|
||||||
GenericShamanStrategy::InitTriggers(triggers);
|
GenericShamanStrategy::InitTriggers(triggers);
|
||||||
|
|
||||||
// triggers.push_back(new TriggerNode("enemy out of spell", NextAction::array(0, new NextAction("reach spell",
|
// triggers.push_back(new TriggerNode("enemy out of spell", NextAction::array(0, new NextAction("reach spell",
|
||||||
// ACTION_NORMAL + 9), nullptr))); triggers.push_back(new TriggerNode("shaman weapon", NextAction::array(0, new
|
// ACTION_NORMAL + 9), nullptr))); triggers.push_back(new TriggerNode("shaman weapon", NextAction::array(0, new
|
||||||
// NextAction("flametongue weapon", 23.0f), nullptr)));
|
// NextAction("flametongue weapon", 23.0f), nullptr)));
|
||||||
|
triggers.push_back(new TriggerNode(
|
||||||
|
"enough mana", NextAction::array(0, new NextAction("chain lightning", ACTION_DEFAULT + 0.1f), nullptr)));
|
||||||
|
|
||||||
triggers.push_back(new TriggerNode("main hand weapon no imbue",
|
triggers.push_back(new TriggerNode("main hand weapon no imbue",
|
||||||
NextAction::array(0, new NextAction("flametongue weapon", 22.0f), nullptr)));
|
NextAction::array(0, new NextAction("flametongue weapon", 22.0f), nullptr)));
|
||||||
// triggers.push_back(new TriggerNode("searing totem", NextAction::array(0, new NextAction("searing totem", 19.0f),
|
// triggers.push_back(new TriggerNode("searing totem", NextAction::array(0, new NextAction("searing totem", 19.0f),
|
||||||
@@ -64,10 +67,12 @@ void CasterShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
|||||||
triggers.push_back(
|
triggers.push_back(
|
||||||
new TriggerNode("no fire totem", NextAction::array(0, new NextAction("totem of wrath", 15.0f), NULL)));
|
new TriggerNode("no fire totem", NextAction::array(0, new NextAction("totem of wrath", 15.0f), NULL)));
|
||||||
|
|
||||||
triggers.push_back(new TriggerNode("enemy is close",
|
|
||||||
NextAction::array(0, new NextAction("thunderstorm", ACTION_HIGH + 1), nullptr)));
|
|
||||||
triggers.push_back(
|
triggers.push_back(
|
||||||
new TriggerNode("medium mana", NextAction::array(0, new NextAction("thunderstorm", ACTION_HIGH + 1), nullptr)));
|
new TriggerNode("medium mana", NextAction::array(0, new NextAction("thunderstorm", ACTION_HIGH + 1), nullptr)));
|
||||||
|
|
||||||
|
|
||||||
|
triggers.push_back(new TriggerNode("enemy is close",
|
||||||
|
NextAction::array(0, new NextAction("thunderstorm", ACTION_HIGH + 1), nullptr)));
|
||||||
|
|
||||||
triggers.push_back(new TriggerNode("enemy too close for spell",
|
triggers.push_back(new TriggerNode("enemy too close for spell",
|
||||||
NextAction::array(0, new NextAction("flee", ACTION_MOVE + 9), nullptr)));
|
NextAction::array(0, new NextAction("flee", ACTION_MOVE + 9), nullptr)));
|
||||||
|
|||||||
@@ -95,6 +95,9 @@ void MeleeShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
|||||||
|
|
||||||
triggers.push_back(
|
triggers.push_back(
|
||||||
new TriggerNode("medium mana", NextAction::array(0, new NextAction("shamanistic rage", 23.0f), nullptr)));
|
new TriggerNode("medium mana", NextAction::array(0, new NextAction("shamanistic rage", 23.0f), nullptr)));
|
||||||
|
|
||||||
|
triggers.push_back(
|
||||||
|
new TriggerNode("low health", NextAction::array(0, new NextAction("shamanistic rage", 23.0f), nullptr)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MeleeAoeShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
void MeleeAoeShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||||
|
|||||||
Reference in New Issue
Block a user