Now much more efficient
Offers will appear to complete almost instantaneously
Players can no longer hoard bot offers as they will only be allocated at time of offer placement
Banker interactions are now properly restricted for Ultimate Ironmen
Added theme-appropriate banker NPCs to booths at Void Knights' Outpost Island
Added missing Canifis banker NPCs
Fixed incorrect handling of Arnold Lydspor banking-related logic
Added Arnold Lydspor dialogue
Consolidated banker NPC listener logic into BankerNPC class itself
Added ContentAPI call to check if a node offers an interaction option
Fixed a regression that prevents some NPCs from walking back to their spawn point
Fixed a longstanding issue that didn't properly reset NPCs who wandered too far out of their natural movement radius (now disables combat + walks them back to their spawn point + fully heals them)
Fixed NPE in IoEventHandler
Fixed NPEs in PacketWriteQueue
Reworked PacketWriteQueue slightly so that instead of breaking at first null packet we continue past it and pop the whole queue along the way
QoL - only applies to bank booth, not banker NPCs
Added server config world.bank_booth_note_enabled (enabled by default) to toggle the QoL globally
Added server config world.bank_booth_note_uim (enabled by default) to toggle the QoL on ultimate ironmen only
Unified wilderness and standard death code, wilderness death code now only rolls the extra loot drops
Fixed a bug that would cause revenant/player combat levels to sometimes be calculated incorrectly
PickUpEvent Event Hook created, for events that need to fire when player picks up a specific item
All currently implemented Diary tasks where the player must pick up items have been converted to use the new PickUpEvent event hook
New zone created for the windswept tree (highest tree in the Fremennik area task) for its diary task
Rough dialogue created for obtaining your completed diary reward from Council Worker
Sumona (NPC ID 7880) now implemented as a Slayer Master
Sumona slayer task pool created, 1:1 with the task weights on the RSWiki
Sumona NPC spawn added
All slayer master task pools have been re-ordered alphabetically to match both live game wiki's task ordering
Slayer task pools have been audited to ensure weights are correct
Unimplemented tasks added to task tables but disabled
Elves now added as a Slayer task, players can find them at Elf Camp and Lletya
Elf slayer task added to task pool of Chaeldar and Duradel (as well as the new Sumona pool)
Added Fremennik easy diary NPCs
Cached region clipping flags for faster lookups
Minor optimizations to setAttribute codepath which avoids unnecessary checks
Fixed a bug that would allow entities to attack through walls
Fixed two separate bugs that would cause odd behavior attacking large entities from certain angles
Removed unnecessary schema from global.sql
Ensured that all but the `members` and `worlds` tables could be safely dropped out of the DB
Better automatic handling for creating the default server account and creating the default server clan
Fixed bugs related to interfaces flagged as uncloseable that would cause stack overflows
Fixed premature home teleport while in tutorial
Fixed getting stuck by going back up ladder in tutorial
Fixed bug that prevented bots from taking damage
Fixed a bug where players would not be in the default clan after completion of the tutorial
Green Dragon bots reintroduced, no longer buy any items (these bots sell loot from green dragons in the wilderness on the GE)
Reconnecting to an existing session can no longer cause an account wipe
Player saves can no longer be saved unless they've already been parsed
Sessions now have their most recent ping properly set
Sessions can now recover from a hypothetical scenario where the session's player reference becomes null but the player is still in-game
Players now disconnected properly if no packets have been received from the client in the last 20 seconds
Opt-in to GE privacy with new in-game command ::geprivacy on
Removed discord GE offer update notifications (only new buy/sell offers shown)
Limited in-game GE notifications to player offers only
K'ril Tsutsaroth (Zamorak GWD) Drop Changes:
Zamorakian spear droprate corrected to ~1/512
Steam battlestaff droprate corrected to ~1/512
Godsword shard 1, 2 and 3 droprate corrected to ~1/768
Dragon dagger (p++) droprate corrected to ~1/63
Clue scroll (hard) droprate corrected to ~1/128
RDT roll corrected to ~1/128
Erroneous Nothing drop removed
General Graardor (Bandos GWD) Drop Changes:
Bandos tassets, chestplate, and boots droprate corrected to ~1/381
Bandos hilt droprate corrected to ~1/512
Godsword shard 1, 2 and 3 droprate corrected to ~1/768
Long bone droprate corrected to ~1/400
Curved bone droprate corrected to ~1/5000
Clue scroll (hard) droprate corrected to ~1/128
RDT roll corrected to ~1/128
Erroneous Nothing drop removed
Kree'arra (Armadyl GWD) Drop Changes:
Armadyl helmet, chestplate, and plateskirt droprate corrected to ~1/381
Armadyl hilt droprate corrected to ~1/512
Godsword shard 1, 2 and 3 droprate corrected to ~1/768
Long bone droprate corrected to ~1/400
Curved bone droprate corrected to ~1/5000
Clue scroll (hard) droprate corrected to ~1/128
RDT roll corrected to ~1/128
Erroneous Nothing drop removed
Erroneous 1-20 Shark drop removed
Zilyana (Saradomin GWD) Drop Changes:
Saradomin hilt droprate corrected to ~1/512
Saradomin sword droprate corrected to ~1/128
Godsword shard 1, 2 and 3 droprate corrected to ~1/768
Clue scroll (hard) droprate corrected to ~1/128
RDT roll corrected to ~1/128
Erroneous Nothing drop removed
Now possible to use the debugger again. Instructions for use will be added in the upcoming README refactor (in short, add a maven build config that runs "compile exec:java")
Revenant spawns, patrols and areas of exploration are now based on era-authentic maps
New revenant command for admins ::setrevcap to set max number of revenants
New server config world option revenant_population
Removed erroneous Nothing drop inside all revenant drop tables, which made them drop Nothing at all 80% of the time
Added back Nothing drop to each revenant's Charm table, so they don't drop charms 100% of the time
Bumped down number of adamantite ore dropped from 1-75 to 1-5, and reduced their drop rate so they are much rarer
Adjusted number of Uncut diamond to maximum of 5 (down from 50)
Changed Gold bar drop to ore drop, and reduced maximum amount to 10-30
Adjusted strength potion drop to 1-4
Adjusted grimy ranarr drop to 1-10 (from 1-15)
Adjusted grimy toadflax drop to 1-10 (from 5-15)
Adjusted amount of Law, Blood and Death runes dropped to 15-200 (from 50-500)
Removed 1000-15000 spirit shards drop
Removed noted 100-500 Iron Ore drop
Removed noted 50-250 Coal drop
Removed dragon platelegs and plateskirt drops
Removed ring of wealth drop
Removed dragon boots drop
All amulet of glory drops are now uncharged amulet of glory
Adjusted Yew, Magic, Snapdragon, Palm Tree and papaya seed to only drop a maximum of 1 seed at a time, and reduced their drop weight so they are much rarer
Limited tuna potato drop to a maximum of 5
Adjusted weight of Yew logs drop to be higher (filler drop)
Runite bolts reduced to 50 (from 100)
Adamant bolts reduced to 75 (from 300)
Rune arrows reduced to 75 (from 150)
Removed 10-500 snape grass drop