Commit Graph

134 Commits

Author SHA1 Message Date
Ceikry a3e6df109d Random event manager rewrite
Time until next random event now persists across logins
Events will no longer spawn while the player has an interface like the bank open
Replaced the slurry of random event commands with a singular ::revent admin command
Random events now support being associated with multiple skills
Random event selection is now more robust
Players will no longer get skill-based random events if more than 2.5 minutes have passed since training the skill
2023-08-14 12:56:35 +00:00
Oven Bread bb21ad533b Implemented Clock Tower quest 2023-08-12 08:39:53 +00:00
Dark Sage 6112abf673 Combat sounds overhaul
Sound effects for every ancient spell have been corrected
Every special attack weapon currently accessible has had sound added or implementation modified:
Dragon Battleaxe
Excalibur & Enhanced Excalibur
Dragon Halberd
Dragon 2h
Rune Thrownaxe
Vesta's Spear
Ancient Mace
Bandos Godsword
Bone Dagger
Darklight
Dorgeshuun Crossbow
Dragon Scimitar
Statius's Warhammer
Seercull
Armadyl Godsword
Dragon Longsword
Dragon Mace
Magic Longbow
Magic Comp Bow
Rune Claws
Vesta's Longsword
Dark Bow
Dragon Claws
Dragon Dagger
Granite Maul
Magic Shortbow
Saradomin Sword
Dragon Spear
Zamorakian Spear
Zamorak Godsword
Dragonfire Shield
2023-08-12 08:31:15 +00:00
Ceikry 95012b9ca5 Fixed bug where players couldn't log in after logging out after being frozen 2023-08-12 02:08:19 +00:00
Ceikry 35f9a92aef Fixed an issue causing erroneous persistence of graves 2023-08-12 00:30:35 +00:00
Ceikry 98a5b95407 Fixed combat movement regression that occurred when fighting large NPCs 2023-08-11 01:30:58 +00:00
Ceikry 6a3e91f13c Deep wilderness threat balancing
Killing the hostile event now removes all built up threat
Hostile event can now follow the player up/down stairs, through cave entrances, etc.
Hostile event now applies disease status for 25 hits when killed
Reduced the threat gained by killing NPCs by 5x
Increased the threat gained by brawlers drops by 3.75x
PvP gear drops now award maximum threat (30 minutes to return to zero)
In summary, the hostile event will trigger less often but will be more dangerous
2023-08-11 00:09:07 +00:00
Ceikry 0f908a1544 Deep wilderness balancing
Added a threat system to the deep wilderness that increases as a player kills NPCs to add balance to lucrative drop rates of PvP items in the deep wilderness
Threat decreases with time
Threat only increases in the deep wilderness
As threat increases, the risk of encountering hostile wilderness events increases
Hostile wilderness events may spawn anywhere in the wilderness
Improved the safety checks on items dropped in PvP
Untradeable items dropped in PvP will now yield an amount of coins proportional to the item's high alchemy value, and delete the item. This amount is halved if the killer doesn't have the level for high alchemy. An additional 250 gp is deducted (after halving, if applicable) from all items to account for the hypothetical cost of a nature rune
Added admin command to view threat level ::dwthreat
2023-08-09 04:02:18 +00:00
ceikry 8b6678d4ee Batched grafana writes into 30 second intervals 2023-08-07 05:00:18 +00:00
Ceikry ab17ef11a1 Fixed regression - wilderness levers and obelisk teleports 2023-08-07 02:59:29 +00:00
Zerken c6cd12703f Fixed regression - the restless ghost is now able to be completed by adding the skull to the coffin
Fixed regression - house teleport and teletabs not working due to being teleblocked by the cast
Fixed regression - WildernessGateHandler now only prompts the player and applies the skull when interacting with the gates in the wilderness and not other gates
2023-08-07 02:43:58 +00:00
Ceikry 1b996b9b82 Fixed unreachable grand exchange NPC exchange option 2023-08-07 02:28:32 +00:00
Zerken 604925f513 Implemented Evil Bob's Island random event
Added admin command ::bob to start random event
2023-08-06 13:03:45 +00:00
Ceikry 16a7640e56 Greatly improved server performance by limiting the max wander radius return-to-spawn behavior applies to, and ensuring only one return-to-spawn movement pulse triggers at a time 2023-08-06 12:30:13 +00:00
Ceikry 0ca2b8d99c Fixed wilderness teleblock bug 2023-08-03 13:36:07 +00:00
Ceikry 4098f2bf0b Fixed an issue causing a build up of pulses when regions are unloaded and npcs are still navigating back to their spawns 2023-08-03 13:26:40 +00:00
Ceikry fd5998453d Fixed infinite lunar cast range 2023-08-02 00:52:19 +00:00
Ceikry 6d23ec5234 Added farming patch safety checks 2023-08-02 00:39:04 +00:00
Ceikry ee79b0750c Grafana Integration + Unified SQLite Boilerplate + Fixed bot movement performance regression 2023-07-31 14:59:53 +00:00
Ceikry 6147293431 Improved the performance of drop table rolling
Chromatic Dragon eggs now only drop at a 1/1000 rate if the player has 99 summoning, impossible to obtain otherwise
2023-07-31 03:03:03 +00:00
Ceikry bf26faf2a2 Fixed damage scaling issue with chinchompas. 2023-07-30 21:57:51 +00:00
Ceikry aa038882e8 Fix plugin-sourced movement walking the player to the same tile as the NPC/Player/etc 2023-07-30 19:38:49 +00:00
Oven Bread d76b99c77a Improved how books are handled
Implemented admin model viewer ::models
2023-07-30 08:33:40 +00:00
bushtail 3cf73ba09a Rewrote Doric's Quest 2023-07-30 08:24:22 +00:00
Zerken 9b08f2175b Implemented Freaky Forester random event
Added admin ::freak command to trigger Freaky Forester
2023-07-30 02:52:45 +00:00
Zerken 686a2c9141 Immersive sound update
Fixed all skills to play their correct level up jingles
All skills except agility have 2 level up jingles
Most skills play a different jingle for new unlocks
Some skills have specific jingles based on level/range (Strength, Hitpoints, Hunter, Construction, Summoning)
Implemented furnace sound when crafting silver and gold jewelry at a furnace using moulds
Implemented emptying sound for fishbowls
Fixed cow milking sound so it plays for more than one bucket
Implemented sound when pushing a canoe into the water from a canoe station
Fixed quest complete jingles to play a random 1 of 3 quest jingles
Implemented jingle that plays when changing clothes at Thessalia in Varrock
Implemented jingle that plays when spying on a penguin
Implemented jingle that plays on login with completed grand exchange offers
Implemented sound when spinning items at a spinning wheel
2023-07-29 05:14:11 +00:00
Pine Stone 421c419f69 Fixed deadlock regression in bots
Added some runecrafting player scripts
2023-07-29 05:02:38 +00:00
Ceikry 661390e66f Implemented timer subsystem to eventually replace pulses
Authentic subsystem supports saving/loading arbitrary data and resuming timer countdowns
Lots of documented CAPI functions for working with these new timers
Converted poison to new timers
Converted disease to new timers
Converted farming to new timers (CropGrowth and Compost)
Farming now syncs with 5 minute intervals on realtime clocks (authentic)
Converted seedling growth to new timers
Converted shooting star mining bonus to new timers
Converted entity freezing to new timers
Converted incubation to new timers
Incubation now supports using both incubators (so 2 eggs at once)
Converted miasmic states to the new timers
Converted god spell charged state to new timers
Converted teleblock to new timers
Converted skulled state to new timers
Converted Enhanced Excalibur special attack effect to new timers
Converted passive stat restoration to timers
Converted multicannon firing and decay to a timer
2023-07-29 04:51:06 +00:00
Oven Bread bda000f220 Added admin commands for getting and setting attributes
::getattribute [playername] attributename
::setattribute [playername] attributename value
2023-07-29 04:25:23 +00:00
Ceikry cf07fc3787 Fixed a bug that resulted in infinite death if more than one entity died in the same tick 2023-07-29 03:55:13 +00:00
Zerken defe780c39 Agility Pyramid Fixes
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
2023-07-23 14:40:08 +00:00
bushtail 58fff59f1b Minor quest function refactors
Quest journal text improvements
2023-07-23 14:08:18 +00:00
Zerken 942fd2876e Shantay quick-pass now functions authentically 2023-07-17 08:59:35 +00:00
Ceikry 845d8b383b Exception fixes
Fixed a bug that could occasionally cause the sandwich lady interface to become unresponsive
Fixed an issue that could cause shade random events to not spawn for max-level players
Fixed an issue that could cause zombie random events to not spawn for max-level players
Fixed a widespread book issue that resulted from not resetting the current page index when closing a book, and then trying to open another book with less pages.
Converted bogrog pouch swap to the generic item select interface, and removed relevant code from the grand exchange code
Fixed an issue that could occasionally prevent exchange of item sets
Fixed an issue with Diango's reclaim interface that could result in items other than the ones you clicked being claimed
Made incubation moderately more reliable, and incubation timers now pass even while offline
Fixed an issue that prevented the leather crafting dialogue from accepting tokenized amounts (e.g. 100k)
Fixed an issue that prevented the tool leprechaun interface from allowing tokenized amounts
Fixed an issue that prevented players from using tokenized amounts in the ogleroot purchase dialogue for vinesweeper
Fixed an issue that prevented Zaff's batttlestaff dialogue from accepting tokenized amounts
Fixed an issue that prevented shop buy-x options from accepting tokenized amounts
Various shop-related exception fixes
Added some ingame player messages for when a Hunter "catch" option isn't being handled properly
Fixed some exceptions being thrown by lunar spells
Pyramid Plunder is now better at detecting when a player is in the minigame erroneously and kicking them out
Fixed an issue that would lead to incorrect Kalphite Queen behavior when killing her with multiple players in the room
Fixed an issue that could cause the Bedabin Nomad's dialogue to hang during Tourist Trap
Fixed several more issues with Fight Arena cutscenes
Fixed an issue that could prevent the dwarf dialogue from opening while trying to enter the mountain shortcut before finishing Fishing Contest
Fixed an issue that could cause dialogue option hangs in certain unusual circumstances
Fixed an issue that could result in non-movement for interactions where the override location was the same as the target node's location and there was no destination flag set
Fixed an issue where setting invalid node data could cause issues with NPC rendering
Server can now detect when a session is sending up multiple invalid packets and automatically disconnect the player
Fixed an issue that could lead to unintended saving of varps/varbits
Fixed an issue that could cause some interactions in shops to silently fail. The user will now receive a relevant message when these situations occur
Users may now find they could occasionally receive a very snarky response when incorrectly using commands
Users now receive messages when they try to make use of unimplemented friends/clan/etc features.
Errors in string parsing will no longer result in "dead" inputs when attempting to add friends/update clan ranks/etc
Fixed an issue that could lead to loss of some alerts in the Discord integration. Discord integration will now detect problems and queue the failed messages to be resent later.
Added more safety checks to item-on-grounditem packet handling to prevent throwing exceptions
Exceptions in string parsing for command packets will now inform the user that something went wrong, and ask them to try again.
Improved drop table parsing and fixed incorrect drop tables
2023-07-17 08:12:57 +00:00
bushtail 0372937353 Added admin command ::expression <id> for previewing facial expressions 2023-07-14 10:14:23 +00:00
Ceikry d58d4857b0 removeItem now validates item quantities prior to attempting removal 2023-07-09 04:51:10 +00:00
zsrv 417db14d5c Implemented split combat levels
A split combat level (e.g. 50+5) will be displayed for a player when the player is on a PvP world and does not have a summoning pouch or a familiar summoned.
A split combat level will also be shown if the player is on a world with wilderness PvP enabled, the player is in the wilderness, and does not have a summoning pouch or a familiar summoned.
If the world is a PvP world, display other players' combat levels in white if they are outside of combat range, or shades of green/yellow/orange/red if they are within combat range.
If the world is not a PvP world, always display other players' combat levels in shades of green/yellow/orange/red.
2023-07-09 03:54:31 +00:00
Ceikry cb16fe4305 Reintroduced PvP to level 49 deep wilderness and above (beyond the gate)
Traveling into the PvP area will auto-skull the player, but only whilst they remain in the area
PvP in the deep wilderness does not apply a hard skull
Deep wilderness soft skull is removed immediately upon leaving the deep wilderness
Gates into the deep wilderness now give a warning about the danger of entering
Gates allowing exit from the deep wilderness will not allow a player to leave if they are in combat
The obelisk teleporter in the deep wilderness will not allow a player to use it if they are in combat
All NPCs in the deep wilderness now drop PvP gear and brawlers
The drop rate of PvP gear and brawlers in the deep wilderness has been boosted
Fixed an issue that allowed PvP outside of explicit PvP scenarios
2023-06-29 11:10:25 +00:00
Ceikry 06e8279f2a Refactored movement pulse
Fixed bug with Vinesweeper gnomes not checking flags
Fixed hunter tracking
2023-06-29 01:46:00 +00:00
Oven Bread 2f4781e4ce Implemented Death Plateau quest 2023-06-27 12:28:04 +00:00
Zerken e0f99de75b Implemented a new playAudio function in ContentAPI.kt
Implemented a new Send function in AudioManager.java
Implemented KBD lair teleport levers lever operating sound using the new playAudio function
Implemented KBD lair teleport levers pulling animation
2023-06-21 15:12:24 +00:00
Zerken cef956722a Implemented water filling sounds for filling water vessels from all water sources
Implemented specific bucket water filling sound when filling from a well
Implemented emptying sounds for emptying vessels
Implemented cow milking sound
Implemented sound when smelting at a furnace
Implemented sound when smelting cannonballs at a furnace
Implemented sound when glassblowing
Fixed herb cleaning sound
Fixed regular wood door opening and closing sounds
Implemented metal door/gate opening and closing sounds
Implemented fence opening and closing sounds
Added Camelot castle main gate in door_configs.json
Fixed Sinclair mansion main gate to be a metal type door in door_configs.json
Implemented drinking sound when drinking from a waterskin in the desert
Implemented desert magic carpet travel take off and landing sound
Implemented desert magic carpet travel jingle/music
Fence around Falador cow farm is now properly identified as a fence and opens correctly
Fence id 34780 is now properly identified as a fence in door_configs.json so it opens correctly
Fence id 8810 is now properly identified as a fence in door_configs.json so it opens correctly
Fence id 2050-2051 is now properly identified as a fence in door_configs.json so it opens correctly
Fence id 1553 now has the correct open id in door_configs.json so it opens correctly
Fixed music tracks Relleka(289), Saga(290), and Borderlands(291) so they now play in their correct locations
Implemented jingle/music for sailing/chartering a ship(Trader crewmembers)
Implemented jingle/music for sailing/chartering a ship from/to Port Sarim/Karamja
Implemented jingle/music for sailing/chartering a ship from/to Port Sarim/Entrana
Implemented jingle/music for sailing/chartering a ship from/to Relleka/Neitiznot
Implemented jingle/music for sailing/chartering a ship from/to Relleka/Jatizso
Implemented jingle/music for sailing/chartering a ship from/to Ardougne/Brimmhaven
Implemented jingle/music for sailing/chartering a ship from/to Port Sarim/Pest control
Fixed the music player to be more authentic. Now when songs end they will repeat instead of playing a random inauthentic song. The loop function now works correctly so the currently playing song will play endlessly without changing as the player moves.
Implemented playJingle function in contentAPI.kt
2023-06-21 14:57:01 +00:00
Ceikry 2f234cc589 Fixed bug where combat level didn't update after leveling a combat skill 2023-06-16 07:48:09 +00:00
Ceikry aab37414c3 Fixed an edge case when working with varbits that encapsulate the 31st bit of a varp
Fixed health check of whiteberry bush
2023-06-16 07:04:20 +00:00
Zerken d04302c99f Hunter sound improvements
Implemented setup, dismantle, and catching sound for bird snares
Implemented setup, dismantle, and catching sound for box traps
Implemented setup, dismantle, and catching sound for net traps
Implemented setup, dismantle, and catching sound for dead falls
Implemented setup and dismantle sound for rabbit snares
Implemented butterfly net swing sound
Implemented falconry fly and catch sound
Implemented noose sound when catching kebbits
Implemented setup, dismantle, catching, teasing, jumping over, and npc jumping over pitfall sound to pitfalls
Implemented appropriate player lock time to setting up net traps and deadfalls to avoid players from interrupting the action
Implemented appropriate player lock time to dismantling bird snares, box traps, net traps, rabbit snares and deadfalls to avoid players from interrupting the action
Implemented a new function to play sound at a location
2023-06-16 06:28:40 +00:00
Ceikry 330d66918a Improved clamping for force movement, fixes client crashes in Nature Spirit 2023-06-10 08:29:51 +00:00
Ceikry 7ca0493190 Temporarily evaluate all soft requirements as hard requirements (until the quest system is refined enough to properly leverage soft requirements), fixes inability to meet requirements when prayer is low 2023-06-09 15:33:58 +00:00
Ceikry bd12800cca Fixed some issues with incorrectly reading varbit values
Fixed Dwarf Cannon quest
Improved varp/varbit interface and handling
2023-06-06 09:31:16 +00:00
Ceikry f613fb13cd Implemented drop summoning pets 2023-06-06 09:19:23 +00:00
Ceikry f5711fcf8f Fixed plank make without sufficient funds
Fixed potions not taking doses in some cases
2023-06-06 08:02:55 +00:00