Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat/Fix: Dynamic creature levels, reworked reward scaling, many fixe…
…s and improvements (azerothcore#133) * Fix: add checks to CCDuration adjustment * Remove `AutoBalance.DungeonsOnly`, replicate functionality with better `AutoBalance.Enable.*` settings - Remove `AutoBalance.DungeonsOnly` and replace with `AutoBalance.Enable.*` settings - old setting will be reported as a warning and won't take effect - doesn't appear that this setting ever worked as intended - Further reorganization of the settings file with new headers, better order, and deprecated settings section that will give appropriate warnings without creating config load errors - Rework some of the `if` statements to better illustrate what's being checked - remove skipLevel variable that was made redundant by an earlier change regarding critters - Add more comments throughout - Update `.gitignore` for vs_code * Remove unneeded aura check (done with other checks) * Correct CCDuration documentation in conf file * WIP: improve confing reloading * WIP: Rework map level selection to use average creature level. * Dynamic level scaling is working, but imperfect so far. WIP. * Fix issue with server crash if the caster of an applied aura is not online. * Update src/AutoBalance.cpp * Adjust "critter" detection, add logging, fix summons scaling * XP/Money multiplier is working but WIP. * Add dynamic level scaling - fix handling of summoned creatures (with or without a summoner) - convert lazy logging to LOG_DEBUG - creatures lower than 75% of the LFG minimum level will be ignord for scaling - creatures who are friendly, vendors, or have gossip lines will be ignored for scaling * Still scale friendly creatures, but don't include them in map stats * (Re)implement dynamic scaling/floor ceiling to create a more consistent scaling experience - remove concept of "active" list, replace with a counter - improve in-game command output, allow non-GMs to use some of them - add individual dynamic scaling floor/ceiling settings for dungeon, heroic dungeon, raid, and heroic raid - change LFG requirement to affect the map stats to 85% of min, 115% of max - update average multiplier for XP/gold scaling to only use health and damage modifiers * Moved creature spawn logic to `Creature_SelectLevel` * Add `AutoBalance.LevelScaling.DynamicLevel.PerInstance` - rename other DynamicLevel settings - remove unneeded contructors for custom classes - further refine non-active creature detection - switch XP and Gold average multiplier to both be calculated after leveling adjustments * Update description in .conf.dist to match code. * Fix creatures being double-added to the creature list. * Change damage scaling to be based on the player's level, not the dungeon's - smooth the transition between explansions by linearly interpolating between the old and new damage scaling values * Scale health based on the higher player level in the instance. - ease transition between expansions * Bump version to 3.0.0 to reflect new defaults. - default level scaling method to "dynamic" - fix small conf.dist typo * Bump version to 3.0.0 to reflect updated defaults. * Add distance check option for winged instances. - created `AutoBalance.LevelScaling.DynamicLevel.DistanceCheck.PerInstance` option - improve behavior when a player in combat exits the instance - improve behavior in winged dungeons when a GM exits the instance - alterations to command outputs - reduce processing when updating creatures that aren't included in map stats * Clarify config, update defaults * Don't show player enter/exit output if globally disabled. * Fix dynamic config reload for global enable. * Update to v2.2 rather than v3.0 * Removed unused GetAreaLevel function * Remove extraneous debug * Fix output. Don't show leave message to player who left. * Use enum for dynamic/fixed settings. * Add more per-instance level scaling settings - SkipHigherLevels and SkipLowerLevels can now be specified per Instance ID - Added a default override for Blackrock Depths - Fix rewards config issue - Start moving global settings into each map to allow for per-map settings - Further enhance the `.ab creaturestat` and `.ab mapstat` commands --------- Co-authored-by: Stefano Borzì <[email protected]>
- Loading branch information