- Add $client->GetInventory() to Perl.
- Export Lua Inventory methods to Perl.
- Add quest::createitem(item_id, charges, augment_one, augment_two, augment_three, augment_four, augment_five, augment_six, attuned) to Perl so you can return a ItemInstance for testing purposes.
RandomPath has been changed to the following behavior:
* When stopped at a waypoint, it will now use the waypoint's pause timer if it is non-zero. If it is zero, it will use the first waypoint's pause timer if that is non-zero. If both are zero it will use 38 seconds. Previously it would always use the first waypoint's pause timer if it was non-zero. This new way is what it should have been from the start, really.
* If any waypoint is flagged as a centerpoint, then the NPCs will always return to that first randomly selected centerpoint waypoint after moving. I.e. every other move will be to the first waypoint if the bool is set.
If any waypoint has a negative number (-1, -10, etc) in the pause timer. It will not be included in the waypoints to be random. Instead the npc will just path through it everytime. This is useful for a path to only select a small area to pause at before returning to it's centerpoints or another random waypoints in between it.
- 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.
Noticed the Gitbook documentation listed SendFullPopup not Popup2 due to parsing the Perl croaks in the files, causing people not to be able to find the proper way to send a full popup window.
- Add quest::message(color, message) to Perl.
- Add eq.message(color, message) to Lua.
- Add quest::whisper(message) to Perl.
- Add eq.whisper(message) to Lua.
These methods allow you to use implied client references. The whisper method also converts a widely used plugin in Perl to a Perl and Lua method that works on both Clients and NPCs.
Only shows 1 or max stack size of item for summoning items. Also resolves the issues some people were having where this command would summon an item with 1 charge instead of max charges because 1 was supplied as charges. In my experience most people who summon items like this want either one item or a full stack of an item and the summon size here is relative to the current item's stack size. Also shows name first instead of ID so the formatting is better.
The NPC pointer held by Spawn2 wasn't reset if the npc was depopped
without a respawn timer by #depop commands or depop(false) quest apis.
If the NPC was part of a spawn condition then the condition would try
to dereference that pointer (which gets deleted) on condition change.
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.