druid rebirth in combat

This commit is contained in:
Yunfan Li
2023-07-14 16:24:38 +08:00
parent 53afe66b8e
commit 01d4121ff8
7 changed files with 26 additions and 1 deletions

View File

@@ -20,6 +20,11 @@ bool PartyMemberDeadTrigger::IsActive()
return GetTarget();
}
bool CombatPartyMemberDeadTrigger::IsActive()
{
return GetTarget();
}
bool DeadTrigger::IsActive()
{
return AI_VALUE2(bool, "dead", GetTargetName());

View File

@@ -7,6 +7,7 @@
#include "Trigger.h"
#include "PlayerbotAIConfig.h"
#include <stdexcept>
class PlayerbotAI;
@@ -112,6 +113,14 @@ class PartyMemberDeadTrigger : public Trigger
bool IsActive() override;
};
class CombatPartyMemberDeadTrigger : public Trigger
{
public:
CombatPartyMemberDeadTrigger(PlayerbotAI* ai) : Trigger(ai, "combat party member to resurrect", 1) {}
std::string const GetTargetName() override { return "party member to resurrect"; }
bool IsActive() override;
};
class DeadTrigger : public Trigger
{
public:

View File

@@ -98,6 +98,7 @@ class TriggerContext : public NamedObjectContext<Trigger>
creators["dead"] = &TriggerContext::Dead;
creators["corpse near"] = &TriggerContext::corpse_near;
creators["party member dead"] = &TriggerContext::PartyMemberDead;
creators["combat party member dead"] = &TriggerContext::CombatPartyMemberDead;
creators["no pet"] = &TriggerContext::no_pet;
creators["has pet"] = &TriggerContext::has_pet;
creators["has attackers"] = &TriggerContext::has_attackers;
@@ -309,6 +310,7 @@ class TriggerContext : public NamedObjectContext<Trigger>
static Trigger* Dead(PlayerbotAI* botAI) { return new DeadTrigger(botAI); }
static Trigger* corpse_near(PlayerbotAI* botAI) { return new CorpseNearTrigger(botAI); }
static Trigger* PartyMemberDead(PlayerbotAI* botAI) { return new PartyMemberDeadTrigger(botAI); }
static Trigger* CombatPartyMemberDead(PlayerbotAI* botAI) { return new CombatPartyMemberDeadTrigger(botAI); }
static Trigger* PartyMemberLowHealth(PlayerbotAI* botAI) { return new PartyMemberLowHealthTrigger(botAI); }
static Trigger* PartyMemberMediumHealth(PlayerbotAI* botAI) { return new PartyMemberMediumHealthTrigger(botAI); }
static Trigger* PartyMemberAlmostFullHealth(PlayerbotAI* botAI) { return new PartyMemberAlmostFullHealthTrigger(botAI); }