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
Fixed facial expressions for Sir Amik, listen scene characters, fortress guard
Fixed door needing uniform from inside to leave
Big door now opens from the inside
Fixed HD related issues during hengrad cutscene
Fixed dialogue after entering the hengrad cell
Fixed doors that were not visually open when opened by the bouncer in the cutscene
Refactored guard dialogue
Fixed some exceptions
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
Lumbridge: Explorer Jack grammar errors, fishing tutor expressions, prayer tutor expressions
Falador: Makeover mage expressions, castle squire dialogue error, Rising Sun bartenders expressions
Varrock: Thessalia expressions, head chef expressions
Taverly: Kaquemeex and Sanfew expressions
Port Sarim: Thaki The Dwarf dialogue was sending a bad player expression causing it to break animation, bartender expressions, Klarence expressions
Rimmington: Hetty expressions
Karmaja: Luthas expressions and dialogue added, fixed Man character speaking the player's dialogue
Brimhaven: Bartender expressions, Davon the amulet seller expressions
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)
Added global chat feature, so players can still maintain global communication while being in their own clan chat
An individual player can opt out of global chat by using the ::muteglobal command
Implemented automatic message splitting for clan and global chat
Implemented colour selection for global chat (prefix your message with hex colour code, e.g. //%690420 before the message)
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
Elvarg fight is now authentic
Max hit up to 60 w/o shield, with anti-dragonfire shield up to 12, and max combat damage based on defense level
Separated potion and shield effects to not stack
Fixed quest log typo
Fixed dragon-fire message to show correct text based on the player's protection