[Quest API] Add CloneAppearance() to Perl/Lua. (#2531)

* [Quest API] Add CloneAppearance() to Perl/Lua.

# Perl
- Add `$client->CloneAppearance(other)` to Perl.
- Add `$client->CloneAppearance(other, clone_name)` to Perl.

# Lua
- Add `client:CloneAppearance(other)` to Lua.
- Add `client:CloneAppearance(other, clone_name)` to Lua.

# Notes
- Allows operators to easily clone appearance between mobs in a script without relying on a plugin or module.

* Update mob_appearance.cpp

* Update mob.cpp
This commit is contained in:
Kinglykrab
2022-11-14 14:05:05 -05:00
committed by GitHub
parent 8a449b0152
commit 31e5622dad
7 changed files with 196 additions and 27 deletions
+12
View File
@@ -2457,6 +2457,16 @@ Mob* Perl_Mob_GetUltimateOwner(Mob* self) // @categories Script Utility, Pet
return self->GetUltimateOwner();
}
void Perl_Mob_CloneAppearance(Mob* self, Mob* other) // @categories Script Utility
{
self->CloneAppearance(other);
}
void Perl_Mob_CloneAppearance(Mob* self, Mob* other, bool clone_name) // @categories Script Utility
{
self->CloneAppearance(other, clone_name);
}
#ifdef BOTS
Bot* Perl_Mob_CastToBot(Mob* self)
{
@@ -2537,6 +2547,8 @@ void perl_register_mob()
package.add("CheckLoSToLoc", (bool(*)(Mob*, float, float, float, float))&Perl_Mob_CheckLoSToLoc);
package.add("ClearFeignMemory", &Perl_Mob_ClearFeignMemory);
package.add("ClearSpecialAbilities", &Perl_Mob_ClearSpecialAbilities);
package.add("CloneAppearance", (void(*)(Mob*, Mob*))&Perl_Mob_CloneAppearance);
package.add("CloneAppearance", (void(*)(Mob*, Mob*, bool))&Perl_Mob_CloneAppearance);
package.add("CombatRange", &Perl_Mob_CombatRange);
package.add("Damage", (void(*)(Mob*, Mob*, int64, uint16_t, int))&Perl_Mob_Damage);
package.add("Damage", (void(*)(Mob*, Mob*, int64, uint16_t, int, bool))&Perl_Mob_Damage);