Commit Graph

327 Commits

Author SHA1 Message Date
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
Ceikry 9619f5b3a7 Improved pathfinding to stationary targets to not unnecessarily recalculate the path
Fixed an issue where end-of-movement was not being considered properly
Added admin command for drawing chunk boundaries ::drawchunks
Added admin command for drawing region boundaries ::drawregions
Added admin command for drawing the current route ::drawroute
Fixed impling IndexOutOfBoundsException
2023-04-21 16:19:23 +00:00
Ceikry f6096e3020 Rewrote impling system
Fixed static impling spawns
Fixed impling spawn ratio
Reworked Puro-Puro, much more authentic
Imp defenders now work properly
Crop circles now appear
Added admin command ::implings to list active implings (excludes implings from Puro-Puro)
Fixed bug where you could add to a finished compost bin
2023-04-20 12:16:21 +00:00
Ceikry cb92ad0577 Unified dragonfire protection logic
Fixed KBD's attack range resulting in only certain spots allowing him to melee
2023-04-18 08:44:03 +00:00
RiL 957540c362 Implemented all Fist of Guthix glove effects
Fixed inaccurate salve amulets boost, bonus for enchanted version now implemented
Fixed inaccurate black/slayer mask + slayer cape interaction, now always gives the highest bonus when wearing mask + cape
2023-04-17 00:59:54 +00:00
Dan Ginovker 034cc75a61 Started implementing Castle Wars (not ready to enable yet) 2023-04-10 07:13:54 +00:00
RiL fc28c97400 Added ge_announcement_limit configuration for setting minimum high alchemy value required for bot GE items to be announced 2023-04-02 08:41:43 +00:00
Ceikry c0ffe59d47 Fixed live console spam caused by ResetInterface not being listed as a valid outgoing packet 2023-04-01 05:16:06 +00:00
bushtail af99895168 Refactored some fishing code
Converted some fishing code to kotlin
Implemented crayfish fishing
2023-04-01 04:57:58 +00:00
Ceikry 2273550fea Rewrote and unified potion decanting, fixes decanting bugs
Replaced Zahur's and Bob Barter's methods of decanting
2023-04-01 02:33:38 +00:00
Ceikry d431fec1ed Fixed bug relating to tracking current slayer task 2023-03-31 00:04:59 +00:00
Ceikry b1ed4461af Fixed incorrect teleporting to house portal on logout
House now kicks guests when owner leaves
More aggressively unload old house regions (experiment)
Added DEBUG log type (currently unused, but shows up in cyan when used and the world is in development mode)
2023-03-30 22:39:42 +00:00
Avi Weinstock b9050c0e3c Implemented A* pathfinding for SmartPathfinder 2023-03-26 03:59:07 +00:00
RiL ffb7486a01 Implemented a loot message for the reward from Fishing trawler
Optimised junk item removal from Fishing trawler loot
2023-03-26 03:52:13 +00:00
Manapart 3c2b852473 Added admin command to change appearance 2023-03-26 03:25:33 +00:00
Zerken 27661f711f Fixed standard spell book sounds
Fixed spell hit and miss sounds not working
Changed several existing spell sounds to use constlib
Corrected confuse cast sound and added hit sound
Corrected weaken cast sound and added hit sound
Corrected curse cast sound and added hit sound
Corrected vulnerability cast sound and added hit sound
Corrected enfeeble cast sound and added hit sound
Corrected stun cast sound and added hit sound
Corrected crumble undead hit sound
Added bind hit sound
Corrected snare cast sound and added hit sound
Corrected entangle cast sound and added hit sound
Added sound for enchanting crossbow bolts
Added saradomin strike hit and miss sounds
Added claws of guthix hit and miss sounds
Added flames of zamorak hit and miss sounds
Fixed teleother sound
Added ibans blast cast and hit sound
Corrected superheat ore sound
2023-03-25 15:12:14 +00:00
Ceikry 7ec901297b Fixed some error spam about a nullref in animateWoodcutting
Fixed a general script processing oversight that could cause error-throwing scripts to continue executing
Scripts being processed now automatically cancel if the interaction-target-node is no longer active (fixes object could not be replaced spam)
Fixed the stopExecuting() spam
Fixed a CME in the disconnection queue (only affected server shutdown)
Future-proofed the ground spawn parser to work with the format Zaros now outputs
Added in proper SKILLING global clock for use with the script system - addresses some quirks and brings us closer to authenticity
2023-03-21 03:50:27 +00:00
Ceikry 8b62e42323 Fixed a bug that prevented progression in tutorial island
Fixed a bug that caused woodcutting to take slightly longer
Fixed a bug that caused the woodcutting axe message to print more often than it should
Fixed a bug that caused fishing to not print its fishing attempt message
Fixed a bug that caused fishing to take slightly longer
Fixed a bug that would cause nechryaels to lose interest in the player when their minions attacked
Made sure the grand exchange tests always clean up the GEDB
2023-03-16 03:27:30 +00:00
Zerken 55c619bf87 Significant Stronghold of Security immersion improvements
Added the command ::jingle to play music jingles by id
2023-03-08 03:28:10 +00:00
Ceikry ff18f69dd0 Fixed a bug that was causing players to get stuck logged in
Fixed a bug that would cause players to get stuck in a client crash loop when logging out inside of a POH
Fixed a bug that let players reach objects that shouldn't be reachable
General disconnection reliability improvements
Adjusted the color of global chat for HD mode, the new color is #f1b04c
2023-03-05 11:00:06 +00:00
Sam e03187920b Fixed random variation on tablet teleport to house
Corrected drop table for hero
Rewrote tablet teleports in kotlin as listener
Added new ::runekit admin command, which gives 1k of each Rune type to make testing easier
2023-03-03 02:32:46 +00:00
Avi Weinstock eeedafe637 Improved accuracy of player wealth calculation 2023-03-03 02:15:52 +00:00
Ceikry b6fa73d94c Disconnecting while dying no longer results in improper death handling in safe zones (e.g. fight caves) 2023-03-03 01:13:38 +00:00
Ceikry 97f4fa91ca Added support to fire off a discord alert to a webhook (set in server config as server.openrsc_integration_webhook) when Wormbrain's map piece is collected so that rsc plate pures are possible 2023-03-02 12:53:12 +00:00
Ceikry 214ba50ecc Implemented support for overriding daily account limits via new config file Server/data/configs/account_limit_exceptions.conf (this file is hot reloaded automatically upon modification) 2023-03-02 12:14:28 +00:00
Ceikry 88a2f354b4 Added support for varying log levels configurable in the server config (see log_level in default.conf)
Error logs now properly print to stderr when possible
Colour-coded logs
Addressed a scenario in which outgoing packet writes could get hung up
Fixed interface incorrect definition message on server startup
2023-03-01 08:01:14 +00:00
Avi Weinstock e1faa64af7 God spells now properly drain stats
Charge spell no longer null-dereferences when attempting to refresh it
Manually casting spells no longer changes attack style
2023-03-01 07:48:31 +00:00