From 856b67545421c4b74cd1e275c19dc993b950fea8 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Sun, 1 Jul 2018 02:42:55 -0500 Subject: [PATCH] Update Perl API --- Perl-API.md | 1649 +++++++++++++++++++++++++-------------------------- 1 file changed, 816 insertions(+), 833 deletions(-) diff --git a/Perl-API.md b/Perl-API.md index 5267b77..ece03ee 100644 --- a/Perl-API.md +++ b/Perl-API.md @@ -232,7 +232,7 @@ $z # The Z coordinate of the NPC. $h # The heading of the NPC. ``` -### **Function List** +# General Quest API * A full list can always be found in the EQEmu source [https://github.com/EQEmu/Server/blob/master/zone/questmgr.cpp](https://github.com/EQEmu/Server/blob/master/zone/questmgr.cpp) @@ -476,336 +476,325 @@ sub EVENT_AGGRO_SAY { # Client ### Example -```perl -$client->GetAccountID() -``` ```perl -AccountID() -AccountName() -AddAAPoints(number) -AddAlternateCurrencyValue(currency_id, value) -AddCrystals(NumberOfRadiant, NumberOfEbon) -AddEXP(add_exp, conlevel, resexp) -AddLevelBasedExp(exp_percentage, max_level) -AddMoneyToPP(copper, silver, gold, platinum, updateclient) -AddPVPPoints(Points) -AddSkill(skillid, value) -Admin() -AssignTask(taskid, npcid[, enforce_level_requirement]) # use 0 for npcid to assume current npc, 0/1 to enforce level requirement in DB -AssignToInstance(instance_id) -AutoSplitEnabled() -BreakInvis() -CalcPriceMod(other, reverse) -CanHaveSkill(skill_id) -ChangeLastName(in_lastname) -CharacterID() -CheckIncreaseSkill(skillid, chancemodi) -CheckSpecializeIncrease(spell_id) -ClearCompassMark() -ClearZoneFlag(zone_id) -Connected() -DecreaseByID(type, amt) -DeleteItemInInventory(slot_id, quantity, client_update) -Disconnect() -DropItem(slot_id) -Duck() -Escape() -FailTask(taskid) -ForageItem() -Freeze() -GMKill() -GetAAExp() -GetAALevel(skill_id) -GetAAPoints() -GetAccountFlag(flag) -GetAggroCount() -GetAllMoney() -GetAnon() -GetAugmentAt(slot, aug_slot) -GetAugmentIDAt(slot, aug_slot) -GetBaseAGI() -GetBaseCHA() -GetBaseDEX() -GetBaseFace() -GetBaseINT() -GetBaseSTA() -GetBaseSTR() -GetBaseWIS() -GetBecomeNPCLevel() -GetCarriedMoney() -GetCharacterFactionLevel(faction_id) -GetClientVersion() -GetClientVersionBit() -GetCorpseCount() -GetCorpseID(corpse_number) -GetCorpseItemAt(corpse_number, slotid) -GetCustomItemData() -GetDuelTarget() -GetEXP() -GetEbonCrystals() -GetEndurance() -GetEnduranceRatio() -GetFace() -GetFactionLevel(char_id, npc_id, p_race, p_class, p_deity, pFaction, tnpc) -GetFeigned() -GetFreeSpellBookSlot(start_slot) -GetGM() -GetGroup() -GetGroupPoints() -GetHorseId() -GetInstrumentMod(spell_id) -GetIP() -GetInstrumentMod() -GetItemAt(slot) -GetItemIDAt(slot_id) -GetItemInInventory(slot_id) -GetLDoNLosses() -GetLDoNLossesTheme() -GetLDoNPointsTheme(theme) -GetLDoNWins() -GetLDoNWinsTheme() -GetLanguageSkill(n) -GetLastName() -GetMaxEndurance() -GetModCharacterFactionLevel(faction_id) # Returns the character's faction level with race, class, and deity modifiers -GetPVP() -GetPVPPoints() -GetRadiantCrystals() -GetRaid() -GetRaidPoints() -GetRawItemAC() -GetRawSkill(skill_id) -GetSkill(skill_id) -GetSkillPoints() -GetSpellBookSlotBySpellID(spell_id) -GetSpentAA() -GetStartZone() # Returns the zone id number of the character's home city -GetTargetRingX() -GetTargetRingY() -GetTargetRingZ() -GetTaskActivityDoneCount(taskid, activityid) -GetTotalSecondsPlayed() -GetWeight() -GoFish() -GuildID() -GuildRank() -HasSkill(skill_id) -HasZoneFlag(zone_id) -Hungry() -InZone() -IncStats(type, increase_val) -IncreaseLanguageSkill(skill_id, value) -IncreaseSkill(skill_id, value) -IncrementAA(skill_id) -IsBecomeNPC() -IsDueling() -IsGrouped() -IsLD() -IsMedding() -IsRaidGrouped() -IsSitting() -IsTaskActive(taskid) -IsTaskActivityActive(taskid, activityid) -IsTaskCompleted(taskid) -KeyRingAdd() -KeyRingCheck() -Kick() -LearnRecipe() -LeaveGroup() -LoadZoneFlags() -LootToStack(itemid) -MarkCompassLoc(x, y, z) -MaxSkill(skillid) -MemSpell(spell_id, slot, update_client) -MovePC(zoneID, x, y, z, heading) -MovePCInstance(zoneID, instanceID, x, y, z, heading) -NPCSpawn(target_npc, option, respawntime) # Options are: "create", "add", "update", "remove", "delete" -NukeItem(itemnum) -OpenLFGuildWindow() -ReadBook(Book Text, Type) -RefundAA() -RemoveNoRent() -ResetAA() -ResetTaskActivity(taskid, activityid) -ResetTrade() -Save(iCommitNow) -SaveBackup() -ScribeSpell(spell_id, slot, update_client) -SendColoredText(color, msg) -SendMarqueeMessage(type, priority, fade_in, fade_out,  duration, message) # type = color, priority = text opacity, fade_in = 1, fade_out = fade out in MS, duration = duration in MS -SendOPTranslocateConfirm() -SendSound() -SendSpellAnim(targetid, spellid) -SendZoneFlagInfo(to) -SetAAPoints(points) -SetAATitle(txt, save) -SetAccountFlag(flag, value) -SetBaseClass(i) -SetBaseGender(i) -SetBaseRace(i) -SetBecomeNPC(flag) -SetBecomeNPCLevel(level) -SetBindPoint(to_zone, new_x, new_y, new_z) -SetCustomItemData() -SetDeity(i) -SetDuelTarget(set_id) -SetDueling(duel) -SetEXP(set_exp, set_aaxp, resexp) -SetEndurance(Endurance) -SetFactionLevel(char_id, npc_id, char_class, char_race, char_deity) -SetFactionLevel2(char_id, faction_id, char_class, char_race, char_deity, value) -SetFeigned(in_feigned) -SetGM(toggle) -SetHorseId(horseid_in) -SetLanguageSkill(langid, value) -SetMaterial(slot_id, item_id) -SetPVP(toggle) -SetSkill(skill_num, value) -SetSkillPoints(inp) -SetStartZone(zoneid, x, y, z) # Sets the home city bind point. The coordinates x, y, and z are optional. -SetStats(type, increase_val) -SetTint(slot_id, color) -SetTitleSuffix(txt, save) -SetZoneFlag(zone_id) -SignalClient(data) -SlotConvert2(slot) -Stand() -SummonItem(item_id, charges, attune, aug1, aug2, aug3, aug4, aug5) -TGB() -TakeMoneyFromPP(copper, update_client) -TaskTimeLeft(taskid) -Thirsty() -UnFreeze() -Undye() -UnmemSpell(slot, update_client) -UnmemSpellAll(update_client) -UnscribeSpell(slot, update_client) -UnscribeSpellAll(update_client) -UntrainDisc(slot, update_client) -UntrainDiscAll(update_client) -UpdateAdmin(iFromDB) -UpdateGroupAAs() -UpdateLDoNPoints(points, theme) -UpdateTaskActivity(taskID, activityID, count[, hide update client?]) # i.e. $client->UpdateTaskActivity(507, 0, 3) will increment task 507's activity 0 by 3. -UpdateWho(remove) -UseDiscipline(spell_id, target) -WorldKick() +$client->AccountID() +$client->AccountName() +$client->AddAAPoints(number) +$client->AddAlternateCurrencyValue(currency_id, value) +$client->AddCrystals(NumberOfRadiant, NumberOfEbon) +$client->AddEXP(add_exp, conlevel, resexp) +$client->AddLevelBasedExp(exp_percentage, max_level) +$client->AddMoneyToPP(copper, silver, gold, platinum, updateclient) +$client->AddPVPPoints(Points) +$client->AddSkill(skillid, value) +$client->Admin() +$client->AssignTask(taskid, npcid[, enforce_level_requirement]) # use 0 for npcid to assume current npc, 0/1 to enforce level requirement in DB +$client->AssignToInstance(instance_id) +$client->AutoSplitEnabled() +$client->BreakInvis() +$client->CalcPriceMod(other, reverse) +$client->CanHaveSkill(skill_id) +$client->ChangeLastName(in_lastname) +$client->CharacterID() +$client->CheckIncreaseSkill(skillid, chancemodi) +$client->CheckSpecializeIncrease(spell_id) +$client->ClearCompassMark() +$client->ClearZoneFlag(zone_id) +$client->Connected() +$client->DecreaseByID(type, amt) +$client->DeleteItemInInventory(slot_id, quantity, client_update) +$client->Disconnect() +$client->DropItem(slot_id) +$client->Duck() +$client->Escape() +$client->FailTask(taskid) +$client->ForageItem() +$client->Freeze() +$client->GMKill() +$client->GetAAExp() +$client->GetAALevel(skill_id) +$client->GetAAPoints() +$client->GetAccountFlag(flag) +$client->GetAggroCount() +$client->GetAllMoney() +$client->GetAnon() +$client->GetAugmentAt(slot, aug_slot) +$client->GetAugmentIDAt(slot, aug_slot) +$client->GetBaseAGI() +$client->GetBaseCHA() +$client->GetBaseDEX() +$client->GetBaseFace() +$client->GetBaseINT() +$client->GetBaseSTA() +$client->GetBaseSTR() +$client->GetBaseWIS() +$client->GetBecomeNPCLevel() +$client->GetCarriedMoney() +$client->GetCharacterFactionLevel(faction_id) +$client->GetClientVersion() +$client->GetClientVersionBit() +$client->GetCorpseCount() +$client->GetCorpseID(corpse_number) +$client->GetCorpseItemAt(corpse_number, slotid) +$client->GetCustomItemData() +$client->GetDuelTarget() +$client->GetEXP() +$client->GetEbonCrystals() +$client->GetEndurance() +$client->GetEnduranceRatio() +$client->GetFace() +$client->GetFactionLevel(char_id, npc_id, p_race, p_class, p_deity, pFaction, tnpc) +$client->GetFeigned() +$client->GetFreeSpellBookSlot(start_slot) +$client->GetGM() +$client->GetGroup() +$client->GetGroupPoints() +$client->GetHorseId() +$client->GetInstrumentMod(spell_id) +$client->GetIP() +$client->GetInstrumentMod() +$client->GetItemAt(slot) +$client->GetItemIDAt(slot_id) +$client->GetItemInInventory(slot_id) +$client->GetLDoNLosses() +$client->GetLDoNLossesTheme() +$client->GetLDoNPointsTheme(theme) +$client->GetLDoNWins() +$client->GetLDoNWinsTheme() +$client->GetLanguageSkill(n) +$client->GetLastName() +$client->GetMaxEndurance() +$client->GetModCharacterFactionLevel(faction_id) # Returns the character's faction level with race, class, and deity modifiers +$client->GetPVP() +$client->GetPVPPoints() +$client->GetRadiantCrystals() +$client->GetRaid() +$client->GetRaidPoints() +$client->GetRawItemAC() +$client->GetRawSkill(skill_id) +$client->GetSkill(skill_id) +$client->GetSkillPoints() +$client->GetSpellBookSlotBySpellID(spell_id) +$client->GetSpentAA() +$client->GetStartZone() # Returns the zone id number of the character's home city +$client->GetTargetRingX() +$client->GetTargetRingY() +$client->GetTargetRingZ() +$client->GetTaskActivityDoneCount(taskid, activityid) +$client->GetTotalSecondsPlayed() +$client->GetWeight() +$client->GoFish() +$client->GuildID() +$client->GuildRank() +$client->HasSkill(skill_id) +$client->HasZoneFlag(zone_id) +$client->Hungry() +$client->InZone() +$client->IncStats(type, increase_val) +$client->IncreaseLanguageSkill(skill_id, value) +$client->IncreaseSkill(skill_id, value) +$client->IncrementAA(skill_id) +$client->IsBecomeNPC() +$client->IsDueling() +$client->IsGrouped() +$client->IsLD() +$client->IsMedding() +$client->IsRaidGrouped() +$client->IsSitting() +$client->IsTaskActive(taskid) +$client->IsTaskActivityActive(taskid, activityid) +$client->IsTaskCompleted(taskid) +$client->KeyRingAdd() +$client->KeyRingCheck() +$client->Kick() +$client->LearnRecipe() +$client->LeaveGroup() +$client->LoadZoneFlags() +$client->LootToStack(itemid) +$client->MarkCompassLoc(x, y, z) +$client->MaxSkill(skillid) +$client->MemSpell(spell_id, slot, update_client) +$client->MovePC(zoneID, x, y, z, heading) +$client->MovePCInstance(zoneID, instanceID, x, y, z, heading) +$client->NPCSpawn(target_npc, option, respawntime) # Options are: "create", "add", "update", "remove", "delete" +$client->NukeItem(itemnum) +$client->OpenLFGuildWindow() +$client->ReadBook(Book Text, Type) +$client->RefundAA() +$client->RemoveNoRent() +$client->ResetAA() +$client->ResetTaskActivity(taskid, activityid) +$client->ResetTrade() +$client->Save(iCommitNow) +$client->SaveBackup() +$client->ScribeSpell(spell_id, slot, update_client) +$client->SendColoredText(color, msg) +$client->SendMarqueeMessage(type, priority, fade_in, fade_out,  duration, message) # type = color, priority = text opacity, fade_in = 1, fade_out = fade out in MS, duration = duration in MS +$client->SendOPTranslocateConfirm() +$client->SendSound() +$client->SendSpellAnim(targetid, spellid) +$client->SendZoneFlagInfo(to) +$client->SetAAPoints(points) +$client->SetAATitle(txt, save) +$client->SetAccountFlag(flag, value) +$client->SetBaseClass(i) +$client->SetBaseGender(i) +$client->SetBaseRace(i) +$client->SetBecomeNPC(flag) +$client->SetBecomeNPCLevel(level) +$client->SetBindPoint(to_zone, new_x, new_y, new_z) +$client->SetCustomItemData() +$client->SetDeity(i) +$client->SetDuelTarget(set_id) +$client->SetDueling(duel) +$client->SetEXP(set_exp, set_aaxp, resexp) +$client->SetEndurance(Endurance) +$client->SetFactionLevel(char_id, npc_id, char_class, char_race, char_deity) +$client->SetFactionLevel2(char_id, faction_id, char_class, char_race, char_deity, value) +$client->SetFeigned(in_feigned) +$client->SetGM(toggle) +$client->SetHorseId(horseid_in) +$client->SetLanguageSkill(langid, value) +$client->SetMaterial(slot_id, item_id) +$client->SetPVP(toggle) +$client->SetSkill(skill_num, value) +$client->SetSkillPoints(inp) +$client->SetStartZone(zoneid, x, y, z) # Sets the home city bind point. The coordinates x, y, and z are optional. +$client->SetStats(type, increase_val) +$client->SetTint(slot_id, color) +$client->SetTitleSuffix(txt, save) +$client->SetZoneFlag(zone_id) +$client->SignalClient(data) +$client->SlotConvert2(slot) +$client->Stand() +$client->SummonItem(item_id, charges, attune, aug1, aug2, aug3, aug4, aug5) +$client->TGB() +$client->TakeMoneyFromPP(copper, update_client) +$client->TaskTimeLeft(taskid) +$client->Thirsty() +$client->UnFreeze() +$client->Undye() +$client->UnmemSpell(slot, update_client) +$client->UnmemSpellAll(update_client) +$client->UnscribeSpell(slot, update_client) +$client->UnscribeSpellAll(update_client) +$client->UntrainDisc(slot, update_client) +$client->UntrainDiscAll(update_client) +$client->UpdateAdmin(iFromDB) +$client->UpdateGroupAAs() +$client->UpdateLDoNPoints(points, theme) +$client->UpdateTaskActivity(taskID, activityID, count[, hide update client?]) # i.e. $client->UpdateTaskActivity(507, 0, 3) will increment task 507's activity 0 by 3. +$client->UpdateWho(remove) +$client->UseDiscipline(spell_id, target) +$client->WorldKick() ``` # Corpse ```perl $corpse->AddItem(itemnum, charges, slot) -``` - -```perl -AddItem(itemnum, charges, slot) -AddLooter(who) -AllowMobLoot(them, slot) -CanMobLoot(charid) -CastRezz(spellid, Caster) -CompleteRezz() -CountItems() -Delete() -GetCharID() -GetCopper() -GetDBID() -GetDecayTime() -GetGold() -GetOwnerName() -GetPlatinum() -GetSilver() -GetWornItem(equipSlot) -IsEmpty() -IsLocked() -IsRezzed() -Lock() -RemoveCash() -RemoveItem(lootslot) -ResetLooter() -SetCash(in_copper, in_silver, in_gold, in_platinum) -SetDecayTimer(decaytime) -Summon(client, spell) -UnLock() +$corpse->AddLooter(who) +$corpse->AllowMobLoot(them, slot) +$corpse->CanMobLoot(charid) +$corpse->CastRezz(spellid, Caster) +$corpse->CompleteRezz() +$corpse->CountItems() +$corpse->Delete() +$corpse->GetCharID() +$corpse->GetCopper() +$corpse->GetDBID() +$corpse->GetDecayTime() +$corpse->GetGold() +$corpse->GetOwnerName() +$corpse->GetPlatinum() +$corpse->GetSilver() +$corpse->GetWornItem(equipSlot) +$corpse->IsEmpty() +$corpse->IsLocked() +$corpse->IsRezzed() +$corpse->Lock() +$corpse->RemoveCash() +$corpse->RemoveItem(lootslot) +$corpse->ResetLooter() +$corpse->SetCash(in_copper, in_silver, in_gold, in_platinum) +$corpse->SetDecayTimer(decaytime) +$corpse->Summon(client, spell) +$corpse->UnLock() ``` # EntityList ```perl -$entity_list->Object(); -``` - -```perl -CanAddHateForMob(p) -Clear() -ClearClientPetitionQueue() -ClearFeignAggro(targ) -DeleteNPCCorpses() -DeletePlayerCorpses() -DoubleAggro(who) -Fighting(targ) -FindDoor(id) -GetClientByAccID(accid) -GetClientByCharID(iCharID) -GetClientByID(id) -GetClientByName(name) -GetClientByWID(iWID) -GetClientList() -GetCorpseByID(id) -GetCorpseByName(name) -GetCorpseByOwner(client) -GetCorpseList() -GetDoorsByDBID(id) -GetDoorsByID(id) -GetDoorsList() -GetGroupByClient(client) -GetGroupByID(id) -GetGroupByLeaderName(leader) -GetGroupByMob(mob) -GetMob(name) -GetMobByID(id) -GetMobByNpcTypeID(get_id) -GetMobID(id) -GetMobList() -GetNPCByID(id) -GetNPCByNPCTypeID(npc_id) -GetNPCList() -GetObjectByDBID() -GetObjectByID() -GetObjectList() -GetRaidByClient(client) -GetRaidByID(id) -GetRandomClient(x, y, z, range, ClientToExclude) -HalveAggro(who) -MakeNameUnique(name) -MessageClose(sender, skipsender, dist, type, message, ...) -MessageGroup(sender, skipclose, type, message, ...) -MessageStatus(to_guilddbid, to_minstatus, type, message, ...) -OpenDoorsNear(opener) -RemoveAllClients() -RemoveAllCorpses() -RemoveAllDoors() -RemoveAllGroups() -RemoveAllMobs() -RemoveAllNPCs() -RemoveAllObjects() -RemoveAllTraps() -RemoveClient(delete_id) -RemoveCorpse(delete_id) -RemoveDoor(delete_id) -RemoveEntity(id) -RemoveFromHateLists(mob, settoone) -RemoveFromTargets(mob) -RemoveGroup(delete_id) -RemoveMob(delete_id) -RemoveNPC(delete_id) -RemoveNumbers(CLASS, name) -RemoveObject(delete_id) -RemoveTrap(delete_id) -ReplaceWithTarget(pOldMob, pNewTarget) -SignalAllClients(data) -SignalMobsByNPCID(npc_type, signal_id) +$entity_list->CanAddHateForMob(p) +$entity_list->Clear() +$entity_list->ClearClientPetitionQueue() +$entity_list->ClearFeignAggro(targ) +$entity_list->DeleteNPCCorpses() +$entity_list->DeletePlayerCorpses() +$entity_list->DoubleAggro(who) +$entity_list->Fighting(targ) +$entity_list->FindDoor(id) +$entity_list->GetClientByAccID(accid) +$entity_list->GetClientByCharID(iCharID) +$entity_list->GetClientByID(id) +$entity_list->GetClientByName(name) +$entity_list->GetClientByWID(iWID) +$entity_list->GetClientList() +$entity_list->GetCorpseByID(id) +$entity_list->GetCorpseByName(name) +$entity_list->GetCorpseByOwner(client) +$entity_list->GetCorpseList() +$entity_list->GetDoorsByDBID(id) +$entity_list->GetDoorsByID(id) +$entity_list->GetDoorsList() +$entity_list->GetGroupByClient(client) +$entity_list->GetGroupByID(id) +$entity_list->GetGroupByLeaderName(leader) +$entity_list->GetGroupByMob(mob) +$entity_list->GetMob(name) +$entity_list->GetMobByID(id) +$entity_list->GetMobByNpcTypeID(get_id) +$entity_list->GetMobID(id) +$entity_list->GetMobList() +$entity_list->GetNPCByID(id) +$entity_list->GetNPCByNPCTypeID(npc_id) +$entity_list->GetNPCList() +$entity_list->GetObjectByDBID() +$entity_list->GetObjectByID() +$entity_list->GetObjectList() +$entity_list->GetRaidByClient(client) +$entity_list->GetRaidByID(id) +$entity_list->GetRandomClient(x, y, z, range, ClientToExclude) +$entity_list->HalveAggro(who) +$entity_list->MakeNameUnique(name) +$entity_list->MessageClose(sender, skipsender, dist, type, message, ...) +$entity_list->MessageGroup(sender, skipclose, type, message, ...) +$entity_list->MessageStatus(to_guilddbid, to_minstatus, type, message, ...) +$entity_list->OpenDoorsNear(opener) +$entity_list->RemoveAllClients() +$entity_list->RemoveAllCorpses() +$entity_list->RemoveAllDoors() +$entity_list->RemoveAllGroups() +$entity_list->RemoveAllMobs() +$entity_list->RemoveAllNPCs() +$entity_list->RemoveAllObjects() +$entity_list->RemoveAllTraps() +$entity_list->RemoveClient(delete_id) +$entity_list->RemoveCorpse(delete_id) +$entity_list->RemoveDoor(delete_id) +$entity_list->RemoveEntity(id) +$entity_list->RemoveFromHateLists(mob, settoone) +$entity_list->RemoveFromTargets(mob) +$entity_list->RemoveGroup(delete_id) +$entity_list->RemoveMob(delete_id) +$entity_list->RemoveNPC(delete_id) +$entity_list->RemoveNumbers(CLASS, name) +$entity_list->RemoveObject(delete_id) +$entity_list->RemoveTrap(delete_id) +$entity_list->ReplaceWithTarget(pOldMob, pNewTarget) +$entity_list->SignalAllClients(data) +$entity_list->SignalMobsByNPCID(npc_type, signal_id) ``` # Group @@ -813,24 +802,24 @@ SignalMobsByNPCID(npc_type, signal_id) * $group needs to be fetched from an entity object, for example: $group = $client->GetGroup()) ```perl -CastGroupSpell(caster, spellid) -DisbandGroup() -GetHighestLevel() -GetID() -GetLeader() -GetLeaderName() -GetMember(number) # Returns a client pointer to the group member (NULL if that member doesn't exist) -GetTotalGroupDamage(other) -GroupCount() -GroupMessage(sender, message) -IsGroupMember(client) -IsLeader(leadertest) -SendHPPacketsFrom(newmember) -SendHPPacketsTo(newmember) -SetLeader(newleader) -SplitExp(exp, other) -SplitMoney(copper, silver, gold, platinum) -TeleportGroup(sender, zoneID, x, y, z) +$group->CastGroupSpell(caster, spellid) +$group->DisbandGroup() +$group->GetHighestLevel() +$group->GetID() +$group->GetLeader() +$group->GetLeaderName() +$group->GetMember(number) # Returns a client pointer to the group member (NULL if that member doesn't exist) +$group->GetTotalGroupDamage(other) +$group->GroupCount() +$group->GroupMessage(sender, message) +$group->IsGroupMember(client) +$group->IsLeader(leadertest) +$group->SendHPPacketsFrom(newmember) +$group->SendHPPacketsTo(newmember) +$group->SetLeader(newleader) +$group->SplitExp(exp, other) +$group->SplitMoney(copper, silver, gold, platinum) +$group->TeleportGroup(sender, zoneID, x, y, z) ``` # Raid @@ -842,527 +831,521 @@ $raid->Object(); * $raid needs to be fetched from an entity object, for example: $raid = $client->GetRaid()) ```perl -BalanceHP() -CastGroupSpell(caster, spellid) -GetClientByIndex(number) -GetGroup() -GetHighestLevel() -GetID() -GetLowestLevel() -GetMember(number) -GetTotalRaidDamage(other) -GroupCount() -IsGroupLeader(client) -IsLeader(client) -IsRaidMember(name) # $raid->IsRaidMember("Hateborne") -RaidCount() -SplitExp(exp, other) -SplitMoney(copper, silver, gold, platinum) -TeleportGroup(sender, zoneID, x, y, z, heading) +$raid->BalanceHP() +$raid->CastGroupSpell(caster, spellid) +$raid->GetClientByIndex(number) +$raid->GetGroup() +$raid->GetHighestLevel() +$raid->GetID() +$raid->GetLowestLevel() +$raid->GetMember(number) +$raid->GetTotalRaidDamage(other) +$raid->GroupCount() +$raid->IsGroupLeader(client) +$raid->IsLeader(client) +$raid->IsRaidMember(name) # $raid->IsRaidMember("Hateborne") +$raid->RaidCount() +$raid->SplitExp(exp, other) +$raid->SplitMoney(copper, silver, gold, platinum) +$raid->TeleportGroup(sender, zoneID, x, y, z, heading) TeleportRaid(sender, zoneID, x, y, z, heading) ``` -#### **Mob - $mob->Object();** +# Mob + +* Important Note! Most of the $mob objects also work when used with $client ```perl -AddFeignMemory(attacker) -AddToHateList(other, hate, damage, iYellForHelp, bFrenzy, iBuffTic) -Attack(other, Hand, FromRiposte) -BehindMob(other, playerx, playery) -BuffFadeAll() -BuffFadeByEffect(effectid, skipslot) -BuffFadeBySlot(slot, iRecalcBonuses) -BuffFadeBySpellID(spell_id) -CalculateDistance(x, y, z) -CalculateHeadingToTarget(in_x, in_y) -CalculateNewPosition(x, y, z, speed, checkZ) -CalculateNewPosition2(x, y, z, speed, checkZ) -CameraEffect(duration, intensity, singleclient, serverwide) -CanBuffStack(spellid, caster_level, iFailIfOverwrite) -CanClassEquipItem(item_id) -CanThisClassDodge() -CanThisClassDoubleAttack() -CanThisClassDualWield() -CanThisClassParry() -CanThisClassRiposte() -CastSpell(spell_id, target_id, slot, casttime, mana_cost, resist_adjust) -CastToClient() -CastToCorpse() -CastToMob() -CastToNPC() -CastingSpellID() -ChangeSize(in_size, bNoRestriction) -Charmed() -CheckAggro(other) -CheckAggroAmount(spellid) -CheckHealAggroAmount(spellid) -CheckLoS(other) -CheckLoSToLoc(x, y, z, mob_size) -ClearFeignMemory() -ClearSpecialAbilities() -CombatRange() -Damage(from, damage, spell_id, attack_skill, avoidable, buffslot, iBuffTic) -DelGlobal(varname) -Depop(StartSpawnTimer) -DivineAura() -DoAnim(animnum, type=1) -DoArcheryAttackDmg() -DoKnockback(caster, pushback, pushup)  # $client->DoKnockback($npc, 10, 7) would appear that the NPC knocked the client back -DoMeleeSkillAttackDmg() -DoSpecialAttackDamage(target, skill, max_damage, min_damage, hate_override) -DoThrowingAttackDmg() -DontBuffMeBefore() -DontDotMeBefore() -DontHealMeBefore() -DontRootMeBefore() -DontSnareMeBefore() -Emote(format, ...) -EntityVariableExists() -FaceTarget(MobToFace, update) -FindBuff(spellid) -FindGroundZ(x, y, z_offset) -FindType(type, bOffensive, threshold) -GMMove(x, y, z, heading) -Gate() -GetAA(aa_id) -GetAC() -GetAccuracyRating() -GetAvoidanceRating() -GetAGI() -GetATK() -GetAttackDelay() -GetActSpellCasttime(spell_id, casttime) -GetActSpellCost(spell_id, cost) -GetActSpellDamage(spell_id, value) -GetActSpellDuration(spell_id, duration) -GetActSpellHealing(spell_id, value) -GetActSpellRange(spell_id, range) -GetAggroRange() -GetAllowBeneficial() -GetAppearance() -GetArmorTint(material_slot) -GetAssistRange() -GetBaseGender() -GetBaseRace() -GetBeard() -GetBeardColor() -GetBodyType() -GetBuffSlotFromType(type) -GetCHA() -GetCR() -GetCasterLevel(spell_id) -GetClass() -GetClassLevelFactor() -GetCleanName() -GetCorruption() -GetDEX() -GetDR() -GetDamageAmount(tmob) -GetDeity() -GetDrakkinDetails() -GetDrakkinHeritage() -GetDrakkinTattoo() -GetEntityVariable() -GetEquipment(material_slot) -GetEquipmentColor(material_slot) -GetEquipmentMaterial(material_slot) -GetEyeColor1() -GetEyeColor2() -GetFR() -GetFlurryChance() -GetFollowID() -GetGender() -GetGlobal(varname) -GetHP() -GetHPRatio() -GetHairColor() -GetHairStyle() -GetHaste() -GetHateAmount(tmob, is_dam) -GetHateDamageTop(other) -GetHateList() -GetHateRandom() -GetHateTop() -GetHeading() -GetHelmTexture() -GetID() -GetINT() -GetInvul() -GetItemHPBonuses() -GetItemStat(itemid, stat) -GetLevel() -GetLevelCon(iOtherLevel) -GetLevelHP(tlevel) -GetLuclinFace() -GetMR() -GetMana() -GetManaRatio() -GetMaxAGI() -GetMaxCHA() -GetMaxDEX() -GetMaxHP() -GetMaxINT() -GetMaxMana() -GetMaxSTA() -GetMaxSTR() -GetMaxWIS() -GetModSkillDmgTaken() -GetModVulnerability() -GetMonkHandToHandDamage() -GetMonkHandToHandDelay() -GetNPCTypeID() -GetName() -GetOwnerID() -GetPR() -GetPetID() -GetPetOrder() -GetPetType() -GetRace() -GetResist(type) -GetReverseFactionCon(iOther) -GetRunAnimSpeed() -GetRunspeed() -GetSTA() -GetSTR() -GetShieldTarget() -GetSize() -GetSkill(skill_num) -GetSkillDmgTaken() -GetSpecialAbility(special_ability) -GetSpecialAbilityParam(special_ability, param) -GetSpecializeSkillValue(spell_id) -GetSpellHPBonuses() -GetSpellStat(spell_id, identifier, slot) # Slot is optional. -GetTarget() -GetTexture() -GetWIS() -GetWalkspeed() -GetWaypointH() -GetWaypointID() -GetWaypointPause() -GetWaypointX() -GetWaypointY() -GetWaypointZ() -GetX() -GetY() -GetZ() -GetZoneID() -GoToBind() -HasNPCSpecialAtk() -HasProcs() -HateSummon() -Heal() -HealDamage(amount[, caster]) -InterruptSpell(spellid) -IsAIControlled() -IsBeacon() -IsBeneficialAllowed() -IsCasting() -IsClient() -IsCorpse() -IsDoor() -IsEngaged() -IsEnraged() -IsImmuneToSpell(spell_id, caster) -IsInvisible(other) -IsMeleeDisabled() -IsMezzed() -IsMob() -IsMoving() -IsNPC() -IsNPCCorpse() -IsObject() -IsPlayerCorpse() -IsRoamer() -IsRooted() -IsRunning() -IsStunned() -IsTargeted() -IsTrap() -IsWarriorClass() -Kill() -MakePet(spell_id, pettype, name) -MakeTempPet(spell_id, name, duration, target, sticktarg?) -Mesmerize() -Message(type, message) -Message_StringID(type, string_id, distance) -ModSkillDmgTaken() -ModVulnerability() -NPCSpecialAttacks(parse, permtag, reset, remove) -ProcessSpecialAbilities(str) -ProjectileAnim(mob, item_id, IsArrow, speed, angle, tilt, arc) -QuestReward(client, silver, gold, platinum) -RangedAttack() -RemoveFromFeignMemory(attacker) -RemoveNimbusEffect(effectid) -ResistSpell(resist_type, spell_id, caster) -RogueAssassinate(other) -Say(format, language_id) -SendAppearanceEffect(effect1, effect2, effect3, effect4, effect5, specificclient) -SendIllusion(race, gender, texture, helmtexture, face, hairstyle, haircolor, beard, beardcolor, drakkin_heritage, drakkin_tattoo, drakkin_details, size) -SendPosUpdate(iSendToSelf) -SendPosition() -SendTo(new_x, new_y, new_z) -SendToFixZ(new_x, new_y, new_z) -SendWearChange(material_slot) -SetAllowBeneficial() -SetAppearance(app, iIgnoreSelf) -SetBodyType(type, overwrite_orig?) -SetCurrentWP(waypoint) -SetDeltas(delta_x, delta_y, delta_z, delta_h) -SetDisableMelee() -SetEntityVariable(id_num, var) -SetExtraHaste(Haste) -SetFlurryChance() -SetFlyMode(0|1|2|3) -SetFollowID(id) -SetGender(gender) -SetGlobal(varname, newvalue, options, duration, other) -SetHP(hp) -SetHate(other, hate, damage) -SetHeading(iHeading) -SetInvisible(state) -SetInvul(invul) -SetLD(value) -SetLevel(in_level, command) -SetMana(amount) -SetMaxHP() -SetOOCRegen() -SetOwnerID(NewOwnerID) -SetPetID(NewPetID) -SetPetOrder(i) -SetRace(race) -SetRunAnimSpeed(in) -SetRunning() -SetShieldTarget(mob) -SetSlotTint(material_slot, red_tint, green_tint, blue_tint) -SetSpecialAbility(ability, value) -SetSpecialAbilityParam(ability, param, value) -SetTarget(mob) -SetTargetDestSteps(target_steps) -SetTargetable(targetable) -SetTexture(texture) -Shout(format, ...) -SignalClient(client, data) -SpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client) # duration, finish_delay, zone_wide, unk20, perm_effect, and client are Optional. -SpellFinished(spell_id, spell_target, mana_cost) -Spin() -StartEnrage() -Stun(duration) # in whole seconds -TarGlobal(varname, value, duration, npcid, charid, zoneid) -TempName(name) -ThrowingAttack() -TypesTempPet(typesid, name, duration, follow, target, sticktarg); -WearChange(material_slot, texture, color) -WipeHateList() +$mob->AddFeignMemory(attacker) +$mob->AddToHateList(other, hate, damage, iYellForHelp, bFrenzy, iBuffTic) +$mob->Attack(other, Hand, FromRiposte) +$mob->BehindMob(other, playerx, playery) +$mob->BuffFadeAll() +$mob->BuffFadeByEffect(effectid, skipslot) +$mob->BuffFadeBySlot(slot, iRecalcBonuses) +$mob->BuffFadeBySpellID(spell_id) +$mob->CalculateDistance(x, y, z) +$mob->CalculateHeadingToTarget(in_x, in_y) +$mob->CalculateNewPosition(x, y, z, speed, checkZ) +$mob->CalculateNewPosition2(x, y, z, speed, checkZ) +$mob->CameraEffect(duration, intensity, singleclient, serverwide) +$mob->CanBuffStack(spellid, caster_level, iFailIfOverwrite) +$mob->CanClassEquipItem(item_id) +$mob->CanThisClassDodge() +$mob->CanThisClassDoubleAttack() +$mob->CanThisClassDualWield() +$mob->CanThisClassParry() +$mob->CanThisClassRiposte() +$mob->CastSpell(spell_id, target_id, slot, casttime, mana_cost, resist_adjust) +$mob->CastToClient() +$mob->CastToCorpse() +$mob->CastToMob() +$mob->CastToNPC() +$mob->CastingSpellID() +$mob->ChangeSize(in_size, bNoRestriction) +$mob->Charmed() +$mob->CheckAggro(other) +$mob->CheckAggroAmount(spellid) +$mob->CheckHealAggroAmount(spellid) +$mob->CheckLoS(other) +$mob->CheckLoSToLoc(x, y, z, mob_size) +$mob->ClearFeignMemory() +$mob->ClearSpecialAbilities() +$mob->CombatRange() +$mob->Damage(from, damage, spell_id, attack_skill, avoidable, buffslot, iBuffTic) +$mob->DelGlobal(varname) +$mob->Depop(StartSpawnTimer) +$mob->DivineAura() +$mob->DoAnim(animnum, type=1) +$mob->DoArcheryAttackDmg() +$mob->DoKnockback(caster, pushback, pushup)  # $client->DoKnockback($npc, 10, 7) would appear that the NPC knocked the client back +$mob->DoMeleeSkillAttackDmg() +$mob->DoSpecialAttackDamage(target, skill, max_damage, min_damage, hate_override) +$mob->DoThrowingAttackDmg() +$mob->DontBuffMeBefore() +$mob->DontDotMeBefore() +$mob->DontHealMeBefore() +$mob->DontRootMeBefore() +$mob->DontSnareMeBefore() +$mob->Emote(format, ...) +$mob->EntityVariableExists() +$mob->FaceTarget(MobToFace, update) +$mob->FindBuff(spellid) +$mob->FindGroundZ(x, y, z_offset) +$mob->FindType(type, bOffensive, threshold) +$mob->GMMove(x, y, z, heading) +$mob->Gate() +$mob->GetAA(aa_id) +$mob->GetAC() +$mob->GetAccuracyRating() +$mob->GetAvoidanceRating() +$mob->GetAGI() +$mob->GetATK() +$mob->GetAttackDelay() +$mob->GetActSpellCasttime(spell_id, casttime) +$mob->GetActSpellCost(spell_id, cost) +$mob->GetActSpellDamage(spell_id, value) +$mob->GetActSpellDuration(spell_id, duration) +$mob->GetActSpellHealing(spell_id, value) +$mob->GetActSpellRange(spell_id, range) +$mob->GetAggroRange() +$mob->GetAllowBeneficial() +$mob->GetAppearance() +$mob->GetArmorTint(material_slot) +$mob->GetAssistRange() +$mob->GetBaseGender() +$mob->GetBaseRace() +$mob->GetBeard() +$mob->GetBeardColor() +$mob->GetBodyType() +$mob->GetBuffSlotFromType(type) +$mob->GetCHA() +$mob->GetCR() +$mob->GetCasterLevel(spell_id) +$mob->GetClass() +$mob->GetClassLevelFactor() +$mob->GetCleanName() +$mob->GetCorruption() +$mob->GetDEX() +$mob->GetDR() +$mob->GetDamageAmount(tmob) +$mob->GetDeity() +$mob->GetDrakkinDetails() +$mob->GetDrakkinHeritage() +$mob->GetDrakkinTattoo() +$mob->GetEntityVariable() +$mob->GetEquipment(material_slot) +$mob->GetEquipmentColor(material_slot) +$mob->GetEquipmentMaterial(material_slot) +$mob->GetEyeColor1() +$mob->GetEyeColor2() +$mob->GetFR() +$mob->GetFlurryChance() +$mob->GetFollowID() +$mob->GetGender() +$mob->GetGlobal(varname) +$mob->GetHP() +$mob->GetHPRatio() +$mob->GetHairColor() +$mob->GetHairStyle() +$mob->GetHaste() +$mob->GetHateAmount(tmob, is_dam) +$mob->GetHateDamageTop(other) +$mob->GetHateList() +$mob->GetHateRandom() +$mob->GetHateTop() +$mob->GetHeading() +$mob->GetHelmTexture() +$mob->GetID() +$mob->GetINT() +$mob->GetInvul() +$mob->GetItemHPBonuses() +$mob->GetItemStat(itemid, stat) +$mob->GetLevel() +$mob->GetLevelCon(iOtherLevel) +$mob->GetLevelHP(tlevel) +$mob->GetLuclinFace() +$mob->GetMR() +$mob->GetMana() +$mob->GetManaRatio() +$mob->GetMaxAGI() +$mob->GetMaxCHA() +$mob->GetMaxDEX() +$mob->GetMaxHP() +$mob->GetMaxINT() +$mob->GetMaxMana() +$mob->GetMaxSTA() +$mob->GetMaxSTR() +$mob->GetMaxWIS() +$mob->GetModSkillDmgTaken() +$mob->GetModVulnerability() +$mob->GetMonkHandToHandDamage() +$mob->GetMonkHandToHandDelay() +$mob->GetNPCTypeID() +$mob->GetName() +$mob->GetOwnerID() +$mob->GetPR() +$mob->GetPetID() +$mob->GetPetOrder() +$mob->GetPetType() +$mob->GetRace() +$mob->GetResist(type) +$mob->GetReverseFactionCon(iOther) +$mob->GetRunAnimSpeed() +$mob->GetRunspeed() +$mob->GetSTA() +$mob->GetSTR() +$mob->GetShieldTarget() +$mob->GetSize() +$mob->GetSkill(skill_num) +$mob->GetSkillDmgTaken() +$mob->GetSpecialAbility(special_ability) +$mob->GetSpecialAbilityParam(special_ability, param) +$mob->GetSpecializeSkillValue(spell_id) +$mob->GetSpellHPBonuses() +$mob->GetSpellStat(spell_id, identifier, slot) # Slot is optional. +$mob->GetTarget() +$mob->GetTexture() +$mob->GetWIS() +$mob->GetWalkspeed() +$mob->GetWaypointH() +$mob->GetWaypointID() +$mob->GetWaypointPause() +$mob->GetWaypointX() +$mob->GetWaypointY() +$mob->GetWaypointZ() +$mob->GetX() +$mob->GetY() +$mob->GetZ() +$mob->GetZoneID() +$mob->GoToBind() +$mob->HasNPCSpecialAtk() +$mob->HasProcs() +$mob->HateSummon() +$mob->Heal() +$mob->HealDamage(amount[, caster]) +$mob->InterruptSpell(spellid) +$mob->IsAIControlled() +$mob->IsBeacon() +$mob->IsBeneficialAllowed() +$mob->IsCasting() +$mob->IsClient() +$mob->IsCorpse() +$mob->IsDoor() +$mob->IsEngaged() +$mob->IsEnraged() +$mob->IsImmuneToSpell(spell_id, caster) +$mob->IsInvisible(other) +$mob->IsMeleeDisabled() +$mob->IsMezzed() +$mob->IsMob() +$mob->IsMoving() +$mob->IsNPC() +$mob->IsNPCCorpse() +$mob->IsObject() +$mob->IsPlayerCorpse() +$mob->IsRoamer() +$mob->IsRooted() +$mob->IsRunning() +$mob->IsStunned() +$mob->IsTargeted() +$mob->IsTrap() +$mob->IsWarriorClass() +$mob->Kill() +$mob->MakePet(spell_id, pettype, name) +$mob->MakeTempPet(spell_id, name, duration, target, sticktarg?) +$mob->Mesmerize() +$mob->Message(type, message) +$mob->Message_StringID(type, string_id, distance) +$mob->ModSkillDmgTaken() +$mob->ModVulnerability() +$mob->NPCSpecialAttacks(parse, permtag, reset, remove) +$mob->ProcessSpecialAbilities(str) +$mob->ProjectileAnim(mob, item_id, IsArrow, speed, angle, tilt, arc) +$mob->QuestReward(client, silver, gold, platinum) +$mob->RangedAttack() +$mob->RemoveFromFeignMemory(attacker) +$mob->RemoveNimbusEffect(effectid) +$mob->ResistSpell(resist_type, spell_id, caster) +$mob->RogueAssassinate(other) +$mob->Say(format, language_id) +$mob->SendAppearanceEffect(effect1, effect2, effect3, effect4, effect5, specificclient) +$mob->SendIllusion(race, gender, texture, helmtexture, face, hairstyle, haircolor, beard, beardcolor, drakkin_heritage, drakkin_tattoo, $mob->drakkin_details, size) +$mob->SendPosUpdate(iSendToSelf) +$mob->SendPosition() +$mob->SendTo(new_x, new_y, new_z) +$mob->SendToFixZ(new_x, new_y, new_z) +$mob->SendWearChange(material_slot) +$mob->SetAllowBeneficial() +$mob->SetAppearance(app, iIgnoreSelf) +$mob->SetBodyType(type, overwrite_orig?) +$mob->SetCurrentWP(waypoint) +$mob->SetDeltas(delta_x, delta_y, delta_z, delta_h) +$mob->SetDisableMelee() +$mob->SetEntityVariable(id_num, var) +$mob->SetExtraHaste(Haste) +$mob->SetFlurryChance() +$mob->SetFlyMode(0|1|2|3) +$mob->SetFollowID(id) +$mob->SetGender(gender) +$mob->SetGlobal(varname, newvalue, options, duration, other) +$mob->SetHP(hp) +$mob->SetHate(other, hate, damage) +$mob->SetHeading(iHeading) +$mob->SetInvisible(state) +$mob->SetInvul(invul) +$mob->SetLD(value) +$mob->SetLevel(in_level, command) +$mob->SetMana(amount) +$mob->SetMaxHP() +$mob->SetOOCRegen() +$mob->SetOwnerID(NewOwnerID) +$mob->SetPetID(NewPetID) +$mob->SetPetOrder(i) +$mob->SetRace(race) +$mob->SetRunAnimSpeed(in) +$mob->SetRunning() +$mob->SetShieldTarget(mob) +$mob->SetSlotTint(material_slot, red_tint, green_tint, blue_tint) +$mob->SetSpecialAbility(ability, value) +$mob->SetSpecialAbilityParam(ability, param, value) +$mob->SetTarget(mob) +$mob->SetTargetDestSteps(target_steps) +$mob->SetTargetable(targetable) +$mob->SetTexture(texture) +$mob->Shout(format, ...) +$mob->SignalClient(client, data) +$mob->SpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client) # duration, finish_delay, zone_wide, unk20, $mob->perm_effect, and client are Optional. +$mob->SpellFinished(spell_id, spell_target, mana_cost) +$mob->Spin() +$mob->StartEnrage() +$mob->Stun(duration) # in whole seconds +$mob->TarGlobal(varname, value, duration, npcid, charid, zoneid) +$mob->TempName(name) +$mob->ThrowingAttack() +$mob->TypesTempPet(typesid, name, duration, follow, target, sticktarg); +$mob->WearChange(material_slot, texture, color) +$mob->WipeHateList() ``` # NPC -Example: ```perl -$npc->GetLoottableID(); +$npc->AI_SetRoambox(iDist, iMaxX, iMinX, iMaxY, iMinY, iDelay) +$npc->AddAISpell(priority, spell_id, type, mana_cost, recast_delay, resist_adjust) +$npc->AddCash(in_copper, in_silver, in_gold, in_platinum) +$npc->AddItem(itemid, charges, equipitem) +$npc->AddLootTable() +$npc->AddDefensiveProc(spellid, chance)    +$npc->AddMeleeProc(spellid, chance) +$npc->AddRangedProc(spellid, chance) +$npc->AssignWaypoints(grid) +$npc->CalculateNewWaypoint() +$npc->CheckNPCFactionAlly(other_faction) +$npc->ClearItemList() +$npc->CountLoot() +$npc->DisplayWaypointInfo(to) +$npc->DoClassAttacks(target) +$npc->GetAccuracyRating() +$npc->GetAttackSpeed() +$npc->GetCopper() +$npc->GetGold() +$npc->GetGrid() +$npc->GetGuardPointX() +$npc->GetGuardPointY() +$npc->GetGuardPointZ() +$npc->GetLoottableID() +$npc->GetMaxDMG() +$npc->GetMaxDamage(tlevel) +$npc->GetMaxWp() +$npc->GetMerchantProbability() +$npc->GetMinDMG() +$npc->GetNPCFactionID() +$npc->GetNPCHate(in_ent) +$npc->GetNPCSpellsID() +$npc->GetPetSpellID() +$npc->GetPlatinum() +$npc->GetPrimSkill() +$npc->GetPrimaryFaction() +$npc->GetSecSkill() +$npc->GetSilver() +$npc->GetSlowMitigation() +$npc->GetSp2() +$npc->GetSpawnPointH() +$npc->GetSpawnPointID() # Returns spawn2 id +$npc->GetSpawnPointX() +$npc->GetSpawnPointY() +$npc->GetSpawnPointZ() +$npc->GetSpellFocusDMG() +$npc->GetSpellFocusHeal() +$npc->GetSwarmOwner() +$npc->GetSwarmTarget() +$npc->GetWaypointMax() +$npc->IsAnimal() +$npc->IsGuarding() +$npc->IsOnHatelist(p) +$npc->ModifyNPCStat(identifier, newValue) +$npc->MoveTo(mtx, mty, mtz, mth, saveguard) +$npc->NextGuardPosition() +$npc->PauseWandering(pausetime) +$npc->PickPocket(thief) +$npc->RemoveAISpell(spell_id) +$npc->RemoveCash() +$npc->RemoveFromHateList(mob) +$npc->RemoveItem(item_id, quantity, slot) +$npc->RemoveMeleeProc(spell_id) +$npc->RemoveDefensiveProc(spell_id) +$npc->RemoveDefensiveProc(spell_id) +$npc->ResumeWandering() +$npc->SaveGuardSpot(iClearGuardSpot) +$npc->SetCopper(amt) +$npc->SetGold(amt) +$npc->SetGrid(grid_) +$npc->SetMerchantProbability(amt) +$npc->SetNPCFactionID(in) +$npc->SetPetSpellID(amt) +$npc->SetPlatinum(amt) +$npc->SetPrimSkill(skill_type) +$npc->SetSaveWaypoint(waypoint) +$npc->SetSecSkill(skill_type) +$npc->SetSilver(amt) +$npc->SetSp2(sg2) +$npc->SetSpellFocusDMG() +$npc->SetSpellFocusHeal() +$npc->SetSwarmTarget() +$npc->SetTaunting(tog) +$npc->SetWaypointPause() +$npc->SignalNPC(signal_id) +$npc->StartSwarmTimer(duration) +$npc->StopWandering() +$npc->UpdateWaypoint(wp_index) +``` + +# Quest Items + +* Below objects require you to fetch an item instance via an item getter, for example: + +```perl +$item = $client->GetItemAt(slot); +$item->GetCharges(); ``` ```perl -AI_SetRoambox(iDist, iMaxX, iMinX, iMaxY, iMinY, iDelay) -AddAISpell(priority, spell_id, type, mana_cost, recast_delay, resist_adjust) -AddCash(in_copper, in_silver, in_gold, in_platinum) -AddItem(itemid, charges, equipitem) -AddLootTable() -AddDefensiveProc(spellid, chance)    -AddMeleeProc(spellid, chance) -AddRangedProc(spellid, chance) -AssignWaypoints(grid) -CalculateNewWaypoint() -CheckNPCFactionAlly(other_faction) -ClearItemList() -CountLoot() -DisplayWaypointInfo(to) -DoClassAttacks(target) -GetAccuracyRating() -GetAttackSpeed() -GetCopper() -GetGold() -GetGrid() -GetGuardPointX() -GetGuardPointY() -GetGuardPointZ() -GetLoottableID() -GetMaxDMG() -GetMaxDamage(tlevel) -GetMaxWp() -GetMerchantProbability() -GetMinDMG() -GetNPCFactionID() -GetNPCHate(in_ent) -GetNPCSpellsID() -GetPetSpellID() -GetPlatinum() -GetPrimSkill() -GetPrimaryFaction() -GetSecSkill() -GetSilver() -GetSlowMitigation() -GetSp2() -GetSpawnPointH() -GetSpawnPointID() # Returns spawn2 id -GetSpawnPointX() -GetSpawnPointY() -GetSpawnPointZ() -GetSpellFocusDMG() -GetSpellFocusHeal() -GetSwarmOwner() -GetSwarmTarget() -GetWaypointMax() -IsAnimal() -IsGuarding() -IsOnHatelist(p) -ModifyNPCStat(identifier, newValue) -MoveTo(mtx, mty, mtz, mth, saveguard) -NextGuardPosition() -PauseWandering(pausetime) -PickPocket(thief) -RemoveAISpell(spell_id) -RemoveCash() -RemoveFromHateList(mob) -RemoveItem(item_id, quantity, slot) -RemoveMeleeProc(spell_id) -RemoveDefensiveProc(spell_id) -RemoveDefensiveProc(spell_id) -ResumeWandering() -SaveGuardSpot(iClearGuardSpot) -SetCopper(amt) -SetGold(amt) -SetGrid(grid_) -SetMerchantProbability(amt) -SetNPCFactionID(in) -SetPetSpellID(amt) -SetPlatinum(amt) -SetPrimSkill(skill_type) -SetSaveWaypoint(waypoint) -SetSecSkill(skill_type) -SetSilver(amt) -SetSp2(sg2) -SetSpellFocusDMG() -SetSpellFocusHeal() -SetSwarmTarget() -SetTaunting(tog) -SetWaypointPause() -SignalNPC(signal_id) -StartSwarmTimer(duration) -StopWandering() -UpdateWaypoint(wp_index) +GetAugment(slot) # Returns an item object for the augment found in the slot supplied +GetCharges() # Returns the number of charges on an item +GetID() # Returns the ID of the item +GetName() # Returns the name of the item +IsAttuned() # Returns 1 if the item is attuned (instanced no drop) +IsType(type) # Returns 1 if the item is of the type supplied (valid types are 0=common, 1=container, 2=book) +ItemSay(text, language) # The item says text, language is optional (currently only goes to item's owner) +SetScale(multiplier) # Sets the scale multiplier for scaling items. 1.0 = full stats ``` -#### **Quest Item** +# Object - GetAugment(slot) # Returns an item object for the augment found in the slot supplied - GetCharges() # Returns the number of charges on an item - GetID() # Returns the ID of the item - GetName() # Returns the name of the item - IsAttuned() # Returns 1 if the item is attuned (instanced no drop) - IsType(type) # Returns 1 if the item is of the type supplied (valid types are 0=common, 1=container, 2=book) - ItemSay(text, language) # The item says text, language is optional (currently only goes to item's owner) - SetScale(multiplier) # Sets the scale multiplier for scaling items. 1.0 = full stats +* Below objects require you to fetch the object instance via an entity getter, for example: -#### **Object - $object->Object(); (You will have to get $object from an entity list selection or another method)** +```perl +$object = $entity_list->GetObjectByID(ID); +$object->SetLocation(x, y, z); +``` - ClearUser() - Close() - Delete(reset_state) - DeleteItem(index) - Depop() - EntityVariableExists(id) - GetDBID() - GetEntityVariable(id) - GetHeading() - GetID() - GetIcon() - GetItemID() - GetModelName() - GetType() - GetX() - GetY() - GetZ() - IsGroundSpawn() - Repop() - Save() - SetEntityVariable(id, var) - SetHeading(heading) - SetID(set_id) - SetIcon(icon) - SetItemID(itemid) - SetLocation(x, y, z) - SetModelName(name) - SetType(type) - SetX(XPos) - SetY(YPos) - SetZ(ZPos) - StartDecay() - VarSave() +```perl +$object->ClearUser() +$object->Close() +$object->Delete(reset_state) +$object->DeleteItem(index) +$object->Depop() +$object->EntityVariableExists(id) +$object->GetDBID() +$object->GetEntityVariable(id) +$object->GetHeading() +$object->GetID() +$object->GetIcon() +$object->GetItemID() +$object->GetModelName() +$object->GetType() +$object->GetX() +$object->GetY() +$object->GetZ() +$object->IsGroundSpawn() +$object->Repop() +$object->Save() +$object->SetEntityVariable(id, var) +$object->SetHeading(heading) +$object->SetID(set_id) +$object->SetIcon(icon) +$object->SetItemID(itemid) +$object->SetLocation(x, y, z) +$object->SetModelName(name) +$object->SetType(type) +$object->SetX(XPos) +$object->SetY(YPos) +$object->SetZ(ZPos) +$object->StartDecay() +$object->VarSave() +``` -#### **Door - $object->Object(); (You will have to get $object from an entity list selection or another method)** +# Door - CreateDatabaseEntry() - GetDoorDBID() - GetHeading() - GetID() - GetIncline() - GetKeyItem() - GetLockPick() - GetModelName() - GetNoKeyring() - GetOpenType() - GetSize() - GetX() - GetY() - GetZ() - SetHeading(heading) - SetIncline(type) - SetKeyItem(type) - SetLocation(x, y, z) - SetLockPick(type) - SetModelName(name) - SetNoKeyring(type) - SetOpenType(type) - SetSize(size) - SetX(XPos) - SetY(YPos) - SetZ(ZPos) +* Below objects require you to fetch the door instance via an entity getter, for example: -* * * +```perl +$door = $entity_list->GetDoorsByID(ID); +$door->GetModelName(); +``` + +```perl +$door->CreateDatabaseEntry() +$door->GetDoorDBID() +$door->GetHeading() +$door->GetID() +$door->GetIncline() +$door->GetKeyItem() +$door->GetLockPick() +$door->GetModelName() +$door->GetNoKeyring() +$door->GetOpenType() +$door->GetSize() +$door->GetX() +$door->GetY() +$door->GetZ() +$door->SetHeading(heading) +$door->SetIncline(type) +$door->SetKeyItem(type) +$door->SetLocation(x, y, z) +$door->SetLockPick(type) +$door->SetModelName(name) +$door->SetNoKeyring(type) +$door->SetOpenType(type) +$door->SetSize(size) +$door->SetX(XPos) +$door->SetY(YPos) +$door->SetZ(ZPos) +``` ### Use Reference -##### **$mob->Object(s)** - -**$mob->NPCSpecialAttacks(**_parse, permtag, reset, remove_**)** -**See**: [NPCSpecialAttacks Reference List](http://wiki.eqemulator.org/p?NPC_Special_Attacks) - -sub EVENT_SPAWN { - $npc->NPCSpecialAttacks("Hn", 0); - #This causes the NPC to never aggro and never help allies. -} - -sub EVENT_SAY { - #This will 'toggle' the flags after checking to see if the npc has them. - if($text =~/hail/i) { - $Check = $npc->HasNPCSpecialAtk("Hn"); - if($Check) { - quest::say("I will now aggro and assist my allies."); - $npc->NPCSpecialAttacks("Hn", 1); - } else { - quest::say("I will no longer aggro and I will stop assisting my allies."); - $npc->NPCSpecialAttacks("Hn", 0); - } - } -} - -_**Note**: You can combine all sorts of different NPCSpecialAttacks as the first parameter to obtain the desired result. In this example, "H" and "n" are entirely different._ - -* * * - #### Additional References Modifying NPC Stats: \[\[Modify NPC Stat\]\]