[Quest API] Add Spell GetActX methods to Perl/Lua (#3056)

# Perl
- Add `$mob->GetActDoTDamage(spell_id, value, target)`.
- Add `$mob->GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `$mob->GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `$mob->GetActSpellDamage(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target, from_buff_tic)`.

# Lua
- Add `mob:GetActDoTDamage(spell_id, value, target)`.
- Add `mob:GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `mob:GetActSpellCasttime(spell_id, cast_time)`.
- Add `mob:GetActSpellCost(spell_id, cost)`.
- Add `mob:GetActSpellDamage(spell_id, value)`.
- Add `mob:GetActSpellDamage(spell_id, value, target)`.
- Add `mob:GetActSpellDuration(spell_id, duration)`.
- Add `mob:GetActSpellHealing(spell_id, value)`.
- Add `mob:GetActSpellHealing(spell_id, value, target)`.
- Add `mob:GetActSpellHealing(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActSpellRange(spell_id, range)`.

 # Notes
- Allows operators to get various spell related values.
This commit is contained in:
Alex King
2023-03-12 15:36:43 -04:00
committed by GitHub
parent e670c89163
commit 7c819539c8
5 changed files with 124 additions and 4 deletions
+38 -2
View File
@@ -731,11 +731,36 @@ int64_t Perl_Mob_GetActSpellDamage(Mob* self, uint16 spell_id, int64 value) // @
return self->GetActSpellDamage(spell_id, value);
}
int64_t Perl_Mob_GetActSpellDamage(Mob* self, uint16 spell_id, int64 value, Mob* target) // @categories Spells and Disciplines
{
return self->GetActSpellDamage(spell_id, value, target);
}
int64_t Perl_Mob_GetActDoTDamage(Mob* self, uint16 spell_id, int64 value, Mob* target) // @categories Spells and Disciplines
{
return self->GetActDoTDamage(spell_id, value, target);
}
int64_t Perl_Mob_GetActDoTDamage(Mob* self, uint16 spell_id, int64 value, Mob* target, bool from_buff_tic) // @categories Spells and Disciplines
{
return self->GetActDoTDamage(spell_id, value, target, from_buff_tic);
}
int64_t Perl_Mob_GetActSpellHealing(Mob* self, uint16 spell_id, int64 value) // @categories Spells and Disciplines
{
return self->GetActSpellHealing(spell_id, value);
}
int64_t Perl_Mob_GetActSpellHealing(Mob* self, uint16 spell_id, int64 value, Mob* target) // @categories Spells and Disciplines
{
return self->GetActSpellHealing(spell_id, value, target);
}
int64_t Perl_Mob_GetActSpellHealing(Mob* self, uint16 spell_id, int64 value, Mob* target, bool from_buff_tic) // @categories Spells and Disciplines
{
return self->GetActSpellHealing(spell_id, value, target, from_buff_tic);
}
int Perl_Mob_GetActSpellCost(Mob* self, uint16 spell_id, int32 cost) // @categories Spells and Disciplines
{
return self->GetActSpellCost(spell_id, cost);
@@ -751,6 +776,11 @@ int Perl_Mob_GetActSpellCasttime(Mob* self, uint16 spell_id, uint32 cast_time) /
return self->GetActSpellCasttime(spell_id, cast_time);
}
int64 Perl_Mob_GetActReflectedSpellDamage(Mob* self, uint16 spell_id, int64 value, int effectiveness) // @categories Spells and Disciplines
{
return self->GetActReflectedSpellDamage(spell_id, value, effectiveness);
}
float Perl_Mob_ResistSpell(Mob* self, uint8 resist_type, uint16 spell_id, Mob* caster) // @categories Spells and Disciplines, Script Utility
{
return self->ResistSpell(resist_type, spell_id, caster);
@@ -2958,11 +2988,17 @@ void perl_register_mob()
package.add("GetAC", &Perl_Mob_GetAC);
package.add("GetAGI", &Perl_Mob_GetAGI);
package.add("GetATK", &Perl_Mob_GetATK);
package.add("GetActDoTDamage", (int64_t(*)(Mob*, uint16, int64, Mob*))&Perl_Mob_GetActDoTDamage);
package.add("GetActDoTDamage", (int64_t(*)(Mob*, uint16, int64, Mob*, bool))&Perl_Mob_GetActDoTDamage);
package.add("GetActReflectedSpellDamage", &Perl_Mob_GetActReflectedSpellDamage);
package.add("GetActSpellCasttime", &Perl_Mob_GetActSpellCasttime);
package.add("GetActSpellCost", &Perl_Mob_GetActSpellCost);
package.add("GetActSpellDamage", &Perl_Mob_GetActSpellDamage);
package.add("GetActSpellDamage", (int64_t(*)(Mob*, uint16, int64))&Perl_Mob_GetActSpellDamage);
package.add("GetActSpellDamage", (int64_t(*)(Mob*, uint16, int64, Mob*))&Perl_Mob_GetActSpellDamage);
package.add("GetActSpellDuration", &Perl_Mob_GetActSpellDuration);
package.add("GetActSpellHealing", &Perl_Mob_GetActSpellHealing);
package.add("GetActSpellHealing", (int64_t(*)(Mob*, uint16, int64))&Perl_Mob_GetActSpellHealing);
package.add("GetActSpellHealing", (int64_t(*)(Mob*, uint16, int64, Mob*))&Perl_Mob_GetActSpellHealing);
package.add("GetActSpellHealing", (int64_t(*)(Mob*, uint16, int64, Mob*, bool))&Perl_Mob_GetActSpellHealing);
package.add("GetActSpellRange", &Perl_Mob_GetActSpellRange);
package.add("GetAggroRange", &Perl_Mob_GetAggroRange);
package.add("GetAllowBeneficial", &Perl_Mob_GetAllowBeneficial);