Commit Graph

297 Commits

Author SHA1 Message Date
Ceikry 50dce880c1 Rewrote blast furnace 2023-08-27 13:35:14 +00:00
Avi Weinstock e84192d985 Implemented special attacks for Morrigan's throwing axes and javelins 2023-08-25 09:28:30 +00:00
Zerken c52e02936d Audio refactor continued
Implemented admin audio command ::audio audioId loops[optional]
Implemented admin globalaudio command ::globalaudio audioId radius playername (plays from that players location) or can be used by coords ::globalaudio audioId radius x y z
Refactored the following sounds:
Tribal totem quest Cromperty teleport (fixed looping)
Vinesweeper tool leprechaun teleport sound (Corrected this sound so it does not loop 10 times)
Antifire and poision immunity 30 seconds remaining tick tock sounds and sound of the potions expiring (Fixed it so it plays the correct number of tick tocks)
Sound when summoning a familiar (All familiars were using the summon unicorn sound. It is now defaulted to the normal summoning sound instead of the unicorn summon sound. All familiars on first summon have a their own sounds that will need to be implemented later)
Door and gate sounds
Bank interface sounds
Unicorn stallion special move sound
Agility pyramid rolling block sounds
Prayer book sounds
Lunar stat spy
Hunter falconry
Picking items in a field like potatoes
Ectophial teleport and refill
Summoning pouch creation and renewing points
Runecrafting at altar sound
Making finished and unfinished potions
Cutting gems
Entering giant mole area
Praying at an altar
Warriors guild animator sounds
Chiseling limestone
Spirit wolf special move sound
Telegrab spell sound
Glassblowing sound
Strong of security opening reward chest creaking sound
Butterfly net sound
Desert rug travel rise and descend sound
Enchanting bolts
Woodcutting tree falling and chopping sound
Hunter setting up dismantling traps and pitfall sounds
Explorers ring run energy restore sound
Farming: Raking, adding compost to patch, picking from fruit trees, seed dibb, using plant cure on patch, opening/closing/adding to/from compost bin
Mage training arena alchemy spell sounds
Breaking bones to peaches/bananas tab sound
Casting silver sickle bloom
Entrana magic door teleport
Cabbage teleport
Teleother cast sound
Fairy ring teleport sound
Lunar vengeance spells
Running out of prayer sound
Lunar (non teleport) spells
Super heat and bones to bananas normal spell book sounds
Equip/unequip item sound
Revenant combat sounds
Herb cleaning sound
Emptying buckets/bowls/jugs of water
Making cannonballs at a furnace
Digging with a spade
Peer the seer fremmenik trials challenge: heating items on the range
Blessing a spirit shield at a POH altar
ContentAPI function stun sound
Picking up items off the ground
Eating food sound
Cooking and intentionally burning food
Drinking a potion
Warriors guild catapult
Pulling wilderness teleport levers
Offering bones on a POH altar
Slashing spider webs in Varrock sewers
Entering POH portal teleport sound
GE exchanging item set sound
Jumping wilderness ditch
Dragon axe special
Digging up a farming patch
Lunar heal spells
Chaos elemental projectile impact sounds
Mounted glory teleport
Lunar share and boost potion spell
Dwarf multi cannon setup, rotate, and firing sounds
NPC attacking sound
Enchanted bolt effect combat sound
2023-08-24 13:58:19 +00:00
Zerken a105821427 Audio Refactor
1st of many audio refactors, the end goal is removing AudioManager.java and using contentAPI functions for all sound
Refactored playAudio
Refactored playGlobalAudio
Fixed lunar teleport sounds to not play if teleblocked
Refactored the following sounds:
All the special attack and DFS sounds defaulting to new API radius of 8 instead of 5
Dropping coins, item, and destroying object sounds fixed
Ectophial refill sound
Agility pyramid sounds
Emptying a fishbowl
Enchanted jewellery teleport sound
Enchanted jewellery enchant tab sound
All the sounds for Elemental Workshop 1 listeners
The sound when getting experience from a lamp
Blessing and repairing a grave
Hunter pitfall sounds
Hunter sound when catching a kebbit with a noose
Lunar cure me and cure group spell sound
High and low alchemy spells
Silver crafting at a furnace
Spinning at a spinning wheel
Drinking from a waterskin in the desert
Sound when being blessed by drezel in nature's spirit quest
Sound when poison immunity has 30 seconds left and when your immunity expires
Shearing regular sheep and the penguin sheep at lumbridge
Sound when regular spell book charge spell expires
GE sounds: making 0 coin offer when buying, not having enough money, placing a buy offer, not enough room in inventory
Sound when filling vessels from a water source
Regular and ancient combat spells
2023-08-20 07:21:24 +00:00
Woahscam 5cb9ef8511 Added new camera API methods (including shake and reset)
Added new admin commands for testing camera movements (::poscam, ::movcam, ::rotcam, ::shakecam, ::resetcam)
2023-08-19 15:45:54 +00:00
bushtail 1b4e0aafaa Code cleanup
Reorganised imports
Removed redundant qualifiers
2023-08-19 15:07:23 +00:00
ceikry d666317a68 Fix edge case save parsing issue for poison 2023-08-17 22:15:36 +00:00
Player Name 162cfe3d6b Obelisk improvements
Made the wilderness teleport obelisks roll the destination obelisk fairly
Improved obelisk teleport positioning logic
Made the obelisk teleport capture a 3-by-3 bounding box of players, in accordance with the teleport animation
2023-08-17 12:55:32 +00:00
Ceikry 11ebc0c0c4 Fixed regression causing random events to trigger for bots 2023-08-17 12:27:20 +00:00
Zerken dd017c85d2 More sounds + audio refactoring
Modified default audio radius default parameter to be safer, 8 tiles instead of 15
Improved location/direction based sounds
Fixed the way sounds are handled for magic spells (All modern and ancient combat spells. All lunar teleport spells.)
Magic spells now correctly fade in volume the further away you are from a target/player casting or being hit by a spell. The sound starts to fade after a few tiles until it cant be heard anymore
Refactored lunar teleport sounds to use playGlobalAudio
Humidfy now can be heard globally by other players
Fixed Lunar fertile soil spell graphics and animation to be authentic
Weapon attack sounds now start to fade after a few tiles until it cant be heard anymore
NPC attack sound now fades with distance
NPC hurt sound now fades with distance
NPC death sound now fades with distance
Fixed combat punching sound when no weapon is equipped so it can be heard globally
Fixed a issue where you would hear a punching sound when casting any combat spell
Fixed male player hurt sounds when in combat
Implemented female player hurt sounds when in combat
Failing agility obstacles will now play the correct hurt sound based on gender
Fixed low wall agility pyramid sound
Fixed taking damage from dying of thirst in the desert to use correct sounds
Fixed the sound of drinking from a waterskin in the desert
Implemented sound when attaching godsword blades to a hilt
Fixed rune essence mine teleport sound so it no longer loops 10 times and plays authentically
Implemented undead tree attack sound at Draynor manor
Implemented all ectofunctus bone grinder sounds and the sound when offering to the ectofunctus
Implemented mort myre ghast attack and player hurt sounds
Fixed thieving pickpocket fail sounds
Implemented falador guards combat sounds
Implemented varrock guards combat sounds
Implemented draynor market guard combat sounds
Implemented cyclops combat sounds (warriors guild cyclops)
Implemented animated armor combat sounds (all warriors guild animated armors)
Implemented white wolf/big wolf/wolf combat sounds (wolves on white wolf mountain)
2023-08-15 14:30:41 +00:00
Player Name 232cae454a Fixed typo in "the poison has worn off" message 2023-08-14 14:31:51 +00:00
Ceikry 86a25dd76f Fixed issue where unequip listeners did not fire on death 2023-08-14 14:14:38 +00:00
Ceikry 678d25dacd Timers can be flagged for removal on death (fixes deep wilderness threats attacking for brief period after respawn)
Fixed an issue with the skill restore timer that caused overheals to be reset to normal hp
2023-08-14 13:22:53 +00:00
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