eqemu-server/zone/perl_mob.cpp
RekkasGit 32f7dc3d1b
[Quest API] Add GetHateListClosest(), GetHateListClosestBot(), GetHateListClosestClient(), and GetHateListClosestNPC() methods/overloads to Perl/Lua (#3359)
* Add HateListClosestClient available for scripting.

* Add other methods.

* Use pre-existing constants.

* Typos

* Update mob.h

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
2023-05-15 21:23:19 -04:00

3587 lines
131 KiB
C++

#include "../common/features.h"
#ifdef EMBPERL_XS_CLASSES
#include "../common/global_define.h"
#include "../common/spdat.h"
#include "embperl.h"
#include "mob.h"
#include "client.h"
#include "dialogue_window.h"
#include "bot.h"
#include "questmgr.h"
bool Perl_Mob_IsClient(Mob* self) // @categories Script Utility
{
return self->IsClient();
}
bool Perl_Mob_IsNPC(Mob* self) // @categories Script Utility
{
return self->IsNPC();
}
bool Perl_Mob_IsBot(Mob* self) // @categories Script Utility
{
return self->IsBot();
}
bool Perl_Mob_IsMob(Mob* self) // @categories Script Utility
{
return self->IsMob();
}
bool Perl_Mob_IsCorpse(Mob* self) // @categories Script Utility, Corpse
{
return self->IsCorpse();
}
bool Perl_Mob_IsPlayerCorpse(Mob* self) // @categories Corpse
{
return self->IsPlayerCorpse();
}
bool Perl_Mob_IsNPCCorpse(Mob* self) // @categories Corpse
{
return self->IsNPCCorpse();
}
bool Perl_Mob_IsObject(Mob* self) // @categories Objects
{
return self->IsObject();
}
bool Perl_Mob_IsDoor(Mob* self) // @categories Script Utility, Doors
{
return self->IsDoor();
}
bool Perl_Mob_IsTrap(Mob* self) // @categories Script Utility
{
return self->IsTrap();
}
bool Perl_Mob_IsBeacon(Mob* self) // @categories Script Utility
{
return self->IsBeacon();
}
Client* Perl_Mob_CastToClient(Mob* self) // @categories Account and Character, Script Utility
{
return self->CastToClient();
}
NPC* Perl_Mob_CastToNPC(Mob* self) // @categories Script Utility
{
return self->CastToNPC();
}
Mob* Perl_Mob_CastToMob(Mob* self) // @categories Script Utility
{
return self->CastToMob();
}
Corpse* Perl_Mob_CastToCorpse(Mob* self) // @categories Script Utility, Corpse
{
return self->CastToCorpse();
}
int Perl_Mob_GetID(Mob* self) // @categories Script Utility
{
return self->GetID();
}
std::string Perl_Mob_GetName(Mob* self)// @categories Script Utility
{
return self->GetName();
}
void Perl_Mob_Depop(Mob* self) // @categories Spawns
{
self->Depop();
}
void Perl_Mob_Depop(Mob* self, bool start_spawn_timer) // @categories Spawns
{
self->Depop(start_spawn_timer);
}
void Perl_Mob_RogueAssassinate(Mob* self, Mob* other) // @categories Script Utility
{
return self->RogueAssassinate(other);
}
bool Perl_Mob_BehindMob(Mob* self, Mob* other) // @categories Script Utility
{
return self->BehindMob(other);
}
bool Perl_Mob_BehindMob(Mob* self, Mob* other, float x) // @categories Script Utility
{
return self->BehindMob(other, x);
}
bool Perl_Mob_BehindMob(Mob* self, Mob* other, float x, float y) // @categories Script Utility
{
return self->BehindMob(other, x, y);
}
void Perl_Mob_SetLevel(Mob* self, uint8_t in_level) // @categories Stats and Attributes
{
self->SetLevel(in_level);
}
void Perl_Mob_SetLevel(Mob* self, uint8_t in_level, bool command) // @categories Stats and Attributes
{
self->SetLevel(in_level, command);
}
uint32_t Perl_Mob_GetSkill(Mob* self, int skill_id) // @categories Skills and Recipes, Script Utility
{
return self->GetSkill(static_cast<EQ::skills::SkillType>(skill_id));
}
void Perl_Mob_SendWearChange(Mob* self, uint8_t material_slot) // @categories Script Utility
{
self->SendWearChange(material_slot);
}
int32_t Perl_Mob_GetEquipment(Mob* self, uint8_t material_slot) // @categories Inventory and Items
{
return self->GetEquippedItemFromTextureSlot(material_slot);
}
int32_t Perl_Mob_GetEquipmentMaterial(Mob* self, uint8_t material_slot) // @categories Inventory and Items
{
return self->GetEquipmentMaterial(material_slot);
}
int32_t Perl_Mob_GetEquipmentColor(Mob* self, uint8_t material_slot) // @categories Inventory and Items
{
return self->GetEquipmentColor(material_slot);
}
int32_t Perl_Mob_GetArmorTint(Mob* self, uint8_t material_slot) // @categories Stats and Attributes
{
return self->GetArmorTint(material_slot);
}
bool Perl_Mob_IsMoving(Mob* self) // @categories Script Utility
{
return self->IsMoving();
}
void Perl_Mob_GoToBind(Mob* self) // @categories Script Utility
{
self->GoToBind();
}
void Perl_Mob_Gate(Mob* self) // @categories Spells and Disciplines
{
self->Gate();
}
bool Perl_Mob_Attack(Mob* self, Mob* other) // @categories Script Utility, Hate and Aggro
{
return self->Attack(other);
}
bool Perl_Mob_Attack(Mob* self, Mob* other, int hand) // @categories Script Utility, Hate and Aggro
{
return self->Attack(other, hand);
}
bool Perl_Mob_Attack(Mob* self, Mob* other, int hand, bool from_riposte) // @categories Script Utility, Hate and Aggro
{
return self->Attack(other, hand, from_riposte);
}
void Perl_Mob_Damage(Mob* self, Mob* from, int64_t damage, uint16_t spell_id, int attack_skill) // @categories Script Utility
{
self->Damage(from, damage, spell_id, static_cast<EQ::skills::SkillType>(attack_skill));
}
void Perl_Mob_Damage(Mob* self, Mob* from, int64_t damage, uint16_t spell_id, int attack_skill, bool avoidable) // @categories Script Utility
{
self->Damage(from, damage, spell_id, static_cast<EQ::skills::SkillType>(attack_skill), avoidable);
}
void Perl_Mob_Damage(Mob* self, Mob* from, int64_t damage, uint16_t spell_id, int attack_skill, bool avoidable, int8_t buffslot) // @categories Script Utility
{
self->Damage(from, damage, spell_id, static_cast<EQ::skills::SkillType>(attack_skill), avoidable, buffslot);
}
void Perl_Mob_Damage(Mob* self, Mob* from, int64_t damage, uint16_t spell_id, int attack_skill, bool avoidable, int8_t buffslot, bool buff_tic) // @categories Script Utility
{
self->Damage(from, damage, spell_id, static_cast<EQ::skills::SkillType>(attack_skill), avoidable, buffslot, buff_tic);
}
void Perl_Mob_RangedAttack(Mob* self, Mob* other) // @categories Skills and Recipes, Script Utility
{
self->RangedAttack(other);
}
void Perl_Mob_ThrowingAttack(Mob* self, Mob* other) // @categories Skills and Recipes, Script Utility
{
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);
}
void Perl_Mob_HealDamage(Mob* self, int64_t amount, Mob* caster) // @categories Script Utility
{
self->HealDamage(amount, caster);
}
void Perl_Mob_SetMaxHP(Mob* self) // @categories Stats and Attributes
{
self->SetMaxHP();
}
uint32_t Perl_Mob_GetLevelCon(Mob* self, uint8_t other_level) // @categories Stats and Attributes
{
return self->GetLevelCon(other_level);
}
void Perl_Mob_SetHP(Mob* self, int64_t hp) // @categories Stats and Attributes
{
self->SetHP(hp);
}
void Perl_Mob_DoAnim(Mob* self, int animation_id) // @categories Script Utility
{
self->DoAnim(animation_id);
}
void Perl_Mob_DoAnim(Mob* self, int animation_id, int animation_speed) // @categories Script Utility
{
self->DoAnim(animation_id, animation_speed);
}
void Perl_Mob_DoAnim(Mob* self, int animation_id, int animation_speed, bool ackreq) // @categories Script Utility
{
self->DoAnim(animation_id, animation_speed, ackreq);
}
void Perl_Mob_DoAnim(Mob* self, int animation_id, int animation_speed, bool ackreq, int filter) // @categories Script Utility
{
self->DoAnim(animation_id, animation_speed, ackreq, static_cast<eqFilterType>(filter));
}
void Perl_Mob_ChangeSize(Mob* self, float in_size) // @categories Script Utility
{
self->ChangeSize(in_size);
}
void Perl_Mob_ChangeSize(Mob* self, float in_size, bool no_restriction) // @categories Script Utility
{
self->ChangeSize(in_size, no_restriction);
}
void Perl_Mob_GMMove(Mob* self, float x, float y, float z) // @categories Script Utility
{
self->GMMove(x, y, z);
}
void Perl_Mob_GMMove(Mob* self, float x, float y, float z, float heading) // @categories Script Utility
{
self->GMMove(x, y, z, heading);
}
bool Perl_Mob_HasProcs(Mob* self) // @categories Stats and Attributes
{
return self->HasProcs();
}
bool Perl_Mob_IsInvisible(Mob* self) // @categories Script Utility
{
return self->IsInvisible();
}
bool Perl_Mob_IsInvisible(Mob* self, Mob* other) // @categories Script Utility
{
return self->IsInvisible(other);
}
void Perl_Mob_SetInvisible(Mob* self, uint8_t state) // @categories Script Utility
{
self->SetInvisible(state);
}
void Perl_Mob_SetSeeInvisibleLevel(Mob* self, uint8 see_invis_level) // @categories Script Utility
{
self->SetInnateSeeInvisible(see_invis_level);
self->CalcSeeInvisibleLevel();
}
void Perl_Mob_SetSeeInvisibleUndeadLevel(Mob* self, uint8 see_invis_undead_level) // @categories Script Utility
{
self->SetSeeInvisibleUndead(see_invis_undead_level);
}
bool Perl_Mob_FindBuff(Mob* self, uint16 spell_id) // @categories Spells and Disciplines, Script Utility
{
return self->FindBuff(spell_id);
}
int Perl_Mob_FindBuffBySlot(Mob* self, int slot) // @categories Spells and Disciplines, Script Utility
{
return self->FindBuffBySlot(slot);
}
bool Perl_Mob_FindType(Mob* self, uint16_t type) // @categories Script Utility
{
return self->FindType(type);
}
bool Perl_Mob_FindType(Mob* self, uint16_t type, bool offensive) // @categories Script Utility
{
return self->FindType(type, offensive);
}
bool Perl_Mob_FindType(Mob* self, uint16_t type, bool offensive, uint16_t threshold) // @categories Script Utility
{
return self->FindType(type, offensive, threshold);
}
int Perl_Mob_GetBuffSlotFromType(Mob* self, uint16 type) // @categories Spells and Disciplines, Script Utility
{
return self->GetBuffSlotFromType(type);
}
void Perl_Mob_MakePet(Mob* self, uint16 spell_id, const char* pet_type) // @categories Pet
{
self->MakePet(spell_id, pet_type);
}
void Perl_Mob_MakePet(Mob* self, uint16 spell_id, const char* pet_type, const char* name) // @categories Pet
{
self->MakePet(spell_id, pet_type, name);
}
void Perl_Mob_MakeTempPet(Mob* self, uint16 spell_id) // @categories Pet
{
self->TemporaryPets(spell_id, nullptr);
}
void Perl_Mob_MakeTempPet(Mob* self, uint16 spell_id, const char* name) // @categories Pet
{
self->TemporaryPets(spell_id, nullptr, name);
}
void Perl_Mob_MakeTempPet(Mob* self, uint16 spell_id, const char* name, uint32 duration) // @categories Pet
{
self->TemporaryPets(spell_id, nullptr, name, duration);
}
void Perl_Mob_MakeTempPet(Mob* self, uint16 spell_id, const char* name, uint32 duration, Mob* target) // @categories Pet
{
self->TemporaryPets(spell_id, target, name, duration);
}
void Perl_Mob_MakeTempPet(Mob* self, uint16 spell_id, const char* name, uint32 duration, Mob* target, bool sticktarg) // @categories Pet
{
self->TemporaryPets(spell_id, target, name, duration, true, sticktarg);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id) // @categories Pet
{
self->TypesTemporaryPets(type_id, nullptr);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id, const char* name) // @categories Pet
{
self->TypesTemporaryPets(type_id, nullptr, name);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id, const char* name, uint32 duration) // @categories Pet
{
self->TypesTemporaryPets(type_id, nullptr, name, duration);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id, const char* name, uint32 duration, bool follow) // @categories Pet
{
self->TypesTemporaryPets(type_id, nullptr, name, duration, follow);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id, const char* name, uint32 duration, bool follow, Mob* target) // @categories Pet
{
self->TypesTemporaryPets(type_id, target, name, duration, follow);
}
void Perl_Mob_TypesTempPet(Mob* self, uint32 type_id, const char* name, uint32 duration, bool follow, Mob* target, bool stick_targ) // @categories Pet
{
self->TypesTemporaryPets(type_id, target, name, duration, follow, stick_targ);
}
int Perl_Mob_GetBaseRace(Mob* self) // @categories Stats and Attributes
{
return self->GetBaseRace();
}
int Perl_Mob_GetBaseGender(Mob* self) // @categories Stats and Attributes
{
return self->GetBaseGender();
}
int Perl_Mob_GetDeity(Mob* self) // @categories Stats and Attributes
{
return self->GetDeity();
}
int Perl_Mob_GetRace(Mob* self) // @categories Stats and Attributes
{
return self->GetRace();
}
int Perl_Mob_GetGender(Mob* self) // @categories Stats and Attributes
{
return self->GetGender();
}
int Perl_Mob_GetTexture(Mob* self) // @categories Stats and Attributes
{
return self->GetTexture();
}
int Perl_Mob_GetHelmTexture(Mob* self) // @categories Stats and Attributes
{
return self->GetHelmTexture();
}
int Perl_Mob_GetHairColor(Mob* self) // @categories Stats and Attributes
{
return self->GetHairColor();
}
int Perl_Mob_GetBeardColor(Mob* self) // @categories Stats and Attributes
{
return self->GetBeardColor();
}
int Perl_Mob_GetEyeColor1(Mob* self) // @categories Stats and Attributes
{
return self->GetEyeColor1();
}
int Perl_Mob_GetEyeColor2(Mob* self) // @categories Stats and Attributes
{
return self->GetEyeColor2();
}
int Perl_Mob_GetHairStyle(Mob* self) // @categories Stats and Attributes
{
return self->GetHairStyle();
}
int Perl_Mob_GetLuclinFace(Mob* self) // @categories Stats and Attributes
{
return self->GetLuclinFace();
}
int Perl_Mob_GetBeard(Mob* self) // @categories Stats and Attributes
{
return self->GetBeard();
}
int Perl_Mob_GetDrakkinHeritage(Mob* self) // @categories Stats and Attributes
{
return self->GetDrakkinHeritage();
}
int Perl_Mob_GetDrakkinTattoo(Mob* self) // @categories Stats and Attributes
{
return self->GetDrakkinTattoo();
}
int Perl_Mob_GetDrakkinDetails(Mob* self) // @categories Stats and Attributes
{
return self->GetDrakkinDetails();
}
int Perl_Mob_GetClass(Mob* self) // @categories Stats and Attributes
{
return self->GetClass();
}
int Perl_Mob_GetLevel(Mob* self) // @categories Stats and Attributes
{
return self->GetLevel();
}
std::string Perl_Mob_GetCleanName(Mob* self) // @categories Script Utility
{
return self->GetCleanName();
}
Mob* Perl_Mob_GetTarget(Mob* self) // @categories Script Utility
{
return self->GetTarget();
}
void Perl_Mob_SetTarget(Mob* self, Mob* target) // @categories Script Utility
{
self->SetTarget(target);
}
float Perl_Mob_GetHPRatio(Mob* self) // @categories Stats and Attributes
{
return self->GetHPRatio();
}
bool Perl_Mob_IsWarriorClass(Mob* self) // @categories Script Utility
{
return self->IsWarriorClass();
}
int64_t Perl_Mob_GetHP(Mob* self) // @categories Stats and Attributes
{
return self->GetHP();
}
int64_t Perl_Mob_GetMaxHP(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxHP();
}
int64_t Perl_Mob_GetItemHPBonuses(Mob* self) // @categories Inventory and Items, Stats and Attributes
{
return self->GetItemHPBonuses();
}
int64_t Perl_Mob_GetSpellHPBonuses(Mob* self) // @categories Spells and Disciplines
{
return self->GetSpellHPBonuses();
}
int Perl_Mob_GetSpellIDFromSlot(Mob* self, uint8_t slot) // @categories Spells and Disciplines
{
return slot <= self->GetMaxBuffSlots() ? self->GetSpellIDFromSlot(slot) : -1;
}
int Perl_Mob_GetWalkspeed(Mob* self) // @categories Stats and Attributes
{
return self->GetWalkspeed();
}
int Perl_Mob_GetRunspeed(Mob* self) // @categories Stats and Attributes
{
return self->GetRunspeed();
}
int Perl_Mob_GetCasterLevel(Mob* self, uint16_t spell_id) // @categories Stats and Attributes
{
return self->GetCasterLevel(spell_id);
}
int64_t Perl_Mob_GetMaxMana(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxMana();
}
int64_t Perl_Mob_GetMana(Mob* self) // @categories Stats and Attributes
{
return self->GetMana();
}
int64_t Perl_Mob_SetMana(Mob* self, int64_t amount) // @categories Stats and Attributes
{
return self->SetMana(amount);
}
float Perl_Mob_GetManaRatio(Mob* self) // @categories Stats and Attributes
{
return self->GetManaRatio();
}
int Perl_Mob_GetAC(Mob* self) // @categories Stats and Attributes
{
return self->GetAC();
}
int Perl_Mob_GetDisplayAC(Mob* self)
{
return self->GetDisplayAC();
}
int Perl_Mob_GetATK(Mob* self) // @categories Stats and Attributes
{
return self->GetATK();
}
int Perl_Mob_GetSTR(Mob* self) // @categories Stats and Attributes
{
return self->GetSTR();
}
int Perl_Mob_GetSTA(Mob* self) // @categories Stats and Attributes
{
return self->GetSTA();
}
int Perl_Mob_GetDEX(Mob* self) // @categories Stats and Attributes
{
return self->GetDEX();
}
int Perl_Mob_GetAGI(Mob* self) // @categories Stats and Attributes
{
return self->GetAGI();
}
int Perl_Mob_GetINT(Mob* self) // @categories Stats and Attributes
{
return self->GetINT();
}
int Perl_Mob_GetWIS(Mob* self) // @categories Stats and Attributes
{
return self->GetWIS();
}
int Perl_Mob_GetCHA(Mob* self) // @categories Stats and Attributes
{
return self->GetCHA();
}
int Perl_Mob_GetMR(Mob* self) // @categories Stats and Attributes
{
return self->GetMR();
}
int Perl_Mob_GetFR(Mob* self) // @categories Stats and Attributes
{
return self->GetFR();
}
int Perl_Mob_GetDR(Mob* self) // @categories Stats and Attributes
{
return self->GetDR();
}
int Perl_Mob_GetPR(Mob* self) // @categories Stats and Attributes
{
return self->GetPR();
}
int Perl_Mob_GetCR(Mob* self) // @categories Stats and Attributes
{
return self->GetCR();
}
int Perl_Mob_GetCorruption(Mob* self) // @categories Stats and Attributes
{
return self->GetCorrup();
}
int Perl_Mob_GetPhR(Mob* self) // @categories Stats and Attributes
{
return self->GetPhR();
}
int Perl_Mob_GetMaxSTR(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxSTR();
}
int Perl_Mob_GetMaxSTA(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxSTA();
}
int Perl_Mob_GetMaxDEX(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxDEX();
}
int Perl_Mob_GetMaxAGI(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxAGI();
}
int Perl_Mob_GetMaxINT(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxINT();
}
int Perl_Mob_GetMaxWIS(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxWIS();
}
int Perl_Mob_GetMaxCHA(Mob* self) // @categories Stats and Attributes
{
return self->GetMaxCHA();
}
float Perl_Mob_GetActSpellRange(Mob* self, uint16 spell_id, float range) // @categories Spells and Disciplines
{
return self->GetActSpellRange(spell_id, range);
}
int64_t Perl_Mob_GetActSpellDamage(Mob* self, uint16 spell_id, int64 value) // @categories Spells and Disciplines
{
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);
}
int Perl_Mob_GetActSpellDuration(Mob* self, uint16 spell_id, int32 duration) // @categories Spells and Disciplines
{
return self->GetActSpellDuration(spell_id, duration);
}
int Perl_Mob_GetActSpellCasttime(Mob* self, uint16 spell_id, uint32 cast_time) // @categories Spells and Disciplines
{
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);
}
int Perl_Mob_GetSpecializeSkillValue(Mob* self, uint16 spell_id) // @categories Skills and Recipes, Spells and Disciplines
{
return self->GetSpecializeSkillValue(spell_id);
}
uint32_t Perl_Mob_GetNPCTypeID(Mob* self) // @categories Script Utility
{
return self->GetNPCTypeID();
}
bool Perl_Mob_IsTargeted(Mob* self) // @categories Script Utility
{
return self->IsTargeted();
}
float Perl_Mob_GetX(Mob* self) // @categories Script Utility
{
return self->GetX();
}
float Perl_Mob_GetY(Mob* self) // @categories Script Utility
{
return self->GetY();
}
float Perl_Mob_GetZ(Mob* self) // @categories Script Utility
{
return self->GetZ();
}
float Perl_Mob_GetHeading(Mob* self) // @categories Script Utility
{
return self->GetHeading();
}
float Perl_Mob_GetWaypointX(Mob* self) // @categories Script Utility
{
return self->GetCurrentWayPoint().x;
}
float Perl_Mob_GetWaypointY(Mob* self) // @categories Script Utility
{
return self->GetCurrentWayPoint().y;
}
float Perl_Mob_GetWaypointZ(Mob* self) // @categories Script Utility
{
return self->GetCurrentWayPoint().z;
}
float Perl_Mob_GetWaypointH(Mob* self) // @categories Script Utility
{
return self->GetCurrentWayPoint().w;
}
float Perl_Mob_GetWaypointPause(Mob* self) // @categories Script Utility
{
return self->GetCWPP();
}
int Perl_Mob_GetWaypointID(Mob* self) // @categories Script Utility
{
return self->GetCWP();
}
void Perl_Mob_SetCurrentWP(Mob* self, int waypoint) // @categories Script Utility
{
self->SetCurrentWP(waypoint);
}
float Perl_Mob_GetSize(Mob* self) // @categories Stats and Attributes
{
return self->GetSize();
}
void Perl_Mob_SetFollowID(Mob* self, uint32_t id) // @categories Script Utility
{
self->SetFollowID(id);
}
uint32_t Perl_Mob_GetFollowID(Mob* self) // @categories Script Utility
{
return self->GetFollowID();
}
void Perl_Mob_Message(Mob* self, uint32 type, const char* message) // @categories Script Utility
{
if (RuleB(Chat, QuestDialogueUsesDialogueWindow) && self->IsClient()) {
DialogueWindow::Render(self->CastToClient(), message);
}
else if (RuleB(Chat, AutoInjectSaylinksToClientMessage)) {
std::string new_message = EQ::SayLinkEngine::InjectSaylinksIfNotExist(message);
self->Message(type, new_message.c_str());
}
else {
self->Message(type, message);
}
}
void Perl_Mob_Message_StringID(Mob* self, uint32 type, uint32 string_id) // @categories Script Utility
{
self->MessageString(type, string_id);
}
void Perl_Mob_Message_StringID(Mob* self, uint32 type, uint32 string_id, uint32 distance) // @categories Script Utility
{
self->MessageString(type, string_id, distance);
}
void Perl_Mob_Say(Mob* self, const char* message) // @categories Script Utility
{
self->Say(message);
}
void Perl_Mob_Shout(Mob* self, const char* message) // @categories Script Utility
{
self->Shout(message);
}
void Perl_Mob_Emote(Mob* self, const char* message) // @categories Script Utility
{
self->Emote(message);
}
void Perl_Mob_InterruptSpell(Mob* self) // @categories Script Utility
{
self->InterruptSpell();
}
void Perl_Mob_InterruptSpell(Mob* self, uint16 spell_id) // @categories Script Utility
{
self->InterruptSpell(spell_id);
}
void Perl_Mob_CastSpell(Mob* self, uint16 spell_id, uint16 target_id) // @categories Spells and Disciplines
{
self->CastSpell(spell_id, target_id);
}
void Perl_Mob_CastSpell(Mob* self, uint16 spell_id, uint16 target_id, int slot) // @categories Spells and Disciplines
{
self->CastSpell(spell_id, target_id, static_cast<EQ::spells::CastingSlot>(slot));
}
void Perl_Mob_CastSpell(Mob* self, uint16 spell_id, uint16 target_id, int slot, int cast_time) // @categories Spells and Disciplines
{
self->CastSpell(spell_id, target_id, static_cast<EQ::spells::CastingSlot>(slot), cast_time);
}
void Perl_Mob_CastSpell(Mob* self, uint16 spell_id, uint16 target_id, int slot, int cast_time, int mana_cost) // @categories Spells and Disciplines
{
self->CastSpell(spell_id, target_id, static_cast<EQ::spells::CastingSlot>(slot), cast_time, mana_cost);
}
// args differ from lua api (item_slot, timer, timer_duration not supported)
void Perl_Mob_CastSpell(Mob* self, uint16 spell_id, uint16 target_id, int slot, int cast_time, int mana_cost, int16 resist_adjust) // @categories Spells and Disciplines
{
int16 res = resist_adjust;
self->CastSpell(spell_id, target_id, static_cast<EQ::spells::CastingSlot>(slot), cast_time, mana_cost, nullptr, 0xFFFFFFFF, 0xFFFFFFFF, 0, &res);
}
// these don't match lua api for default resist difficulty
void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id) // @categories Spells and Disciplines
{
self->SpellFinished(spell_id, self, EQ::spells::CastingSlot::Item, 0, -1, spells[spell_id].resist_difficulty);
}
void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target) // @categories Spells and Disciplines
{
self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, 0, -1, spells[spell_id].resist_difficulty);
}
void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, int32 mana_cost) // @categories Spells and Disciplines
{
self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, mana_cost, -1, spells[spell_id].resist_difficulty);
}
void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, int32 mana_cost, uint16 resist_diff) // @categories Spells and Disciplines
{
self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, mana_cost, -1, resist_diff);
}
bool Perl_Mob_IsImmuneToSpell(Mob* self, uint16 spell_id, Mob* caster) // @categories Spells and Disciplines, Script Utility
{
return self->IsImmuneToSpell(spell_id, caster);
}
void Perl_Mob_BuffFadeBySpellID(Mob* self, uint16 spell_id) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeBySpellID(spell_id);
}
void Perl_Mob_BuffFadeByEffect(Mob* self, int effect_id) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeByEffect(effect_id);
}
void Perl_Mob_BuffFadeByEffect(Mob* self, int effect_id, int skip_slot) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeByEffect(effect_id, skip_slot);
}
void Perl_Mob_BuffFadeAll(Mob* self) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeAll();
}
void Perl_Mob_BuffFadeBySlot(Mob* self, int slot) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeBySlot(slot);
}
void Perl_Mob_BuffFadeBySlot(Mob* self, int slot, bool recalc_bonuses) // @categories Script Utility, Spells and Disciplines
{
self->BuffFadeBySlot(slot, recalc_bonuses);
}
bool Perl_Mob_CanBuffStack(Mob* self, uint16 spell_id, uint8 caster_level) // @categories Script Utility, Spells and Disciplines
{
return self->CanBuffStack(spell_id, caster_level);
}
bool Perl_Mob_CanBuffStack(Mob* self, uint16 spell_id, uint8 caster_level, bool fail_if_overwritten) // @categories Script Utility, Spells and Disciplines
{
return self->CanBuffStack(spell_id, caster_level, fail_if_overwritten);
}
bool Perl_Mob_IsCasting(Mob* self) // @categories Script Utility
{
return self->IsCasting();
}
int Perl_Mob_CastingSpellID(Mob* self) // @categories Spells and Disciplines
{
return self->CastingSpellID();
}
void Perl_Mob_SetAppearance(Mob* self, int app) // @categories Stats and Attributes
{
self->SetAppearance(static_cast<EmuAppearance>(app));
}
void Perl_Mob_SetAppearance(Mob* self, int app, bool ignore_self) // @categories Stats and Attributes
{
self->SetAppearance(static_cast<EmuAppearance>(app), ignore_self);
}
int Perl_Mob_GetAppearance(Mob* self) // @categories Stats and Attributes
{
return self->GetAppearance();
}
int Perl_Mob_GetRunAnimSpeed(Mob* self) // @categories Stats and Attributes
{
return self->GetRunAnimSpeed();
}
void Perl_Mob_SetRunAnimSpeed(Mob* self, int8 speed) // @categories Stats and Attributes
{
self->SetRunAnimSpeed(speed);
}
void Perl_Mob_SetPetID(Mob* self, uint16 new_pet_id) // @categories Pet
{
self->SetPetID(new_pet_id);
}
Mob* Perl_Mob_GetPet(Mob* self) // @categories Script Utility, Pet
{
return self->GetPet();
}
int Perl_Mob_GetPetID(Mob* self) // @categories Script Utility, Pet
{
return self->GetPetID();
}
void Perl_Mob_SetOwnerID(Mob* self, uint16 new_owner_id) // @categories Pet
{
self->SetOwnerID(new_owner_id);
}
uint16 Perl_Mob_GetOwnerID(Mob* self) // @categories Script Utility, Pet
{
return self->GetOwnerID();
}
int Perl_Mob_GetPetType(Mob* self) // @categories Script Utility, Pet
{
return self->GetPetType();
}
int Perl_Mob_GetBodyType(Mob* self) // @categories Stats and Attributes
{
return self->GetBodyType();
}
void Perl_Mob_Stun(Mob* self, int duration)
{
self->Stun(duration);
}
void Perl_Mob_Spin(Mob* self) // @categories Script Utility
{
self->Spin();
}
void Perl_Mob_Kill(Mob* self) // @categories Script Utility
{
self->Kill();
}
void Perl_Mob_SetInvul(Mob* self, bool value) // @categories Script Utility
{
self->SetInvul(value);
}
bool Perl_Mob_GetInvul(Mob* self) // @categories Script Utility, Stats and Attributes
{
return self->GetInvul();
}
void Perl_Mob_SetExtraHaste(Mob* self, int haste) // @categories Script Utility, Stats and Attributes
{
self->SetExtraHaste(haste);
}
int Perl_Mob_GetHaste(Mob* self) // @categories Stats and Attributes
{
return self->GetHaste();
}
int Perl_Mob_GetHandToHandDamage(Mob* self) // @categories Stats and Attributes
{
return self->GetHandToHandDamage();
}
bool Perl_Mob_CanThisClassDoubleAttack(Mob* self) // @categories Skills and Recipes
{
return self->CanThisClassDoubleAttack();
}
bool Perl_Mob_CanThisClassDualWield(Mob* self) // @categories Skills and Recipes
{
return self->CanThisClassDualWield();
}
bool Perl_Mob_CanThisClassRiposte(Mob* self) // @categories Skills and Recipes
{
return self->CanThisClassRiposte();
}
bool Perl_Mob_CanThisClassDodge(Mob* self) // @categories Skills and Recipes
{
return self->CanThisClassDodge();
}
bool Perl_Mob_CanThisClassParry(Mob* self) // @categories Skills and Recipes
{
return self->CanThisClassParry();
}
int Perl_Mob_GetHandToHandDelay(Mob* self) // @categories Stats and Attributes
{
return self->GetHandToHandDelay();
}
int Perl_Mob_GetClassLevelFactor(Mob* self) // @categories Stats and Attributes
{
return self->GetClassLevelFactor();
}
void Perl_Mob_Mesmerize(Mob* self) // @categories Script Utility
{
self->Mesmerize();
}
bool Perl_Mob_IsMezzed(Mob* self) // @categories Script Utility
{
return self->IsMezzed();
}
bool Perl_Mob_IsStunned(Mob* self) // @categories Script Utility
{
return self->IsStunned();
}
void Perl_Mob_StartEnrage(Mob* self) // @categories Script Utility
{
self->StartEnrage();
}
bool Perl_Mob_IsEnraged(Mob* self) // @categories Script Utility
{
return self->IsEnraged();
}
int Perl_Mob_GetReverseFactionCon(Mob* self, Mob* other) // @categories Faction
{
return self->GetReverseFactionCon(other);
}
bool Perl_Mob_IsAIControlled(Mob* self) // @categories Script Utility
{
return self->IsAIControlled();
}
float Perl_Mob_GetAggroRange(Mob* self) // @categories Stats and Attributes, Hate and Aggro
{
return self->GetAggroRange();
}
float Perl_Mob_GetAssistRange(Mob* self) // @categories Stats and Attributes, Hate and Aggro
{
return self->GetAssistRange();
}
void Perl_Mob_SetPetOrder(Mob* self, int order) // @categories Pet
{
self->SetPetOrder(static_cast<Mob::eStandingPetOrder>(order));
}
int Perl_Mob_GetPetOrder(Mob* self) // @categories Script Utility, Pet
{
return self->GetPetOrder();
}
bool Perl_Mob_IsRoamer(Mob* self) // @categories Script Utility, Spawns
{
return self->IsRoamer();
}
bool Perl_Mob_IsRooted(Mob* self) // @categories Script Utility
{
return self->IsRooted();
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other) // @categories Hate and Aggro
{
self->AddToHateList(other);
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other, int64_t hate) // @categories Hate and Aggro
{
self->AddToHateList(other, hate);
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other, int64_t hate, int64_t damage) // @categories Hate and Aggro
{
self->AddToHateList(other, hate, damage);
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other, int64_t hate, int64_t damage, bool yell_for_help) // @categories Hate and Aggro
{
self->AddToHateList(other, hate, damage, yell_for_help);
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other, int64_t hate, int64_t damage, bool yell_for_help, bool frenzy) // @categories Hate and Aggro
{
self->AddToHateList(other, hate, damage, yell_for_help, frenzy);
}
void Perl_Mob_AddToHateList(Mob* self, Mob* other, int64_t hate, int64_t damage, bool yell_for_help, bool frenzy, bool buff_tic) // @categories Hate and Aggro
{
self->AddToHateList(other, hate, damage, yell_for_help, frenzy, buff_tic);
}
void Perl_Mob_SetHate(Mob* self, Mob* other) // @categories Hate and Aggro
{
self->SetHateAmountOnEnt(other);
}
void Perl_Mob_SetHate(Mob* self, Mob* other, int64_t hate) // @categories Hate and Aggro
{
self->SetHateAmountOnEnt(other, hate);
}
void Perl_Mob_SetHate(Mob* self, Mob* other, int64_t hate, int64_t damage) // @categories Hate and Aggro
{
self->SetHateAmountOnEnt(other, hate, damage);
}
void Perl_Mob_HalveAggro(Mob* self, Mob* other) // @categories Hate and Aggro
{
self->HalveAggro(other);
}
void Perl_Mob_DoubleAggro(Mob* self, Mob* other) // @categories Hate and Aggro
{
self->DoubleAggro(other);
}
int64_t Perl_Mob_GetHateAmount(Mob* self, Mob* target) // @categories Hate and Aggro
{
return self->GetHateAmount(target);
}
int64_t Perl_Mob_GetHateAmount(Mob* self, Mob* target, bool is_damage) // @categories Hate and Aggro
{
return self->GetHateAmount(target, is_damage);
}
int64_t Perl_Mob_GetDamageAmount(Mob* self, Mob* target) // @categories Stats and Attributes
{
return self->GetDamageAmount(target);
}
Mob* Perl_Mob_GetHateTop(Mob* self) // @categories Hate and Aggro
{
return self->GetHateTop();
}
Mob* Perl_Mob_GetHateDamageTop(Mob* self, Mob* other) // @categories Hate and Aggro
{
return self->GetHateDamageTop(other);
}
Mob* Perl_Mob_GetHateRandom(Mob* self) // @categories Hate and Aggro
{
return self->GetHateRandom();
}
bool Perl_Mob_IsEngaged(Mob* self) // @categories Script Utility
{
return self->IsEngaged();
}
bool Perl_Mob_HateSummon(Mob* self) // @categories Hate and Aggro
{
return self->HateSummon();
}
void Perl_Mob_FaceTarget(Mob* self) // @categories Script Utility
{
self->FaceTarget();
}
void Perl_Mob_FaceTarget(Mob* self, Mob* target) // @categories Script Utility
{
self->FaceTarget(target);
}
void Perl_Mob_SetHeading(Mob* self, float heading) // @categories Script Utility
{
self->SetHeading(heading);
}
void Perl_Mob_WipeHateList(Mob* self) // @categories Hate and Aggro
{
self->WipeHateList();
}
bool Perl_Mob_CheckAggro(Mob* self, Mob* other) // @categories Hate and Aggro
{
return self->CheckAggro(other);
}
float Perl_Mob_CalculateHeadingToTarget(Mob* self, float x, float y) // @categories Script Utility
{
return self->CalculateHeadingToTarget(x, y);
}
void Perl_Mob_RunTo(Mob* self, float x, float y, float z)
{
self->RunTo(x, y, z);
}
void Perl_Mob_WalkTo(Mob* self, float x, float y, float z)
{
self->WalkTo(x, y, z);
}
void Perl_Mob_NavigateTo(Mob* self, float x, float y, float z) // @categories Script Utility
{
self->NavigateTo(x, y, z);
}
void Perl_Mob_StopNavigation(Mob* self)
{
self->StopNavigation();
}
float Perl_Mob_CalculateDistance(Mob* self, float x, float y, float z) // @categories Script Utility
{
return self->CalculateDistance(x, y, z);
}
void Perl_Mob_SendTo(Mob* self, float new_x, float new_y, float new_z) // @categories Script Utility
{
self->SendTo(new_x, new_y, new_z);
}
void Perl_Mob_SendToFixZ(Mob* self, float new_x, float new_y, float new_z) // @categories Script Utility
{
self->SendToFixZ(new_x, new_y, new_z);
}
void Perl_Mob_NPCSpecialAttacks(Mob* self, const char* abilities_string, int perm_tag) // @categories Stats and Attributes
{
self->NPCSpecialAttacks(abilities_string, perm_tag);
}
void Perl_Mob_NPCSpecialAttacks(Mob* self, const char* abilities_string, int perm_tag, bool reset) // @categories Stats and Attributes
{
self->NPCSpecialAttacks(abilities_string, perm_tag, reset);
}
void Perl_Mob_NPCSpecialAttacks(Mob* self, const char* abilities_string, int perm_tag, bool reset, bool remove) // @categories Stats and Attributes
{
self->NPCSpecialAttacks(abilities_string, perm_tag, reset, remove);
}
uint32_t Perl_Mob_DontHealMeBefore(Mob* self) // @categories Script Utility
{
return self->DontHealMeBefore();
}
uint32_t Perl_Mob_DontBuffMeBefore(Mob* self) // @categories Script Utility
{
return self->DontBuffMeBefore();
}
uint32_t Perl_Mob_DontDotMeBefore(Mob* self) // @categories Script Utility
{
return self->DontDotMeBefore();
}
uint32_t Perl_Mob_DontRootMeBefore(Mob* self) // @categories Script Utility
{
return self->DontRootMeBefore();
}
uint32_t Perl_Mob_DontSnareMeBefore(Mob* self) // @categories Script Utility
{
return self->DontSnareMeBefore();
}
int Perl_Mob_GetResist(Mob* self, uint8_t type) // @categories Stats and Attributes
{
return self->GetResist(type);
}
bool Perl_Mob_Charmed(Mob* self) // @categories Script Utility
{
return self->Charmed();
}
uint32_t Perl_Mob_GetLevelHP(Mob* self, uint8 level) // @categories Stats and Attributes
{
return self->GetLevelHP(level);
}
uint32_t Perl_Mob_GetZoneID(Mob* self) // @categories Zones
{
return self->GetZoneID();
}
int Perl_Mob_CheckAggroAmount(Mob* self, uint16 spell_id) // @categories Hate and Aggro
{
return self->CheckAggroAmount(spell_id, nullptr);
}
int Perl_Mob_CheckHealAggroAmount(Mob* self, uint16 spell_id) // @categories Hate and Aggro
{
return self->CheckHealAggroAmount(spell_id, nullptr);
}
int Perl_Mob_CheckHealAggroAmount(Mob* self, uint16 spell_id, uint32 possible) // @categories Hate and Aggro
{
return self->CheckHealAggroAmount(spell_id, nullptr, possible);
}
uint32_t Perl_Mob_GetAA(Mob* self, uint32 rank_id) // @categories Alternative Advancement
{
return self->GetAA(rank_id);
}
uint32_t Perl_Mob_GetAAByAAID(Mob* self, uint32 aa_id) // @categories Alternative Advancement
{
return self->GetAAByAAID(aa_id);
}
bool Perl_Mob_SetAA(Mob* self, int aa_id, int points) // @categories Alternative Advancement, Script Utility
{
return self->SetAA(aa_id, points);
}
bool Perl_Mob_SetAA(Mob* self, int aa_id, int points, int charges) // @categories Alternative Advancement, Script Utility
{
return self->SetAA(aa_id, points, charges);
}
bool Perl_Mob_DivineAura(Mob* self) // @categories Spells and Disciplines
{
return self->DivineAura();
}
void Perl_Mob_AddFeignMemory(Mob* self, Client* attacker) // @categories Script Utility
{
self->AddFeignMemory(attacker);
}
void Perl_Mob_RemoveFromFeignMemory(Mob* self, Client* attacker) // @categories Script Utility, Hate and Aggro
{
self->RemoveFromFeignMemory(attacker);
}
void Perl_Mob_ClearFeignMemory(Mob* self) // @categories Script Utility, Hate and Aggro
{
self->ClearFeignMemory();
}
void Perl_Mob_SetOOCRegen(Mob* self, int64 new_ooc_regen) // @categories Stats and Attributes
{
self->SetOOCRegen(new_ooc_regen);
}
perl::array Perl_Mob_GetHateList(Mob* self)
{
perl::array result;
auto hate_list = self->GetHateList();
for (struct_HateList* entry : hate_list)
{
result.push_back(entry);
}
return result;
}
void Perl_Mob_SignalClient(Mob* self, Client* client, int signal_id) // @categories Script Utility
{
client->Signal(signal_id);
}
bool Perl_Mob_CombatRange(Mob* self, Mob* target) // @categories Script Utility
{
return self->CombatRange(target);
}
void Perl_Mob_DoSpecialAttackDamage(Mob* self, Mob* other, int skill, int max_damage) // @categories Script Utility, Skills and Attributes
{
self->DoSpecialAttackDamage(other, static_cast<EQ::skills::SkillType>(skill), max_damage);
}
void Perl_Mob_DoSpecialAttackDamage(Mob* self, Mob* other, int skill, int max_damage, int min_damage) // @categories Script Utility, Skills and Attributes
{
self->DoSpecialAttackDamage(other, static_cast<EQ::skills::SkillType>(skill), max_damage, min_damage);
}
void Perl_Mob_DoSpecialAttackDamage(Mob* self, Mob* other, int skill, int max_damage, int min_damage, int hate_override) // @categories Script Utility, Skills and Attributes
{
self->DoSpecialAttackDamage(other, static_cast<EQ::skills::SkillType>(skill), max_damage, min_damage, hate_override);
}
void Perl_Mob_DoSpecialAttackDamage(Mob* self, Mob* other, int skill, int max_damage, int min_damage, int hate_override, int reuse_time) // @categories Script Utility, Skills and Attributes
{
self->DoSpecialAttackDamage(other, static_cast<EQ::skills::SkillType>(skill), max_damage, min_damage, hate_override, reuse_time);
}
bool Perl_Mob_CheckLoS(Mob* self, Mob* other) // @categories Script Utility
{
return self->CheckLosFN(other);
}
bool Perl_Mob_CheckLoSToLoc(Mob* self, float x, float y, float z)
{
return self->CheckLosFN(x, y, z, 6.0f);
}
bool Perl_Mob_CheckLoSToLoc(Mob* self, float x, float y, float z, float mob_size) // @categories Script Utility
{
return self->CheckLosFN(x, y, z, mob_size);
}
float Perl_Mob_FindGroundZ(Mob* self, float x, float y)
{
return self->GetGroundZ(x, y);
}
float Perl_Mob_FindGroundZ(Mob* self, float x, float y, float z_offset) // @categories Script Utility
{
return self->GetGroundZ(x, y, z_offset);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow, float speed) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow, speed);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow, float speed, float angle) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow, speed, angle);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow, float speed, float angle, float tilt) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow, speed, angle, tilt);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow, float speed, float angle, float tilt, float arc) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow, speed, angle, tilt, arc);
}
void Perl_Mob_ProjectileAnim(Mob* self, Mob* to, int item_id, bool is_arrow, float speed, float angle, float tilt, float arc, const char* idfile) // @categories Script Utility
{
self->ProjectileAnimation(to, item_id, is_arrow, speed, angle, tilt, arc, idfile);
}
bool Perl_Mob_HasNPCSpecialAtk(Mob* self, const char* ability_string) // @categories Stats and Attributes
{
return self->HasNPCSpecialAtk(ability_string);
}
// todo: SendAppearanceEffect should be changed to use a table for arguments
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, 0, 0);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, 0);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get());
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3, uint32 ground3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3, ground3);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3, uint32 ground3, uint32 slot4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3, ground3, slot4);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3, uint32 ground3, uint32 slot4, uint32 ground4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3, ground3, slot4, ground4);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3, uint32 ground3, uint32 slot4, uint32 ground4, uint32 slot5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3, ground3, slot4, ground4, slot5);
}
void Perl_Mob_SendAppearanceEffect(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, perl::nullable<Client*> client, uint32 slot1, uint32 ground1, uint32 slot2, uint32 ground2, uint32 slot3, uint32 ground3, uint32 slot4, uint32 ground4, uint32 slot5, uint32 ground5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client.get(), slot1, ground1, slot2, ground2, slot3, ground3, slot4, ground4, slot5, ground5);
}
// todo: SendAppearanceEffectActor should be changed to use a table for arguments
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, 0, 0, 0, 0, nullptr, slot1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, 0, 0, 0, nullptr, slot1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, 0, 0, 0, nullptr, slot1, 0, slot2, 0, 0, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, 0, 0, nullptr, slot1, 0, slot2, 0, 0, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, 0, 0, nullptr, slot1, 0, slot2, 0, slot3, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3, int32 parm4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, 0, nullptr, slot1, 0, slot2, 0, slot3, 0, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3, int32 parm4, uint32 slot4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, 0, nullptr, slot1, 0, slot2, 0, slot3, 0, slot4, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3, int32 parm4, uint32 slot4, int32 parm5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, nullptr, slot1, 0, slot2, 0, slot3, 0, slot4, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3, int32 parm4, uint32 slot4, int32 parm5, uint32 slot5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, nullptr, slot1, 0, slot2, 0, slot3, 0, slot4, 0, slot5, 0);
}
void Perl_Mob_SendAppearanceEffectActor(Mob* self, int32 parm1, uint32 slot1, int32 parm2, uint32 slot2, int32 parm3, uint32 slot3, int32 parm4, uint32 slot4, int32 parm5, uint32 slot5, Client* client) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client, slot1, 0, slot2, 0, slot3, 0, slot4, 0, slot5, 0);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, 0, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1, int32 parm2) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, 0, 0, 0);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1, int32 parm2, int32 parm3) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, 0, 0);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, 0);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5);
}
void Perl_Mob_SendAppearanceEffectGround(Mob* self, int32 parm1, int32 parm2, int32 parm3, int32 parm4, int32 parm5, Client* client) // @categories Script Utility
{
self->SendAppearanceEffect(parm1, parm2, parm3, parm4, parm5, client);
}
void Perl_Mob_RemoveAllAppearanceEffects(Mob* self) // @categories Script Utility
{
self->SendIllusionPacket(self->GetRace(), self->GetGender(), self->GetTexture(), self->GetHelmTexture(),
self->GetHairColor(), self->GetBeardColor(), self->GetEyeColor1(), self->GetEyeColor2(),
self->GetHairStyle(), self->GetLuclinFace(), self->GetBeard(), 0xFF,
self->GetDrakkinHeritage(), self->GetDrakkinTattoo(), self->GetDrakkinDetails(), self->GetSize(), false);
self->ClearAppearenceEffects();
}
void Perl_Mob_SetFlyMode(Mob* self, int flymode) // @categories Script Utility
{
self->SetFlyMode(static_cast<GravityBehavior>(flymode));
}
void Perl_Mob_SetTexture(Mob* self, int32 texture) // @categories Stats and Attributes
{
self->SendIllusionPacket(self->GetRace(), 0xFF, texture);
}
void Perl_Mob_SetRace(Mob* self, int32 race) // @categories Stats and Attributes
{
self->SendIllusionPacket(race);
}
void Perl_Mob_SetGender(Mob* self, int32 gender) // @categories Stats and Attributes
{
self->SendIllusionPacket(self->GetRace(), gender);
}
// todo: SendIllusion should be sent in a hash like lua
void Perl_Mob_SendIllusion(Mob* self, uint16 race) // @categories Script Utility
{
self->SendIllusionPacket(race);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender) // @categories Script Utility
{
self->SendIllusionPacket(race, gender);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, face);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, 0xFF, 0xFF, 0xFF, 0xFF, hairstyle, face);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, 0xFF, 0xFF, 0xFF, hairstyle, face);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, 0xFF, 0xFF, 0xFF, hairstyle, face, beard);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor, uint32 drakkin_heritage) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard, 0xFF, drakkin_heritage);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor, uint32 drakkin_heritage, uint32 drakkin_tattoo) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard, 0xFF, drakkin_heritage, drakkin_tattoo);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard, 0xFF, drakkin_heritage, drakkin_tattoo, drakkin_details);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details, float size) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard, 0xFF, drakkin_heritage, drakkin_tattoo, drakkin_details, size);
}
void Perl_Mob_SendIllusion(Mob* self, uint16 race, uint8 gender, uint8 texture, uint8 helmtexture, uint8 face, uint8 hairstyle, uint8 haircolor, uint8 beard, uint8 beardcolor, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details, float size, Client* target) // @categories Script Utility
{
self->SendIllusionPacket(race, gender, texture, helmtexture, haircolor, beardcolor, 0xFF, 0xFF, hairstyle, face, beard, 0xFF, drakkin_heritage, drakkin_tattoo, drakkin_details, size, true, target);
}
void Perl_Mob_SendIllusionPacket(Mob* self, perl::reference table_ref)
{
perl::hash table = table_ref;
uint16 race = table.exists("race") ? table["race"] : self->GetRace();
uint8 gender = table.exists("gender") ? table["gender"] : self->GetGender();
uint8 texture = table.exists("texture") ? table["texture"] : self->GetTexture();
uint8 helmtexture = table.exists("helmtexture") ? table["helmtexture"] : self->GetHelmTexture();
uint8 haircolor = table.exists("haircolor") ? table["haircolor"] : self->GetHairColor();
uint8 beardcolor = table.exists("beardcolor") ? table["beardcolor"] : self->GetBeardColor();
uint8 eyecolor1 = table.exists("eyecolor1") ? table["eyecolor1"] : self->GetEyeColor1();
uint8 eyecolor2 = table.exists("eyecolor2") ? table["eyecolor2"] : self->GetEyeColor2();
uint8 hairstyle = table.exists("hairstyle") ? table["hairstyle"] : self->GetHairStyle();
uint8 luclinface = table.exists("luclinface") ? table["luclinface"] : self->GetLuclinFace();
uint8 beard = table.exists("beard") ? table["beard"] : self->GetBeard();
uint8 aa_title = table.exists("aa_title") ? table["aa_title"] : 255;
uint32 drakkin_heritage = table.exists("drakkin_heritage") ? table["drakkin_heritage"] : self->GetDrakkinHeritage();
uint32 drakkin_tattoo = table.exists("drakkin_tattoo") ? table["drakkin_tattoo"] : self->GetDrakkinTattoo();
uint32 drakkin_details = table.exists("drakkin_details") ? table["drakkin_details"] : self->GetDrakkinDetails();
float size = table.exists("size") ? table["size"] : self->GetSize();
bool send_appearance_effects = table.exists("send_appearance_effects") ? table["send_appearance_effects"] : true;
Client* target = table.exists("target") ? static_cast<Client *>(table["target"]) : nullptr;
self->SendIllusionPacket(
race,
gender,
texture,
helmtexture,
haircolor,
beardcolor,
eyecolor1,
eyecolor2,
hairstyle,
luclinface,
beard,
aa_title,
drakkin_heritage,
drakkin_tattoo,
drakkin_details,
size,
send_appearance_effects,
target
);
}
void Perl_Mob_CameraEffect(Mob* self, uint32 duration) // @categories Script Utility
{
self->CameraEffect(duration, 0.03125f);
}
void Perl_Mob_CameraEffect(Mob* self, uint32 duration, float intensity) // @categories Script Utility
{
self->CameraEffect(duration, intensity);
}
void Perl_Mob_CameraEffect(Mob* self, uint32 duration, float intensity, Client* client) // @categories Script Utility
{
self->CameraEffect(duration, intensity, client);
}
void Perl_Mob_CameraEffect(Mob* self, uint32 duration, float intensity, perl::nullable<Client*> client, bool global) // @categories Script Utility
{
self->CameraEffect(duration, intensity, client.get(), global);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, 5000, 0, true, 3000);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, 0, true, 3000);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, true, 3000);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, 3000);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide, uint32 unk20) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, unk20);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide, uint32 unk20, bool perm_effect) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide, uint32 unk20, bool perm_effect, Client* client) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide, uint32 unk20, bool perm_effect, perl::nullable<Client*> client, uint32 caster_id) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client.get(), caster_id);
}
void Perl_Mob_SpellEffect(Mob* self, uint32 effect, uint32 duration, uint32 finish_delay, bool zone_wide, uint32 unk20, bool perm_effect, perl::nullable<Client*> client, uint32 caster_id, uint32 target_id) // @categories Spells and Disciplines
{
self->SendSpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client.get(), caster_id, target_id);
}
void Perl_Mob_TempName(Mob* self) // @categories Script Utility
{
self->TempName();
}
void Perl_Mob_TempName(Mob* self, const char* name) // @categories Script Utility
{
self->TempName(name);
}
const int Perl_Mob_GetItemStat(Mob* self, uint32 item_id, std::string identifier) // @categories Inventory and Items, Stats and Attributes
{
return self->GetItemStat(item_id, identifier);
}
std::string Perl_Mob_GetGlobal(Mob* self, const char* varname)
{
return self->GetGlobal(varname);
}
void Perl_Mob_SetGlobal(Mob* self, const char* varname, const char* newvalue, int options, const char* duration)
{
self->SetGlobal(varname, newvalue, options, duration);
}
void Perl_Mob_SetGlobal(Mob* self, const char* varname, const char* newvalue, int options, const char* duration, Mob* other)
{
self->SetGlobal(varname, newvalue, options, duration, other);
}
void Perl_Mob_TarGlobal(Mob* self, const char* varname, const char* value, const char* duration, int npc_id, int char_id, int zone_id)
{
self->TarGlobal(varname, value, duration, npc_id, char_id, zone_id);
}
void Perl_Mob_DelGlobal(Mob* self, const char* var_name)
{
self->DelGlobal(var_name);
}
void Perl_Mob_SetSlotTint(Mob* self, uint8 material_slot, uint8 red_tint, uint8 green_tint, uint8 blue_tint) // @categories Stats and Attributes
{
self->SetSlotTint(material_slot, red_tint, green_tint, blue_tint);
}
void Perl_Mob_WearChange(Mob* self, uint8 material_slot, uint16 texture) // @categories Script Utility
{
self->WearChange(material_slot, texture);
}
void Perl_Mob_WearChange(Mob* self, uint8 material_slot, uint16 texture, uint32 color) // @categories Script Utility
{
self->WearChange(material_slot, texture, color);
}
void Perl_Mob_WearChange(Mob* self, uint8 material_slot, uint16 texture, uint32 color, uint32 hero_forge_model) // @categories Script Utility
{
self->WearChange(material_slot, texture, color, hero_forge_model);
}
void Perl_Mob_DoKnockback(Mob* self, Mob* caster, uint32 push_back, uint32 push_up) // @categories Script Utility
{
self->DoKnockback(caster, push_back, push_up);
}
void Perl_Mob_RemoveNimbusEffect(Mob* self, int effect_id) // @categories Script Utility
{
self->RemoveNimbusEffect(effect_id);
}
void Perl_Mob_SetRunning(Mob* self, bool value) // @categories Script Utility
{
self->SetRunning(value);
}
bool Perl_Mob_IsRunning(Mob* self) // @categories Script Utility
{
return self->IsRunning();
}
void Perl_Mob_SetBodyType(Mob* self, int32 type) // @categories Stats and Attributes
{
self->SetBodyType(static_cast<bodyType>(type), false);
}
void Perl_Mob_SetBodyType(Mob* self, int32 type, bool overwrite_orig) // @categories Stats and Attributes
{
self->SetBodyType(static_cast<bodyType>(type), overwrite_orig);
}
void Perl_Mob_SetDeltas(Mob* self, float delta_x, float delta_y, float delta_z, float delta_h) // @categories Script Utility
{
auto delta = glm::vec4(delta_x, delta_y, delta_z, delta_h);
self->SetDelta(delta);
}
void Perl_Mob_SetLD(Mob* self, bool value) // @categories Script Utility
{
self->SendAppearancePacket(AT_Linkdead, value);
}
void Perl_Mob_SetTargetable(Mob* self, bool on) // @categories Stats and Attributes
{
self->SetTargetable(on);
}
void Perl_Mob_ModSkillDmgTaken(Mob* self, int skill, int16 value) // @categories Skills and Recipes, Script Utility
{
self->ModSkillDmgTaken(static_cast<EQ::skills::SkillType>(skill), value);
}
int Perl_Mob_GetModSkillDmgTaken(Mob* self, int skill_id) // @categories Stats and Attributes
{
return self->GetModSkillDmgTaken(static_cast<EQ::skills::SkillType>(skill_id));
}
int Perl_Mob_GetSkillDmgTaken(Mob* self, int skill_id) // @categories Skills and Recipes, Script Utility
{
return self->GetSkillDmgTaken(static_cast<EQ::skills::SkillType>(skill_id));
}
void Perl_Mob_SetAllowBeneficial(Mob* self, bool value) // @categories Stats and Attributes
{
self->SetAllowBeneficial(value);
}
bool Perl_Mob_GetAllowBeneficial(Mob* self) // @categories Stats and Attributes
{
return self->GetAllowBeneficial();
}
bool Perl_Mob_IsBeneficialAllowed(Mob* self, Mob* target) // @categories Stats and Attributes
{
return self->IsBeneficialAllowed(target);
}
void Perl_Mob_ModVulnerability(Mob* self, uint8 resist, int16 value) // @categories Stats and Attributes
{
self->ModVulnerability(resist, value);
}
int Perl_Mob_GetModVulnerability(Mob* self, uint8 resist) // @categories Stats and Attributes
{
return self->GetModVulnerability(resist);
}
void Perl_Mob_DoMeleeSkillAttackDmg(Mob* self, Mob* target, uint16 weapon_damage, int skill, int16 chance_mod, int16 focus, uint8 can_riposte) // @categories Script Utility, Skills and Attributes
{
self->DoMeleeSkillAttackDmg(target, weapon_damage, static_cast<EQ::skills::SkillType>(skill), chance_mod, focus, can_riposte);
}
void Perl_Mob_DoArcheryAttackDmg(Mob* self, Mob* target, uint16 weapon_damage, int16 chance_mod, int16 focus) // @categories Script Utility, Skills and Attributes
{
self->DoArcheryAttackDmg(target, nullptr, nullptr, weapon_damage, chance_mod, focus);
}
void Perl_Mob_DoThrowingAttackDmg(Mob* self, Mob* target, uint16 weapon_damage, int16 chance_mod, int16 focus) // @categories Script Utility, Skills and Attributes
{
self->DoThrowingAttackDmg(target, nullptr, nullptr, weapon_damage, chance_mod, focus);
}
void Perl_Mob_SetDisableMelee(Mob* self, bool value) // @categories Script Utility, Stats and Attributes
{
self->SetDisableMelee(value);
}
bool Perl_Mob_IsMeleeDisabled(Mob* self) // @categories Stats and Attributes
{
return self->IsMeleeDisabled();
}
void Perl_Mob_SetFlurryChance(Mob* self, uint8 value) // @categories Stats and Attributes
{
self->SetFlurryChance(value);
}
int Perl_Mob_GetFlurryChance(Mob* self) // @categories Stats and Attributes
{
return self->GetFlurryChance();
}
int Perl_Mob_GetSpellStat(Mob* self, uint32 spell_id, const char* stat) // @categories Spells and Disciplines
{
return self->GetSpellStat(spell_id, stat);
}
int Perl_Mob_GetSpellStat(Mob* self, uint32 spell_id, const char* stat, uint8 slot) // @categories Spells and Disciplines
{
return self->GetSpellStat(spell_id, stat, slot);
}
int Perl_Mob_GetBuffStatValueBySpell(Mob* self, int spell_id, const char* stat) // @categories Spells and Disciplines
{
return self->GetBuffStatValueBySpell(spell_id, stat);
}
int Perl_Mob_GetBuffStatValueBySlot(Mob* self, uint8 slot, const char* stat)// @categories Script Utility, Spells and Disciplines
{
return self->GetBuffStatValueBySlot(slot, stat);
}
int Perl_Mob_GetSpecialAbility(Mob* self, int ability) // @categories Stats and Attributes
{
return self->GetSpecialAbility(ability);
}
int Perl_Mob_GetSpecialAbilityParam(Mob* self, int ability, int param) // @categories Stats and Attributes
{
return self->GetSpecialAbilityParam(ability, param);
}
void Perl_Mob_SetSpecialAbility(Mob* self, int ability, int value) // @categories Stats and Attributes
{
self->SetSpecialAbility(ability, value);
}
void Perl_Mob_SetSpecialAbilityParam(Mob* self, int ability, int param, int value) // @categories Stats and Attributes
{
self->SetSpecialAbilityParam(ability, param, value);
}
void Perl_Mob_ClearSpecialAbilities(Mob* self)// @categories Script Utility
{
self->ClearSpecialAbilities();
}
void Perl_Mob_ProcessSpecialAbilities(Mob* self, std::string str) // @categories Script Utility
{
self->ProcessSpecialAbilities(str);
}
bool Perl_Mob_CanClassEquipItem(Mob* self, uint32 item_id) // @categories Inventory and Items, Script Utility
{
return self->CanClassEquipItem(item_id);
}
bool Perl_Mob_IsFeared(Mob* self) // @categories Script Utility
{
return self->IsFeared();
}
bool Perl_Mob_IsBlind(Mob* self) // @categories Script Utility
{
return self->IsBlind();
}
int Perl_Mob_GetInvisibleLevel(Mob* self) // @categories Stats and Attributes
{
return self->GetInvisibleLevel();
}
int Perl_Mob_GetInvisibleUndeadLevel(Mob* self) // @categories Stats and Attributes
{
return self->GetInvisibleUndeadLevel();
}
int Perl_Mob_SeeInvisible(Mob* self) // @categories Stats and Attributes
{
return self->SeeInvisible();
}
int Perl_Mob_SeeInvisibleUndead(Mob* self) // @categories Stats and Attributes
{
return self->SeeInvisibleUndead();
}
bool Perl_Mob_SeeHide(Mob* self) // @categories Stats and Attributes
{
return self->SeeHide();
}
bool Perl_Mob_SeeImprovedHide(Mob* self) // @categories Stats and Attributes
{
return self->SeeImprovedHide();
}
int Perl_Mob_GetNimbusEffect1(Mob* self) // @categories Script Utility
{
return self->GetNimbusEffect1();
}
int Perl_Mob_GetNimbusEffect2(Mob* self) // @categories Script Utility
{
return self->GetNimbusEffect2();
}
int Perl_Mob_GetNimbusEffect3(Mob* self) // @categories Script Utility
{
return self->GetNimbusEffect3();
}
bool Perl_Mob_IsTargetable(Mob* self) // @categories Stats and Attributes
{
return self->IsTargetable();
}
bool Perl_Mob_HasShieldEquipped(Mob* self) // @categories Stats and Attributes
{
return self->HasShieldEquipped();
}
bool Perl_Mob_HasTwoHandBluntEquipped(Mob* self) // @categories Stats and Attributes
{
return self->HasTwoHandBluntEquipped();
}
bool Perl_Mob_HasTwoHanderEquipped(Mob* self) // @categories Stats and Attributes
{
return self->HasTwoHanderEquipped();
}
int32_t Perl_Mob_GetHerosForgeModel(Mob* self, uint8_t material_slot) // @categories Stats and Attributes
{
return self->GetHerosForgeModel(material_slot);
}
bool Perl_Mob_IsEliteMaterialItem(Mob* self, uint8_t material_slot) // @categories Script Utility, Stats and Attributes
{
return self->IsEliteMaterialItem(material_slot);
}
float Perl_Mob_GetBaseSize(Mob* self) // @categories Stats and Attributes
{
return self->GetBaseSize();
}
bool Perl_Mob_HasOwner(Mob* self) // @categories Pet
{
return self->HasOwner();
}
bool Perl_Mob_IsPet(Mob* self) // @categories Pet
{
return self->IsPet();
}
bool Perl_Mob_HasPet(Mob* self) // @categories Pet
{
return self->HasPet();
}
void Perl_Mob_RemovePet(Mob* self) // @categories Pet
{
self->SetPet(nullptr);
}
void Perl_Mob_SetPet(Mob* self, Mob* new_pet) // @categories Pet
{
self->SetPet(new_pet);
}
bool Perl_Mob_IsSilenced(Mob* self) // @categories Script Utility
{
return self->IsSilenced();
}
bool Perl_Mob_IsAmnesiad(Mob* self) // @categories Script Utility
{
return self->IsAmnesiad();
}
int32_t Perl_Mob_GetMeleeMitigation(Mob* self) // @categories Stats and Attributes
{
return self->GetMeleeMitigation();
}
void Perl_Mob_TryMoveAlong(Mob* self, float distance, float angle) // @categories Script Utility
{
self->TryMoveAlong(distance, angle);
}
void Perl_Mob_TryMoveAlong(Mob* self, float distance, float angle, bool send) // @categories Script Utility
{
self->TryMoveAlong(distance, angle, send);
}
std::string Perl_Mob_GetClassName(Mob* self)
{
return GetClassIDName(self->GetClass());
}
std::string Perl_Mob_GetRaceName(Mob* self)
{
return GetRaceIDName(self->GetRace());
}
void Perl_Mob_DeleteBucket(Mob* self, std::string bucket_name) // @categories Script Utility
{
self->DeleteBucket(bucket_name);
}
std::string Perl_Mob_GetBucket(Mob* self, std::string bucket_name) // @categories Script Utility
{
return self->GetBucket(bucket_name);
}
std::string Perl_Mob_GetBucketExpires(Mob* self, std::string bucket_name) // @categories Script Utility
{
return self->GetBucketExpires(bucket_name);
}
std::string Perl_Mob_GetBucketKey(Mob* self) // @categories Script Utility
{
return self->GetBucketKey();
}
std::string Perl_Mob_GetBucketRemaining(Mob* self, std::string bucket_name) // @categories Script Utility
{
return self->GetBucketRemaining(bucket_name);
}
void Perl_Mob_SetBucket(Mob* self, std::string bucket_name, std::string bucket_value) // @categories Script Utility
{
self->SetBucket(bucket_name, bucket_value);
}
void Perl_Mob_SetBucket(Mob* self, std::string bucket_name, std::string bucket_value, std::string expiration) // @categories Script Utility
{
self->SetBucket(bucket_name, bucket_value, expiration);
}
bool Perl_Mob_IsHorse(Mob* self) // @categories Script Utility
{
return self->IsHorse();
}
perl::array Perl_Mob_GetHateListByDistance(Mob* self) // @categories Hate and Aggro
{
perl::array result;
auto h_list = self->GetFilteredHateList();
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
perl::array Perl_Mob_GetHateListByDistance(Mob* self, uint32 distance) // @categories Hate and Aggro
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::All, distance);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
Mob* Perl_Mob_GetHateClosest(Mob* self) // @categories Hate and Aggro
{
return self->GetHateClosest();
}
Mob* Perl_Mob_GetHateClosest(Mob* self, bool skip_mezzed) // @categories Hate and Aggro
{
return self->GetHateClosest(skip_mezzed);
}
Bot* Perl_Mob_GetHateClosestBot(Mob* self) // @categories Hate and Aggro
{
return self->GetHateClosestBot();
}
Bot* Perl_Mob_GetHateClosestBot(Mob* self, bool skip_mezzed) // @categories Hate and Aggro
{
return self->GetHateClosestBot(skip_mezzed);
}
Client* Perl_Mob_GetHateClosestClient(Mob* self) // @categories Hate and Aggro
{
return self->GetHateClosestClient();
}
Client* Perl_Mob_GetHateClosestClient(Mob* self, bool skip_mezzed) // @categories Hate and Aggro
{
return self->GetHateClosestClient(skip_mezzed);
}
NPC* Perl_Mob_GetHateClosestNPC(Mob* self) // @categories Hate and Aggro
{
return self->GetHateClosestNPC();
}
NPC* Perl_Mob_GetHateClosestNPC(Mob* self, bool skip_mezzed) // @categories Hate and Aggro
{
return self->GetHateClosestNPC(skip_mezzed);
}
std::string Perl_Mob_GetLastName(Mob* self) // @categories Script Utility
{
return self->GetLastName();
}
bool Perl_Mob_CanRaceEquipItem(Mob* self, uint32 item_id) // @categories Inventory and Items, Script Utility
{
return self->CanRaceEquipItem(item_id);
}
void Perl_Mob_RemoveAllNimbusEffects(Mob* self) // @categories Script Utility
{
self->RemoveAllNimbusEffects();
}
void Perl_Mob_AddNimbusEffect(Mob* self, int effect_id) // @categories Script Utility
{
self->AddNimbusEffect(effect_id);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance, int32 shield_duration) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance, shield_duration);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance, int32 shield_duration, int32 shield_target_mitigation) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance, shield_duration, shield_target_mitigation);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance, int32 shield_duration, int32 shield_target_mitigation, int32 shielder_mitigation) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance, shield_duration, shield_target_mitigation, shielder_mitigation);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance, int32 shield_duration, int32 shield_target_mitigation, int32 shielder_mitigation, bool use_aa) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance, shield_duration, shield_target_mitigation, shielder_mitigation, use_aa);
}
void Perl_Mob_ShieldAbility(Mob* self, uint32 target_id, int32 shielder_max_distance, int32 shield_duration, int32 shield_target_mitigation, int32 shielder_mitigation, bool use_aa, bool can_shield_npc) // @categories Spells and Disciplines
{
self->ShieldAbility(target_id, shielder_max_distance, shield_duration, shield_target_mitigation, shielder_mitigation, use_aa, can_shield_npc);
}
Client* Perl_Mob_GetHateRandomClient(Mob* self) // @categories Hate and Aggro
{
return self->GetHateRandomClient();
}
NPC* Perl_Mob_GetHateRandomNPC(Mob* self) // @categories Hate and Aggro
{
return self->GetHateRandomNPC();
}
void Perl_Mob_SetBuffDuration(Mob* self, int spell_id) // @categories Script Utility, Spells and Disciplines
{
self->SetBuffDuration(spell_id);
}
void Perl_Mob_SetBuffDuration(Mob* self, int spell_id, int duration) // @categories Script Utility, Spells and Disciplines
{
self->SetBuffDuration(spell_id, duration);
}
void Perl_Mob_ApplySpellBuff(Mob* self, int spell_id) // @categories Script Utility, Spells and Disciplines
{
self->ApplySpellBuff(spell_id);
}
void Perl_Mob_ApplySpellBuff(Mob* self, int spell_id, int duration) // @categories Script Utility, Spells and Disciplines
{
self->ApplySpellBuff(spell_id, duration);
}
int Perl_Mob_GetSkillDmgAmt(Mob* self, int skill_id)
{
return self->GetSkillDmgAmt(skill_id);
}
Mob* Perl_Mob_GetUltimateOwner(Mob* self) // @categories Script Utility, Pet
{
return self->GetUltimateOwner();
}
bool Perl_Mob_RandomizeFeatures(Mob* self) // @categories Script Utility
{
return self->RandomizeFeatures();
}
bool Perl_Mob_RandomizeFeatures(Mob* self, bool send_illusion) // @categories Script Utility
{
return self->RandomizeFeatures(send_illusion);
}
bool Perl_Mob_RandomizeFeatures(Mob* self, bool send_illusion, bool save_variables) // @categories Script Utility
{
return self->RandomizeFeatures(send_illusion, save_variables);
}
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);
}
Mob* Perl_Mob_GetOwner(Mob* self) // @categories Script Utility, Pet
{
return self->GetOwner();
}
void Perl_Mob_DamageArea(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage);
}
void Perl_Mob_DamageArea(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::All);
}
void Perl_Mob_DamageAreaPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::All, true);
}
void Perl_Mob_DamageAreaPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::All, true);
}
void Perl_Mob_DamageAreaClients(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::Clients);
}
void Perl_Mob_DamageAreaClients(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::Clients);
}
void Perl_Mob_DamageAreaClientsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::Clients, true);
}
void Perl_Mob_DamageAreaClientsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::Clients, true);
}
void Perl_Mob_DamageAreaNPCs(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::NPCs);
}
void Perl_Mob_DamageAreaNPCs(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::NPCs);
}
void Perl_Mob_DamageAreaNPCsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::NPCs, true);
}
void Perl_Mob_DamageAreaNPCsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::NPCs, true);
}
void Perl_Mob_DamageHateList(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage);
}
void Perl_Mob_DamageHateList(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::All);
}
void Perl_Mob_DamageHateListPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::All, true);
}
void Perl_Mob_DamageHateListPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::All, true);
}
void Perl_Mob_DamageHateListClients(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::Clients);
}
void Perl_Mob_DamageHateListClients(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::Clients);
}
void Perl_Mob_DamageHateListClientsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::Clients, true);
}
void Perl_Mob_DamageHateListClientsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::Clients, true);
}
void Perl_Mob_DamageHateListNPCs(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::NPCs);
}
void Perl_Mob_DamageHateListNPCs(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::NPCs);
}
void Perl_Mob_DamageHateListNPCsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::NPCs, true);
}
void Perl_Mob_DamageHateListNPCsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::NPCs, true);
}
perl::array Perl_Mob_GetHateListClients(Mob* self)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::Clients);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
perl::array Perl_Mob_GetHateListClients(Mob* self, uint32 distance)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::Clients, distance);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
perl::array Perl_Mob_GetHateListNPCs(Mob* self)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::NPCs);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
perl::array Perl_Mob_GetHateListNPCs(Mob* self, uint32 distance)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::NPCs, distance);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
bool Perl_Mob_ClearEntityVariables(Mob* self) // @categories Script Utility
{
return self->ClearEntityVariables();
}
bool Perl_Mob_DeleteEntityVariable(Mob* self, std::string variable_name) // @categories Script Utility
{
return self->DeleteEntityVariable(variable_name);
}
bool Perl_Mob_EntityVariableExists(Mob* self, std::string variable_name) // @categories Script Utility
{
return self->EntityVariableExists(variable_name);
}
std::string Perl_Mob_GetEntityVariable(Mob* self, std::string variable_name) // @categories Script Utility
{
return self->GetEntityVariable(variable_name);
}
perl::array Perl_Mob_GetEntityVariables(Mob* self) // @categories Script Utility
{
perl::array a;
const auto& l = self->GetEntityVariables();
for (const auto& v : l) {
a.push_back(v);
}
return a;
}
void Perl_Mob_SetEntityVariable(Mob* self, std::string variable_name, std::string variable_value) // @categories Script Utility
{
self->SetEntityVariable(variable_name, variable_value);
}
void Perl_Mob_CopyHateList(Mob* self, Mob* to)
{
self->CopyHateList(to);
}
bool Perl_Mob_IsAttackAllowed(Mob* self, Mob* target)
{
return self->IsAttackAllowed(target);
}
bool Perl_Mob_IsAttackAllowed(Mob* self, Mob* target, bool is_spell_attack)
{
return self->IsAttackAllowed(target, is_spell_attack);
}
uint32 Perl_Mob_BuffCount(Mob* self) // @categories Script Utility, Spells and Disciplines
{
return self->BuffCount();
}
uint32 Perl_Mob_BuffCount(Mob* self, bool is_beneficial) // @categories Script Utility, Spells and Disciplines
{
return self->BuffCount(is_beneficial);
}
uint32 Perl_Mob_BuffCount(Mob* self, bool is_beneficial, bool is_detrimental) // @categories Script Utility, Spells and Disciplines
{
return self->BuffCount(is_beneficial, is_detrimental);
}
void Perl_Mob_DamageAreaBots(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::Bots);
}
void Perl_Mob_DamageAreaBots(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::Bots);
}
void Perl_Mob_DamageAreaBotsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageArea(damage, 0, EntityFilterType::Bots, true);
}
void Perl_Mob_DamageAreaBotsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageArea(damage, distance, EntityFilterType::Bots, true);
}
void Perl_Mob_DamageHateListBots(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::Bots);
}
void Perl_Mob_DamageHateListBots(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::Bots);
}
void Perl_Mob_DamageHateListBotsPercentage(Mob* self, int64 damage) // @categories Hate and Aggro
{
self->DamageHateList(damage, 0, EntityFilterType::Bots, true);
}
void Perl_Mob_DamageHateListBotsPercentage(Mob* self, int64 damage, uint32 distance) // @categories Hate and Aggro
{
self->DamageHateList(damage, distance, EntityFilterType::Bots, true);
}
perl::array Perl_Mob_GetHateListBots(Mob* self)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::Bots);
for (auto h : h_list) {
result.push_back(h);
}
return result;
}
perl::array Perl_Mob_GetHateListBots(Mob* self, uint32 distance)
{
perl::array result;
auto h_list = self->GetFilteredHateList(EntityFilterType::Bots, distance);
for (auto h : h_list)
{
result.push_back(h);
}
return result;
}
Bot* Perl_Mob_CastToBot(Mob* self)
{
return self->CastToBot();
}
Bot* Perl_Mob_GetHateRandomBot(Mob* self) // @categories Hate and Aggro
{
return self->GetHateRandomBot();
}
bool Perl_Mob_IsFindable(Mob* self) // @categories Script Utility
{
return self->IsFindable();
}
bool Perl_Mob_IsTrackable(Mob* self) // @categories Script Utility
{
return self->IsTrackable();
}
bool Perl_Mob_IsBerserk(Mob* self) // @categories Script Utility
{
return self->IsBerserk();
}
float Perl_Mob_GetDefaultRaceSize(Mob* self) // @categories Script Utility
{
return self->GetDefaultRaceSize();
}
float Perl_Mob_GetDefaultRaceSize(Mob* self, int race_id) // @categories Script Utility
{
return self->GetDefaultRaceSize(race_id);
}
float Perl_Mob_GetDefaultRaceSize(Mob* self, int race_id, int gender_id) // @categories Script Utility
{
return self->GetDefaultRaceSize(race_id, gender_id);
}
uint32 Perl_Mob_GetRemainingTimeMS(Mob* self, const char* timer_name)
{
return quest_manager.getremainingtimeMS(timer_name, self);
}
uint32 Perl_Mob_GetTimerDurationMS(Mob* self, const char* timer_name)
{
return quest_manager.gettimerdurationMS(timer_name, self);
}
bool Perl_Mob_HasTimer(Mob* self, const char* timer_name)
{
return quest_manager.hastimer(timer_name, self);
}
bool Perl_Mob_IsPausedTimer(Mob* self, const char* timer_name)
{
return quest_manager.ispausedtimer(timer_name, self);
}
void Perl_Mob_PauseTimer(Mob* self, const char* timer_name)
{
quest_manager.pausetimer(timer_name, self);
}
void Perl_Mob_ResumeTimer(Mob* self, const char* timer_name)
{
quest_manager.resumetimer(timer_name, self);
}
void Perl_Mob_SetTimer(Mob* self, const char* timer_name, int seconds)
{
quest_manager.settimer(timer_name, seconds, self);
}
void Perl_Mob_SetTimerMS(Mob* self, const char* timer_name, int milliseconds)
{
quest_manager.settimerMS(timer_name, milliseconds, self);
}
void Perl_Mob_StopAllTimers(Mob* self)
{
quest_manager.stopalltimers(self);
}
void Perl_Mob_StopTimer(Mob* self, const char* timer_name)
{
quest_manager.stoptimer(timer_name, self);
}
perl::array Perl_Mob_GetBuffSpellIDs(Mob* self)
{
perl::array l;
const auto& b = self->GetBuffSpellIDs();
for (const auto& e : b) {
l.push_back(e);
}
return l;
}
bool Perl_Mob_HasSpellEffect(Mob* self, int effect_id)
{
return self->HasSpellEffect(effect_id);
}
void perl_register_mob()
{
perl::interpreter perl(PERL_GET_THX);
auto package = perl.new_class<Mob>("Mob");
package.add("AddFeignMemory", &Perl_Mob_AddFeignMemory);
package.add("AddNimbusEffect", &Perl_Mob_AddNimbusEffect);
package.add("AddToHateList", (void(*)(Mob*, Mob*))&Perl_Mob_AddToHateList);
package.add("AddToHateList", (void(*)(Mob*, Mob*, int64_t))&Perl_Mob_AddToHateList);
package.add("AddToHateList", (void(*)(Mob*, Mob*, int64_t, int64_t))&Perl_Mob_AddToHateList);
package.add("AddToHateList", (void(*)(Mob*, Mob*, int64_t, int64_t, bool))&Perl_Mob_AddToHateList);
package.add("AddToHateList", (void(*)(Mob*, Mob*, int64_t, int64_t, bool, bool))&Perl_Mob_AddToHateList);
package.add("AddToHateList", (void(*)(Mob*, Mob*, int64_t, int64_t, bool, bool, bool))&Perl_Mob_AddToHateList);
package.add("ApplySpellBuff", (void(*)(Mob*, int))&Perl_Mob_ApplySpellBuff);
package.add("ApplySpellBuff", (void(*)(Mob*, int, int))&Perl_Mob_ApplySpellBuff);
package.add("Attack", (bool(*)(Mob*, Mob*))&Perl_Mob_Attack);
package.add("Attack", (bool(*)(Mob*, Mob*, int))&Perl_Mob_Attack);
package.add("Attack", (bool(*)(Mob*, Mob*, int, bool))&Perl_Mob_Attack);
package.add("BehindMob", (bool(*)(Mob*, Mob*))&Perl_Mob_BehindMob);
package.add("BehindMob", (bool(*)(Mob*, Mob*, float))&Perl_Mob_BehindMob);
package.add("BehindMob", (bool(*)(Mob*, Mob*, float, float))&Perl_Mob_BehindMob);
package.add("BuffCount", (uint32(*)(Mob*))&Perl_Mob_BuffCount);
package.add("BuffCount", (uint32(*)(Mob*, bool))&Perl_Mob_BuffCount);
package.add("BuffCount", (uint32(*)(Mob*, bool, bool))&Perl_Mob_BuffCount);
package.add("BuffFadeAll", &Perl_Mob_BuffFadeAll);
package.add("BuffFadeByEffect", (void(*)(Mob*, int))&Perl_Mob_BuffFadeByEffect);
package.add("BuffFadeByEffect", (void(*)(Mob*, int, int))&Perl_Mob_BuffFadeByEffect);
package.add("BuffFadeBySlot", (void(*)(Mob*, int))&Perl_Mob_BuffFadeBySlot);
package.add("BuffFadeBySlot", (void(*)(Mob*, int, bool))&Perl_Mob_BuffFadeBySlot);
package.add("BuffFadeBySpellID", &Perl_Mob_BuffFadeBySpellID);
package.add("CalculateDistance", &Perl_Mob_CalculateDistance);
package.add("CalculateHeadingToTarget", &Perl_Mob_CalculateHeadingToTarget);
package.add("CameraEffect", (void(*)(Mob*, uint32))&Perl_Mob_CameraEffect);
package.add("CameraEffect", (void(*)(Mob*, uint32, float))&Perl_Mob_CameraEffect);
package.add("CameraEffect", (void(*)(Mob*, uint32, float, Client*))&Perl_Mob_CameraEffect);
package.add("CameraEffect", (void(*)(Mob*, uint32, float, perl::nullable<Client*>, bool))&Perl_Mob_CameraEffect);
package.add("CanBuffStack", (bool(*)(Mob*, uint16, uint8))&Perl_Mob_CanBuffStack);
package.add("CanBuffStack", (bool(*)(Mob*, uint16, uint8, bool))&Perl_Mob_CanBuffStack);
package.add("CanClassEquipItem", &Perl_Mob_CanClassEquipItem);
package.add("CanRaceEquipItem", &Perl_Mob_CanRaceEquipItem);
package.add("CanThisClassDodge", &Perl_Mob_CanThisClassDodge);
package.add("CanThisClassDoubleAttack", &Perl_Mob_CanThisClassDoubleAttack);
package.add("CanThisClassDualWield", &Perl_Mob_CanThisClassDualWield);
package.add("CanThisClassParry", &Perl_Mob_CanThisClassParry);
package.add("CanThisClassRiposte", &Perl_Mob_CanThisClassRiposte);
package.add("CastSpell", (void(*)(Mob*, uint16, uint16))&Perl_Mob_CastSpell);
package.add("CastSpell", (void(*)(Mob*, uint16, uint16, int))&Perl_Mob_CastSpell);
package.add("CastSpell", (void(*)(Mob*, uint16, uint16, int, int))&Perl_Mob_CastSpell);
package.add("CastSpell", (void(*)(Mob*, uint16, uint16, int, int, int))&Perl_Mob_CastSpell);
package.add("CastSpell", (void(*)(Mob*, uint16, uint16, int, int, int, int16))&Perl_Mob_CastSpell);
package.add("CastToBot", &Perl_Mob_CastToBot);
package.add("CastToClient", &Perl_Mob_CastToClient);
package.add("CastToCorpse", &Perl_Mob_CastToCorpse);
package.add("CastToMob", &Perl_Mob_CastToMob);
package.add("CastToNPC", &Perl_Mob_CastToNPC);
package.add("CastingSpellID", &Perl_Mob_CastingSpellID);
package.add("ChangeSize", (void(*)(Mob*, float))&Perl_Mob_ChangeSize);
package.add("ChangeSize", (void(*)(Mob*, float, bool))&Perl_Mob_ChangeSize);
package.add("Charmed", &Perl_Mob_Charmed);
package.add("CheckAggro", &Perl_Mob_CheckAggro);
package.add("CheckAggroAmount", &Perl_Mob_CheckAggroAmount);
package.add("CheckHealAggroAmount", (int(*)(Mob*, uint16))&Perl_Mob_CheckHealAggroAmount);
package.add("CheckHealAggroAmount", (int(*)(Mob*, uint16, uint32))&Perl_Mob_CheckHealAggroAmount);
package.add("CheckLoS", &Perl_Mob_CheckLoS);
package.add("CheckLoSToLoc", (bool(*)(Mob*, float, float, float))&Perl_Mob_CheckLoSToLoc);
package.add("CheckLoSToLoc", (bool(*)(Mob*, float, float, float, float))&Perl_Mob_CheckLoSToLoc);
package.add("ClearEntityVariables", &Perl_Mob_ClearEntityVariables);
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("CopyHateList", &Perl_Mob_CopyHateList);
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);
package.add("Damage", (void(*)(Mob*, Mob*, int64, uint16_t, int, bool, int8_t))&Perl_Mob_Damage);
package.add("Damage", (void(*)(Mob*, Mob*, int64, uint16_t, int, bool, int8_t, bool))&Perl_Mob_Damage);
package.add("DamageArea", (void(*)(Mob*, int64))&Perl_Mob_DamageArea);
package.add("DamageArea", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageArea);
package.add("DamageAreaBots", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaBots);
package.add("DamageAreaBots", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaBots);
package.add("DamageAreaBotsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaBotsPercentage);
package.add("DamageAreaBotsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaBotsPercentage);
package.add("DamageAreaClients", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaClients);
package.add("DamageAreaClients", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaClients);
package.add("DamageAreaClientsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaClientsPercentage);
package.add("DamageAreaClientsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaClientsPercentage);
package.add("DamageAreaNPCs", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaNPCs);
package.add("DamageAreaNPCs", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaNPCs);
package.add("DamageAreaNPCsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaNPCsPercentage);
package.add("DamageAreaNPCsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaNPCsPercentage);
package.add("DamageAreaPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageAreaPercentage);
package.add("DamageAreaPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageAreaPercentage);
package.add("DamageHateList", (void(*)(Mob*, int64))&Perl_Mob_DamageHateList);
package.add("DamageHateList", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateList);
package.add("DamageHateListBots", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListBots);
package.add("DamageHateListBots", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListBots);
package.add("DamageHateListBotsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListBotsPercentage);
package.add("DamageHateListBotsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListBotsPercentage);
package.add("DamageHateListClients", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListClients);
package.add("DamageHateListClients", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListClients);
package.add("DamageHateListClientsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListClientsPercentage);
package.add("DamageHateListClientsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListClientsPercentage);
package.add("DamageHateListNPCs", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListNPCs);
package.add("DamageHateListNPCs", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListNPCs);
package.add("DamageHateListNPCsPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListNPCsPercentage);
package.add("DamageHateListNPCsPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListNPCsPercentage);
package.add("DamageHateListPercentage", (void(*)(Mob*, int64))&Perl_Mob_DamageHateListPercentage);
package.add("DamageHateListPercentage", (void(*)(Mob*, int64, uint32))&Perl_Mob_DamageHateListPercentage);
package.add("DelGlobal", &Perl_Mob_DelGlobal);
package.add("DeleteBucket", &Perl_Mob_DeleteBucket);
package.add("DeleteEntityVariable", &Perl_Mob_DeleteEntityVariable);
package.add("Depop", (void(*)(Mob*))&Perl_Mob_Depop);
package.add("Depop", (void(*)(Mob*, bool))&Perl_Mob_Depop);
package.add("DivineAura", &Perl_Mob_DivineAura);
package.add("DoAnim", (void(*)(Mob*, int))&Perl_Mob_DoAnim);
package.add("DoAnim", (void(*)(Mob*, int, int))&Perl_Mob_DoAnim);
package.add("DoAnim", (void(*)(Mob*, int, int, bool))&Perl_Mob_DoAnim);
package.add("DoAnim", (void(*)(Mob*, int, int, bool, int))&Perl_Mob_DoAnim);
package.add("DoArcheryAttackDmg", &Perl_Mob_DoArcheryAttackDmg);
package.add("DoKnockback", &Perl_Mob_DoKnockback);
package.add("DoMeleeSkillAttackDmg", &Perl_Mob_DoMeleeSkillAttackDmg);
package.add("DoSpecialAttackDamage", (void(*)(Mob*, Mob*, int, int))&Perl_Mob_DoSpecialAttackDamage);
package.add("DoSpecialAttackDamage", (void(*)(Mob*, Mob*, int, int, int))&Perl_Mob_DoSpecialAttackDamage);
package.add("DoSpecialAttackDamage", (void(*)(Mob*, Mob*, int, int, int, int))&Perl_Mob_DoSpecialAttackDamage);
package.add("DoSpecialAttackDamage", (void(*)(Mob*, Mob*, int, int, int, int, int))&Perl_Mob_DoSpecialAttackDamage);
package.add("DoThrowingAttackDmg", &Perl_Mob_DoThrowingAttackDmg);
package.add("DontBuffMeBefore", &Perl_Mob_DontBuffMeBefore);
package.add("DontDotMeBefore", &Perl_Mob_DontDotMeBefore);
package.add("DontHealMeBefore", &Perl_Mob_DontHealMeBefore);
package.add("DontRootMeBefore", &Perl_Mob_DontRootMeBefore);
package.add("DontSnareMeBefore", &Perl_Mob_DontSnareMeBefore);
package.add("DoubleAggro", &Perl_Mob_DoubleAggro);
package.add("Emote", &Perl_Mob_Emote);
package.add("EntityVariableExists", &Perl_Mob_EntityVariableExists);
package.add("FaceTarget", (void(*)(Mob*))&Perl_Mob_FaceTarget);
package.add("FaceTarget", (void(*)(Mob*, Mob*))&Perl_Mob_FaceTarget);
package.add("FindBuff", &Perl_Mob_FindBuff);
package.add("FindBuffBySlot", &Perl_Mob_FindBuffBySlot);
package.add("FindGroundZ", (float(*)(Mob*, float, float))&Perl_Mob_FindGroundZ);
package.add("FindGroundZ", (float(*)(Mob*, float, float, float))&Perl_Mob_FindGroundZ);
package.add("FindType", (bool(*)(Mob*, uint16_t))&Perl_Mob_FindType);
package.add("FindType", (bool(*)(Mob*, uint16_t, bool))&Perl_Mob_FindType);
package.add("FindType", (bool(*)(Mob*, uint16_t, bool, uint16_t))&Perl_Mob_FindType);
package.add("GMMove", (void(*)(Mob*, float, float, float))&Perl_Mob_GMMove);
package.add("GMMove", (void(*)(Mob*, float, float, float, float))&Perl_Mob_GMMove);
package.add("Gate", &Perl_Mob_Gate);
package.add("GetAA", &Perl_Mob_GetAA);
package.add("GetAAByAAID", &Perl_Mob_GetAAByAAID);
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", (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", (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);
package.add("GetAppearance", &Perl_Mob_GetAppearance);
package.add("GetArmorTint", &Perl_Mob_GetArmorTint);
package.add("GetAssistRange", &Perl_Mob_GetAssistRange);
package.add("GetBaseGender", &Perl_Mob_GetBaseGender);
package.add("GetBaseRace", &Perl_Mob_GetBaseRace);
package.add("GetBaseSize", &Perl_Mob_GetBaseSize);
package.add("GetBeard", &Perl_Mob_GetBeard);
package.add("GetBeardColor", &Perl_Mob_GetBeardColor);
package.add("GetBodyType", &Perl_Mob_GetBodyType);
package.add("GetBucket", &Perl_Mob_GetBucket);
package.add("GetBucketExpires", &Perl_Mob_GetBucketExpires);
package.add("GetBucketKey", &Perl_Mob_GetBucketKey);
package.add("GetBucketRemaining", &Perl_Mob_GetBucketRemaining);
package.add("GetBuffSlotFromType", &Perl_Mob_GetBuffSlotFromType);
package.add("GetBuffSpellIDs", &Perl_Mob_GetBuffSpellIDs);
package.add("GetBuffStatValueBySpell", &Perl_Mob_GetBuffStatValueBySpell);
package.add("GetBuffStatValueBySlot", &Perl_Mob_GetBuffStatValueBySlot);
package.add("GetCHA", &Perl_Mob_GetCHA);
package.add("GetCR", &Perl_Mob_GetCR);
package.add("GetCasterLevel", &Perl_Mob_GetCasterLevel);
package.add("GetClass", &Perl_Mob_GetClass);
package.add("GetClassLevelFactor", &Perl_Mob_GetClassLevelFactor);
package.add("GetClassName", &Perl_Mob_GetClassName);
package.add("GetCleanName", &Perl_Mob_GetCleanName);
package.add("GetCorruption", &Perl_Mob_GetCorruption);
package.add("GetDefaultRaceSize", (float(*)(Mob*))&Perl_Mob_GetDefaultRaceSize);
package.add("GetDefaultRaceSize", (float(*)(Mob*, int))&Perl_Mob_GetDefaultRaceSize);
package.add("GetDefaultRaceSize", (float(*)(Mob*, int, int))&Perl_Mob_GetDefaultRaceSize);
package.add("GetDEX", &Perl_Mob_GetDEX);
package.add("GetDR", &Perl_Mob_GetDR);
package.add("GetDamageAmount", &Perl_Mob_GetDamageAmount);
package.add("GetDeity", &Perl_Mob_GetDeity);
package.add("GetDisplayAC", &Perl_Mob_GetDisplayAC);
package.add("GetDrakkinDetails", &Perl_Mob_GetDrakkinDetails);
package.add("GetDrakkinHeritage", &Perl_Mob_GetDrakkinHeritage);
package.add("GetDrakkinTattoo", &Perl_Mob_GetDrakkinTattoo);
package.add("GetEntityVariable", &Perl_Mob_GetEntityVariable);
package.add("GetEntityVariables", &Perl_Mob_GetEntityVariables);
package.add("GetEquipment", &Perl_Mob_GetEquipment);
package.add("GetEquipmentColor", &Perl_Mob_GetEquipmentColor);
package.add("GetEquipmentMaterial", &Perl_Mob_GetEquipmentMaterial);
package.add("GetEyeColor1", &Perl_Mob_GetEyeColor1);
package.add("GetEyeColor2", &Perl_Mob_GetEyeColor2);
package.add("GetFR", &Perl_Mob_GetFR);
package.add("GetFlurryChance", &Perl_Mob_GetFlurryChance);
package.add("GetFollowID", &Perl_Mob_GetFollowID);
package.add("GetGender", &Perl_Mob_GetGender);
package.add("GetGlobal", &Perl_Mob_GetGlobal);
package.add("GetHP", &Perl_Mob_GetHP);
package.add("GetHPRatio", &Perl_Mob_GetHPRatio);
package.add("GetHairColor", &Perl_Mob_GetHairColor);
package.add("GetHairStyle", &Perl_Mob_GetHairStyle);
package.add("GetHandToHandDamage", &Perl_Mob_GetHandToHandDamage);
package.add("GetHandToHandDelay", &Perl_Mob_GetHandToHandDelay);
package.add("GetHaste", &Perl_Mob_GetHaste);
package.add("GetHateAmount", (int64_t(*)(Mob*, Mob*))&Perl_Mob_GetHateAmount);
package.add("GetHateAmount", (int64_t(*)(Mob*, Mob*, bool))&Perl_Mob_GetHateAmount);
package.add("GetHateClosest", (Mob*(*)(Mob*))&Perl_Mob_GetHateClosest);
package.add("GetHateClosest", (Mob*(*)(Mob*, bool))&Perl_Mob_GetHateClosest);
package.add("GetHateClosestBot", (Bot*(*)(Mob*))&Perl_Mob_GetHateClosestBot);
package.add("GetHateClosestBot", (Bot*(*)(Mob*, bool))&Perl_Mob_GetHateClosestBot);
package.add("GetHateClosestClient", (Client*(*)(Mob*))&Perl_Mob_GetHateClosestClient);
package.add("GetHateClosestClient", (Client*(*)(Mob*, bool))&Perl_Mob_GetHateClosestClient);
package.add("GetHateClosestNPC", (NPC*(*)(Mob*))&Perl_Mob_GetHateClosestNPC);
package.add("GetHateClosestNPC", (NPC*(*)(Mob*, bool))&Perl_Mob_GetHateClosestNPC);
package.add("GetHateDamageTop", &Perl_Mob_GetHateDamageTop);
package.add("GetHateList", &Perl_Mob_GetHateList);
package.add("GetHateListBots", (perl::array(*)(Mob*))&Perl_Mob_GetHateListBots);
package.add("GetHateListBots", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListBots);
package.add("GetHateListClients", (perl::array(*)(Mob*))&Perl_Mob_GetHateListClients);
package.add("GetHateListClients", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListClients);
package.add("GetHateListNPCs", (perl::array(*)(Mob*))&Perl_Mob_GetHateListNPCs);
package.add("GetHateListNPCs", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListNPCs);
package.add("GetHateListByDistance", (perl::array(*)(Mob*))&Perl_Mob_GetHateListByDistance);
package.add("GetHateListByDistance", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListByDistance);
package.add("GetHateRandom", &Perl_Mob_GetHateRandom);
package.add("GetHateRandomBot", &Perl_Mob_GetHateRandomBot);
package.add("GetHateRandomClient", &Perl_Mob_GetHateRandomClient);
package.add("GetHateRandomNPC", &Perl_Mob_GetHateRandomNPC);
package.add("GetHateTop", &Perl_Mob_GetHateTop);
package.add("GetHeading", &Perl_Mob_GetHeading);
package.add("GetHelmTexture", &Perl_Mob_GetHelmTexture);
package.add("GetHerosForgeModel", &Perl_Mob_GetHerosForgeModel);
package.add("GetID", &Perl_Mob_GetID);
package.add("GetINT", &Perl_Mob_GetINT);
package.add("GetInvisibleLevel", &Perl_Mob_GetInvisibleLevel);
package.add("GetInvisibleUndeadLevel", &Perl_Mob_GetInvisibleUndeadLevel);
package.add("GetInvul", &Perl_Mob_GetInvul);
package.add("GetItemHPBonuses", &Perl_Mob_GetItemHPBonuses);
package.add("GetItemStat", &Perl_Mob_GetItemStat);
package.add("GetLastName", &Perl_Mob_GetLastName);
package.add("GetLevel", &Perl_Mob_GetLevel);
package.add("GetLevelCon", &Perl_Mob_GetLevelCon);
package.add("GetLevelHP", &Perl_Mob_GetLevelHP);
package.add("GetLuclinFace", &Perl_Mob_GetLuclinFace);
package.add("GetMR", &Perl_Mob_GetMR);
package.add("GetMana", &Perl_Mob_GetMana);
package.add("GetManaRatio", &Perl_Mob_GetManaRatio);
package.add("GetMaxAGI", &Perl_Mob_GetMaxAGI);
package.add("GetMaxCHA", &Perl_Mob_GetMaxCHA);
package.add("GetMaxDEX", &Perl_Mob_GetMaxDEX);
package.add("GetMaxHP", &Perl_Mob_GetMaxHP);
package.add("GetMaxINT", &Perl_Mob_GetMaxINT);
package.add("GetMaxMana", &Perl_Mob_GetMaxMana);
package.add("GetMaxSTA", &Perl_Mob_GetMaxSTA);
package.add("GetMaxSTR", &Perl_Mob_GetMaxSTR);
package.add("GetMaxWIS", &Perl_Mob_GetMaxWIS);
package.add("GetMeleeMitigation", &Perl_Mob_GetMeleeMitigation);
package.add("GetModSkillDmgTaken", &Perl_Mob_GetModSkillDmgTaken);
package.add("GetModVulnerability", &Perl_Mob_GetModVulnerability);
package.add("GetNPCTypeID", &Perl_Mob_GetNPCTypeID);
package.add("GetName", &Perl_Mob_GetName);
package.add("GetNimbusEffect1", &Perl_Mob_GetNimbusEffect1);
package.add("GetNimbusEffect2", &Perl_Mob_GetNimbusEffect2);
package.add("GetNimbusEffect3", &Perl_Mob_GetNimbusEffect3);
package.add("GetOwner", &Perl_Mob_GetOwner);
package.add("GetOwnerID", &Perl_Mob_GetOwnerID);
package.add("GetPR", &Perl_Mob_GetPR);
package.add("GetPet", &Perl_Mob_GetPet);
package.add("GetPetID", &Perl_Mob_GetPetID);
package.add("GetPetOrder", &Perl_Mob_GetPetOrder);
package.add("GetPetType", &Perl_Mob_GetPetType);
package.add("GetPhR", &Perl_Mob_GetPhR);
package.add("GetRace", &Perl_Mob_GetRace);
package.add("GetRaceName", &Perl_Mob_GetRaceName);
package.add("GetRemainingTimeMS", &Perl_Mob_GetRemainingTimeMS);
package.add("GetResist", &Perl_Mob_GetResist);
package.add("GetReverseFactionCon", &Perl_Mob_GetReverseFactionCon);
package.add("GetRunAnimSpeed", &Perl_Mob_GetRunAnimSpeed);
package.add("GetRunspeed", &Perl_Mob_GetRunspeed);
package.add("GetSTA", &Perl_Mob_GetSTA);
package.add("GetSTR", &Perl_Mob_GetSTR);
package.add("GetSize", &Perl_Mob_GetSize);
package.add("GetSkill", &Perl_Mob_GetSkill);
package.add("GetSkillDmgAmt", &Perl_Mob_GetSkillDmgAmt);
package.add("GetSkillDmgTaken", &Perl_Mob_GetSkillDmgTaken);
package.add("GetSpecialAbility", &Perl_Mob_GetSpecialAbility);
package.add("GetSpecialAbilityParam", &Perl_Mob_GetSpecialAbilityParam);
package.add("GetSpecializeSkillValue", &Perl_Mob_GetSpecializeSkillValue);
package.add("GetSpellHPBonuses", &Perl_Mob_GetSpellHPBonuses);
package.add("GetSpellIDFromSlot", &Perl_Mob_GetSpellIDFromSlot);
package.add("GetSpellStat", (int(*)(Mob*, uint32, const char*))&Perl_Mob_GetSpellStat);
package.add("GetSpellStat", (int(*)(Mob*, uint32, const char*, uint8))&Perl_Mob_GetSpellStat);
package.add("GetTarget", &Perl_Mob_GetTarget);
package.add("GetTexture", &Perl_Mob_GetTexture);
package.add("GetTimerDurationMS", &Perl_Mob_GetTimerDurationMS);
package.add("GetUltimateOwner", &Perl_Mob_GetUltimateOwner);
package.add("GetWIS", &Perl_Mob_GetWIS);
package.add("GetWalkspeed", &Perl_Mob_GetWalkspeed);
package.add("GetWaypointH", &Perl_Mob_GetWaypointH);
package.add("GetWaypointID", &Perl_Mob_GetWaypointID);
package.add("GetWaypointPause", &Perl_Mob_GetWaypointPause);
package.add("GetWaypointX", &Perl_Mob_GetWaypointX);
package.add("GetWaypointY", &Perl_Mob_GetWaypointY);
package.add("GetWaypointZ", &Perl_Mob_GetWaypointZ);
package.add("GetX", &Perl_Mob_GetX);
package.add("GetY", &Perl_Mob_GetY);
package.add("GetZ", &Perl_Mob_GetZ);
package.add("GetZoneID", &Perl_Mob_GetZoneID);
package.add("GoToBind", &Perl_Mob_GoToBind);
package.add("HalveAggro", &Perl_Mob_HalveAggro);
package.add("HasNPCSpecialAtk", &Perl_Mob_HasNPCSpecialAtk);
package.add("HasOwner", &Perl_Mob_HasOwner);
package.add("HasPet", &Perl_Mob_HasPet);
package.add("HasProcs", &Perl_Mob_HasProcs);
package.add("HasShieldEquipped", &Perl_Mob_HasShieldEquipped);
package.add("HasSpellEffect", &Perl_Mob_HasSpellEffect);
package.add("HasTimer", &Perl_Mob_HasTimer);
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("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);
package.add("InterruptSpell", (void(*)(Mob*, uint16))&Perl_Mob_InterruptSpell);
package.add("IsAIControlled", &Perl_Mob_IsAIControlled);
package.add("IsAmnesiad", &Perl_Mob_IsAmnesiad);
package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*))&Perl_Mob_IsAttackAllowed);
package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*, bool))&Perl_Mob_IsAttackAllowed);
package.add("IsBeacon", &Perl_Mob_IsBeacon);
package.add("IsBeneficialAllowed", &Perl_Mob_IsBeneficialAllowed);
package.add("IsBerserk", &Perl_Mob_IsBerserk);
package.add("IsBlind", &Perl_Mob_IsBlind);
package.add("IsBot", &Perl_Mob_IsBot);
package.add("IsCasting", &Perl_Mob_IsCasting);
package.add("IsClient", &Perl_Mob_IsClient);
package.add("IsCorpse", &Perl_Mob_IsCorpse);
package.add("IsDoor", &Perl_Mob_IsDoor);
package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem);
package.add("IsEngaged", &Perl_Mob_IsEngaged);
package.add("IsEnraged", &Perl_Mob_IsEnraged);
package.add("IsFeared", &Perl_Mob_IsFeared);
package.add("IsFindable", &Perl_Mob_IsFindable);
package.add("IsHorse", &Perl_Mob_IsHorse);
package.add("IsImmuneToSpell", &Perl_Mob_IsImmuneToSpell);
package.add("IsInvisible", (bool(*)(Mob*))&Perl_Mob_IsInvisible);
package.add("IsInvisible", (bool(*)(Mob*, Mob*))&Perl_Mob_IsInvisible);
package.add("IsMeleeDisabled", &Perl_Mob_IsMeleeDisabled);
package.add("IsMezzed", &Perl_Mob_IsMezzed);
package.add("IsMob", &Perl_Mob_IsMob);
package.add("IsMoving", &Perl_Mob_IsMoving);
package.add("IsNPC", &Perl_Mob_IsNPC);
package.add("IsNPCCorpse", &Perl_Mob_IsNPCCorpse);
package.add("IsObject", &Perl_Mob_IsObject);
package.add("IsPausedTimer", &Perl_Mob_IsPausedTimer);
package.add("IsPet", &Perl_Mob_IsPet);
package.add("IsPlayerCorpse", &Perl_Mob_IsPlayerCorpse);
package.add("IsRoamer", &Perl_Mob_IsRoamer);
package.add("IsRooted", &Perl_Mob_IsRooted);
package.add("IsRunning", &Perl_Mob_IsRunning);
package.add("IsSilenced", &Perl_Mob_IsSilenced);
package.add("IsStunned", &Perl_Mob_IsStunned);
package.add("IsTargetable", &Perl_Mob_IsTargetable);
package.add("IsTargeted", &Perl_Mob_IsTargeted);
package.add("IsTrackable", &Perl_Mob_IsTrackable);
package.add("IsTrap", &Perl_Mob_IsTrap);
package.add("IsWarriorClass", &Perl_Mob_IsWarriorClass);
package.add("Kill", &Perl_Mob_Kill);
package.add("MakePet", (void(*)(Mob*, uint16, const char*))&Perl_Mob_MakePet);
package.add("MakePet", (void(*)(Mob*, uint16, const char*, const char*))&Perl_Mob_MakePet);
package.add("MakeTempPet", (void(*)(Mob*, uint16))&Perl_Mob_MakeTempPet);
package.add("MakeTempPet", (void(*)(Mob*, uint16, const char*))&Perl_Mob_MakeTempPet);
package.add("MakeTempPet", (void(*)(Mob*, uint16, const char*, uint32))&Perl_Mob_MakeTempPet);
package.add("MakeTempPet", (void(*)(Mob*, uint16, const char*, uint32, Mob*))&Perl_Mob_MakeTempPet);
package.add("MakeTempPet", (void(*)(Mob*, uint16, const char*, uint32, Mob*, bool))&Perl_Mob_MakeTempPet);
package.add("Mesmerize", &Perl_Mob_Mesmerize);
package.add("Message", &Perl_Mob_Message);
package.add("Message_StringID", (void(*)(Mob*, uint32, uint32))&Perl_Mob_Message_StringID);
package.add("Message_StringID", (void(*)(Mob*, uint32, uint32, uint32))&Perl_Mob_Message_StringID);
package.add("ModSkillDmgTaken", &Perl_Mob_ModSkillDmgTaken);
package.add("ModVulnerability", &Perl_Mob_ModVulnerability);
package.add("NPCSpecialAttacks", (void(*)(Mob*, const char*, int))&Perl_Mob_NPCSpecialAttacks);
package.add("NPCSpecialAttacks", (void(*)(Mob*, const char*, int, bool))&Perl_Mob_NPCSpecialAttacks);
package.add("NPCSpecialAttacks", (void(*)(Mob*, const char*, int, bool, bool))&Perl_Mob_NPCSpecialAttacks);
package.add("NavigateTo", &Perl_Mob_NavigateTo);
package.add("PauseTimer", &Perl_Mob_PauseTimer);
package.add("ProcessSpecialAbilities", &Perl_Mob_ProcessSpecialAbilities);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool, float))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool, float, float))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool, float, float, float))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool, float, float, float, float))&Perl_Mob_ProjectileAnim);
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool, float, float, float, float, const char*))&Perl_Mob_ProjectileAnim);
package.add("RandomizeFeatures", (bool(*)(Mob*))&Perl_Mob_RandomizeFeatures);
package.add("RandomizeFeatures", (bool(*)(Mob*, bool))&Perl_Mob_RandomizeFeatures);
package.add("RandomizeFeatures", (bool(*)(Mob*, bool, bool))&Perl_Mob_RandomizeFeatures);
package.add("RangedAttack", &Perl_Mob_RangedAttack);
package.add("RemoveAllAppearanceEffects", &Perl_Mob_RemoveAllAppearanceEffects);
package.add("RemoveAllNimbusEffects", &Perl_Mob_RemoveAllNimbusEffects);
package.add("RemoveFromFeignMemory", &Perl_Mob_RemoveFromFeignMemory);
package.add("RemoveNimbusEffect", &Perl_Mob_RemoveNimbusEffect);
package.add("RemovePet", &Perl_Mob_RemovePet);
package.add("ResistSpell", &Perl_Mob_ResistSpell);
package.add("ResumeTimer", &Perl_Mob_ResumeTimer);
package.add("RogueAssassinate", &Perl_Mob_RogueAssassinate);
package.add("RunTo", &Perl_Mob_RunTo);
package.add("Say", &Perl_Mob_Say);
package.add("SeeHide", &Perl_Mob_SeeHide);
package.add("SeeImprovedHide", &Perl_Mob_SeeImprovedHide);
package.add("SeeInvisible", &Perl_Mob_SeeInvisible);
package.add("SeeInvisibleUndead", &Perl_Mob_SeeInvisibleUndead);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffect", (void(*)(Mob*, int32, int32, int32, int32, int32, perl::nullable<Client*>, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32))&Perl_Mob_SendAppearanceEffect);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32, int32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32, int32, uint32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32, int32, uint32, int32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32, int32, uint32, int32, uint32))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectActor", (void(*)(Mob*, int32, uint32, int32, uint32, int32, uint32, int32, uint32, int32, uint32, Client*))&Perl_Mob_SendAppearanceEffectActor);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32, int32))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32, int32, int32))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32, int32, int32, int32))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32, int32, int32, int32, int32))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendAppearanceEffectGround", (void(*)(Mob*, int32, int32, int32, int32, int32, Client*))&Perl_Mob_SendAppearanceEffectGround);
package.add("SendIllusion", (void(*)(Mob*, uint16))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint32))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint32, uint32))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint32, uint32, uint32))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint32, uint32, uint32, float))&Perl_Mob_SendIllusion);
package.add("SendIllusion", (void(*)(Mob*, uint16, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint32, uint32, uint32, float, Client*))&Perl_Mob_SendIllusion);
package.add("SendIllusionPacket", (void(*)(Mob*, perl::reference))&Perl_Mob_SendIllusionPacket);
package.add("SendTo", &Perl_Mob_SendTo);
package.add("SendToFixZ", &Perl_Mob_SendToFixZ);
package.add("SendWearChange", &Perl_Mob_SendWearChange);
package.add("SetAA", (bool(*)(Mob*, int, int))&Perl_Mob_SetAA);
package.add("SetAA", (bool(*)(Mob*, int, int, int))&Perl_Mob_SetAA);
package.add("SetAllowBeneficial", &Perl_Mob_SetAllowBeneficial);
package.add("SetAppearance", (void(*)(Mob*, int))&Perl_Mob_SetAppearance);
package.add("SetAppearance", (void(*)(Mob*, int, bool))&Perl_Mob_SetAppearance);
package.add("SetBodyType", (void(*)(Mob*, int32))&Perl_Mob_SetBodyType);
package.add("SetBodyType", (void(*)(Mob*, int32, bool))&Perl_Mob_SetBodyType);
package.add("SetBucket", (void(*)(Mob*, std::string, std::string))&Perl_Mob_SetBucket);
package.add("SetBucket", (void(*)(Mob*, std::string, std::string, std::string))&Perl_Mob_SetBucket);
package.add("SetBuffDuration", (void(*)(Mob*, int))&Perl_Mob_SetBuffDuration);
package.add("SetBuffDuration", (void(*)(Mob*, int, int))&Perl_Mob_SetBuffDuration);
package.add("SetCurrentWP", &Perl_Mob_SetCurrentWP);
package.add("SetDeltas", &Perl_Mob_SetDeltas);
package.add("SetDisableMelee", &Perl_Mob_SetDisableMelee);
package.add("SetEntityVariable", &Perl_Mob_SetEntityVariable);
package.add("SetExtraHaste", &Perl_Mob_SetExtraHaste);
package.add("SetFlurryChance", &Perl_Mob_SetFlurryChance);
package.add("SetFlyMode", &Perl_Mob_SetFlyMode);
package.add("SetFollowID", &Perl_Mob_SetFollowID);
package.add("SetGender", &Perl_Mob_SetGender);
package.add("SetGlobal", (void(*)(Mob*, const char*, const char*, int, const char*))&Perl_Mob_SetGlobal);
package.add("SetGlobal", (void(*)(Mob*, const char*, const char*, int, const char*, Mob*))&Perl_Mob_SetGlobal);
package.add("SetHP", &Perl_Mob_SetHP);
package.add("SetHate", (void(*)(Mob*, Mob*))&Perl_Mob_SetHate);
package.add("SetHate", (void(*)(Mob*, Mob*, int64_t))&Perl_Mob_SetHate);
package.add("SetHate", (void(*)(Mob*, Mob*, int64_t, int64_t))&Perl_Mob_SetHate);
package.add("SetHeading", &Perl_Mob_SetHeading);
package.add("SetInvisible", &Perl_Mob_SetInvisible);
package.add("SetInvul", &Perl_Mob_SetInvul);
package.add("SetLD", &Perl_Mob_SetLD);
package.add("SetLevel", (void(*)(Mob*, uint8_t))&Perl_Mob_SetLevel);
package.add("SetLevel", (void(*)(Mob*, uint8_t, bool))&Perl_Mob_SetLevel);
package.add("SetMana", &Perl_Mob_SetMana);
package.add("SetMaxHP", &Perl_Mob_SetMaxHP);
package.add("SetOOCRegen", &Perl_Mob_SetOOCRegen);
package.add("SetOwnerID", &Perl_Mob_SetOwnerID);
package.add("SetPet", &Perl_Mob_SetPet);
package.add("SetPetID", &Perl_Mob_SetPetID);
package.add("SetPetOrder", &Perl_Mob_SetPetOrder);
package.add("SetRace", &Perl_Mob_SetRace);
package.add("SetRunAnimSpeed", &Perl_Mob_SetRunAnimSpeed);
package.add("SetRunning", &Perl_Mob_SetRunning);
package.add("SetSeeInvisibleLevel", &Perl_Mob_SetSeeInvisibleLevel);
package.add("SetSeeInvisibleUndeadLevel", &Perl_Mob_SetSeeInvisibleUndeadLevel);
package.add("SetSlotTint", &Perl_Mob_SetSlotTint);
package.add("SetSpecialAbility", &Perl_Mob_SetSpecialAbility);
package.add("SetSpecialAbilityParam", &Perl_Mob_SetSpecialAbilityParam);
package.add("SetTarget", &Perl_Mob_SetTarget);
package.add("SetTargetable", &Perl_Mob_SetTargetable);
package.add("SetTexture", &Perl_Mob_SetTexture);
package.add("SetTimer", &Perl_Mob_SetTimer);
package.add("SetTimerMS", &Perl_Mob_SetTimerMS);
package.add("StopAllTimers", &Perl_Mob_StopAllTimers);
package.add("StopTimer", &Perl_Mob_StopTimer);
package.add("ShieldAbility", (void(*)(Mob*, uint32))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32, int32))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32, int32, int32))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32, int32, int32, bool))&Perl_Mob_ShieldAbility);
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32, int32, int32, bool, bool))&Perl_Mob_ShieldAbility);
package.add("Shout", &Perl_Mob_Shout);
package.add("SignalClient", &Perl_Mob_SignalClient);
package.add("SpellEffect", (void(*)(Mob*, uint32))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32, bool))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32, bool, Client*))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32, bool, perl::nullable<Client*>, uint32))&Perl_Mob_SpellEffect);
package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32, bool, perl::nullable<Client*>, uint32, uint32))&Perl_Mob_SpellEffect);
package.add("SpellFinished", (void(*)(Mob*, uint16))&Perl_Mob_SpellFinished);
package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*))&Perl_Mob_SpellFinished);
package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, int32))&Perl_Mob_SpellFinished);
package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, int32, uint16))&Perl_Mob_SpellFinished);
package.add("Spin", &Perl_Mob_Spin);
package.add("StartEnrage", &Perl_Mob_StartEnrage);
package.add("StopNavigation", &Perl_Mob_StopNavigation);
package.add("Stun", &Perl_Mob_Stun);
package.add("TarGlobal", &Perl_Mob_TarGlobal);
package.add("TempName", (void(*)(Mob*))&Perl_Mob_TempName);
package.add("TempName", (void(*)(Mob*, const char*))&Perl_Mob_TempName);
package.add("ThrowingAttack", &Perl_Mob_ThrowingAttack);
package.add("TryMoveAlong", (void(*)(Mob*, float, float))&Perl_Mob_TryMoveAlong);
package.add("TryMoveAlong", (void(*)(Mob*, float, float, bool))&Perl_Mob_TryMoveAlong);
package.add("TypesTempPet", (void(*)(Mob*, uint32))&Perl_Mob_TypesTempPet);
package.add("TypesTempPet", (void(*)(Mob*, uint32, const char*))&Perl_Mob_TypesTempPet);
package.add("TypesTempPet", (void(*)(Mob*, uint32, const char*, uint32))&Perl_Mob_TypesTempPet);
package.add("TypesTempPet", (void(*)(Mob*, uint32, const char*, uint32, bool))&Perl_Mob_TypesTempPet);
package.add("TypesTempPet", (void(*)(Mob*, uint32, const char*, uint32, bool, Mob*))&Perl_Mob_TypesTempPet);
package.add("TypesTempPet", (void(*)(Mob*, uint32, const char*, uint32, bool, Mob*, bool))&Perl_Mob_TypesTempPet);
package.add("WalkTo", &Perl_Mob_WalkTo);
package.add("WearChange", (void(*)(Mob*, uint8, uint16))&Perl_Mob_WearChange);
package.add("WearChange", (void(*)(Mob*, uint8, uint16, uint32))&Perl_Mob_WearChange);
package.add("WearChange", (void(*)(Mob*, uint8, uint16, uint32, uint32))&Perl_Mob_WearChange);
package.add("WipeHateList", &Perl_Mob_WipeHateList);
}
#endif //EMBPERL_XS_CLASSES