Added sound to shearing sheep
Added sound to failing to shear the penguin sheep
Added sound to picking up field items (wheat, potato, etc.)
Added 3 missing chicken(1017) spawns to farmer freds farm
Removed 1 incorrect chicken(41) spawn from farmer freds farm
Added 1 missing sheep(43) spawns at farmer freds farm
Added 2 missing sheep(1765) spawns at farmer freds farm
Added 2 missing sheep(5156) spawns at farmer freds farm
Added 2 missing sheep(5157) spawns at farmer freds farm
Added 2 missing sheep(5160) spawns at farmer freds farm
Added 1 missing ram(3673) spawn at farmer freds farm
Added all combat sounds to ram(5168,3673)
Added 1 missing mugger(175) spawn behind lumbridge by logs
Added all combat sounds to mugger(175)
Added 2 missing sheep(42) spawns behind lumbridge by logs
Removed 6 incorrect giant rat(86) spawns at southwest corner of lumbridge castle
Added 2 giant rat (86) spawns at southwest corner of lumbridge castle
Added 1 giant rat (4942) spawn at southwest corner of lumbridge castle
Added 10 missing rat(47) spawn at southwest corner of lumbridge castle
Removed 24 incorrect goblin spawn(all 3267,3264) between lumbridge and draynor
Added 3 goblin(2278) spawn between lumbridge and draynor to east section
Added 1 goblin(1772) spawn between lumbridge and draynor to east section
Added 1 goblin(1770) spawn between lumbridge and draynor to east section
Added 2 goblin(1771) spawn between lumbridge and draynor to east section
Added 3 goblin(2279) spawn between lumbridge and draynor to east section
Added 2 goblin(2281) spawn between lumbridge and draynor to east section
Added 1 goblin(2278) spawn between lumbridge and draynor to west section
Added 1 goblin(1772) spawn between lumbridge and draynor to west section
Added 1 goblin(1770) spawn between lumbridge and draynor to west section
Added 1 goblin(1771) spawn between lumbridge and draynor to west section
Added 1 goblin(2279) spawn between lumbridge and draynor to west section
Added 1 goblin(2280) spawn between lumbridge and draynor to west section
Added 2 goblin(2279) spawn between lumbridge and draynor to north section
Added 1 goblin(1770) spawn between lumbridge and draynor to north section
Added 1 goblin(1771) spawn between lumbridge and draynor to north section
Added 1 goblin(2278) spawn between lumbridge and draynor to north section
Removed 2 incorrect giant spider(59) spawns at ham trapdoor
Added 5 giant spider(59) spawn at ham trapdoor
Removed 3 incorrect giant spider(59) spawns around well
Added 3 giant spider(59) spawn at well
Removed 1 incorrect spider(59) at giant rats spawn near lumbridge by logs
Added 1 missing giant spider(59)spawn next to tree patch
Fixed spell hit and miss sounds not working
Changed several existing spell sounds to use constlib
Corrected confuse cast sound and added hit sound
Corrected weaken cast sound and added hit sound
Corrected curse cast sound and added hit sound
Corrected vulnerability cast sound and added hit sound
Corrected enfeeble cast sound and added hit sound
Corrected stun cast sound and added hit sound
Corrected crumble undead hit sound
Added bind hit sound
Corrected snare cast sound and added hit sound
Corrected entangle cast sound and added hit sound
Added sound for enchanting crossbow bolts
Added saradomin strike hit and miss sounds
Added claws of guthix hit and miss sounds
Added flames of zamorak hit and miss sounds
Fixed teleother sound
Added ibans blast cast and hit sound
Corrected superheat ore sound
Fixed a general script processing oversight that could cause error-throwing scripts to continue executing
Scripts being processed now automatically cancel if the interaction-target-node is no longer active (fixes object could not be replaced spam)
Fixed the stopExecuting() spam
Fixed a CME in the disconnection queue (only affected server shutdown)
Future-proofed the ground spawn parser to work with the format Zaros now outputs
Added in proper SKILLING global clock for use with the script system - addresses some quirks and brings us closer to authenticity
Fixed a bug that caused woodcutting to take slightly longer
Fixed a bug that caused the woodcutting axe message to print more often than it should
Fixed a bug that caused fishing to not print its fishing attempt message
Fixed a bug that caused fishing to take slightly longer
Fixed a bug that would cause nechryaels to lose interest in the player when their minions attacked
Made sure the grand exchange tests always clean up the GEDB
Fixed a bug that would cause players to get stuck in a client crash loop when logging out inside of a POH
Fixed a bug that let players reach objects that shouldn't be reachable
General disconnection reliability improvements
Adjusted the color of global chat for HD mode, the new color is #f1b04c
Corrected drop table for hero
Rewrote tablet teleports in kotlin as listener
Added new ::runekit admin command, which gives 1k of each Rune type to make testing easier
Fixed grammatical errors with: Duke of Lumbridge, Falador Squire, poison salesman, slayer masters, Varrock East bartender, mage of Zamorack, Sedridor, trader Stan, Varrock information clerk
Fixed animation for Varrock East bartender
Fixed some stuck dialogues
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
Obsoleted AbstractNPC
Implemented desert bandits
Rewrote a handful of existing NPCs into NPCBehaviors (e.g. rock slugs, nechryaels, water fiend and more)
Implemented authentic script/interaction queues
This does now mean we have a total of 3 interaction systems, but this additional system is necessary to fix certain categories of bug and implement some authentic features
Converted mining to new system
Converted fishing to new system
Converted woodcutting to new system
Provided an example of soft-queued scripts with GrandTreePodListener
Implemented tick-eating (it is now possible to eat a shark, drink a potion, and eat a karambwan all on the same tick)
Can now eat and drop items while stunned
Added new class of job - bone burying
Made the Task List item functional
Overhauled the dialogues of all of the applicable employers to be more authentic to 2009
Players must now return to the employer who gave them the job to turn it in
Added development command ::clearjob to clear the player's current job
Fixed typos in the dialogues of various shopkeepers
Individualized Varrock, Lumbridge, and Port Phastmys General Store to their own file
Marked Fairy Shopkeeper as a shopkeeper so players can interact with her too (previously only the assistant was working)
Fixed an issue that prevented teleblock from being used in PvP
Removed redundant code that prevented PvP looting in some instances
Improved strictness of grave generation rules in regards to PvP
Added nothing drop to the RDT (50% chance)
Implemented ring of wealth effect on rare drops (removes nothing drop)
Improved handling of nothing drops, preventing dwarf remains being awarded instead of nothing in some instances
Added impling IDs to the ImplingNPC definition so all implings behave like implings
Crystal shield and crystal bow now degrade
Made cyclops room kickout on disconnect more reliable
Fixed MTA Enchantment Zone items not adhering to the zone's rules
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