Removed the ironman_icons server config setting, locking it behind ironman instead
Removed the default_xp_rate server config setting and hardcoded the default xp rate to 1x
Changed a bunch of server config defaults for inauthentic features to disabled
Added enable_global_chat to the worldprops default config. Note the change from enable_globalchat to enable_global_chat
Removed the allow_slayer_rerolls worldprops config option
Large number of tutorial island improvements and authenticity enhancements
Accessibility to second bank is now locked behind server config toggle second_bank
Eniola, Arnold Lydspor, and Emerald Benedict now offer access to second bank
Locked the backported ability to charge our ring of wealth with GE teleports behind server config toggle ring_of_wealth_teleport
Corrected enchant spells to always yield uncharged dragonstone items, rather than fully charged ones
Fixed inauthentic jewellery UI
Locked the availability of our inauthentic player commands behind server config toggle player_commands. Admins are immune to this and still always have all commands available. Note that this includes ::confirmrules, so be sure not to set your server to show rules and info, but not allow commands
Pets can now stack
Fixes a bug where a pet could get reset to 0 hunger and growth when dropped
Player save version migration messages are no longer shown
Pets now morph into adults in-place
Added an extra option to the deep wilderness gate warning: "I wish to proceed, and don't ask me again"
Reused the same warning, with appropriate changes, for the edge/ardy levers due to the pvp mechanics
Removed the interface warning when crossing the ditch until doomsayer is implemented
Removed the inauthentic threat revenant and restricted brawler/pvp drops to revenants and chaos elemental only
Now require 100k risk to obtain the boosted deep-wildy drop rates
Hid our inauthentic mechanics behind a new server config option enhanced_deep_wilderness
Players who likely bought their crafting capes back when the hood was not obtainable will be given the complementary hood
Unlocked Surok's Theme for players who are eligible
Fixed some bugs relating to the handling of edge cases for random events
Fixed tutorial island quest completion
Made it possible to collapse interface stones in resizable HD
Implemented emptying plant cure
Rewrote DFS handler
Corrected DFS max hit to be 25 instead of 26
Corrected DFS attack cooldown to be 2 mintues instead of 30 secs
Implemented the animation when emptying charges from the DFS
Implemented a server config (better_dfs) to preserve previous functionality (enabled by default)
Can now properly fail the jump and cross gap obstacles
Fixed an issue when failing the the 2nd level north cross gap obstacle when going west causing the player to get stuck inside the pyramid
Fixed jump/cross gap obstacle sounds
Fixed moving block obstacle audio so the sliding sound plays for all players within 3-4 tiles of the block when it moves
Implemented music/jingle that plays when you get the pyramid top
Updated all agility pyramid sounds to use the new playAudio ContentAPI function and constlib
Added inauthentic gold reward from selling pyramid tops to Simon Templeton based on agility level. GP reward = 1000 + ((agility level / 99) * 9000). Can be toggled with server config option better_agility_pyramid_gp
Implemented a global limit on pathfinding distance (server.max_pathfind_dist)
Pathfinding limit is enforced at the packet level as well as elsewhere (ContentAPI, etc)
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
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)
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