Commit Graph

82 Commits

Author SHA1 Message Date
Ceikry 785f72215f Made the PulseManager capable of running multiple pulses simultaneously, in different slots (this makes it function a bit more like an entity queue, though not quite)
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
2022-09-06 23:37:08 +00:00
Ceikry 131a123eeb Fixed dialogue splitLines edge case 2022-09-01 14:34:27 +00:00
Ceikry 69aa7a7557 Rewrote Ava's device handling
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
2022-08-20 08:10:26 +00:00
Ceikry 21d334a989 Rewrote splitLines using Test-Driven Development, words should no longer get lost 2022-08-16 13:37:00 +00:00
Lila Hioh d545b2a119 Fixed Ectophial emptying when used while teleblocked 2022-08-10 09:26:46 +00:00
Ceikry 466d6207f7 Fixed exploit with command privileges 2022-07-18 12:15:37 +00:00
vddcore c7c97ea176 More bank reworks
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
2022-07-14 10:45:55 +00:00
Ceikry 257534df29 Implemented the Big Chompy Bird Hunting quest
Implemented the toad inflation Distraction & Diversion
2022-07-12 13:51:35 +00:00
vddcore 0a531d5926 Part 1 of achievement diary rewrite, the following diaries have been partially or totally rewritten
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
2022-07-09 08:57:21 +00:00
bushtail 5e86ea2d04 Refactored mining
Converted to content API
Corrected the prospecting text of gem rocks
Corrected the full-inventory text when mining gem rocks
2022-07-07 12:59:10 +00:00
vddcore 1077459979 Added ability to define custom varbits via JSON
Fixed the bank note/unnote and insert/swap toggle buttons not persisting between logins
2022-07-07 07:37:21 +00:00
Ceikry 7c95c0725f Reworked commands
::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)
2022-07-05 13:20:55 +00:00
Ceikry 7300e746b1 Moved demon slayer cutscene trigger to its own MapArea 2022-07-04 13:26:10 +00:00
bushtail 16353eda20 Converted EnchantedGemPlugin to Listener
Converted EnchantedGemDialogue to DialogueFile
2022-07-03 06:32:03 +00:00
ceikry 81a12534be Clean step is DEAD 2022-07-02 20:08:19 +00:00
vddcore 534f568ef0 Fixed incorrect banker NPC look-up behavior for bank booths
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
2022-07-02 09:46:24 +00:00
downthecrop a753db5ed7 Rewrote enchanted jewellery
Fixes the funny bug that gets you stuck as a tiny person when teleporting sometimes
2022-06-29 08:51:09 +00:00
Ceikry d38f7d4282 ContentAPI methods now all take 2nd bank into account 2022-06-27 12:58:13 +00:00
skelsoft 43479e23f6 Fremennik Easy Diary is now completable and Fremennik sea boots 1 can now be obtained
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
2022-06-25 04:11:08 +00:00
bushtail c3a37d5cbf Add slayer task content API functions in preparation for coming work 2022-06-23 14:06:58 +00:00
vddcore b094fe5b0c Rewrote entire banking system (aside from dialogue), converted to listener system 2022-06-23 13:31:17 +00:00
Ceikry 07065c7e79 Random Events should now spawn correctly
Fixed an issue that was causing tick event hooks to not fire
2022-05-16 12:22:29 +00:00
Ceikry 24cea604fc Class scanning now distinguishes side effectful plugins from our pure content interfaces
Server store is now loaded and parsed ***before*** side effectful plugins
2022-05-15 11:20:27 +00:00
Ryan efbe754654 fixed Family Crest bug where Dimintheis would not replace gauntlets if you lost them (fixes #312)
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
2022-05-14 10:48:35 +00:00
Ceikry a5f9c64dbb New dynamic region abstraction, consumed in construction 2022-05-03 23:18:11 +00:00
Ceikry 9f05db7e6c NPCs can no longer teleport you out of bounds 2022-04-18 13:35:08 +00:00
Ceikry f454712c58 MapAreas can now reference their associated zones to dynamically add/remove borders
Random Events can no longer spawn in fishing trawler
Players can no longer have multiple random events spawned in/active at a time
2022-04-18 12:17:18 +00:00
Ceikry e958b8d255 Completely rewrote the shop system.
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
2022-04-12 08:46:21 +00:00
Ceikry 1f68dbaed0 Rewrote Pyramid Plunder Minigame, features improved authenticity amongst other improvements 2022-04-05 03:12:28 +00:00
Ceikry 24b28d84fd Converted some content to the new event hooks and listeners systems in order to clean up code a bit
Added interfaces for standardizing the saving/loading process for data, and allowing it to be declared independently of an entry in PlayerSaver/PlayerSaveParser
2022-04-04 07:12:54 +00:00
Ceikry db7b9d06b2 Add LogoutListener interface - allows a class to call some code on player logout - improved version of logout listeners.
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
2022-03-31 13:52:19 +00:00
Ryan f93cee6952 Removed the unnecessary and annoying player lock when cooking an item
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
2022-03-28 13:31:05 +00:00
Ceikry 7709c3bb04 Implemented a brand new cutscene system
Converted Lost Tribe's cutscene to the new system
2022-03-27 05:14:16 +00:00
skelsoft a4ca46d262 Redwings Drop III.5: Tutorial Island, Tribal Totem 2022-03-19 22:54:15 +00:00
skelsoft 0b9d540d45 Redwings Drop III: Ceikry GE, Job, Slayer, Achievement Diary rewrites 2022-03-18 23:35:19 +00:00
Ryan 4bbda63ed2 fixed several bugs in barlak bone exchange 2022-03-12 15:20:21 +00:00
ceikry f9781c07c0 Fixed some ContentAPI issues introduced by !410 2022-03-10 07:30:37 -06:00
Ceikry 9024987ed2 Refactored god item definitions to be more general purpose 2022-03-10 05:17:07 +00:00
Ceikry 03f944da3e Fixed achievement related NPEs in ClimbActionHandler 2022-03-10 02:20:52 +00:00
skelsoft 7968367e14 The Fremmenik Trials quest has been completed, now accesible in-game
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
2022-03-09 19:12:11 +11:00
Ryan 47bc652eed Fix stability issues and a various assortment of other bugs 2022-01-11 09:36:57 +00:00
Ryan 2bd8999aa0 fix cannonballs 2022-01-02 15:27:53 +00:00
ceikry b7f0c64f95 Swap ammo mould over to ContentAPI 2021-12-31 09:51:49 -06:00
ceikry 7b1faf317c Revert "Converted all item on item plugins to listeners"
This reverts commit 4a0dfed1
2021-12-27 18:18:43 -06:00
ceikry b0c231459b 2 second function overload fix 2021-12-21 18:24:58 -06:00
Ceikry a8b00c25a2 Converted all item -> withnpc plugins to listeners 2021-12-19 23:47:14 +00:00
Ceikry 4a0dfed172 Converted all item on item plugins to listeners 2021-12-19 22:12:12 +00:00
Ceikry d7fd988f50 API overhaul, convert Toy Plugins to Listeners 2021-12-19 08:59:35 +00:00
Ceikry 10219652b0 Massive refactor of several different components including networking fixes 2021-12-19 05:40:17 +00:00
Avi Weinstock b9328d40f4 Make use of the next/previous arrows in the interface used for ::stats, tracking all npc kills and tracking drops of items tagged with "rare_item": "true", and displaying a curated subset of them. 2021-10-18 22:02:01 -04:00