mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-02 16:32:26 +00:00
- License was intended to be GPLv3 per earlier commit of GPLv3 LICENSE FILE - This is confirmed by the inclusion of libraries that are incompatible with GPLv2 - This is also confirmed by KLS and the agreement of KLS's predecessors - Added GPLv3 license headers to the compilable source files - Removed Folly licensing in strings.h since the string functions do not match the Folly functions and are standard functions - this must have been left over from previous implementations - Removed individual contributor license headers since the project has been under the "developer" mantle for many years - Removed comments on files that were previously automatically generated since they've been manually modified multiple times and there are no automatic scripts referencing them (removed in 2023)
641 lines
26 KiB
C++
641 lines
26 KiB
C++
/* EQEmu: EQEmulator
|
|
|
|
Copyright (C) 2001-2026 EQEmu Development Team
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#pragma once
|
|
|
|
#ifdef LUA_EQEMU
|
|
|
|
#include "common/types.h"
|
|
#include "zone/lua_entity.h"
|
|
|
|
class Mob;
|
|
struct Lua_HateList;
|
|
class Lua_Item;
|
|
class Lua_ItemInst;
|
|
class Lua_StatBonuses;
|
|
class Lua_Bot;
|
|
class Lua_Merc;
|
|
class Lua_NPC;
|
|
class Lua_Client;
|
|
struct Lua_Mob_List;
|
|
|
|
namespace luabind {
|
|
struct scope;
|
|
namespace adl {
|
|
class object;
|
|
}
|
|
}
|
|
|
|
luabind::scope lua_register_mob();
|
|
luabind::scope lua_register_special_abilities();
|
|
|
|
class Lua_Mob : public Lua_Entity
|
|
{
|
|
typedef Mob NativeType;
|
|
public:
|
|
Lua_Mob() { SetLuaPtrData(nullptr); }
|
|
Lua_Mob(Mob *d) { SetLuaPtrData(reinterpret_cast<Entity*>(d)); }
|
|
virtual ~Lua_Mob() { }
|
|
|
|
operator Mob*() {
|
|
return reinterpret_cast<Mob*>(GetLuaPtrData());
|
|
}
|
|
|
|
const char *GetName();
|
|
void Depop();
|
|
void Depop(bool start_spawn_timer);
|
|
bool BehindMob();
|
|
bool BehindMob(Lua_Mob other);
|
|
bool BehindMob(Lua_Mob other, float x);
|
|
bool BehindMob(Lua_Mob other, float x, float y);
|
|
void SetLevel(int level);
|
|
void SetLevel(int level, bool command);
|
|
void SendWearChange(uint8 material_slot);
|
|
bool IsMoving();
|
|
bool IsFeared();
|
|
bool IsBlind();
|
|
void GotoBind();
|
|
void Gate();
|
|
bool Attack(Lua_Mob other);
|
|
bool Attack(Lua_Mob other, int hand);
|
|
bool Attack(Lua_Mob other, int hand, bool from_riposte);
|
|
bool Attack(Lua_Mob other, int hand, bool from_riposte, bool is_strikethrough);
|
|
bool Attack(Lua_Mob other, int hand, bool from_riposte, bool is_strikethrough, bool is_from_spell);
|
|
bool Attack(Lua_Mob other, int hand, bool from_riposte, bool is_strikethrough, bool is_from_spell, luabind::adl::object opts);
|
|
void Damage(Lua_Mob from, int64 damage, int spell_id, int attack_skill);
|
|
void Damage(Lua_Mob from, int64 damage, int spell_id, int attack_skill, bool avoidable);
|
|
void Damage(Lua_Mob from, int64 damage, int spell_id, int attack_skill, bool avoidable, int buffslot);
|
|
void Damage(Lua_Mob from, int64 damage, int spell_id, int attack_skill, bool avoidable, int buffslot, bool buff_tic);
|
|
void RangedAttack(Lua_Mob other);
|
|
void ThrowingAttack(Lua_Mob other);
|
|
void HealDamage(uint64 amount);
|
|
void HealDamage(uint64 amount, Lua_Mob other);
|
|
uint32 GetLevelCon(int other);
|
|
uint32 GetLevelCon(int my, int other);
|
|
void SetHP(int64 hp);
|
|
void DoAnim(int animation_id);
|
|
void DoAnim(int animation_id, int animation_speed);
|
|
void DoAnim(int animation_id, int animation_speed, bool ackreq);
|
|
void DoAnim(int animation_id, int animation_speed, bool ackreq, int filter);
|
|
void ChangeSize(double in_size);
|
|
void ChangeSize(double in_size, bool unrestricted);
|
|
bool RandomizeFeatures();
|
|
bool RandomizeFeatures(bool send_illusion);
|
|
bool RandomizeFeatures(bool send_illusion, bool save_variables);
|
|
void GMMove(double x, double y, double z);
|
|
void GMMove(double x, double y, double z, double heading);
|
|
void GMMove(double x, double y, double z, double heading, bool save_guard_spot);
|
|
void TryMoveAlong(float distance, float heading);
|
|
void TryMoveAlong(float distance, float heading, bool send);
|
|
bool HasProcs();
|
|
bool IsInvisible();
|
|
bool IsInvisible(Lua_Mob other);
|
|
void SetInvisible(int state);
|
|
uint8 GetInvisibleLevel();
|
|
uint8 GetInvisibleUndeadLevel();
|
|
void SetSeeInvisibleLevel(uint8 invisible_level);
|
|
void SetSeeInvisibleUndeadLevel(uint8 invisible_level);
|
|
bool FindBuff(uint16 spell_id);
|
|
bool FindBuff(uint16 spell_id, uint16 caster_id);
|
|
uint16 FindBuffBySlot(int slot);
|
|
uint32 BuffCount();
|
|
uint32 BuffCount(bool is_beneficial);
|
|
uint32 BuffCount(bool is_beneficial, bool is_detrimental);
|
|
bool FindType(int type);
|
|
bool FindType(int type, bool offensive);
|
|
bool FindType(int type, bool offensive, int threshold);
|
|
int GetBuffSlotFromType(int slot);
|
|
int GetBaseRace();
|
|
int GetBaseGender();
|
|
int GetDeity();
|
|
int GetRace();
|
|
const char *GetClassName();
|
|
const char *GetRaceName();
|
|
const char* GetBaseRaceName();
|
|
int GetGender();
|
|
int GetTexture();
|
|
int GetHelmTexture();
|
|
int GetHairColor();
|
|
int GetBeardColor();
|
|
int GetEyeColor1();
|
|
int GetEyeColor2();
|
|
int GetHairStyle();
|
|
int GetLuclinFace();
|
|
int GetBeard();
|
|
int GetDrakkinHeritage();
|
|
int GetDrakkinTattoo();
|
|
int GetDrakkinDetails();
|
|
int GetClass();
|
|
int GetLevel();
|
|
const char *GetCleanName();
|
|
const char *GetLastName();
|
|
Lua_Mob GetTarget();
|
|
void SetTarget(Lua_Mob t);
|
|
double GetHPRatio();
|
|
bool IsWarriorClass();
|
|
int64 GetHP();
|
|
int64 GetMaxHP();
|
|
int64 GetItemHPBonuses();
|
|
int64 GetSpellHPBonuses();
|
|
double GetWalkspeed();
|
|
double GetRunspeed();
|
|
int GetCasterLevel(int spell_id);
|
|
int GetMaxMana();
|
|
int GetMana();
|
|
int SetMana(int mana);
|
|
double GetManaRatio();
|
|
int GetAC();
|
|
int GetDisplayAC();
|
|
int GetATK();
|
|
int GetSTR();
|
|
int GetSTA();
|
|
int GetDEX();
|
|
int GetAGI();
|
|
int GetINT();
|
|
int GetWIS();
|
|
int GetCHA();
|
|
int GetMR();
|
|
int GetFR();
|
|
int GetDR();
|
|
int GetPR();
|
|
int GetCR();
|
|
int GetCorruption();
|
|
int GetPhR();
|
|
int GetMaxSTR();
|
|
int GetMaxSTA();
|
|
int GetMaxDEX();
|
|
int GetMaxAGI();
|
|
int GetMaxINT();
|
|
int GetMaxWIS();
|
|
int GetMaxCHA();
|
|
double ResistSpell(int resist_type, int spell_id, Lua_Mob caster);
|
|
double ResistSpell(int resist_type, int spell_id, Lua_Mob caster, bool use_resist_override);
|
|
double ResistSpell(int resist_type, int spell_id, Lua_Mob caster, bool use_resist_override, int resist_override);
|
|
double ResistSpell(int resist_type, int spell_id, Lua_Mob caster, bool use_resist_override, int resist_override, bool charisma_check);
|
|
int GetSpecializeSkillValue(int spell_id);
|
|
int GetNPCTypeID();
|
|
bool IsTargeted();
|
|
double GetX();
|
|
double GetY();
|
|
double GetZ();
|
|
double GetHeading();
|
|
double GetWaypointX();
|
|
double GetWaypointY();
|
|
double GetWaypointZ();
|
|
double GetWaypointH();
|
|
double GetWaypointPause();
|
|
int GetWaypointID();
|
|
void SetCurrentWP(int wp);
|
|
double GetSize();
|
|
void Message(uint32 type, const char *message);
|
|
void MessageString(uint32 type, uint32 string_id, uint32 distance);
|
|
void Say(const char *message);
|
|
void Say(const char* message, uint8 language_id);
|
|
void QuestSay(Lua_Client client, const char *message);
|
|
void QuestSay(Lua_Client client, const char *message, luabind::adl::object opts);
|
|
void Shout(const char *message);
|
|
void Shout(const char* message, uint8 language_id);
|
|
void Emote(const char *message);
|
|
void InterruptSpell();
|
|
void InterruptSpell(int spell_id);
|
|
bool CastSpell(int spell_id, int target_id);
|
|
bool CastSpell(int spell_id, int target_id, int slot);
|
|
bool CastSpell(int spell_id, int target_id, int slot, int cast_time);
|
|
bool CastSpell(int spell_id, int target_id, int slot, int cast_time, int mana_cost);
|
|
bool CastSpell(int spell_id, int target_id, int slot, int cast_time, int mana_cost, int item_slot);
|
|
bool CastSpell(int spell_id, int target_id, int slot, int cast_time, int mana_cost, int item_slot, int timer, int timer_duration);
|
|
bool CastSpell(int spell_id, int target_id, int slot, int cast_time, int mana_cost, int item_slot, int timer, int timer_duration,
|
|
int resist_adjust);
|
|
bool SpellFinished(int spell_id, Lua_Mob target);
|
|
bool SpellFinished(int spell_id, Lua_Mob target, int slot);
|
|
bool SpellFinished(int spell_id, Lua_Mob target, int slot, int mana_used);
|
|
bool SpellFinished(int spell_id, Lua_Mob target, int slot, int mana_used, uint32 inventory_slot);
|
|
bool SpellFinished(int spell_id, Lua_Mob target, int slot, int mana_used, uint32 inventory_slot, int resist_adjust);
|
|
bool SpellFinished(int spell_id, Lua_Mob target, int slot, int mana_used, uint32 inventory_slot, int resist_adjust, bool proc);
|
|
void SendBeginCast(int spell_id, int cast_time);
|
|
void SpellEffect(Lua_Mob caster, int spell_id, double partial);
|
|
Lua_Mob GetPet();
|
|
Lua_Mob GetOwner();
|
|
uint16 GetOwnerID();
|
|
Lua_Mob GetUltimateOwner();
|
|
Lua_HateList GetHateList();
|
|
Lua_HateList GetHateListBots();
|
|
Lua_HateList GetHateListBots(uint32 distance);
|
|
Lua_HateList GetHateListClients();
|
|
Lua_HateList GetHateListClients(uint32 distance);
|
|
Lua_HateList GetHateListNPCs();
|
|
Lua_HateList GetHateListNPCs(uint32 distance);
|
|
Lua_HateList GetShuffledHateList();
|
|
Lua_HateList GetHateListByDistance();
|
|
Lua_HateList GetHateListByDistance(uint32 distance);
|
|
Lua_Mob GetHateTop();
|
|
Lua_Bot GetHateTopBot();
|
|
Lua_Client GetHateTopClient();
|
|
Lua_NPC GetHateTopNPC();
|
|
Lua_Mob GetHateDamageTop(Lua_Mob other);
|
|
Lua_Mob GetHateRandom();
|
|
Lua_Bot GetHateRandomBot();
|
|
Lua_Client GetHateRandomClient();
|
|
Lua_NPC GetHateRandomNPC();
|
|
Lua_Mob GetHateClosest();
|
|
Lua_Mob GetHateClosest(bool skip_mezzed);
|
|
Lua_Bot GetHateClosestBot();
|
|
Lua_Bot GetHateClosestBot(bool skip_mezzed);
|
|
Lua_Client GetHateClosestClient();
|
|
Lua_Client GetHateClosestClient(bool skip_mezzed);
|
|
Lua_NPC GetHateClosestNPC();
|
|
Lua_NPC GetHateClosestNPC(bool skip_mezzed);
|
|
void AddToHateList(Lua_Mob other);
|
|
void AddToHateList(Lua_Mob other, int64 hate);
|
|
void AddToHateList(Lua_Mob other, int64 hate, int64 damage);
|
|
void AddToHateList(Lua_Mob other, int64 hate, int64 damage, bool yell_for_help);
|
|
void AddToHateList(Lua_Mob other, int64 hate, int64 damage, bool yell_for_help, bool frenzy);
|
|
void AddToHateList(Lua_Mob other, int64 hate, int64 damage, bool yell_for_help, bool frenzy, bool buff_tic);
|
|
void SetHate(Lua_Mob other);
|
|
void SetHate(Lua_Mob other, int64 hate);
|
|
void SetHate(Lua_Mob other, int64 hate, int64 damage);
|
|
void HalveAggro(Lua_Mob other);
|
|
void DoubleAggro(Lua_Mob other);
|
|
int64 GetHateAmount(Lua_Mob target);
|
|
int64 GetHateAmount(Lua_Mob target, bool is_damage);
|
|
uint64 GetDamageAmount(Lua_Mob target);
|
|
void WipeHateList();
|
|
bool CheckAggro(Lua_Mob other);
|
|
void Stun(int duration);
|
|
void UnStun();
|
|
bool IsStunned();
|
|
void Spin();
|
|
void Kill();
|
|
bool CanThisClassDoubleAttack();
|
|
bool CanThisClassDualWield();
|
|
bool CanThisClassRiposte();
|
|
bool CanThisClassDodge();
|
|
bool CanThisClassParry();
|
|
bool CanThisClassBlock();
|
|
void SetInvul(bool value);
|
|
bool GetInvul();
|
|
int GetHaste();
|
|
int GetHandToHandDamage();
|
|
int GetHandToHandDelay();
|
|
void Mesmerize();
|
|
bool IsMezzed();
|
|
bool IsEnraged();
|
|
int GetReverseFactionCon(Lua_Mob other);
|
|
bool IsAIControlled();
|
|
float GetAggroRange();
|
|
float GetAssistRange();
|
|
void SetPetOrder(uint8 pet_order);
|
|
uint8 GetPetOrder();
|
|
bool IsRoamer();
|
|
bool IsRooted();
|
|
bool IsEngaged();
|
|
void FaceTarget(Lua_Mob target);
|
|
void SetHeading(double in);
|
|
double CalculateHeadingToTarget(double in_x, double in_y);
|
|
void RunTo(double x, double y, double z);
|
|
void WalkTo(double x, double y, double z);
|
|
void NavigateTo(double x, double y, double z);
|
|
void StopNavigation();
|
|
float CalculateDistance(double x, double y, double z);
|
|
float CalculateDistance(Lua_Mob mob);
|
|
void SendTo(double x, double y, double z);
|
|
void SendToFixZ(double x, double y, double z);
|
|
void NPCSpecialAttacks(const char *parse, int perm);
|
|
void NPCSpecialAttacks(const char *parse, int perm, bool reset);
|
|
void NPCSpecialAttacks(const char *parse, int perm, bool reset, bool remove);
|
|
int GetResist(int type);
|
|
bool Charmed();
|
|
int CheckAggroAmount(int spell_id);
|
|
int CheckAggroAmount(int spell_id, bool is_proc);
|
|
int CheckHealAggroAmount(int spell_id);
|
|
int CheckHealAggroAmount(int spell_id, uint32 heal_possible);
|
|
int GetAA(int id);
|
|
int GetAAByAAID(int id);
|
|
bool SetAA(int rank_id, int new_value);
|
|
bool SetAA(int rank_id, int new_value, int charges);
|
|
bool DivineAura();
|
|
void SetOOCRegen(int64 new_ooc_regen);
|
|
bool ClearEntityVariables();
|
|
bool DeleteEntityVariable(std::string variable_name);
|
|
std::string GetEntityVariable(std::string variable_name);
|
|
luabind::object GetEntityVariables(lua_State* L);
|
|
void SetEntityVariable(std::string variable_name, std::string variable_value);
|
|
bool EntityVariableExists(std::string variable_name);
|
|
void Signal(int signal_id);
|
|
void SendPayload(int payload_id);
|
|
void SendPayload(int payload_id, std::string payload_value);
|
|
bool CombatRange(Lua_Mob other);
|
|
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage);
|
|
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage);
|
|
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage, int hate_override);
|
|
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage, int hate_override, int reuse_time);
|
|
void DoThrowingAttackDmg(Lua_Mob other);
|
|
void DoThrowingAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon);
|
|
void DoThrowingAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_Item item);
|
|
void DoThrowingAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_Item item, int weapon_damage);
|
|
void DoThrowingAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_Item item, int weapon_damage, int chance_mod);
|
|
void DoThrowingAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_Item item, int weapon_damage, int chance_mod, int focus);
|
|
void DoMeleeSkillAttackDmg(Lua_Mob other, int weapon_damage, int skill);
|
|
void DoMeleeSkillAttackDmg(Lua_Mob other, int weapon_damage, int skill, int chance_mod);
|
|
void DoMeleeSkillAttackDmg(Lua_Mob other, int weapon_damage, int skill, int chance_mod, int focus);
|
|
void DoMeleeSkillAttackDmg(Lua_Mob other, int weapon_damage, int skill, int chance_mod, int focus, bool can_riposte);
|
|
void DoArcheryAttackDmg(Lua_Mob other);
|
|
void DoArcheryAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon);
|
|
void DoArcheryAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_ItemInst ammo);
|
|
void DoArcheryAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_ItemInst ammo, int weapon_damage);
|
|
void DoArcheryAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_ItemInst ammo, int weapon_damage, int chance_mod);
|
|
void DoArcheryAttackDmg(Lua_Mob other, Lua_ItemInst range_weapon, Lua_ItemInst ammo, int weapon_damage, int chance_mod, int focus);
|
|
bool CheckLoS(Lua_Mob other);
|
|
bool CheckLoSToLoc(double x, double y, double z);
|
|
bool CheckLoSToLoc(double x, double y, double z, double mob_size);
|
|
double FindGroundZ(double x, double y);
|
|
double FindGroundZ(double x, double y, double z);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id, bool is_arrow);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id, bool is_arrow, double speed);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id, bool is_arrow, double speed, double angle);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id, bool is_arrow, double speed, double angle, double tilt);
|
|
void ProjectileAnimation(Lua_Mob to, int item_id, bool is_arrow, double speed, double angle, double tilt, double arc);
|
|
bool HasNPCSpecialAtk(const char *parse);
|
|
void SendAppearanceEffect(uint32 parm1, uint32 parm2, uint32 parm3, uint32 parm4, uint32 parm5);
|
|
void SendAppearanceEffect(uint32 parm1, uint32 parm2, uint32 parm3, uint32 parm4, uint32 parm5, Lua_Client specific_target);
|
|
void SetFlyMode(int in);
|
|
void SetTexture(uint8 texture);
|
|
void SetRace(uint16 race_id);
|
|
void SetGender(uint8 gender_id);
|
|
void SendIllusionPacket(luabind::adl::object illusion);
|
|
void ChangeRace(int in);
|
|
void ChangeGender(int in);
|
|
void ChangeTexture(int in);
|
|
void ChangeHelmTexture(int in);
|
|
void ChangeHairColor(int in);
|
|
void ChangeBeardColor(int in);
|
|
void ChangeEyeColor1(int in);
|
|
void ChangeEyeColor2(int in);
|
|
void ChangeHairStyle(int in);
|
|
void ChangeLuclinFace(int in);
|
|
void ChangeBeard(int in);
|
|
void ChangeDrakkinHeritage(int in);
|
|
void ChangeDrakkinTattoo(int in);
|
|
void ChangeDrakkinDetails(int in);
|
|
void CameraEffect(uint32 duration, float intensity);
|
|
void CameraEffect(uint32 duration, float intensity, Lua_Client c);
|
|
void CameraEffect(uint32 duration, float intensity, Lua_Client c, bool global);
|
|
void SendSpellEffect(uint32 effect_id, uint32 duration, uint32 finish_delay, bool zone_wide,
|
|
uint32 unk020);
|
|
void SendSpellEffect(uint32 effect_id, uint32 duration, uint32 finish_delay, bool zone_wide,
|
|
uint32 unk020, bool perm_effect);
|
|
void SendSpellEffect(uint32 effect_id, uint32 duration, uint32 finish_delay, bool zone_wide,
|
|
uint32 unk020, bool perm_effect, Lua_Client c);
|
|
void TempName();
|
|
void TempName(const char *newname);
|
|
std::string GetGlobal(const char *varname);
|
|
void SetGlobal(const char *varname, const char *newvalue, int options, const char *duration);
|
|
void SetGlobal(const char *varname, const char *newvalue, int options, const char *duration, Lua_Mob other);
|
|
void TarGlobal(const char *varname, const char *value, const char *duration, int npc_id, int char_id, int zone_id);
|
|
void DelGlobal(const char *varname);
|
|
void SetSlotTint(int material_slot, int red_tint, int green_tint, int blue_tint);
|
|
void WearChange(uint8 material_slot, uint32 texture);
|
|
void WearChange(uint8 material_slot, uint32 texture, uint32 color);
|
|
void WearChange(uint8 material_slot, uint32 texture, uint32 color, uint32 heros_forge_model);
|
|
void DoKnockback(Lua_Mob caster, uint32 push_back, uint32 push_up);
|
|
void AddNimbusEffect(int effect_id);
|
|
void RemoveNimbusEffect(int effect_id);
|
|
void RemoveAllNimbusEffects();
|
|
bool IsRunning();
|
|
void SetRunning(bool running);
|
|
void SetBodyType(uint8 new_body, bool overwrite_orig);
|
|
void SetTargetable(bool on);
|
|
void ModSkillDmgTaken(int skill, int value);
|
|
int GetModSkillDmgTaken(int skill);
|
|
int GetSkillDmgTaken(int skill);
|
|
int GetFcDamageAmtIncoming(Lua_Mob caster, int32 spell_id);
|
|
int GetSkillDmgAmt(int skill_id);
|
|
void SetAllowBeneficial(bool value);
|
|
bool GetAllowBeneficial();
|
|
bool IsBeneficialAllowed(Lua_Mob target);
|
|
void ModVulnerability(int resist, int value);
|
|
int GetModVulnerability(int resist);
|
|
void SetDisableMelee(bool disable);
|
|
bool IsMeleeDisabled();
|
|
void SetFlurryChance(int value);
|
|
int GetFlurryChance();
|
|
int GetSkill(int skill_id);
|
|
int GetSpecialAbility(int ability);
|
|
int GetSpecialAbilityParam(int ability, int param);
|
|
void SetSpecialAbility(int ability, int level);
|
|
void SetSpecialAbilityParam(int ability, int param, int value);
|
|
void ClearSpecialAbilities();
|
|
void ProcessSpecialAbilities(std::string str);
|
|
void SetAppearance(int app);
|
|
uint32 GetAppearance();
|
|
void SetAppearance(int app, bool ignore_self);
|
|
void SetDestructibleObject(bool set);
|
|
bool IsImmuneToSpell(int spell_id, Lua_Mob caster);
|
|
void BuffFadeBySpellID(int spell_id);
|
|
void BuffFadeByEffect(int effect_id);
|
|
void BuffFadeByEffect(int effect_id, int skipslot);
|
|
void BuffFadeAll();
|
|
void BuffFadeBySlot(int slot);
|
|
void BuffFadeBySlot(int slot, bool recalc_bonuses);
|
|
int CanBuffStack(int spell_id, int caster_level);
|
|
int CanBuffStack(int spell_id, int caster_level, bool fail_if_overwrite);
|
|
void SetPseudoRoot(bool in);
|
|
uint8 SeeInvisible();
|
|
uint8 SeeInvisibleUndead();
|
|
bool SeeHide();
|
|
bool SeeImprovedHide();
|
|
uint8 GetNimbusEffect1();
|
|
uint8 GetNimbusEffect2();
|
|
uint8 GetNimbusEffect3();
|
|
bool IsTargetable();
|
|
bool HasShieldEquipped();
|
|
bool HasTwoHandBluntEquipped();
|
|
bool HasTwoHanderEquipped();
|
|
uint32 GetHerosForgeModel(uint8 material_slot);
|
|
uint32 IsEliteMaterialItem(uint8 material_slot);
|
|
float GetBaseSize();
|
|
bool HasOwner();
|
|
bool IsPet();
|
|
bool HasPet();
|
|
void RemovePet();
|
|
void SetPet(Lua_Mob new_pet);
|
|
bool IsSilenced();
|
|
bool IsAmnesiad();
|
|
int32 GetMeleeMitigation();
|
|
int GetWeaponDamageBonus(Lua_Item weapon, bool offhand);
|
|
const int GetItemStat(uint32 item_id, std::string identifier);
|
|
Lua_StatBonuses GetItemBonuses();
|
|
Lua_StatBonuses GetSpellBonuses();
|
|
Lua_StatBonuses GetAABonuses();
|
|
int16 GetMeleeDamageMod_SE(uint16 skill);
|
|
int16 GetMeleeMinDamageMod_SE(uint16 skill);
|
|
bool IsCasting();
|
|
int AttackAnimation(int Hand, Lua_ItemInst weapon);
|
|
int GetWeaponDamage(Lua_Mob against, Lua_ItemInst weapon);
|
|
bool IsBerserk();
|
|
bool TryFinishingBlow(Lua_Mob defender, int64 &damage);
|
|
int GetBodyType();
|
|
int GetOrigBodyType();
|
|
void CheckNumHitsRemaining(int type, int32 buff_slot, uint16 spell_id);
|
|
void DeleteBucket(std::string bucket_name);
|
|
std::string GetBucket(std::string bucket_name);
|
|
std::string GetBucketExpires(std::string bucket_name);
|
|
std::string GetBucketKey();
|
|
std::string GetBucketRemaining(std::string bucket_name);
|
|
void SetBucket(std::string bucket_name, std::string bucket_value);
|
|
void SetBucket(std::string bucket_name, std::string bucket_value, std::string expiration);
|
|
bool IsHorse();
|
|
bool CanClassEquipItem(uint32 item_id);
|
|
bool CanRaceEquipItem(uint32 item_id);
|
|
void ApplySpellBuff(int spell_id);
|
|
void ApplySpellBuff(int spell_id, int duration);
|
|
void ApplySpellBuff(int spell_id, int duration, int level);
|
|
int GetBuffStatValueBySlot(uint8 slot, const char* identifier);
|
|
int GetBuffStatValueBySpell(int spell_id, const char* identifier);
|
|
void SetBuffDuration(int spell_id);
|
|
void SetBuffDuration(int spell_id, int duration);
|
|
void SetBuffDuration(int spell_id, int duration, int level);
|
|
void CloneAppearance(Lua_Mob other);
|
|
void CloneAppearance(Lua_Mob other, bool clone_name);
|
|
void DamageArea(int64 damage);
|
|
void DamageArea(int64 damage, uint32 distance);
|
|
void DamageAreaPercentage(int64 damage);
|
|
void DamageAreaPercentage(int64 damage, uint32 distance);
|
|
void DamageAreaBots(int64 damage);
|
|
void DamageAreaBots(int64 damage, uint32 distance);
|
|
void DamageAreaBotsPercentage(int64 damage);
|
|
void DamageAreaBotsPercentage(int64 damage, uint32 distance);
|
|
void DamageAreaClients(int64 damage);
|
|
void DamageAreaClients(int64 damage, uint32 distance);
|
|
void DamageAreaClientsPercentage(int64 damage);
|
|
void DamageAreaClientsPercentage(int64 damage, uint32 distance);
|
|
void DamageAreaNPCs(int64 damage);
|
|
void DamageAreaNPCs(int64 damage, uint32 distance);
|
|
void DamageAreaNPCsPercentage(int64 damage);
|
|
void DamageAreaNPCsPercentage(int64 damage, uint32 distance);
|
|
void DamageHateList(int64 damage);
|
|
void DamageHateList(int64 damage, uint32 distance);
|
|
void DamageHateListPercentage(int64 damage);
|
|
void DamageHateListPercentage(int64 damage, uint32 distance);
|
|
void DamageHateListBots(int64 damage);
|
|
void DamageHateListBots(int64 damage, uint32 distance);
|
|
void DamageHateListBotsPercentage(int64 damage);
|
|
void DamageHateListBotsPercentage(int64 damage, uint32 distance);
|
|
void DamageHateListClients(int64 damage);
|
|
void DamageHateListClients(int64 damage, uint32 distance);
|
|
void DamageHateListClientsPercentage(int64 damage);
|
|
void DamageHateListClientsPercentage(int64 damage, uint32 distance);
|
|
void DamageHateListNPCs(int64 damage);
|
|
void DamageHateListNPCs(int64 damage, uint32 distance);
|
|
void DamageHateListNPCsPercentage(int64 damage);
|
|
void DamageHateListNPCsPercentage(int64 damage, uint32 distance);
|
|
void CopyHateList(Lua_Mob to);
|
|
bool IsAttackAllowed(Lua_Mob target);
|
|
bool IsAttackAllowed(Lua_Mob target, bool is_spell_attack);
|
|
bool IsFindable();
|
|
bool IsTrackable();
|
|
float GetDefaultRaceSize();
|
|
float GetDefaultRaceSize(int race_id);
|
|
float GetDefaultRaceSize(int race_id, int gender_id);
|
|
int64 GetActDoTDamage(uint16 spell_id, int64 value, Lua_Mob target);
|
|
int64 GetActDoTDamage(uint16 spell_id, int64 value, Lua_Mob target, bool from_buff_tic);
|
|
int64 GetActReflectedSpellDamage(uint16 spell_id, int64 value, int effectiveness);
|
|
int GetActSpellCasttime(uint16 spell_id, uint32 cast_time);
|
|
int GetActSpellCost(uint16 spell_id, int cost);
|
|
int64 GetActSpellDamage(uint16 spell_id, int64 value);
|
|
int64 GetActSpellDamage(uint16 spell_id, int64 value, Lua_Mob target);
|
|
int GetActSpellDuration(uint16 spell_id, int duration);
|
|
int64 GetActSpellHealing(uint16 spell_id, int64 value);
|
|
int64 GetActSpellHealing(uint16 spell_id, int64 value, Lua_Mob target);
|
|
int64 GetActSpellHealing(uint16 spell_id, int64 value, Lua_Mob target, bool from_buff_tic);
|
|
float GetActSpellRange(uint16 spell_id, float range);
|
|
uint32 GetRemainingTimeMS(const char* timer_name);
|
|
uint32 GetTimerDurationMS(const char* timer_name);
|
|
bool HasTimer(const char* timer_name);
|
|
bool IsPausedTimer(const char* timer_name);
|
|
void PauseTimer(const char* timer_name);
|
|
void ResumeTimer(const char* timer_name);
|
|
void SetTimer(const char* timer_name, int seconds);
|
|
void SetTimerMS(const char* timer_name, int milliseconds);
|
|
void StopAllTimers();
|
|
void StopTimer(const char* timer_name);
|
|
luabind::object GetBuffSpellIDs(lua_State* L);
|
|
bool HasSpellEffect(int effect_id);
|
|
Lua_Mob_List GetCloseMobList();
|
|
Lua_Mob_List GetCloseMobList(float distance);
|
|
Lua_Mob_List GetCloseMobList(float distance, bool ignore_self);
|
|
std::string GetClassPlural();
|
|
std::string GetRacePlural();
|
|
bool IsTemporaryPet();
|
|
uint32 GetMobTypeIdentifier();
|
|
uint32 GetHateListCount();
|
|
uint32 GetHateListBotCount();
|
|
uint32 GetHateListClientCount();
|
|
uint32 GetHateListNPCCount();
|
|
bool IsAnimation();
|
|
bool IsCharmed();
|
|
bool IsFamiliar();
|
|
bool IsTargetLockPet();
|
|
bool IsPetOwnerBot();
|
|
bool IsPetOwnerClient();
|
|
bool IsPetOwnerNPC();
|
|
bool IsPetOwnerOfClientBot();
|
|
bool IsDestructibleObject();
|
|
bool IsBoat();
|
|
bool IsControllableBoat();
|
|
int GetHeroicStrikethrough();
|
|
bool IsAlwaysAggro();
|
|
std::string GetDeityName();
|
|
luabind::object GetBuffs(lua_State* L);
|
|
void RestoreEndurance();
|
|
void RestoreHealth();
|
|
void RestoreMana();
|
|
std::string GetArchetypeName();
|
|
bool IsIntelligenceCasterClass();
|
|
bool IsPureMeleeClass();
|
|
bool IsWisdomCasterClass();
|
|
std::string GetConsiderColor(Lua_Mob other);
|
|
std::string GetConsiderColor(uint8 other_level);
|
|
int GetExtraHaste();
|
|
void SetExtraHaste(int haste);
|
|
void SetExtraHaste(int haste, bool need_to_save);
|
|
void AreaAttack(float distance);
|
|
void AreaAttack(float distance, int16 slot_id);
|
|
void AreaAttack(float distance, int16 slot_id, int count);
|
|
void AreaAttack(float distance, int16 slot_id, int count, bool is_from_spell);
|
|
void AreaAttack(float distance, int16 slot_id, int count, bool is_from_spell, int attack_rounds);
|
|
void AreaSpell(Lua_Mob center, uint16 spell_id);
|
|
void AreaSpell(Lua_Mob center, uint16 spell_id, bool affect_caster);
|
|
void AreaSpell(Lua_Mob center, uint16 spell_id, bool affect_caster, int16 resist_adjust);
|
|
void AreaSpell(Lua_Mob center, uint16 spell_id, bool affect_caster, int16 resist_adjust, int max_targets);
|
|
void MassGroupBuff(Lua_Mob center, uint16 spell_id);
|
|
void MassGroupBuff(Lua_Mob center, uint16 spell_id, bool affect_caster);
|
|
void BuffFadeBeneficial();
|
|
void BuffFadeDetrimental();
|
|
void BuffFadeDetrimentalByCaster(Lua_Mob caster);
|
|
void BuffFadeNonPersistDeath();
|
|
void BuffFadeSongs();
|
|
luabind::object GetPausedTimers(lua_State* L);
|
|
luabind::object GetTimers(lua_State* L);
|
|
uint8 GetPetType();
|
|
std::string GetPetTypeName();
|
|
void SetPetType(uint8 pet_type);
|
|
};
|
|
|
|
#endif // LUA_EQEMU
|