Fixed the dupe in the ectofuntus by demoting the action pulses for grinding bones from world pulses to individual pulses, and correcting a bit of the logic
Added function to remove multiple attributes at once to the ContentAPI
Rewrote the handling for both the accumulator and the attractor in new systems
Fixed a bug that would cause the devices to attract unwanted items at inappropriate times
Fixed a bug that prevented equip listeners from firing on login
Updated dialogues for non-standard banker NPCs
Sirsal Bankers now have their own dialogue plugin that prepares us for possible Lunar Diplomacy quest implementation
Thrown out the legacy Java dialogue plugin for standard banker NPCs
Added a dialogue for the Bounty Hunter roving banker
Fixed broken bank option on some bankers
Fixed Eniola not charging players 20 runes of one type for each banking session
Limited secondary bank capabilities to stationary bankers, i.e. those who have either a desk, a table or a booth available nearby
Added ContentAPI calls related to bank interfaces and Ironman mode checks & restrictions
Streamlined dialogue creation by limiting the amount of boilerplate required
Changed the plugin loading logic so that it informs the dev why a dialogue plugin might've failed to load in addition to not preventing other plugins being loaded when one fails to do so
Lumbridge Beginner
Lumbridge Easy
Lumbridge Medium
Falador Easy
Falador Hard
Fremennik Easy
Fremennik Medium
Karamja Easy
Karamja Medium
Karamja Hard
Seers' Village Easy
Seers' Village Medium
Varrock Easy
Varrock Medium
::commands now very pretty, paged and documents each command user has access to including privilege required
Command definitions now support adding documentation in-place.
Adds new command to hot-reload JSON while server is running (::reloadjson)
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
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
fixed Family Crest bug where Dimintheis would give you infinite gauntlets (fixes#257)
fixed Family Crest bug where Dimintheis didn't check equipped gloves or second bank
fixed Family Crest bug where Dimintheis didn't remember which gauntlets you had
changing gauntlet enchantment now authentically costs 25k GP (and free the first time)
added content API function for checking if a player possesses any particular items anywhere
added content API functions for starting and finishing quests
Shop restocking now works properly, with per-item-in-shop granularity as well. (Thanos tool update released that allows defining this)
Shops properly restrict ironmen from buying from player stock/overstocked items
Fully functioning individualized player stock support (need to set a server config variable to enable, disabled by default. Specifically, set personalized_shops = true in the world section of the config.)
The shop pricing formula now scales up/down with the authentic ratios based on stock quantity.
Buying or selling, for example, 1000 of an item, now does the proper calculation for each individual item in the purchase/sale rather than exchanging the full 1000 for the initial price at the time. (For example, in the old shops, feather price at full stock was, say, 6gp. You could buy 1000 feathers at once for 6000gp. Authentically, the pricing for each feather should scale as the stock goes down. Now 1000 feathers at once costs a bit over 7k gp, despite the initial price remaining 6gp.)
General store player stock is now shared between all general stores
Added interfaces for standardizing the saving/loading process for data, and allowing it to be declared independently of an entry in PlayerSaver/PlayerSaveParser
Add StartupListener interface - allows a class to call some code on server startup without adding messy code elsewhere
Add ShutdownListener interface - allows a class to call some code on server shutdown without adding messy code elsewhere
Add TickListener interface - allows a class to call some code on each tick without adding messy code elsewhere
Converted all applicable content over to using these new interfaces
Moved all the achievement diary checks out into the achievement event receiver
Refactored `ResourceGatheredEvent` -> `ResourceProducedEvent` and added a new optional field, `original` for item processing
Barrows prayer drain timer standardized to 18 seconds
Giant Mole's Burrow mechanic corrected in functionality. Burrow: When the mole's health is between 5-50%, there is a 25% chance for any incoming attack to cause it to burrow away into another location. There is also a chance that the dirt she digs while burrowing to escape can extinguish the player's light source (shown with dirt splatters on the player's screen), though covered light sources will be unaffected by this.
Mole Lair's unique music track now correctly plays across the entirety of the Mole Lair region
Giant Mole droptable corrected. Egregious RSPS noted secondary drops removed. G. Mole can now correctly drop random Hard Clues, and the 100 Iron Ore (noted) drop has been added.
Hostile Random Events return! Tree Spirit, River Troll, Rock Golem, Shade, and Zombie Hostile Random Events rejoin the Evil Chicken in their AFK-anihilation onslaught! Beware!
Mounted Glories now have full right-click Teleport options
You can now build an Obelisk inside your POH at 41 Construction, as the centrepiece spot inside a standard Garden room
Can now trade in Long and Curved bones to Barlak in the Dorgeshuun Mine (temporary location for now) for Construction EXP (after completion of The Lost Tribe)
Ridiculous amounts of funky fresh new NPC dialogues by Q in the following areas: LLetya, Isafdar, Ardougne, Witchaven, Ape Atoll, Miscellania, Dorgeshuun, Zanaris and many many many more!
Potion decanting note bug should now be fixed and not eat up all your notes when attempting to decant
Weapon Poison addition and removal fixes
All currently functional Summoning familiars with invisible skills boosts are now correctly added to the game! Pyrelord, Forge Regent, Arctic Bear, Lava Titan, Magpie, Spirit Graahk, Spirit Larupia, Spirit Kyatt, Void Ravager and Wolpertinger now boost skills alongside their other helpful abilities.
The Mining Guild can now be entered under 60 Mining via the use of skill boosts
The Lady of the Lake will now finally enhance Excalibur for you if you have the prerequisite Seers Hard Diary and Merlin's Crystal completed, and the headband and sword equipped when talking to her.
Can now fish slimy eels
Restored the removed/regressed/whatever Bot Dialogues!
All Ancient Warriors' Equipment (Vesta, Zuriel etc) is now correctly tradeable and droppable in its un-degraded form
Some hat clipping fixes
Fixed blanket Wilderness aggression forcing even non-aggressive monsters to be aggressive
Fremennik helmets (eg: archers, warriors, etc) now locked behind Fremennik Trials Quest
Added the following SFX:
giant mole combat sfx
water elemental combat sfx
fire elemental combat sfx
earth elemental combat sfx
air elemental combat sfx
baby blue dragon combat sfx
baby red dragon combat sfx + examine
baby black dragon combat sfx
black demon combat sfx
dark beast combat sfx
dust devil combat sfx
gargoyle combat sfx
fire giant combat sfx
moss giant combat sfx
hill giant combat sfx
nechryael combat sfx
turoth combat sfx
kurask combat sfx
wallasalki combat sfx
yak combat sfx
abyssal demon combat sfx
bloodveld combat sfx
cave crawler combat sfx
Digging with spade SFX added
abyssal leech combat sfx
abyssal walker combat sfx
void brawler combat sfx (pest control)
chaos elemental standard combat sfx (NOT spells)
cockatrice combat sfx
crawling hand combat sfx
crocodile combat sfx
void defiler combat sfx (pest control)
lesser demon champion combat sfx
elf warrior combat sfx
ghoul combat sfx
ghoul champion combat sfx
jelly combat sfx
pyrefiend combat sfx
void ravager combat sfx (pest control)
rock lobster combat sfx
rockslug combat sfx
void shifter combat sfx (pest control)
void spinner combat sfx (pest control)
void splatter combat sfx (pest control)
void torcher combat sfx (pest control)
starlight combat sfx (GWD: Saradomin Melee Minion)
growler combat sfx (GWD: Saradomin Mage Minion)
Picking herb/harvesting crop SFX added
Planting a seed with seed dibber SFX added
Digging up patch with a Spade SFX added
Raking a patch SFX added
Watering a farming patch with a Watering can SFX added
Using a Plant Cure on a diseased patch SFX added
Pouring Compost/Supercompost on a farming patch SFX added
Filling Compost Bin SFX added
Opening and closing the Compost Bin SFX added
Filling buckets with Compost from the Compost Bin SFX added
Chaos Elemental's three unique spells (Discord, Madness, and Confusion) now have correct impact sfx when hitting the player
Standard Seed Bird's Nest loot pool corrections
Ring Bird's Nest loot pool corrected
Wyson Bird's Nest loot pool corrected
Wyson Bird's Nest loot quantities corrected
Fixed tick delay on Fletching bows and crossbows
Chaos Elemental Drop Table Overhaul
Chaos Elemental's Main drop table has been overhauled to correct items, amounts, and (close-enough) weights
Chaos Elemental's Minor drop table added, using Item ID 799 as an item container
Chaos Elemental now correctly rolls 1 minor drop and 1 major drop from its minor/major loot tables when it is killed.
Restrict Dwarven Multicannon use inside Fremennik Slayer Cave