* [Commands] #reload Command Overhaul.
- Consolidated #reloadaa, #reloadallrules, #reloadcontentflags, #reloademote, #reloadlevelmods, #reloadmerchants, #reloadperlexportsettings, #reloadqst, #reloadstatic, #reloadtitles, #relaodtraps, #reloadworld, and #reloadzps in to one command.
- #reload has 15 different sub commands you may use, including Log Settings and Tasks reloading.
- All the reload commands are a part of the Developer Tools Menu messages now, as well as part of the documentation.
- Fixes the commands that weren't actually sending their packet to zone server to globally reload stuff.
- Added Variables table reloading to command.
* Consistency.
* Hot reload.
* Final big push.
* [Commands] Cleanup #reloadaa Command.
- Cleanup messages.
- Remove unncessary file_exists command from file.
- Make reloading of Alternate Advancement data global instead of zone specific.
* Update worldserver.cpp
* Update worldserver.cpp
* [Quest API] Add GetBotListByClientName(client_name) to Perl/Lua.
- Add $entity_list->GetBotListByClientName(client_name) to Perl.
- Add eq.get_entity_list():GetBotListByClientName(client_name) to Lua.
- Allows you to get a bot list comprised solely of a specific character's bots.
* Update lua_entity_list.cpp
- Export $killed_x, $killed_y, $killed_z, and $killed_h to EVENT_DEATH_ZONE in Perl.
- Cleanup export strings and unnecessary .c_str() calls on event exports.
- Add $entity_list->GetRandomMob(x, y, z, distance, exclude_mob) to Perl.
- Add $entity_list->GetRandomNPC(x, y, z, distance, exclude_npc) to Perl.
- Add eq.get_entity_list():GetRandomMob(x, y, z, distance, exclude_mob) to Lua.
- Add eq.get_entity_list():GetRandomNPC(x, y, z, distance, exclude_npc) to Lua.
* escape fix for different target types
* implemented max level for fade
* test
* update
* update
* support modern limits
* Update ruletypes.h
* update
* [Spells] Support for SPA 194 SE_FadingMemories to use max level checks on aggroed mobs
not sure why this code got removed, maybe merge error.
* Fix for illusion wear change
On zone in, mobs with illusions were not displaying correct armor.
* [Bug Fix] Illusions will now properly display armor to other clients when they zone in
better looping
Added 1 rule per class that defines tracking distance multiplier for that class
Kept the defaults of 12 for ranger, 10 for druid, and 7 for bard
Created 1 method for determining class tracking distance multiplier
Created 1 method for determining if a class can track, based on multiplier
Updated tracking logic to use these methods to determine whether a tracking
packet should and can be sent or not.
* start
* working
* Update perl_mob.cpp
* updates
* Update perl_mob.cpp
* illusion behavior
* rework start
* fix later
* Update mob.cpp
* rework
* updates
* Update mob.cpp
* update
* gm command updates
* updates
* Update CMakeLists.txt
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
remove debugs
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
perl fix
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
space fix
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
minor fix
* Update CMakeLists.txt
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
cleaned up some inconsistency
* [Features] Appearance Effects will now be sent to clients upon zone in. GM commands.
* [Cleanup] Make use of AccountStatus constants wherever status is checked or used.
- Cleanup all instances of SendEmoteMessage.
- Cleanup all instances of SendEmoteMessageRaw.
- Cleanup all instances of MessageStatus.
- Convert Quest API method defaults to use constants.
* Cleanup constant names.
* Remove detection of client pets from Sense[Summoned|Undead|Animal]
* Use IsPetOwnerClient() function instead of individual checks
* Add option to exclude client pets from GetClosestMobByBodyType
* Add parameter
Co-authored-by: Noudess <noudess@gmail.com>
- Add quest::isnpcspawned(npc_ids) to Perl.
- Add quest::countspawnednpcs(npc_ids) to Perl.
- Add eq.is_npc_spawned(npc_ids) to Lua.
- Add eq.count_spawned_npcs(npc_ids) to Lua.
* Implement auto saylink injection
* Cover Lua say since it takes a different code path
* [Dialogue] Dialogue Window Middleware (#1526)
* Dialogue window quest dialogue work
* Add rest of DialogueWindow hooks
* Remove spacing
- #grid add will no longer let you put in a duplicate grid.
- Grid nodes now spawn with invul/immune to damage.
- Grid nodes now set an entity variable "grid_id" on spawn.
- This allows grid nodes to be specifically despawned by "grid_id" entity variable, meaning you can view multiple grids at once and not despawn them all accidentally.
- #grid hide will despawn your targeted NPC's Grid nodes.
- #grid add, #grid show, #grid delete, and #grid hide send messages to let GM know what's going on.
- #wp add and #wp delete now send messages to let the GM know what's going on.
- #wpadd now send messages to let the GM know what's going on.
* Rename dynamic zone source files
* Store description and leader name on dz
Removes the DynamicZoneInfo struct used for switch list window. This
data can be stored on DynamicZone and kept updated by its owning system
* Separate create compass packet method
Cleanup MarkSingleCompassLoc
Basically, EntityList::RemoveAllEncounters is called before ReloadQuests
resulting in stale pointers in the lua_encounters map.
We just have to remove the entry from the map.
* Add rule configuration for letting animals open doors or not
* Handle one more spot
* Make adjustments and add mob property that serves as a check as to whether a mob entity can open doors or not
* Push attribute to mob window
- IMMUNE_DAMAGE_CLIENT (47)
Immune to all damage except NPC damage.
- IMMUNE_DAMAGE_NPC (48)
Immune to all damage except Client damage.
- IMMUNE_AGGRO_CLIENT (49)
Immune to aggro by a Client.
- IMMUNE_AGGRO_NPC (50)
Immune to aggro by an NPC, clients must attack directly to gain aggro, allows pet only boss mechanics and stuff.
Fixes regression from b08dc02a (PR #1051)
The normal door list sent on zone entry caused unopenable double doors
on clients if an api respawned them while the client was zoning. This
waits until the client finishes zoning and has received the initial
door list before sending any despawn/respawn packets.
Moves corpses to graveyard when an expired instance shuts down.
Zones without a graveyard move them to non-instance version instead.
Fixes player corpses being left inside instances that expire
before graveyards process or in instances without a graveyard
Added public/private class for oldleadername so we can save the previous leader name when the entity is destroyed then allow us to transfer leadership.
Adjusted DelmemberOOZ and in zone functions to include removal of the old leader when disbanding.