avoid AOE strategy (WIP)

This commit is contained in:
郑佩茹
2023-03-23 12:22:58 -06:00
parent 352969a0c8
commit 53395b64ed
9 changed files with 137 additions and 0 deletions

View File

@@ -508,3 +508,8 @@ bool IsFallingFarTrigger::IsActive()
{
return bot->HasUnitMovementFlag(MOVEMENTFLAG_FALLING_FAR);
}
bool HasAreaDebuffTrigger::IsActive()
{
return AI_VALUE2(bool, "has area debuff", "self target");
}

View File

@@ -702,4 +702,12 @@ class IsFallingFarTrigger : public Trigger
bool IsActive() override;
};
class HasAreaDebuffTrigger : public Trigger {
public:
HasAreaDebuffTrigger(PlayerbotAI* botAI) : Trigger(botAI, "have area debuff") {}
bool IsActive() override;
};
#endif

View File

@@ -77,6 +77,9 @@ class TriggerContext : public NamedObjectContext<Trigger>
creators["medium aoe"] = &TriggerContext::MediumAoe;
creators["high aoe"] = &TriggerContext::HighAoe;
creators["has area debuff"] = &TriggerContext::HasAreaDebuff;
creators["enemy out of melee"] = &TriggerContext::EnemyOutOfMelee;
creators["enemy out of spell"] = &TriggerContext::EnemyOutOfSpell;
creators["enemy too close for spell"] = &TriggerContext::enemy_too_close_for_spell;
@@ -224,6 +227,7 @@ class TriggerContext : public NamedObjectContext<Trigger>
static Trigger* LightAoe(PlayerbotAI* botAI) { return new LightAoeTrigger(botAI); }
static Trigger* MediumAoe(PlayerbotAI* botAI) { return new MediumAoeTrigger(botAI); }
static Trigger* HighAoe(PlayerbotAI* botAI) { return new HighAoeTrigger(botAI); }
static Trigger* HasAreaDebuff(PlayerbotAI* botAI) { return new HasAreaDebuffTrigger(botAI); }
static Trigger* LoseAggro(PlayerbotAI* botAI) { return new LoseAggroTrigger(botAI); }
static Trigger* HasAggro(PlayerbotAI* botAI) { return new HasAggroTrigger(botAI); }
static Trigger* LowHealth(PlayerbotAI* botAI) { return new LowHealthTrigger(botAI); }