ZhengPeiRu21 / mod-individual-progression

AzerothCore Individual Progression Module
MIT License
117 stars 54 forks source link

Dungeon Finder suggestions #187

Open ajgration opened 1 year ago

ajgration commented 1 year ago

Firstly, Dungeon Finder isn't associating appropriate level ranges to dungeons which have been restored to vanilla levels. Blizzard significantly nerfed some of these early dungeons in WotLK, changing their recommended level range. For example RFK and Gnomeregan are recommended as level 22/23 - 32/33, when their end bosses are level 33 and 34 respectively. I recommend bumping up the level for which these restored dungeons can be queued at, as they currently appear too early and disappear from your queuing options while they are still rewarding relevant XP/Gear.

Another issue is with the Random Dungeon Finder rewards. If random dungeon finder is enabled, I feel this reward should be removed as it doesn't really fit in with the spirit of the mod. The Satchel of Helpful Goods rewarded for completing the dungeon gives the player access to non-vanilla items which are sometimes more powerful than items you can obtain for the appropriate level.

Lastly, possibly consider implementing a configurable option in "individualProgression.conf" that disables Dungeon Finder by default? In retail, it wasn't added until patch 3.3 and as well as the above issues, it takes away from the experience of manually traversing to some of these dungeons and exploring the world. Most dungeons also have significant areas you have to get through to reach the dungeon entrance, and this tool allows you to complete bypass these areas and the mobs guarding them. Using the dungeon finder also makes the dungeon significantly easier as you get the Luck of the Draw buff that you would otherwise not get from manually entering.

Day36512 commented 1 year ago

I've addressed your last feature request and implemented code in my fork that allows players to enable or disable RDF and LFG. I've also created a pull request with said changes so we'll see in the next few days if we get a merge. I've always felt the same about the RDF/LFG feature as it wasn't even available until patch 3.3, Icecrown.

As to your other request regarding altering levels of dungeons, these require some dbc modifications which I'm more than happy to do but would find helpful if you had a list of dungeons with level ranges. If it's from an official vanilla/tbc source, then that would be even more awesome. Though to be honest I think the config option to enable or disable the feature is fairly sufficient. Let me know either way!

ZhengPeiRu21 commented 1 year ago

The design intent of the module was to have the RDF/LFG feature disabled, since as Day36512 mentioned, this was a 3.3 feature and not something the game was designed around. This is already possible through the standard worldserver config, so adding a config option in the module that does the same thing feels redundant. I like the new option to disable only Random Dungeons and the related rewards, since this provides a good "medium" option for those who want modern automatic group finding.

Day36512 commented 1 year ago

Makes sense. I actually didn't know it was a worldconf option already xD

Day36512 commented 1 year ago

Actually now that I think about it, the config option in worldserver also includes BGs. So I guess that would be the difference. I already removed it as an option but let me know if you want me to add it back in.

ZhengPeiRu21 commented 1 year ago

I've merged Day36512's PR to add a config option that disables random dungeons and their associated rewards, while leaving the dungeon finder available to create groups for specific dungeons. As far as I know, this should not impact the ability to queue for BGs.

Regarding the level ranges of dungeons, you may want to review DungeonAccessRequirements.LFGLevelDBCOverride in the worldserver config. This will allow you to override the DBC values with custom ones from dungeon_access_requirements. I currently don't plan to change these values in the module by default, but could be convinced otherwise if you think it would be most suitable.

ajgration commented 1 year ago

ZhengPeiRu is right, it is a redundant request as the setting does already exist. I was more just thinking it being similar to the "IndividualProgression.SimpleConfigOverride" setting that overrides some values you could otherwise configure in the worldserver.conf yourself, if the intention is for LFG to be disabled for the mod by default. Just a suggestion, I'm happy to turn mine off through worldserver.conf instead if that's how you'd prefer to leave it.

The setting to turn LFG off in worldserver.conf is "DungeonFinder.OptionsMask". I think the BG setting you're referring to Day is just for queuing them at the same time? As I am still able to que for BG's with LFG turned off.

As for dungeon levels, here is an official blizzard source from the end of Vanilla. (man was this a blast from the past!) https://web.archive.org/web/20061123122023/http://www.worldofwarcraft.com:80/info/basics/worlddungeons.html

The level ranges there do seem more in-line with the restored vanilla content, but all good if you don't want to implement that change. I think the Wrath ranges are fine for most of the dungeons, there's just some examples (like RFK and Gnomeregan) that stick out as being off by more than just a couple of levels.

ZhengPeiRu21 commented 1 year ago

Thanks ajgration for your feedback. After giving it more thought, I agree with you; we already have SimpleConfigOverride for the purpose of setting up the worldserver as best suited for the module, so disabling the dungeon finder there seems appropriate. We might as well change the dungeon levels as well. I'll make those changes in an update soon.

ajgration commented 1 year ago

Awesome, sounds good... I thought of something that might screw things up with seasonal events for level 80s. A few of them like Midsummer/Hallow's End use the dungeon finder to dish out their reward bags for gear/mounts etc. I think you can set "DungeonFinder.OptionsMask = 4" to still enable only these events while still disabling both RDF and LFG. Something to consider in your implementation.

Thanks again for all your work!

Day36512 commented 1 year ago

Easy enough!