03-March-2023

Introducing Global Chat
ryannathans
Lead Developer

03-March-2023

Greetings Explorers

This update introduces the global chat system. To use global chat, prefix a message with two forward slashes. Global chat also supports colour coded messages. For example //hello, or //%0000ffhello for white. Feel free to make your own clans now instead of relying on the 2009scape clan chat for global chat. Use ::muteglobal to toggle visibility of global chat.

Full list of changes:

  • Fixed a null reference exception due to misuse of combat callbacks to update interfaces
  • Fixed random variation on tablet teleport to house
    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
  • Improved accuracy of player wealth calculation
  • Converted Seamen plugin to listener
  • Disconnecting while dying no longer results in improper death handling in safe zones (e.g. fight caves)
  • Made pipelines even faster with slim version of maven docker image
  • Another round of dialogue fixes

    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
  • Moved jq installation to run on json verification gitlab pipeline only
  • Black Knights' Fortress Bug Fixes

    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
  • Implemented drop table for Entrana zombies, thus now finally giving them the correct bronze axe drop rate
  • Added support to fire off a discord alert to a webhook (set in server config as server.openrsc_integration_webhook) when Wormbrain's map piece is collected so that rsc plate pures are possible
  • Fight Arena Bug Fixes

    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
  • Fixed sequence rune pouches are dropped in
  • Implemented support for overriding daily account limits via new config file Server/data/configs/account_limit_exceptions.conf (this file is hot reloaded automatically upon modification)
  • Even more NPC dialogue fixes

    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
  • Corrected facial expressions and dialogue for many NPCs

    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
  • Rewrote hunter kit spell in kotlin
  • Fixed crafting level requirements and xp reward for studded body
  • Can now speak to Wormbrain through the jail cell
    Fixed some Wormbrain typos
  • Added support for varying log levels configurable in the server config (see log_level in default.conf)
    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
  • God spells now properly drain stats
    Charge spell no longer null-dereferences when attempting to refresh it
    Manually casting spells no longer changes attack style
  • Wrapped oomlie now have the correct burn chance and experience reward
  • Fixed master crafter's dialogue not opening
  • Implemented ContentInterface-based NPC Scripting

    Obsoleted AbstractNPC
    Implemented desert bandits
    Rewrote a handful of existing NPCs into NPCBehaviors (e.g. rock slugs, nechryaels, water fiend and more)
  • Added the HAM robe set and monk's robes to the allowed items for Entrana
  • Fixed incorrect xp calculation that would occur in some circumstances when training magic
  • Added missing sounds to agility pyramid
  • Implemented crocodile drop tables
  • Varrock Museum Curator Haig Hele no longer gets stuck in endless "please waiting"
    Achievement diary no longer gets completed on every repeated interaction with the Varrock Museum Curator
    Grammar fixes for shield of arrav quest
  • Leela in Prince Ali Rescue no longer provides duplicate keys
    Misc. dialogue fixes for Prince Ali Rescue
  • Fixed bug where feathers could be used to fletch wood
  • Implemented Global Chat

    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)
  • Implement Authentic Interaction Subsystem

    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
  • Improved handling of chat message packets
    More improvements and fixes relating to dynamic regions and constructions
  • Rewrote PrayerEffect into kotlin
    Corrected calculation used for prayer restoring effects
  • Fixed the dragonfire shield recharge animation to only play when it needs charging
  • Elvarg improvements

    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
  • Implemented blast furnace sink fill-bucket option
  • Cooking on a fire that burns out will now stop any active cooking actions
  • Bump compiler to Kotlin 1.8.20-Beta to fix incremental build
  • Reimplemented Bogrog summoning shop
  • Cleaned up summoning scroll code
    Fixed thieving fingers scroll level requirements (level 167 -> 47)
  • Implemented Oomlie drop table
  • Removed inauthentic vial smash after completing bar crawl miniquest (this is an osrs-only feature)
  • Fixed a bug causing runecrafting animations to play twice
  • Converted plugin for making gem tipped bolt tips and bolts to listener
  • Converted abyssal titan to kotlin
    Abyssal titan is now a beast of burden
    Fixed issue with abyssal titan that could result in lost essence when bank is full
  • Updated kotlin to 1.8.0
    Updated kotlin target to java 11
    Fixed build errors when targeting 1.8.0
  • Fixed blast furnace crashing the entire server when using "take all"
    Fixed blast furnace bar duplication when using "take all"