Commit Graph

303 Commits

Author SHA1 Message Date
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
Ceikry c1b2fdf597 Autocasting defensive spells now awards correct XP 2023-06-06 07:34:00 +00:00
Ceikry 37fe071041 Fixed a bug that allowed use-with interactions to interrupt locks
Fixed a bug that resulted in loss of seeds when interrupting planting
2023-06-06 02:23:26 +00:00
Ceikry df5b260f5f Clamp forcemovement values in packet to avoid divide-by-zero errors in the client 2023-06-06 02:08:53 +00:00
Ceikry c3d48ff36e Added configurable limit for GE bot offers, now set by world.botstock_limit config (defaults to 5000) 2023-06-06 00:19:18 +00:00
Pine Stone 048a745371 Allow_aggro now persists across sessions 2023-06-05 06:48:57 +00:00
Ceikry c1007683a5 Fixed an off-by-one error in quest point checking 2023-06-02 16:04:28 +00:00
Avi Weinstock aec9476438 Ensure corporeal beast takes half-damage from non-spears
Ensure familiars enter the corporeal beast arena
Corrected Vesta's spear attack rate
2023-06-02 08:35:34 +00:00
Avi Weinstock a313c227d5 Implemented Falador cannonball bot that contributes stock to the GE 2023-06-02 02:15:13 +00:00
Ceikry 9a25c2a87d Improved logout handling 2023-06-02 01:34:01 +00:00
Ceikry cb4c94f3ab Improved lamp xp calculation
Improved shop restrictions
Fixed bugged Cyclops room teleport
2023-05-31 08:58:40 +00:00
zsrv 9150137c47 Fixed Entrana glassblowing pipe house ladder where a player would get stuck between a ladder, chair, and desk 2023-05-31 08:45:33 +00:00
Ceikry 7b0c1b0b9b Player Stock is now cleared from the general store at an interval defined by world.playerstock_clear_mins (defaults to 180 minutes)
Player Stock can now be recirculated back onto the GE as bot offers when cleared if world.playerstock_bot_offers is true (defaults to true)
2023-05-31 08:35:50 +00:00
Ceikry cb630e7043 Requirements Audit
Added a new quest requirement system
Ensured that all implemented rewards are obtainable, even if all requirements are not implemented
Rewards that should have higher requirements than what is currently obtainable will have those requirements automatically increase as more quests are added
The requirements for any quest can be viewed at any time by clicking it in the quest list
Things that were previously locked/unavailable but are now available (with prereqs) are:
- It is now possible to obtain and equip Barrow's Gloves with the Recipe for Disaster prereqs
- It is now possible to obtain and equip an Ancient Staff with the Desert Treasure prereqs
- It is now possible to enchant your secateurs into Magic Secateurs with the Fairy Tale I - Growing Pains prereqs and 40k gold
- It is now possible to equip the Ancient Mace with the Another Slice of H.A.M prereqs
- It is now possible to get Suqahs as a task from Duradel with the Lunar Diplomacy prereqs
- It is now possible to obtain a Seal of Passage by speaking with Chieftan Brundt after meeting the Lunar Diplomacy prereqs
- It is now possible to obtain Ancient Staves by killing the level 96 and 103 mummies in the Ancient Pyramid (1/500)
Things that were freely available but are now locked include:
- Sophanem now requires/requires the prereqs of Icthlarin's Little Helper
- Pharaoh's Sceptre requires the same^
- Equipping god books now requires Horror from the Deep/its prereqs
- Neitiznot helmet now requires the Fremennik Isles prereqs rather than just Fremennik Trials
- Cape of Legends now correctly requires the full possible prereqs for Legend's Quest rather than just 55 QP
- Dragon Scimitar now correctly requires the Monkey Madness prereqs
- Ape Atoll teleport now correctly requires the Monkey Madness prereqs
- Slayer Helmet and the Slayer Rewards Shop in general now correctly require the Smoking Kills prereqs (not high)
- Dragon Halberd now requires the Regicide prereqs
- Climbing Boots now require the Death Plateau prereqs
- Dragon SQ Shield now requires the Legend's Quest prereqs to equip (source available in sourcecode)
- Initiate Armour now requires the Recruitment Drive prereqs
- Proselyte Armour now requires the Slug Menace prereqs
- Access to Piscatoris now requires the Swan Song prereqs (effectively Quest Cape here.)
- The disease-free herb patch in Trollheim now requires the My Arm's Big Adventure prereqs.
- Ardougne Teleport now requires the Plague City prereqs
- Watchtower Teleport now requires the Watchtower prereqs
- Trollheim Teleport now requires the Eadgar's Ruse prereqs
- The Lunar spellbook now requires the Lunar Diplomacy prereqs
- The Ancient spellbook now requires the Desert Treasure prereqs
- Crafting Astral Runes now requires the Lunar Diplomacy prereqs
- Crafting Death Runes now requires the Mourning's End Part II prereqs
- Crafting Blood Runes now requires the Legacy of Seergaze prereqs
- Access to Cave Horrors now requires the Cabin Fever prereqs
- Sorceress' Garden now requires Prince Ali Rescue
- Access to the Heroes' Guild now requires the Heroes' Quest prereqs
- Access to GWD now requires the Troll Stronghold prereqs
- Access to Neitiznot and Jatizso now requires Fremennik Trials
- Access to Shilo Villa now requires the Shilo Village prereqs
- The Keldagrim cart system now requires The Giant Dwarf prereqs
- Fairy Rings now require the full Fairy Tale I - Growing Pains prereqs
- Ectophial now requires the Ghosts Ahoy prereqs
- Access to Tormented Demons now requires the While Guthix Sleeps prereqs
- Access to the Halberd Shop and the ability to equip Dragon Halberds now requires the Regicide prereqs
- Access to Lletya now requires the Mourning's End Part I prereqs
- Access to Corporeal Beast now requires the Summer's End prereqs
- Chivalry and Piety prayers now require the King's Ransom prereqs
- Ali Morrisane's rune shop now requires the The Feud prereqs
- Armoured Zombies now require the Defender of Varrock prereqs
- Experiments now require the Creature of Fenkenstrain prereqs
- The carpet to Sophanem now requires the Icthlarin's Little Helper prereqs
- The carpet to Uzer now requires The Golem
- The carpet to Bedabin Camp now requires The Tourist Trap
- The bank in Sophanem now requires the Contact! prereqs
- The Dragon Battleaxe now requires the prereqs of Heroes' Quest to equip.
- The Dragon Mace now requires the prereqs of Heroes' Quest to equip.
- Spirit shields of all varieties (improved, blessed, unblessed) now require the prereqs of Summer's End to equip.
- Bork access now requires What Lies Below
2023-05-30 09:03:05 +00:00
Ceikry 5404ef849d Made ironman icons visible in clan and global chat (requires world.ironman_icons to be true)
Authentic tormented demon safe spotting
Added cannon restriction to tormented demon area
2023-05-27 13:59:48 +00:00
Trident101 c3c836de4d Added new field to item configs for overriding alchemy flag
Fixed alchemy for Fremennik items
2023-05-27 12:57:04 +00:00
Ceikry 2cb8d82648 Rewrote all the logic, encoding, etc for player/npc rendering masks (Animations, force movements, etc.)
Groundwork for modular 578 support has now been laid (at least in regards to render masks)
Introduced an improved and more accurate API for using force movement (the old API is still around, all of its methods marked as deprecated)
Converted a couple example cases to using the new force movement API just as a proof of concept
Added a method to tick/time conversion methods to convert between client cycles and ticks
Added all authentically-named buffer read/write methods to the buffer class
2023-05-25 14:58:40 +00:00
RiL 47d9c6c4b1 Fixed inaccurate dragon fire damage when shielded 2023-05-25 14:32:59 +00:00
Ceikry 6eed461162 Added some bot debugging support via the "Request Assist" option on bots
Found and fixed the issue causing bots to get stuck or only interact with one thing
Added some additional safety checks in the script processor
2023-05-25 04:33:27 +00:00
Ceikry f7b707c3da Fixed an issue that was leading to unreliable respawn mechanics on multi-behavior NPCs 2023-05-16 12:42:22 +00:00
Ceikry 767117f54e Implemented the proper interaction for low-alchemy option on the Explorer's Ring
Implemented a generic item selection ContentAPI method
Added ContentAPI method for running CS2 scripts
Added development command for running CS2 scripts
2023-05-16 12:08:32 +00:00
RiL a04191b11e Fixed bots putting inaccessible noted items on GE 2023-05-15 12:49:32 +00:00
bushtail 9f6e7b49be Improved credit gain/loss message 2023-05-15 12:32:28 +00:00
Ceikry e7ccab2ad9 Fixed construction issue that would cause objects to become inaccessible (note this does not fix a similar issue related to rotation)
Simplified the region contract for construction
2023-05-09 14:31:43 +00:00
RiL 52633544ff Implemented ::addxp command (admin), add xp to a skill
Implemented ::charge command (admin), get and set the charge of an item
Implemented ::setslayertask command (admin), set the slayer task npc with optional quantity
2023-05-09 00:02:51 +00:00
Oven Bread bb41f61263 Removed DestroyItemPlugin and bundled functionality into DropListener 2023-05-05 14:50:23 +00:00
RiL 05da44aa52 Optimised, fixed and refactored container (bank/inventory/equipment) checks 2023-04-25 14:21:00 +00:00
Ceikry 0af42c77c8 Demoted logging of long pathfinding attempts to "fine"
Actually abort pathfinding excessively long paths
2023-04-24 16:20:38 +00:00
Oven Bread 323c653275 Implemented a generic book interface
Converted all books to new book interface
Converted stats command to use the new book interface
2023-04-24 14:32:52 +00:00
Ceikry 4b20cdd001 Refactored components of the ScriptAPI to more efficiently utilize pathfinding
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)
2023-04-24 14:16:59 +00:00
xmomoz 5aded2b349 Can no longer sell to full general store 2023-04-23 08:51:44 +00:00
Ceikry 99425f0991 Reworked skill-based random event logic 2023-04-22 13:37:59 +00:00