Commit Graph

889 Commits

Author SHA1 Message Date
Ceikry e429b15911 Fixed exception thrown when invalid fairy ring codes are entered
Fixed unhandled hairdresser button that lead to OOB exception
Fixed oversight in ::loc that causes exceptions to be thrown in headless environments
2022-06-27 14:21:50 +00:00
Ceikry 95414bc02b Increased server stability
Fixed NPE in IoEventHandler
Fixed NPEs in PacketWriteQueue
Reworked PacketWriteQueue slightly so that instead of breaking at first null packet we continue past it and pop the whole queue along the way
2022-06-27 14:09:44 +00:00
vddcore ee5bc78b62 Refactored item note/unnote on bank booth handling
QoL - only applies to bank booth, not banker NPCs
Added server config world.bank_booth_note_enabled (enabled by default) to toggle the QoL globally
Added server config world.bank_booth_note_uim (enabled by default) to toggle the QoL on ultimate ironmen only
2022-06-27 14:06:47 +00:00
Ceikry d38f7d4282 ContentAPI methods now all take 2nd bank into account 2022-06-27 12:58:13 +00:00
ceikry cee4f7b072 Fixed a bug where NPCs couldn't be attacked against walls 2022-06-27 12:41:39 +00:00
Ceikry 2eb69ad54a Made wilderness NPCs immune to aggression tolerance
Unified wilderness and standard death code, wilderness death code now only rolls the extra loot drops
Fixed a bug that would cause revenant/player combat levels to sometimes be calculated incorrectly
2022-06-27 12:34:02 +00:00
Ceikry 9a2a2fe49d Set user join date in database again on account creation 2022-06-27 11:28:29 +00:00
Eli Stone 278944b892 Fixed shield of arrav progression getting stuck, can now talk to tramp if you haven't joined a gang 2022-06-25 04:15:19 +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
skelsoft 49a6c833af Slayer expansion
Sumona (NPC ID 7880) now implemented as a Slayer Master
Sumona slayer task pool created, 1:1 with the task weights on the RSWiki
Sumona NPC spawn added
All slayer master task pools have been re-ordered alphabetically to match both live game wiki's task ordering
Slayer task pools have been audited to ensure weights are correct
Unimplemented tasks added to task tables but disabled
Elves now added as a Slayer task, players can find them at Elf Camp and Lletya
Elf slayer task added to task pool of Chaeldar and Duradel (as well as the new Sumona pool)
Added Fremennik easy diary NPCs
2022-06-25 03:11:57 +00:00
Ceikry 8ec8666605 Disabled aggression tolerance for GWD minion NPCs 2022-06-24 14:47:58 +00:00
Ceikry ebf2ed4ab4 New server config option to preload the world map on boot, removes lag caused by lazy loading (server.preload_map = true)
Cached region clipping flags for faster lookups
Minor optimizations to setAttribute codepath which avoids unnecessary checks
Fixed a bug that would allow entities to attack through walls
Fixed two separate bugs that would cause odd behavior attacking large entities from certain angles
Removed unnecessary schema from global.sql
Ensured that all but the `members` and `worlds` tables could be safely dropped out of the DB
Better automatic handling for creating the default server account and creating the default server clan
Fixed bugs related to interfaces flagged as uncloseable that would cause stack overflows
Fixed premature home teleport while in tutorial
Fixed getting stuck by going back up ladder in tutorial
Fixed bug that prevented bots from taking damage
Fixed a bug where players would not be in the default clan after completion of the tutorial
Green Dragon bots reintroduced, no longer buy any items (these bots sell loot from green dragons in the wilderness on the GE)
2022-06-24 14:40:26 +00:00
Ceikry 67e54d5429 Teleblock now persists across login sessions 2022-06-23 23:29:05 +00:00
Ceikry 419533e6c8 Added support for many common variations of the jagex coordinate format for admin command ::tele, including:
regionX_regionY
plane_regionX_regionY
regionX_regionY_localX_localY
plane_regionX_regionY_localX_localY
2022-06-23 23:27:36 +00:00
Coaltong 01c8072e9b Fixed tree spirit random event not spawning for some players 2022-06-23 23:17:29 +00:00
vddcore 385a04a5b9 ::rolldrops admin/testing command now clears container between invocations 2022-06-23 23:11:10 +00:00
Ceikry 5cfe44d5cd Implemented pelting of rotten tomatoes
Added ability to define listeners for Player interactions and usewith interactions
Added ability to flag listeners instant (no path walking) execution
2022-06-23 14:25:23 +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 40dd58d610 Fixed many issues with login
Reconnecting to an existing session can no longer cause an account wipe
Player saves can no longer be saved unless they've already been parsed
Sessions now have their most recent ping properly set
Sessions can now recover from a hypothetical scenario where the session's player reference becomes null but the player is still in-game
Players now disconnected properly if no packets have been received from the client in the last 20 seconds
2022-06-19 23:20:01 +00:00
Ceikry f503d710ab Reduced revenant spawn burst size to stop them getting stuck
Fixed unit test NPE
New admin command clearrevs to clear revenants
2022-06-18 16:22:25 +00:00
Ceikry b2ad6d9712 GE offer notification system now supports opt-in privacy to remove username from messages
Opt-in to GE privacy with new in-game command ::geprivacy on
Removed discord GE offer update notifications (only new buy/sell offers shown)
Limited in-game GE notifications to player offers only
2022-06-18 14:04:50 +00:00
Ceikry 6d12982b76 Discord GE offer notifications via webhook
This is disabled by default unless server config server.discord_webhook is set to a discord webhook URL
2022-06-18 02:36:59 +00:00
downthecrop 8d98fbfd57 Intentionally burning seaweed->soda ash will now stop at specified Make-X 2022-06-16 23:20:07 +00:00
bushtail c5d0173282 Converted some Al-Kharidian NPCs to listeners:
Ali the Leaflet Dropper
A'abla
Fadli
Surgeon General Tafani
Sabreen
Jaraah
2022-06-16 10:29:02 +00:00
Ceikry 0e74cf0495 Revenants have been reworked to feel much more present, more alive and more dangerous - Beware!
Revenant spawns, patrols and areas of exploration are now based on era-authentic maps
New revenant command for admins ::setrevcap to set max number of revenants
New server config world option revenant_population
2022-06-13 12:47:15 +00:00
vddcore 053edc3f34 Fixed character misgendering themselves during secondary bank account opening dialogue 2022-06-13 07:26:10 +00:00
skelsoft 49f3d3cff3 Overhauled and analysed the shooting star locations to match authentic data from the era
East of Dark Wizards' Tower location added
Jatiszo mine location added
Lunar Isle mine location added
Miscellania coal mine location added
Neitiznot runite mine location added
Ardougne mining site (Legends Guild) location added
Kandarin Coal Trucks location added
Port Khazard mine location added
Kharidian desert clay mine location added
Granite and sandstone quarry location added
Burgh de Rott bank location added
Mos Le'Harmless bank location added
Lletya bank location added (requires Roving Elves to be completed)
Piscatoris mining site location added
Wilderness Volcano bank location added
Wilderness hobgoblin mine location added
2022-06-13 06:01:54 +00:00
Coaltong c54abe696c Implemented Falador farm sheepdog interactions, can now be fed bones and meat 2022-06-13 05:02:23 +00:00
Coaltong 09056402e4 Dough making rewrite
Making dough no longer consumes buckets/pots/etc
Locks various dough types behind appropriate cooking levels
2022-06-12 07:32:18 +00:00
Ceikry 5c28375c3b Pathfinder now correctly paths to the closest accessible tile of an object, not the closest tile numerically. This should fix instances where you end up running around an object before interacting with it. 2022-06-11 12:35:16 +00:00
Coaltong 1c560dd4c6 No longer get stuck in the cutscene at the end of The Lost Tribe 2022-06-10 13:06:35 +00:00
Coaltong 27e7699f7d NPC Woman ID 3227 is now pickpocketable 2022-06-10 12:22:29 +00:00
skelsoft 2e80fbc669 Defender drop rate now correctly 1/50 2022-06-10 12:01:57 +00:00
Ceikry 2045143378 Removed independent management server
World server now handles its own management-server-related functionality, a new management server will be written in the future to facilitate cross-world event syncing
World server now runs standalone, this requires the client to be configured to connect the world server port for the world list (world list was previously supplied by the management server on port 5555, which should be swapped to the world server port that is generally 43595 for world 1) work is in progress to update client launchers to make this as seamless as possible
This should resolve issues where players sometimes get a login error claiming they are already logged in
2022-06-09 10:09:57 +00:00
Ceikry 28d9a58a6e Fixed river troll random event failing to spawn for skillers and other low combat levels 2022-06-05 23:43:54 +00:00
Ceikry 67339cfd7e Fixed bank interface item rearrangement for authentic game client 2022-06-05 07:55:59 +00:00
skelsoft b6ddc3a427 Added Fist of Guthix Teleport to Ring of Duelling 2022-05-31 13:23:55 +00:00
skelsoft b1aa9ea39a Jad practice mode in fight caves now correctly skips to Jad fight 2022-05-31 13:15:51 +00:00
Ceikry 185496e561 Add maven 2022-05-31 02:51:22 +00:00
Coaltong 0b0fc5271d Added missing sound effects and animations for lunar spells
Stat restore spell now includes a wider range of potions
2022-05-30 11:26:06 +00:00
vk b3f17b249d DFH drop rate from chewed bones corrected to 1/250 instead of 1/500 2022-05-29 04:24:54 +00:00
Coaltong 0a1316bb53 Ogres (NPC ID 115) now count towards orge slayer task 2022-05-27 11:50:01 +00:00
Coaltong e46151afb1 Giant Frog Legs now consumable and heal 6 HP 2022-05-27 11:37:23 +00:00
Ceikry a40dbfbc1c Improved server shutdown order
Improved GE threading, introduced locks fixing server lags and GE offers not executing
Moved player login hooks to the major update worker (from management server thread)
Fixed random events in rare circumstances causing noted item loss
2022-05-24 11:02:05 +00:00
Ryan 40d227d430 Reverted alchemy changes, turns out the item value data in the game cache is so unreliable it's essentially unusable 2022-05-21 17:01:27 +00:00
Ceikry bba7c51bb2 Rollback uid changes, back to using username hash for uid. Fixes GE offers going missing after update 2022-05-21 14:04:15 +00:00
Ryan 09ce411a0c Removed all alchemy values from config (inauthentic values, seem to have been copied from RS3) - we will probably need to add new overrides as they are discovered, none known at time of writing
Defined low alchemy value as item value * 0.4 unless override exists in config (authentic)
Defined high alchemy value as item value * 0.6 unless override exists in config (authentic)
2022-05-20 12:02:03 +00:00
Ceikry 334bc77d06 Improved the GE database access to use a basic reference counter for the connection that automatically closes the connection when no one is using it anymore
Grand Exchange now uses the GE sqlite database's price index table to track price changes
Removed the old price index (confusingly called GrandExchangeDatabase.java)
Grand Exchange prices are now dynamic and influenced by trades (weighted stepping average price)
Fixed GE interfaces not loading on login
2022-05-20 11:23:30 +00:00
Ryan 01a4292123 simplified ring of the star sprite teleport dialogue, now tells you if star has been mined 2022-05-19 23:11:47 +00:00