Implemented ::ifaces commmand
Implemented ::pohstorableitems command to fetch all storable items
Implemented storing books in house
POH now included in item checks
Added the missing music definition for the eastern half of Damis's cave
Buffed Kamil's ice barrage attack to always hit two 5s
Fixed a bug where Fareed's weapon unequip message would fire even if you did not have a weapon equipped
Resolved a issue where gold rock scenery was rewarding perfect gold ore on gold rocks outside of the Witchaven dungeon
Familiars are no longer allowed in some places they shouldn't be
The Grand Tree mine's roots now properly animate and play the correct sound when pushing them
The correct thieving level is now required for Varrock pickpocket diary task
Added the correct dialogue message to inspecting the cactus with the red scarf from tourist trap
Corrected Dagganoth Prime talisman drops
Arctic pines now reward 40 xp authentic to Jan of 2009 instead of Sept of 2009
All farming patch tree chop rates have been corrected
Fixed an issue where the player would continue to chop farming patch trees after they get chopped down
Fixed the typo in the word Jenkiins -> Jenkins
Fixed a bug that could occasionally cause the sandwich lady interface to become unresponsive
Fixed an issue that could cause shade random events to not spawn for max-level players
Fixed an issue that could cause zombie random events to not spawn for max-level players
Fixed a widespread book issue that resulted from not resetting the current page index when closing a book, and then trying to open another book with less pages.
Converted bogrog pouch swap to the generic item select interface, and removed relevant code from the grand exchange code
Fixed an issue that could occasionally prevent exchange of item sets
Fixed an issue with Diango's reclaim interface that could result in items other than the ones you clicked being claimed
Made incubation moderately more reliable, and incubation timers now pass even while offline
Fixed an issue that prevented the leather crafting dialogue from accepting tokenized amounts (e.g. 100k)
Fixed an issue that prevented the tool leprechaun interface from allowing tokenized amounts
Fixed an issue that prevented players from using tokenized amounts in the ogleroot purchase dialogue for vinesweeper
Fixed an issue that prevented Zaff's batttlestaff dialogue from accepting tokenized amounts
Fixed an issue that prevented shop buy-x options from accepting tokenized amounts
Various shop-related exception fixes
Added some ingame player messages for when a Hunter "catch" option isn't being handled properly
Fixed some exceptions being thrown by lunar spells
Pyramid Plunder is now better at detecting when a player is in the minigame erroneously and kicking them out
Fixed an issue that would lead to incorrect Kalphite Queen behavior when killing her with multiple players in the room
Fixed an issue that could cause the Bedabin Nomad's dialogue to hang during Tourist Trap
Fixed several more issues with Fight Arena cutscenes
Fixed an issue that could prevent the dwarf dialogue from opening while trying to enter the mountain shortcut before finishing Fishing Contest
Fixed an issue that could cause dialogue option hangs in certain unusual circumstances
Fixed an issue that could result in non-movement for interactions where the override location was the same as the target node's location and there was no destination flag set
Fixed an issue where setting invalid node data could cause issues with NPC rendering
Server can now detect when a session is sending up multiple invalid packets and automatically disconnect the player
Fixed an issue that could lead to unintended saving of varps/varbits
Fixed an issue that could cause some interactions in shops to silently fail. The user will now receive a relevant message when these situations occur
Users may now find they could occasionally receive a very snarky response when incorrectly using commands
Users now receive messages when they try to make use of unimplemented friends/clan/etc features.
Errors in string parsing will no longer result in "dead" inputs when attempting to add friends/update clan ranks/etc
Fixed an issue that could lead to loss of some alerts in the Discord integration. Discord integration will now detect problems and queue the failed messages to be resent later.
Added more safety checks to item-on-grounditem packet handling to prevent throwing exceptions
Exceptions in string parsing for command packets will now inform the user that something went wrong, and ask them to try again.
Improved drop table parsing and fixed incorrect drop tables
Dialogue animations fixed for Doric's Quest Omglewip in Wizards' Tower
Sawmill operator options handler is now kotlin listener, fixes unreachable bug
Mining guild entrance dwarf grammar fixed
Farsight seer expression and grammar fixed
Zeke of Al Kharid grammar fixed
Chompy bird grammar fixed
Prince Ali grammar fixed
Minecart driver grammar fixed
Reldo from Lost Tribe now ends dialogue correctly when talking about the book
Error logs now properly print to stderr when possible
Colour-coded logs
Addressed a scenario in which outgoing packet writes could get hung up
Fixed interface incorrect definition message on server startup
Unified kotlin and java into just src/main
Unified the rs09 and core packages
Took all content out of the core package, and placed it into the new content package
Reorganised all source code relating to content to be easier to find and explore