Skip to content

Commit

Permalink
Remove AutoBalance.DungeonsOnly, replace with better `AutoBalance.…
Browse files Browse the repository at this point in the history
…Enable.*` settings (#128)

* 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
  • Loading branch information
kjack9 authored May 27, 2023
1 parent b492409 commit 4046d05
Show file tree
Hide file tree
Showing 3 changed files with 267 additions and 99 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ nbproject/
*.kate-swp
.idea
cmake-build-debug
.vscode

#
# Eclipse
Expand Down
117 changes: 72 additions & 45 deletions conf/AutoBalance.conf.dist
Original file line number Diff line number Diff line change
@@ -1,24 +1,34 @@
[worldserver]

##########################
#
###################################################################################################

###################################################################################################
# Enable Settings
#
# AUTOBALANCE ANNOUNCE
##########################

#
# AutoBalanceAnnounce.enable
# Announce the module on login if it is enabled
# AutoBalance.Enable
# Enable/Disable all features globally. If this setting is off, all settings after this one do not take effect.
# Default: 1 (1 = ON, 0 = OFF)
AutoBalanceAnnounce.enable=1
AutoBalance.Enable.Global=1

#
# AUTOBALANCE OPTIONS
#
# AutoBalance.enable
# Enable/Disable the autobalance system
# AutoBalance.Enabled.*
# Enable/Disable all features for each instance size and difficulty.
# If an instance size is set to 0 here, none of the other settings for that instance size will take effect.
# Default: 1 (1 = ON, 0 = OFF)
AutoBalance.enable=1
#
AutoBalance.Enable.5M=1
AutoBalance.Enable.10M=1
AutoBalance.Enable.15M=1
AutoBalance.Enable.20M=1
AutoBalance.Enable.25M=1
AutoBalance.Enable.40M=1
AutoBalance.Enable.OtherNormal=1

AutoBalance.Enable.5MHeroic=1
AutoBalance.Enable.10MHeroic=1
AutoBalance.Enable.25MHeroic=1
AutoBalance.Enable.OtherHeroic=1

##########################
#
Expand All @@ -42,7 +52,7 @@ AutoBalance.enable=1
# CurveFloor
# When the curve to determine the enemy multiplier is calculated, start the curve at this value.
#
# This allows you to make enemies have higher stats for lower player counts without adversely affecting the stats of
# This allows you to make enemies have higher stats for lower player counts without adversely affecting the stats of
# higher player counts. Applied before `AutoBalance.StatModifier*` values.
#
# Value may be negative if needed to achieve your desired curve.
Expand All @@ -67,7 +77,7 @@ AutoBalance.enable=1
# Default: 1.0
#
# BossModifier
# InflectionPoint is multiplied by this value for creatures considered dungeon bosses (from dungeons or raids).
# InflectionPoint is multiplied by this value for creatures considered dungeon bosses (from dungeons or raids).
# It is a multiplier, not a new Inflection Point. Values higher than 1.0 will make enemies easier at lower player
# counts while lower than 1.0 will make enemies easier at lower player counts.
#
Expand Down Expand Up @@ -108,8 +118,8 @@ AutoBalance.InflectionPointRaidHeroic.CurveCeiling=1.0
AutoBalance.InflectionPointRaidHeroic.BossModifier=1.0

###
### By default, all instances use the settings configured above. To customize settings for
### a particular instance size or difficulty, set the variables below. If the variable is
### By default, all instances use the settings configured above. To customize settings for
### a particular instance size or difficulty, set the variables below. If the variable is
### blank, the broader settings above will apply.
###

Expand Down Expand Up @@ -161,7 +171,7 @@ AutoBalance.InflectionPointRaid40M.BossModifier=
#
# Get a list of Instance IDs here: https://wowpedia.fandom.com/wiki/InstanceID#Classic
#
# Specifying a value of `-1` will skip overriding of that value. For instances not listed, the default inflection value for the instance's
# Specifying a value of `-1` will skip overriding of that value. For instances not listed, the default inflection value for the instance's
# difficulty and size will be used. You may omit entries from the end of the string if desired. Only one set of values should be specified per InstanceID.
#
# Format: "[InstanceID] [InflectionPoint] [CurveFloor] [CurveCeiling], [InstanceID] [InflectionPoint] [CurveFloor] [CurveCeiling], ..."
Expand All @@ -175,7 +185,7 @@ AutoBalance.InflectionPoint.PerInstance=""
#
# AutoBalance.InflectionPoint.Boss.PerInstance
# Sets Inflection Point settings for all bosses in specific `InstanceID`s. Note that the first value is "InflectionPointMultiplier", which behaves
# identically to the BossModifier setting. The "normal" inflection point is multiplied by this value for bosses. To better understand this effect,
# identically to the BossModifier setting. The "normal" inflection point is multiplied by this value for bosses. To better understand this effect,
# see the interactive spreadsheet.
#
# Get a list of Instance IDs here: https://wowpedia.fandom.com/wiki/InstanceID#Classic
Expand Down Expand Up @@ -218,10 +228,10 @@ AutoBalance.playerCountDifficultyOffset=0
# The "Final Multiplier" value is the actual multiplier that will be applied to enemies in a given instance.
#
# Global
# Multiply the other four settings by this value. Allows you to increase all the stats (health, mana, armor,
# Multiply the other four settings by this value. Allows you to increase all the stats (health, mana, armor,
# damage) with a single adjustment. Both the global value and the stat-specific value are used at the same time.
#
# Example: If "Global" is 0.5, and "Health" is 1.5, the health of the creature will be multiplied by 0.75 of
# Example: If "Global" is 0.5, and "Health" is 1.5, the health of the creature will be multiplied by 0.75 of
# its value (after adjusting for the number of players).
#
# Default: 1.0
Expand All @@ -232,7 +242,7 @@ AutoBalance.playerCountDifficultyOffset=0
# Default: 1.0
#
# Boss.Global | Boss.Health | Boss.Mana | Boss.Armor | Boss.Damage
# Sets a SEPARATE stat multiplier for bosses. Is NOT affected by the non-boss modifiers. Only applies to creatures
# Sets a SEPARATE stat multiplier for bosses. Is NOT affected by the non-boss modifiers. Only applies to creatures
# considered instance bosses (from dungeons or raids).
#
# Default: If not set for a given instance size/type, defaults to the dungeon/raid default values.
Expand Down Expand Up @@ -293,8 +303,8 @@ AutoBalance.StatModifierRaidHeroic.Boss.Armor=1.0
AutoBalance.StatModifierRaidHeroic.Boss.Damage=1.0

###
### By default, all instances use the settings configured above. To customize settings for
### a particular instance size or difficulty, set the variables below. If the variable is
### By default, all instances use the settings configured above. To customize settings for
### a particular instance size or difficulty, set the variables below. If the variable is
### blank, the broader settings above will apply.
###

Expand Down Expand Up @@ -423,13 +433,13 @@ AutoBalance.StatModifierRaid40M.Boss.Damage=
# If no value is set for a given instance type and player count, and the generic values that apply to that instance
# are also blank, CC duration will be unchanged.
#
# Boss.Global | Boss.Health | Boss.Mana | Boss.Armor | Boss.Damage
# Sets a SEPARATE stat multiplier for bosses. Is NOT affected by the non-boss modifiers. Only applies to creatures
# Boss.CCDuration
# Sets a SEPARATE CCDuration multiplier for bosses. Is NOT affected by the non-boss modifiers. Only applies to creatures
# considered instance bosses (from dungeons or raids).
#
# Default: If not set for a given instance size/type, defaults to the dungeon/raid default values.
#
# To better understand this effect, see the interactive spreadsheet.
# Default: no value
# If no value is set for a given instance type and player count, and the generic values that apply to that instance
# are also blank, CC duration will be unchanged.
#

### 5-player dungeons
Expand Down Expand Up @@ -692,12 +702,6 @@ AutoBalance.DungeonScaleDownXP = 0
# Default: 0 (1 = ON, 0 = OFF)
AutoBalance.DungeonScaleDownMoney = 0

#
# AutoBalance.DungeonsOnly
# Only apply scaling changes to dungeons and raids
# Default: 1 (1 = ON, 0 = OFF)
AutoBalance.DungeonsOnly=1

##########################
#
# Messages
Expand Down Expand Up @@ -725,7 +729,6 @@ AutoBalance.PlayerChangeNotify=1
#
##########################


#
# AutoBalance.reward.enable
# This is an experimental feature to reward a player that kill a boss when
Expand Down Expand Up @@ -757,15 +760,39 @@ AutoBalance.reward.dungeonToken = 47241
# Default: 1
AutoBalance.reward.MinPlayerReward = 1

# The following variables are deprecated and should not be used in new deployments.
##########################
#
# Announcement
#
##########################

#
# AutoBalanceAnnounce.enable
# Announce the module on login if it is enabled
# Default: 1 (1 = ON, 0 = OFF)
AutoBalanceAnnounce.enable=1

##########################
#
# Deprecated Settings
#
##########################

# The following variables are deprecated and should not be used in new deployments. Their values should be left blank.
# They will still be applied to support backwards compatability, but will be removed entirely in a future release.
# Their entire functionality (and more) has been moved to new settings referenced in this config file.
#
# AutoBalance.PerDungeonScaling
# AutoBalance.PerDungeonBossScaling
# AutoBalance.BossInflectionMult
# AutoBalance.rate.global
# AutoBalance.rate.health
# AutoBalance.rate.mana
# AutoBalance.rate.armor
# AutoBalance.rate.damage
AutoBalance.enable=
AutoBalance.PerDungeonScaling=
AutoBalance.PerDungeonBossScaling=
AutoBalance.BossInflectionMult=
AutoBalance.rate.global=
AutoBalance.rate.health=
AutoBalance.rate.mana=
AutoBalance.rate.armor=
AutoBalance.rate.damage=

# The following variables have been removed entirely and should not be used in a new or existing deployment.
# Their values should be left blank.
# Their entire functionality (and more) has been moved to new settings referenced in this config file.
AutoBalance.DungeonsOnly=
Loading

0 comments on commit 4046d05

Please sign in to comment.