[Quest API] Add Restore Methods for Health, Mana, and Endurance to Perl/Lua (#4179)

* [Quest API] Add Restore Methods for Health, Mana, and Endurance to Perl/Lua

- Add `$mob->RestoreEndurance()`.
- Add `$mob->RestoreHealth()`.
- Add `$mob->RestoreMana()`.

- Add `mob:RestoreEndurance()`.
- Add `mob:RestoreHealth()`.
- Add `mob:RestoreMana()`.

- Allows operators to easily restore a mob to full health, mana, or endurance.
- `RestoreHealth` is just a more verbosely named `Heal`.
- Convert spots in source to use these short hands instead of directly using `SetEndurance(GetMaxEndurance())`, `SetHP(GetMaxHP())`, or `SetMana(GetMaxMana())`.

* Update mob.h

* Update mob.h
This commit is contained in:
Alex King
2024-03-23 00:53:35 -04:00
committed by GitHub
parent 5bfd8f5da2
commit 66cc947b2a
12 changed files with 72 additions and 44 deletions
+20 -7
View File
@@ -256,11 +256,6 @@ void Perl_Mob_ThrowingAttack(Mob* self, Mob* other) // @categories Skills and Re
self->ThrowingAttack(other);
}
void Perl_Mob_Heal(Mob* self)// @categories Script Utility
{
self->Heal();
}
void Perl_Mob_HealDamage(Mob* self, int64_t amount) // @categories Script Utility
{
self->HealDamage(amount);
@@ -3429,7 +3424,7 @@ perl::array Perl_Mob_GetBuffs(Mob* self)
{
perl::array result;
const auto& buffs = self->GetBuffs();
const auto &buffs = self->GetBuffs();
for (int slot_id = 0; slot_id < self->GetMaxBuffSlots(); slot_id++) {
result.push_back(&buffs[slot_id]);
@@ -3438,6 +3433,21 @@ perl::array Perl_Mob_GetBuffs(Mob* self)
return result;
}
void Perl_Mob_RestoreEndurance(Mob* self)
{
self->RestoreEndurance();
}
void Perl_Mob_RestoreHealth(Mob* self)
{
self->RestoreHealth();
}
void Perl_Mob_RestoreMana(Mob* self)
{
self->RestoreMana();
}
void perl_register_mob()
{
perl::interpreter perl(PERL_GET_THX);
@@ -3799,7 +3809,7 @@ void perl_register_mob()
package.add("HasTwoHandBluntEquipped", &Perl_Mob_HasTwoHandBluntEquipped);
package.add("HasTwoHanderEquipped", &Perl_Mob_HasTwoHanderEquipped);
package.add("HateSummon", &Perl_Mob_HateSummon);
package.add("Heal", &Perl_Mob_Heal);
package.add("Heal", &Perl_Mob_RestoreHealth);
package.add("HealDamage", (void(*)(Mob*, int64_t))&Perl_Mob_HealDamage);
package.add("HealDamage", (void(*)(Mob*, int64_t, Mob*))&Perl_Mob_HealDamage);
package.add("InterruptSpell", (void(*)(Mob*))&Perl_Mob_InterruptSpell);
@@ -3900,6 +3910,9 @@ void perl_register_mob()
package.add("RemoveNimbusEffect", &Perl_Mob_RemoveNimbusEffect);
package.add("RemovePet", &Perl_Mob_RemovePet);
package.add("ResistSpell", &Perl_Mob_ResistSpell);
package.add("RestoreEndurance", &Perl_Mob_RestoreEndurance);
package.add("RestoreHealth", &Perl_Mob_RestoreHealth);
package.add("RestoreMana", &Perl_Mob_RestoreMana);
package.add("ResumeTimer", &Perl_Mob_ResumeTimer);
package.add("RogueAssassinate", &Perl_Mob_RogueAssassinate);
package.add("RunTo", &Perl_Mob_RunTo);