- Size checks are enforced for all packets in the handlers and automatically determined from structures
- Adds missing padding to a handful of packets
- Introduce a flag-driven BlockedState mechanism for packet validation
- Rate limit values loaded from settings and handled by PacketSystem
- PacketHandlers global array is no longer accessible
Adds logging for common player item transactions: Vendor Sell, Bazaar Purchase, Item Trades, DBox Receiving. If the settings in map.lua are togged to true, these transaction types will generate logs in the database for persistence.
Split the single movement speed setting into multiple settings to
improve ease of use and customizability. Base speed, speed limit, and
mount speed are all now directly set instead of an offset to retail
values.
Animation speed setting added that controls player movement animation
speed. This is a little hard to explain. Take your current speed and
divide it by your base speed. Normally this would be 50/50=1.0, this is
the rate at which your running animation plays, 1x. Flee brings you to
80/50=1.6x animation speed. If you increase base speed to 80, then you
still have a 1x animation speed. This setting is applied as a divisor to
the base speed, so if you want to increase the base movement speed and
also increase animation speed, you would increase this value (e.g. to
make it always appear as if the player has a flee effect you would set
BASE_SPEED to 80 and ANIMATION_SPEED_DIVISOR to 1.6).
Speedsub was changed to animationSpeed to reflect this, and baseSpeed
was added to track the base speed of an entity. For most entities these
will be the same, but allows for player animation adjustments.
Mob controller controls if mob should run or not, so remove the distance
checks from the speed calculations. Rework GetSpeed to UpdateSpeed. Mobs
only need to update their speed during pathfinding, and players only for
update packets, so this allows us to read speed without necessarily
recalculating.
* Cleared out old quest logic from 6 fishing related npcs
* Added Under_the_Sea quest
* Replaced 'status' with 'Prog' as var,
added oswald replacement flavor text after quest complete
* Added check for FISHING_ENABLE and fixed comment
for fishing_enable toggle in map settings
Server admins can use this by changing the `KEEP_JUGPET_THROUGH_ZONING` option in their `settings/map.lua`. Setting to false follows retail behavior. Setting to true will keep jug pets through zoning just like wyverns.