Update DarkInspirationBehavior.cpp (#897)

This commit is contained in:
David Markowitz
2022-12-23 18:05:30 -08:00
committed by GitHub
parent 675cf1d2a4
commit bbd5a49ea2
12 changed files with 98 additions and 21 deletions

View File

@@ -180,9 +180,9 @@ void ItemSet::Update(float deltaTime) {
}
}
void ItemSet::TriggerPassiveAbility(PassiveAbilityTrigger trigger) {
void ItemSet::TriggerPassiveAbility(PassiveAbilityTrigger trigger, Entity* target) {
for (auto& passiveAbility : m_PassiveAbilities) {
passiveAbility.Trigger(trigger);
passiveAbility.Trigger(trigger, target);
}
}

View File

@@ -52,7 +52,7 @@ public:
* Triggers all the passive abilities in this item set that match this trigger
* @param trigger the trigger to use to trigger passive abilities
*/
void TriggerPassiveAbility(PassiveAbilityTrigger trigger);
void TriggerPassiveAbility(PassiveAbilityTrigger trigger, Entity* target = nullptr);
/**
* Returns the skills that can be equipped for a specified amount of equipped items

View File

@@ -16,12 +16,12 @@ ItemSetPassiveAbility::ItemSetPassiveAbility(PassiveAbilityTrigger trigger, Enti
ItemSetPassiveAbility::~ItemSetPassiveAbility() {
}
void ItemSetPassiveAbility::Trigger(PassiveAbilityTrigger trigger) {
void ItemSetPassiveAbility::Trigger(PassiveAbilityTrigger trigger, Entity* target) {
if (m_Trigger != trigger || m_Cooldown > 0.0f) {
return;
}
Activate();
Activate(target);
}
void ItemSetPassiveAbility::Update(float deltaTime) {
@@ -30,9 +30,9 @@ void ItemSetPassiveAbility::Update(float deltaTime) {
}
}
void ItemSetPassiveAbility::Activate() {
void ItemSetPassiveAbility::Activate(Entity* target) {
if (m_Trigger == PassiveAbilityTrigger::EnemySmashed) {
OnEnemySmshed();
OnEnemySmshed(target);
return;
}
@@ -195,7 +195,7 @@ std::vector<ItemSetPassiveAbility> ItemSetPassiveAbility::FindAbilities(uint32_t
return abilities;
}
void ItemSetPassiveAbility::OnEnemySmshed() {
void ItemSetPassiveAbility::OnEnemySmshed(Entity* target) {
auto* destroyableComponent = m_Parent->GetComponent<DestroyableComponent>();
auto* skillComponent = m_Parent->GetComponent<SkillComponent>();
@@ -293,8 +293,8 @@ void ItemSetPassiveAbility::OnEnemySmshed() {
break;
}
case ItemSetPassiveAbilityID::ShinobiRank3: {
if (equippedCount < 4) return;
destroyableComponent->Imagine(3);
if (equippedCount < 4 || !target) return;
skillComponent->CalculateBehavior(695, 11399, target->GetObjectID());
break;
}

View File

@@ -30,12 +30,12 @@ public:
* Attempts to trigger a passive ability for this item set, if this is the wrong trigger this is a no-op
* @param trigger the trigger to attempt to fire
*/
void Trigger(PassiveAbilityTrigger trigger);
void Trigger(PassiveAbilityTrigger trigger, Entity* target = nullptr);
/**
* Activates the passive ability
*/
void Activate();
void Activate(Entity* target = nullptr);
/**
* Finds all the passive abilities associated with a certain item set
@@ -47,7 +47,7 @@ public:
static std::vector<ItemSetPassiveAbility> FindAbilities(uint32_t itemSetID, Entity* parent, ItemSet* itemSet);
private:
void OnEnemySmshed();
void OnEnemySmshed(Entity* target = nullptr);
/**
* The means of triggering this ability