This commit got way too big...
- Remove deprecated methods for sending packets
- Favor OutPacket & Packet over MaplePacketLittleEndianWriter, LittleEndianWriter, and byte array
- Split up some packet creating methods into separate classes
It's no longer a range because it:
1. Makes no sense for it to be a range
2. Makes for simpler scripts since returning a JS array is a hassle with Graal
Encoded temporary mob buffs on mob control request/spawn packets.
Improved scroll generator NPC, now testing other bucket set possibilities.
Fixed slot gain method recently updated leading to a temporary visual glitch (inventory would show as normal after relogin).
Reviewed mobid check by name, no longer trying to generate a whole mob instance for info retrieval.
Added debuff purge when applying a buyback.
Reviewed skillbook announcer not informing properly storybooks, reactor or script loots.
Fixed autoaggro not working properly as soon as a player enters the field.
Fixed "fake" mobs disappearing as soon as its controller changes.
Patched account storages not getting cached properly at login time.
Reviewed item acquisition at the Cash Shop happening before point transaction.
EXP toggle flag now also works on equipment gains.
Factored several skills (Energy Charge, Wind Walk, Dash) not updating properly other players when changing maps.
Refactored stat pool system, which wasn't working properly on limit scenarios.
Fixed "untradeable at wear"equipments losing flags upon equipping.
Reviewed Inventory Sort, now sorting projectiles at descending order on damage.
Implemented support for visibility of effects on weapons imbued with Charge skill (e.g. Paladin's Holy Charge) for other players.
Implemented storybook detection for the skillbook announcer.
Fixed an issue with AOE mob skills not locating players properly in certain situations.
Reviewed interaction of players within same remote network on multiclient system.
Patched messages when leaving the expedition area showing up for leaving players.
Patched some skill questline item chances unexpectedly too low.
Reviewed Rush questline-exclusive area not allowing multiple players in the room.
Fixed meso capacity check on shop owner happening after item transaction.
Patched server-side autopot settings, now using threshold cooling method to determine a player's updated settings.
Reviewed locking flow regarding world/channel deployment on main class.
Fixed a scenario where items collectable by party members would not show up in case those were the only items to be dropped and none needed by the last-hitter.
Patched an issue in the inventory space checking algorithm that would allow a transaction for multiple of the same equipments.
Refactored Dojo entry/exit modules.
Patched a check on Maker skill.
Fixed Cygnus FA buff getting reapplied each time the skill procs.
Fixed an issue within Restore Lost Item functionality.
New custom NPC: scroll generator. Trades a scroll for bundles of common miscellaneous items.
Revised several lock-acquiring flow scenarios.
Fixed pet autopot taking out "negative" amounts from inventory.
Added zombify and confuse diseases dispellable by all-cure potions.
Patched after-quest messages sometimes allowing player movement, that shouldn't be available until the message box is closed.
Reviewed multiclient component, now also evaluating passed HWID alongside remote IP.
Fixed missing info about questlines on skillbook announcer NPC after recent updates.
Fixed some Aran skills not applying MP consume properly.
Cleared a few issues within MCPQ collectable solo/party items and skills.
Improved response time on scroll generator by adding a cache for scroll requirements.
Cleared issue in a few scripts which would be trying to access Java Math library methods with unexpected parameter types.
Fixed EllinPQ rewarder NPC handing out an unexpected itemid to the player.
Cleared SQL foreign key constraint statement no longer supposed to be used.