mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
* Implement spell AI pulling, fix throw stone * more pull tweaks * holding check at start of ai process * fully implement ^pull logic to always return, can still be overidden by ^attack * Rewrite ^pull logic and handling. **MORE** Add ^setassistee command to set who your bots will assist. Bots will always assist you first before anyone else. If the rule Bots, AllowCrossGroupRaidAssist is enabled bots will assist the group or raid main assists. Rewrites logic in handling of pull and returning to ensure bots make it back to their location. * Move HateLine to a better ID * cleanup ST_Self logic in CastChecks * Removed unused BotSpellTypeRequiresLoS * Move fizzle message to define * add timer checks to Idle/Engaged/Pursue CastCheck to early terminate * Add back !IsBotNonSpellFighter() check to the different CastCheck * Correct IsValidSpellRange * Implement AAs and harmtouch/layonhands to ^cast --- fix IsValidSpellRange * Add PetDamageShields and PetResistBuffs to IsPetBotSpellType() * Add priorities to HateLine inserts for db update * Remove SpellTypeRequiresCastChecks * Add bot check to DetermineSpellTargets for IsIllusionSpell * merge with previous * Correct bot checks for ST_GroupClientAndPet * Remove misc target_type checks * Add lull/aelull to ^cast * Add more checks for CommandedSubTypes::AETarget * remove unneeded checks on IsValidSpellTypeBySpellID * add to aelull * rewrite GetCorrectSpellType * Add IsBlockedBuff to CastChecks * Add spellid option to ^cast to allow casting of a specific spell by ID * ^cast adjustments for spellid casts * Add missing alert round for ranged attacks * More castcheck improvements * CanUseBotSpell for ^cast * remove ht/loh from attack ai * remove SetCombatRoundForAlerts that triggered every engagement * Add RangedAttackImmunity checks before trying to ranged attack * move bot backstab to mob * fix MinStatusToBypassCreateLimit * more backstab to mob cleanup * add bot checks to tryheadshot / tryassassinate * adjust version number for bots * add back m_mob_check_moving_timer, necessary? * add sanity checks for classattacks * Get rid of Bots:BotGroupXP and change logic to support Bots:SameRaidGroupForXP Bots won't do anything if not in the same group so this should more accurately control only when in the same raid group. * add "confirm" check to ^delete * Update bot.cpp * Remove `id` from bot_settings, correct types * Implement blocked_buffs and blocked_pet_buffs * more blocked buff tweaks * add beneficial check to ^blockedbuffs * command grammar * missing ) * Move getnames for categories and settings to mob, rename hptomed/manatomed * add GetBotSpellCategoryIDByShortName and CopyBotBlockedPetBuffs, update ^defaultsettings command * cls cleanup * Allow bots to clear HasProjectIllusion flag * Add PercentChanceToCastGroupCure * Implmenet PetCures, add some missing types for defaults/chance to cast * Change GetRaidByBotName to GetRaidByBot * Typo on PetBuffs implement * Change GetSpellListSpellType to GetParentSpellType * missing from GetChanceToCastBySpellType * Fix performance in IsValidSpellRange by flipping HasProjectIllusion * merge with prev * merge with cls cleanup * Reorder IsTargetAlreadyReceivingSpell/CheckSpellLevelRestriction/IsBlockedBuff * Combine GatherGroupSpellTargets and GatherSpellTargets * Cleanup IsTargetAlreadyReceivingSpell * Fix ^petsettype to account for usable levels of spells and remove hardcoded level limits. * Remove Bot_AICheckCloseBeneficialSpells and use AttemptCloseBeneficialSpells for better performance * remove default hold for resist buffa * move IsValidSpellRange further down castchecks * raid optimizations * correct name checking to match players * more name checks and add proper soft deletes to bots * organize some checks in IsImmuneToBotSpell * Fix GetRaidByBotName and GetRaidByBot checks to not loop unnecessarily * Move GatherSpellTargets to mob * Change GetPrioritizedBotSpellsBySpellType to vector Some slipped through in "organize some checks in IsImmuneToBotSpell" * Move GatherSpellTargets and Raid to stored variables. Missing some in "organize some checks in IsImmuneToBotSpell" * comment out precheck, delays, thresholds, etc logging missed some in "organize some checks in IsImmuneToBotSpell" * Missing IsInGroupOrRaid cleanup * Implement AIBot_spells_by_type to reduce looping when searching for spells * Add _tempSpellType as placeholder for any future passthru * todo * Move bot_list from std::list to std::unordered_map like other entities * Fix missing raid assignment for GetStoredRaid in IsInGroupOrRaid * TempPet owned by bots that get the kill will now give exp like a client would * Remove unnecessary checks in bot process (closescanmoving timer, verify raid, send hp/mana/end packet * Fix client spell commands from saving the wrong setting * Cleanup ^copysettings command and add new commands * Add pet option to ^taunt No longer has toggle, required on/off option and an optional "pet" option to control pets' taunting state * Allow pet types to ^cast, prevent failure spam, add cure check * more raid optimizations, should be final. 10 clients, 710 bots, 10 raids, ~250 pets sits around 3.5% CPU idle * Move spell range check to proper location * Implement ^discipline * remove ^aggressive/^defensive * remove this for a separate PR * cleanup * Add BotGroupSay method * todo list * Add missing bot_blocked_buffs to schema * Remove plural on ^spelltypeidsand ^spelltypenames * Move spelltype names, spell subtypes, category names and setting names to maps. * move los checks to mob.cpp * Bot CampAll fix * Bots special_attacks.cpp fix * Add zero check for bot spawn limits If the spawn limit rule is set to 0 and spawn limit is set by bucket, if no class buckets are set, it defaults to the rule of 0 and renders the player unable to spawn bots. This adds a check where if the rule and class bucket are 0, it will check for the spawn limit bucket * Add HasSkill checks to bot special abilities (kick/bash/etc) * code cleanup 1 * code cleanup 2 * code cleanup 3 * code cleanup 4 * fix ^cast wirh commanded types * Remove bcspells, fix helper_send_usage_required_bots * linux build fix * remove completed todo * Allow inventory give to specific ID slots * Update TODO * Correct slot ranges for inventorygive * Add zone specific spawn limits and zone specific forced spawn limits * remove bd. from update queries where it doesn't exist * Rename _spellSettings to m_bot_spell_settings * Add IsPetOwnerOfClientBot(), add Lua and Perl methods * Make botOwnerCharacterID snakecase * Throw bot_camp_timer behind Bots:Enabled rule * Move various Bot<>Checks logging to BotSpellChecks * Remove from LogCategoryName * Consolidate IsInGroupOrRaid * Consolidate GatherSpellTargets * Add missing Bot Spell Type Checks to log * Add GetParentSpellType when checking spelltypes for idle, engaged, pursue CastChecks. * Consolidate AttemptForcedCastSpell * Consolidate SetBotBlockedBuff/SetBotBlockedPetBuff * Add list option to ^spellpriority commands. * Move client functions to client_bot * Move mob functions to mob_bot * Move bot spdat functions to spdat_bot * Move SendCommandHelpWindow to SendBotCommandHelpWindow and simplify * Change char_id to character_id for bot_settings * update todo * Fix typo on merge conflict * Cleanup command format changes, remove hardcoded class IDs in examples. * Set #illusionblock for players to guide access * Move client commands for bot spells from gm commands to existing bot commands * Fix alignment issues * More alignment fixes * More cleanup 1 * More cleanup 2 * Fix BotMeditate to med at proper percentages * Correct GetStopMeleeLevel checks for some buff checks * Add back hpmanaend update to bot raid, force timer update to prevent spamming * Remove log * Cleanup ranged and ammo calculations - Adds throwing check for match * Add check in distance calculations to stay at range if set even if no ammo or ranged * Move melee distance calculations to better function * Add GetBuffTargets helper * Missing p_item, s_item in CombatRangeInput * Linux test? * Reduce GetCorrectBotSpellType branching slightly This is still an ugly ass function but my brain is melted * Line fixes * Make bot pets only do half damage in pvp * Add bot pet pvp damage to tune * Add bot pet check for AIYellForHelp * Add bots to UseSpellImpliedTargeting * Move toggleranged, togglehelm and illusionblock to new help window. Add actionable support * Add bot and bot pet checks to various spells, auras and targeting checks that were missing. * update todo * New lines * Correct DoLosChecks * Remove Log TestDebug * Remove _Struct from struct declarations * Add bot check to IsAttackAllowed for GetUltimateOwner to skip entity list where possible * Wrap SaveBotSettings in Bots Enabled check * Remove comment * Wrap bot setting loading for clients in bots enabled rule * Cleanup BlockedBuffs logic in SpellOnTarget * Rename BotSpells_Struct/BotSpells_Struct_wIndex * Rename spawn/create status bypass rules, fix return for spawn limit * Remove unnecessary return in CanBuffStack, cleanup * Enable recastdelay support for clients * Remove unused variables * Rename _assistee to bot_assistee * hardcode BotCommandHelpWindow colors * todo * Fix ^cast summoncorpse * todo * Reimplement secondary colors to BotSendCommandHelpWindow * Give ^copysettings/^defaultsettings more options, cleanup. * Cleanup some commands * Add comment to CheckLosCheat/CheckLosCheatExempt * Make struct BotSpellSettings snake case * Allow duplicate casts of same spell on target for heals and cures * Add default delay to cures * Remove unused methods * Implement missing ^spellresistlimits/^resistlimits command * Move functions out of mob.h and cleanup * Return for GetRawBotList This checks offline bots too * Rename BotGroupSay to RaidGroupSay * Prevent bots from forming their own group if a bot that is a group leader is removed from the raid * Linux fix? * IsPetOwner fixes * Add remove option to list for ^blockedbuffs / ^blockedpetbuffs * Implement ^spellannouncecasts to toggle announcing casts of spell types * Remove rule Bots:BardsAnnounceCasts * Update bot.h * Remove unused no_pets option from GatherSpellTargets * Move ^attack response back to normal chat window (other) * Set lower limit of spell delays to 100 rather than 1 * Correct pet checks on GetUltimateSpell functions * Add rules (Bots, AICastSpellTypeDelay, Bots, AICastSpellTypeHeldDelay) to prevent spamming of failed spell type AI casts * Correct pet buff type logic to catch DS/Resists with other spell effects in them * Fix defaults for clients * Add more logic for necros/shaman for default heal thresholds due to lich and canni * Rename SpellHold, SpellDelay, SpellMinThreshold, SpellMaxThreshold, SpellRecastDelay to fit SpellType style naming * Use GetTempSpellType() for announce check in RaidGroupSay * Make all spell shortnames plural where applicable * Update bot.cpp * Bots:BotsUseLiveBlockedMessage filter to spell failure * Move GetSpellTargetList to only get called when necessary to reduce overhead * formatting * Formatting * Simplify case SE_Illusion and SE_IllusionCopy for GetIllusionBlock * Clean up InterruptSpell * Cleanup IsBot() checks for DetermineSpellTargets->ST_GroupClientAndPet * Cleanup range/aoe_range check in SpellFinished * Cleanup DetermineSpellTargets->ST_GroupNoPets * Cleanup DetermineSpellTargets->ST_Self for bot summon corpse * Cleanup DetermineSpellTargets->ST_Pet * Cleanup bot logic in TryBackstab * Cleanup IsAttackAllowed checks for bots and their pets * Cleanup StopMoving for bots * Cleanup CanThisClassTripleAttack * Fix casting for GetIllusionBlock checks * Formatting * Fix DetermineSpellTargets for group spells (this also wasn't properly checking the rule Character:EnableTGB in master) * Cleanup spelltarget grabbing logic, consolidate group heals in to GetNumberNeedingHealedInGroup * Throw added client los pet checks behind LoS cheat rule for bots * CLeanup give_exp on npc death logic and ensure client pets always pass. * Undo unintended rename from previous refactor * Remove pointless Bots, SameRaidGroupForXP rule * Revision to 0690783a9d1e99005d6bee0824597ea920e26df9 --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
4225 lines
146 KiB
C++
4225 lines
146 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_IsMob(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsMob();
|
|
}
|
|
|
|
bool Perl_Mob_IsMerc(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsMerc();
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
bool Perl_Mob_IsEncounter(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsEncounter();
|
|
}
|
|
|
|
bool Perl_Mob_IsBot(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsBot();
|
|
}
|
|
|
|
bool Perl_Mob_IsAura(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsAura();
|
|
}
|
|
|
|
bool Perl_Mob_IsOfClientBot(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsOfClientBot();
|
|
}
|
|
|
|
bool Perl_Mob_IsOfClientBotMerc(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsOfClientBotMerc();
|
|
}
|
|
|
|
bool Perl_Mob_IsTemporaryPet(Mob* self) // @categories Script Utility
|
|
{
|
|
return self->IsTempPet();
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
uint32_t Perl_Mob_GetEquipment(Mob* self, uint8_t material_slot) // @categories Inventory and Items
|
|
{
|
|
return self->GetEquippedItemFromTextureSlot(material_slot);
|
|
}
|
|
|
|
uint32_t Perl_Mob_GetEquipmentMaterial(Mob* self, uint8_t material_slot) // @categories Inventory and Items
|
|
{
|
|
return self->GetEquipmentMaterial(material_slot);
|
|
}
|
|
|
|
uint32_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_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 unrestricted) // @categories Script Utility
|
|
{
|
|
self->ChangeSize(in_size, unrestricted);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
void Perl_Mob_GMMove(Mob* self, float x, float y, float z, float heading, bool save_guard_spot) // @categories Script Utility
|
|
{
|
|
self->GMMove(x, y, z, heading, save_guard_spot);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
bool Perl_Mob_FindBuff(Mob* self, uint16 spell_id, uint16 caster_id) // @categories Spells and Disciplines, Script Utility
|
|
{
|
|
return self->FindBuff(spell_id, caster_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();
|
|
}
|
|
|
|
std::string Perl_Mob_GetBaseRaceName(Mob* self) // @categories Stats and Attributes
|
|
{
|
|
return GetRaceIDName(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);
|
|
}
|
|
|
|
void Perl_Mob_SetExtraHaste(Mob* self, int haste, bool need_to_save) // @categories Script Utility, Stats and Attributes
|
|
{
|
|
self->SetExtraHaste(haste, need_to_save);
|
|
}
|
|
|
|
int Perl_Mob_GetExtraHaste(Mob* self) // @categories Script Utility, Stats and Attributes
|
|
{
|
|
return self->GetExtraHaste();
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
Bot* Perl_Mob_GetHateTopBot(Mob* self) // @categories Hate and Aggro
|
|
{
|
|
return self->GetHateTopBot();
|
|
}
|
|
|
|
Client* Perl_Mob_GetHateTopClient(Mob* self) // @categories Hate and Aggro
|
|
{
|
|
return self->GetHateTopClient();
|
|
}
|
|
|
|
NPC* Perl_Mob_GetHateTopNPC(Mob* self) // @categories Hate and Aggro
|
|
{
|
|
return self->GetHateTopNPC();
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
float Perl_Mob_CalculateDistance(Mob* self, Mob* mob) // @categories Script Utility
|
|
{
|
|
return self->CalculateDistance(mob);
|
|
}
|
|
|
|
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(
|
|
AppearanceStruct{
|
|
.beard = self->GetBeard(),
|
|
.beard_color = self->GetBeardColor(),
|
|
.drakkin_details = self->GetDrakkinDetails(),
|
|
.drakkin_heritage = self->GetDrakkinHeritage(),
|
|
.drakkin_tattoo = self->GetDrakkinTattoo(),
|
|
.eye_color_one = self->GetEyeColor1(),
|
|
.eye_color_two = self->GetEyeColor2(),
|
|
.face = self->GetLuclinFace(),
|
|
.gender_id = self->GetGender(),
|
|
.hair = self->GetHairStyle(),
|
|
.hair_color = self->GetHairColor(),
|
|
.helmet_texture = self->GetHelmTexture(),
|
|
.race_id = self->GetRace(),
|
|
.send_effects = false,
|
|
.size = self->GetSize(),
|
|
.texture = self->GetTexture(),
|
|
}
|
|
);
|
|
self->ClearAppearanceEffects();
|
|
}
|
|
|
|
void Perl_Mob_SetFlyMode(Mob* self, int flymode) // @categories Script Utility
|
|
{
|
|
self->SetFlyMode(static_cast<GravityBehavior>(flymode));
|
|
}
|
|
|
|
void Perl_Mob_SetTexture(Mob* self, uint8 texture) // @categories Stats and Attributes
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.race_id = self->GetRace(),
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SetRace(Mob* self, uint16 race_id) // @categories Stats and Attributes
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.race_id = race_id,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SetGender(Mob* self, uint8 gender_id) // @categories Stats and Attributes
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.gender_id = gender_id,
|
|
.race_id = self->GetRace(),
|
|
}
|
|
);
|
|
}
|
|
|
|
// todo: SendIllusion should be sent in a hash like lua
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.race_id = race_id,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.gender_id = gender_id,
|
|
.race_id = race_id,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.gender_id = gender_id,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.gender_id = gender_id,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color, uint32 drakkin_heritage) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color, uint32 drakkin_heritage, uint32 drakkin_tattoo) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.drakkin_tattoo = drakkin_tattoo,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_details = drakkin_details,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.drakkin_tattoo = drakkin_tattoo,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details, float size) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_details = drakkin_details,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.drakkin_tattoo = drakkin_tattoo,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.size = size,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusion(Mob *self, uint16 race_id, uint8 gender_id, uint8 texture, uint8 helmet_texture, uint8 face, uint8 hair, uint8 hair_color, uint8 beard, uint8 beard_color, uint32 drakkin_heritage, uint32 drakkin_tattoo, uint32 drakkin_details, float size, Client *target) // @categories Script Utility
|
|
{
|
|
self->SendIllusionPacket(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_details = drakkin_details,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.drakkin_tattoo = drakkin_tattoo,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.size = size,
|
|
.target = target,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
void Perl_Mob_SendIllusionPacket(Mob* self, perl::reference table_ref)
|
|
{
|
|
perl::hash table = table_ref;
|
|
|
|
uint16 race_id = table.exists("race") ? table["race"] : self->GetRace();
|
|
uint8 gender_id = table.exists("gender") ? table["gender"] : self->GetGender();
|
|
uint8 texture = table.exists("texture") ? table["texture"] : self->GetTexture();
|
|
uint8 helmet_texture = table.exists("helmtexture") ? table["helmtexture"] : self->GetHelmTexture();
|
|
uint8 hair_color = table.exists("haircolor") ? table["haircolor"] : self->GetHairColor();
|
|
uint8 beard_color = table.exists("beardcolor") ? table["beardcolor"] : self->GetBeardColor();
|
|
uint8 eye_color_one = table.exists("eyecolor1") ? table["eyecolor1"] : self->GetEyeColor1();
|
|
uint8 eye_color_two = table.exists("eyecolor2") ? table["eyecolor2"] : self->GetEyeColor2();
|
|
uint8 hair = table.exists("hairstyle") ? table["hairstyle"] : self->GetHairStyle();
|
|
uint8 face = 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(
|
|
AppearanceStruct{
|
|
.beard = beard,
|
|
.beard_color = beard_color,
|
|
.drakkin_details = drakkin_details,
|
|
.drakkin_heritage = drakkin_heritage,
|
|
.drakkin_tattoo = drakkin_tattoo,
|
|
.face = face,
|
|
.gender_id = gender_id,
|
|
.hair = hair,
|
|
.hair_color = hair_color,
|
|
.helmet_texture = helmet_texture,
|
|
.race_id = race_id,
|
|
.send_effects = send_appearance_effects,
|
|
.size = size,
|
|
.target = target,
|
|
.texture = texture,
|
|
}
|
|
);
|
|
}
|
|
|
|
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, uint32 texture) // @categories Script Utility
|
|
{
|
|
self->WearChange(material_slot, texture);
|
|
}
|
|
|
|
void Perl_Mob_WearChange(Mob* self, uint8 material_slot, uint32 texture, uint32 color) // @categories Script Utility
|
|
{
|
|
self->WearChange(material_slot, texture, color);
|
|
}
|
|
|
|
void Perl_Mob_WearChange(Mob* self, uint8 material_slot, uint32 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, uint8 body_type_id) // @categories Stats and Attributes
|
|
{
|
|
self->SetBodyType(body_type_id, false);
|
|
}
|
|
|
|
void Perl_Mob_SetBodyType(Mob* self, uint8 body_type_id, bool overwrite_orig) // @categories Stats and Attributes
|
|
{
|
|
self->SetBodyType(body_type_id, 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(AppearanceType::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 {};
|
|
}
|
|
|
|
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_SetBuffDuration(Mob* self, int spell_id, int duration, int level) // @categories Script Utility, Spells and Disciplines
|
|
{
|
|
self->SetBuffDuration(spell_id, duration, level);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
void Perl_Mob_ApplySpellBuff(Mob* self, int spell_id, int duration, int level) // @categories Script Utility, Spells and Disciplines
|
|
{
|
|
self->ApplySpellBuff(spell_id, duration, level);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
perl::array Perl_Mob_GetCloseMobList(Mob* self)
|
|
{
|
|
perl::array result;
|
|
|
|
const auto& l = entity_list.GetCloseMobList(self);
|
|
|
|
result.reserve(l.size());
|
|
|
|
for (const auto& e : l) {
|
|
result.push_back(e.second);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
perl::array Perl_Mob_GetCloseMobList(Mob* self, float distance)
|
|
{
|
|
perl::array result;
|
|
|
|
const auto& l = entity_list.GetCloseMobList(self, distance);
|
|
|
|
result.reserve(l.size());
|
|
|
|
for (const auto& e : l) {
|
|
if (self->CalculateDistance(e.second) <= distance) {
|
|
result.push_back(e.second);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
perl::array Perl_Mob_GetCloseMobList(Mob* self, float distance, bool ignore_self)
|
|
{
|
|
perl::array result;
|
|
|
|
const auto& l = entity_list.GetCloseMobList(self, distance);
|
|
|
|
result.reserve(l.size());
|
|
|
|
for (const auto& e : l) {
|
|
if (ignore_self && e.second == self) {
|
|
continue;
|
|
}
|
|
|
|
if (self->CalculateDistance(e.second) <= distance) {
|
|
result.push_back(e.second);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
StatBonuses* Perl_Mob_GetAABonuses(Mob* self)
|
|
{
|
|
return self->GetAABonusesPtr();
|
|
}
|
|
|
|
StatBonuses* Perl_Mob_GetItemBonuses(Mob* self)
|
|
{
|
|
return self->GetItemBonusesPtr();
|
|
}
|
|
|
|
StatBonuses* Perl_Mob_GetSpellBonuses(Mob* self)
|
|
{
|
|
return self->GetSpellBonusesPtr();
|
|
}
|
|
|
|
std::string Perl_Mob_GetClassPlural(Mob* self)
|
|
{
|
|
return self->GetClassPlural();
|
|
}
|
|
|
|
uint32 Perl_Mob_GetMobTypeIdentifier(Mob* self)
|
|
{
|
|
return self->GetMobTypeIdentifier();
|
|
}
|
|
|
|
std::string Perl_Mob_GetRacePlural(Mob* self)
|
|
{
|
|
return self->GetRacePlural();
|
|
}
|
|
|
|
uint32 Perl_Mob_GetHateListCount(Mob* self)
|
|
{
|
|
return self->GetHateListCount();
|
|
}
|
|
|
|
uint32 Perl_Mob_GetHateListBotCount(Mob* self)
|
|
{
|
|
return self->GetHateListCount(HateListCountType::Bot);
|
|
}
|
|
|
|
uint32 Perl_Mob_GetHateListClientCount(Mob* self)
|
|
{
|
|
return self->GetHateListCount(HateListCountType::Client);
|
|
}
|
|
|
|
uint32 Perl_Mob_GetHateListNPCCount(Mob* self)
|
|
{
|
|
return self->GetHateListCount(HateListCountType::NPC);
|
|
}
|
|
|
|
bool Perl_Mob_IsAnimation(Mob* self)
|
|
{
|
|
return self->IsAnimation();
|
|
}
|
|
|
|
bool Perl_Mob_IsCharmed(Mob* self)
|
|
{
|
|
return self->IsCharmed();
|
|
}
|
|
|
|
bool Perl_Mob_IsFamiliar(Mob* self)
|
|
{
|
|
return self->IsFamiliar();
|
|
}
|
|
|
|
bool Perl_Mob_IsTargetLockPet(Mob* self)
|
|
{
|
|
return self->IsTargetLockPet();
|
|
}
|
|
|
|
bool Perl_Mob_IsPetOwnerBot(Mob* self)
|
|
{
|
|
return self->IsPetOwnerBot();
|
|
}
|
|
|
|
bool Perl_Mob_IsPetOwnerClient(Mob* self)
|
|
{
|
|
return self->IsPetOwnerClient();
|
|
}
|
|
|
|
bool Perl_Mob_IsPetOwnerNPC(Mob* self)
|
|
{
|
|
return self->IsPetOwnerNPC();
|
|
}
|
|
|
|
bool Perl_Mob_IsPetOwnerOfClientBot(Mob* self)
|
|
{
|
|
return self->IsPetOwnerOfClientBot();
|
|
}
|
|
|
|
bool Perl_Mob_IsDestructibleObject(Mob* self)
|
|
{
|
|
return self->IsDestructibleObject();
|
|
}
|
|
|
|
bool Perl_Mob_IsBoat(Mob* self)
|
|
{
|
|
return self->IsBoat();
|
|
}
|
|
|
|
bool Perl_Mob_IsControllableBoat(Mob* self)
|
|
{
|
|
return self->IsControllableBoat();
|
|
}
|
|
|
|
int Perl_Mob_GetHeroicStrikethrough(Mob* self)
|
|
{
|
|
return self->GetHeroicStrikethrough();
|
|
}
|
|
|
|
bool Perl_Mob_IsAlwaysAggro(Mob* self)
|
|
{
|
|
return self->AlwaysAggro();
|
|
}
|
|
|
|
std::string Perl_Mob_GetDeityName(Mob* self)
|
|
{
|
|
return Deity::GetName(self->GetDeity());
|
|
}
|
|
|
|
perl::array Perl_Mob_GetBuffs(Mob* self)
|
|
{
|
|
perl::array result;
|
|
|
|
const auto &buffs = self->GetBuffs();
|
|
|
|
for (int slot_id = 0; slot_id < self->GetMaxBuffSlots(); slot_id++) {
|
|
result.push_back(&buffs[slot_id]);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
void Perl_Mob_RestoreEndurance(Mob* self)
|
|
{
|
|
self->RestoreEndurance();
|
|
}
|
|
|
|
void Perl_Mob_RestoreHealth(Mob* self)
|
|
{
|
|
self->RestoreHealth();
|
|
}
|
|
|
|
void Perl_Mob_RestoreMana(Mob* self)
|
|
{
|
|
self->RestoreMana();
|
|
}
|
|
|
|
std::string Perl_Mob_GetArchetypeName(Mob* self)
|
|
{
|
|
return self->GetArchetypeName();
|
|
}
|
|
|
|
bool Perl_Mob_IsIntelligenceCasterClass(Mob* self)
|
|
{
|
|
return self->IsIntelligenceCasterClass();
|
|
}
|
|
|
|
bool Perl_Mob_IsPureMeleeClass(Mob* self)
|
|
{
|
|
return self->IsPureMeleeClass();
|
|
}
|
|
|
|
bool Perl_Mob_IsWisdomCasterClass(Mob* self)
|
|
{
|
|
return self->IsWisdomCasterClass();
|
|
}
|
|
|
|
std::string Perl_Mob_GetConsiderColor(Mob* self, Mob* other)
|
|
{
|
|
return EQ::constants::GetConsiderColorName(self->GetLevelCon(other->GetLevel()));
|
|
}
|
|
|
|
std::string Perl_Mob_GetConsiderColor(Mob* self, uint8 other_level)
|
|
{
|
|
return EQ::constants::GetConsiderColorName(self->GetLevelCon(other_level));
|
|
}
|
|
|
|
void Perl_Mob_AreaAttack(Mob* self, float distance)
|
|
{
|
|
entity_list.AEAttack(self, distance);
|
|
}
|
|
|
|
void Perl_Mob_AreaAttack(Mob* self, float distance, int16 slot_id)
|
|
{
|
|
entity_list.AEAttack(self, distance, slot_id);
|
|
}
|
|
|
|
void Perl_Mob_AreaAttack(Mob* self, float distance, int16 slot_id, int count)
|
|
{
|
|
entity_list.AEAttack(self, distance, slot_id, count);
|
|
}
|
|
|
|
void Perl_Mob_AreaAttack(Mob* self, float distance, int16 slot_id, int count, bool is_from_spell)
|
|
{
|
|
entity_list.AEAttack(self, distance, slot_id, count, is_from_spell);
|
|
}
|
|
|
|
void Perl_Mob_AreaAttack(Mob* self, float distance, int16 slot_id, int count, bool is_from_spell, int attack_rounds)
|
|
{
|
|
entity_list.AEAttack(self, distance, slot_id, count, is_from_spell, attack_rounds);
|
|
}
|
|
|
|
void Perl_Mob_AreaSpell(Mob* self, Mob* center, uint16 spell_id)
|
|
{
|
|
entity_list.AESpell(self, center, spell_id, true, 0, nullptr, true);
|
|
}
|
|
|
|
void Perl_Mob_AreaSpell(Mob* self, Mob* center, uint16 spell_id, bool affect_caster)
|
|
{
|
|
entity_list.AESpell(self, center, spell_id, affect_caster, 0, nullptr, true);
|
|
}
|
|
|
|
void Perl_Mob_AreaSpell(Mob* self, Mob* center, uint16 spell_id, bool affect_caster, int16 resist_adjust)
|
|
{
|
|
entity_list.AESpell(self, center, spell_id, affect_caster, resist_adjust, nullptr, true);
|
|
}
|
|
|
|
void Perl_Mob_AreaSpell(Mob* self, Mob* center, uint16 spell_id, bool affect_caster, int16 resist_adjust, int max_targets)
|
|
{
|
|
entity_list.AESpell(self, center, spell_id, affect_caster, resist_adjust, &max_targets, true);
|
|
}
|
|
|
|
void Perl_Mob_MassGroupBuff(Mob* self, Mob* center, uint16 spell_id)
|
|
{
|
|
entity_list.MassGroupBuff(self, center, spell_id);
|
|
}
|
|
|
|
void Perl_Mob_MassGroupBuff(Mob* self, Mob* center, uint16 spell_id, bool affect_caster)
|
|
{
|
|
entity_list.MassGroupBuff(self, center, spell_id, affect_caster);
|
|
}
|
|
|
|
void Perl_Mob_BuffFadeBeneficial(Mob* self)
|
|
{
|
|
self->BuffFadeBeneficial();
|
|
}
|
|
|
|
void Perl_Mob_BuffFadeDetrimental(Mob* self)
|
|
{
|
|
self->BuffFadeDetrimental();
|
|
}
|
|
|
|
void Perl_Mob_BuffFadeDetrimentalByCaster(Mob* self, Mob* caster)
|
|
{
|
|
self->BuffFadeDetrimentalByCaster(caster);
|
|
}
|
|
|
|
void Perl_Mob_BuffFadeNonPersistDeath(Mob* self)
|
|
{
|
|
self->BuffFadeNonPersistDeath();
|
|
}
|
|
|
|
void Perl_Mob_BuffFadeSongs(Mob* self)
|
|
{
|
|
self->BuffFadeSongs();
|
|
}
|
|
|
|
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("ApplySpellBuff", (void(*)(Mob*, int, int, int))&Perl_Mob_ApplySpellBuff);
|
|
package.add("AreaAttack", (void(*)(Mob*, float))&Perl_Mob_AreaAttack);
|
|
package.add("AreaAttack", (void(*)(Mob*, float, int16))&Perl_Mob_AreaAttack);
|
|
package.add("AreaAttack", (void(*)(Mob*, float, int16, int))&Perl_Mob_AreaAttack);
|
|
package.add("AreaAttack", (void(*)(Mob*, float, int16, int, bool))&Perl_Mob_AreaAttack);
|
|
package.add("AreaAttack", (void(*)(Mob*, float, int16, int, bool, int))&Perl_Mob_AreaAttack);
|
|
package.add("AreaSpell", (void(*)(Mob*, Mob*, uint16))&Perl_Mob_AreaSpell);
|
|
package.add("AreaSpell", (void(*)(Mob*, Mob*, uint16, bool))&Perl_Mob_AreaSpell);
|
|
package.add("AreaSpell", (void(*)(Mob*, Mob*, uint16, bool, int16))&Perl_Mob_AreaSpell);
|
|
package.add("AreaSpell", (void(*)(Mob*, Mob*, uint16, bool, int16, int))&Perl_Mob_AreaSpell);
|
|
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("BuffFadeBeneficial", &Perl_Mob_BuffFadeBeneficial);
|
|
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("BuffFadeDetrimental", &Perl_Mob_BuffFadeDetrimental);
|
|
package.add("BuffFadeDetrimentalByCaster", &Perl_Mob_BuffFadeDetrimentalByCaster);
|
|
package.add("BuffFadeNonPersistDeath", &Perl_Mob_BuffFadeNonPersistDeath);
|
|
package.add("BuffFadeSongs", &Perl_Mob_BuffFadeSongs);
|
|
package.add("CalculateDistance", (float(*)(Mob*, float, float, float))&Perl_Mob_CalculateDistance);
|
|
package.add("CalculateDistance", (float(*)(Mob*, Mob*))&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", (bool(*)(Mob*, uint16))&Perl_Mob_FindBuff);
|
|
package.add("FindBuff", (bool(*)(Mob*, uint16, uint16))&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("GMMove", (void(*)(Mob*, float, float, float, float, bool))&Perl_Mob_GMMove);
|
|
package.add("Gate", &Perl_Mob_Gate);
|
|
package.add("GetAA", &Perl_Mob_GetAA);
|
|
package.add("GetAABonuses", &Perl_Mob_GetAABonuses);
|
|
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("GetArchetypeName", &Perl_Mob_GetArchetypeName);
|
|
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("GetBaseRaceName", &Perl_Mob_GetBaseRaceName);
|
|
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("GetBuffs", &Perl_Mob_GetBuffs);
|
|
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("GetClassPlural", &Perl_Mob_GetClassPlural);
|
|
package.add("GetClassName", &Perl_Mob_GetClassName);
|
|
package.add("GetCleanName", &Perl_Mob_GetCleanName);
|
|
package.add("GetCloseMobList", (perl::array(*)(Mob*))&Perl_Mob_GetCloseMobList);
|
|
package.add("GetCloseMobList", (perl::array(*)(Mob*, float))&Perl_Mob_GetCloseMobList);
|
|
package.add("GetCloseMobList", (perl::array(*)(Mob*, float, bool))&Perl_Mob_GetCloseMobList);
|
|
package.add("GetConsiderColor", (std::string(*)(Mob*, Mob*))&Perl_Mob_GetConsiderColor);
|
|
package.add("GetConsiderColor", (std::string(*)(Mob*, uint8))&Perl_Mob_GetConsiderColor);
|
|
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("GetDeityName", &Perl_Mob_GetDeityName);
|
|
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("GetExtraHaste", &Perl_Mob_GetExtraHaste);
|
|
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("GetHateListBotCount", &Perl_Mob_GetHateListBotCount);
|
|
package.add("GetHateListClients", (perl::array(*)(Mob*))&Perl_Mob_GetHateListClients);
|
|
package.add("GetHateListClients", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListClients);
|
|
package.add("GetHateListClientCount", &Perl_Mob_GetHateListClientCount);
|
|
package.add("GetHateListNPCs", (perl::array(*)(Mob*))&Perl_Mob_GetHateListNPCs);
|
|
package.add("GetHateListNPCs", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListNPCs);
|
|
package.add("GetHateListNPCCount", &Perl_Mob_GetHateListNPCCount);
|
|
package.add("GetHateListByDistance", (perl::array(*)(Mob*))&Perl_Mob_GetHateListByDistance);
|
|
package.add("GetHateListByDistance", (perl::array(*)(Mob*, uint32))&Perl_Mob_GetHateListByDistance);
|
|
package.add("GetHateListCount", &Perl_Mob_GetHateListCount);
|
|
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("GetHateTopBot", &Perl_Mob_GetHateTopBot);
|
|
package.add("GetHateTopClient", &Perl_Mob_GetHateTopClient);
|
|
package.add("GetHateTopNPC", &Perl_Mob_GetHateTopNPC);
|
|
package.add("GetHeading", &Perl_Mob_GetHeading);
|
|
package.add("GetHelmTexture", &Perl_Mob_GetHelmTexture);
|
|
package.add("GetHeroicStrikethrough", &Perl_Mob_GetHeroicStrikethrough);
|
|
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("GetItemBonuses", &Perl_Mob_GetItemBonuses);
|
|
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("GetMobTypeIdentifier", &Perl_Mob_GetMobTypeIdentifier);
|
|
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("GetRacePlural", &Perl_Mob_GetRacePlural);
|
|
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("GetSpellBonuses", &Perl_Mob_GetSpellBonuses);
|
|
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_RestoreHealth);
|
|
package.add("HealDamage", (void(*)(Mob*, int64_t))&Perl_Mob_HealDamage);
|
|
package.add("HealDamage", (void(*)(Mob*, int64_t, Mob*))&Perl_Mob_HealDamage);
|
|
package.add("InterruptSpell", (void(*)(Mob*))&Perl_Mob_InterruptSpell);
|
|
package.add("InterruptSpell", (void(*)(Mob*, uint16))&Perl_Mob_InterruptSpell);
|
|
package.add("IsAIControlled", &Perl_Mob_IsAIControlled);
|
|
package.add("IsAlwaysAggro", &Perl_Mob_IsAlwaysAggro);
|
|
package.add("IsAmnesiad", &Perl_Mob_IsAmnesiad);
|
|
package.add("IsAnimation", &Perl_Mob_IsAnimation);
|
|
package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*))&Perl_Mob_IsAttackAllowed);
|
|
package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*, bool))&Perl_Mob_IsAttackAllowed);
|
|
package.add("IsAura", &Perl_Mob_IsAura);
|
|
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("IsBoat", &Perl_Mob_IsBoat);
|
|
package.add("IsBot", &Perl_Mob_IsBot);
|
|
package.add("IsCasting", &Perl_Mob_IsCasting);
|
|
package.add("IsCharmed", &Perl_Mob_IsCharmed);
|
|
package.add("IsClient", &Perl_Mob_IsClient);
|
|
package.add("IsControllableBoat", &Perl_Mob_IsControllableBoat);
|
|
package.add("IsCorpse", &Perl_Mob_IsCorpse);
|
|
package.add("IsDestructibleObject", &Perl_Mob_IsDestructibleObject);
|
|
package.add("IsDoor", &Perl_Mob_IsDoor);
|
|
package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem);
|
|
package.add("IsEncounter", &Perl_Mob_IsEncounter);
|
|
package.add("IsEngaged", &Perl_Mob_IsEngaged);
|
|
package.add("IsEnraged", &Perl_Mob_IsEnraged);
|
|
package.add("IsFamiliar", &Perl_Mob_IsFamiliar);
|
|
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("IsIntelligenceCasterClass", &Perl_Mob_IsIntelligenceCasterClass);
|
|
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("IsMerc", &Perl_Mob_IsMerc);
|
|
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("IsOfClientBot", &Perl_Mob_IsOfClientBot);
|
|
package.add("IsOfClientBotMerc", &Perl_Mob_IsOfClientBotMerc);
|
|
package.add("IsPausedTimer", &Perl_Mob_IsPausedTimer);
|
|
package.add("IsPet", &Perl_Mob_IsPet);
|
|
package.add("IsPetOwnerBot", &Perl_Mob_IsPetOwnerBot);
|
|
package.add("IsPetOwnerClient", &Perl_Mob_IsPetOwnerClient);
|
|
package.add("IsPetOwnerNPC", &Perl_Mob_IsPetOwnerNPC);
|
|
package.add("IsPetOwnerOfClientBot", &Perl_Mob_IsPetOwnerOfClientBot);
|
|
package.add("IsPlayerCorpse", &Perl_Mob_IsPlayerCorpse);
|
|
package.add("IsPureMeleeClass", &Perl_Mob_IsPureMeleeClass);
|
|
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("IsTargetLockPet", &Perl_Mob_IsTargetLockPet);
|
|
package.add("IsTemporaryPet", &Perl_Mob_IsTemporaryPet);
|
|
package.add("IsTrackable", &Perl_Mob_IsTrackable);
|
|
package.add("IsTrap", &Perl_Mob_IsTrap);
|
|
package.add("IsWarriorClass", &Perl_Mob_IsWarriorClass);
|
|
package.add("IsWisdomCasterClass", &Perl_Mob_IsWisdomCasterClass);
|
|
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("MassGroupBuff", (void(*)(Mob*, Mob*, uint16))&Perl_Mob_MassGroupBuff);
|
|
package.add("MassGroupBuff", (void(*)(Mob*, Mob*, uint16, bool))&Perl_Mob_MassGroupBuff);
|
|
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("RestoreEndurance", &Perl_Mob_RestoreEndurance);
|
|
package.add("RestoreHealth", &Perl_Mob_RestoreHealth);
|
|
package.add("RestoreMana", &Perl_Mob_RestoreMana);
|
|
package.add("ResumeTimer", &Perl_Mob_ResumeTimer);
|
|
package.add("RogueAssassinate", &Perl_Mob_RogueAssassinate);
|
|
package.add("RunTo", &Perl_Mob_RunTo);
|
|
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*, uint8))&Perl_Mob_SetBodyType);
|
|
package.add("SetBodyType", (void(*)(Mob*, uint8, 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("SetBuffDuration", (void(*)(Mob*, int, 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", (void(*)(Mob*, int))&Perl_Mob_SetExtraHaste);
|
|
package.add("SetExtraHaste", (void(*)(Mob*, int, bool))&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, uint32))&Perl_Mob_WearChange);
|
|
package.add("WearChange", (void(*)(Mob*, uint8, uint32, uint32))&Perl_Mob_WearChange);
|
|
package.add("WearChange", (void(*)(Mob*, uint8, uint32, uint32, uint32))&Perl_Mob_WearChange);
|
|
package.add("WipeHateList", &Perl_Mob_WipeHateList);
|
|
}
|
|
|
|
#endif //EMBPERL_XS_CLASSES
|