nerf skeleton king

master
Denis Ranneft 1 month ago
parent 6991c26058
commit dbcb0c5c77

@ -365,16 +365,17 @@ func ProcessEnemyRegen(enemy *model.Enemy, tickDuration time.Duration, remainder
return 0
}
// Regen rates vary by enemy type.
cfg := tuning.Get()
regenRate := cfg.EnemyRegenDefault
// Regen rates: runtime_config JSON merged at startup; Effective* falls back to tuning.DefaultEnemyRegen*.
var regenRate float64
switch enemy.Type {
case model.EnemySkeletonKing:
regenRate = cfg.EnemyRegenSkeletonKing
regenRate = tuning.EffectiveEnemyRegenSkeletonKing()
case model.EnemyForestWarden:
regenRate = cfg.EnemyRegenForestWarden
regenRate = tuning.EffectiveEnemyRegenForestWarden()
case model.EnemyBattleLizard:
regenRate = cfg.EnemyRegenBattleLizard
regenRate = tuning.EffectiveEnemyRegenBattleLizard()
default:
regenRate = tuning.EffectiveEnemyRegenDefault()
}
healFloat := float64(enemy.MaxHP) * regenRate * tickDuration.Seconds()

@ -305,10 +305,10 @@ func DefaultValues() Values {
DebuffProcStun: 0.25,
DebuffProcFreeze: 0.20,
DebuffProcIceSlow: 0.20,
EnemyRegenDefault: 0.02,
EnemyRegenSkeletonKing: 0.10,
EnemyRegenForestWarden: 0.05,
EnemyRegenBattleLizard: 0.01,
EnemyRegenDefault: DefaultEnemyRegenDefault,
EnemyRegenSkeletonKing: DefaultEnemyRegenSkeletonKing,
EnemyRegenForestWarden: DefaultEnemyRegenForestWarden,
EnemyRegenBattleLizard: DefaultEnemyRegenBattleLizard,
SummonCycleSeconds: 15,
SummonDamageDivisor: 4,
LuckBuffMultiplier: 1.75,
@ -431,6 +431,33 @@ func EffectiveQuestOfferRefreshHours() int {
return n
}
func effectiveRegenPerSecond(cfg float64, fallback float64) float64 {
if cfg <= 0 {
return fallback
}
return cfg
}
// EffectiveEnemyRegenDefault returns enemy regen rate (MaxHP per second) from runtime config with code fallback.
func EffectiveEnemyRegenDefault() float64 {
return effectiveRegenPerSecond(Get().EnemyRegenDefault, DefaultEnemyRegenDefault)
}
// EffectiveEnemyRegenSkeletonKing returns Skeleton King regen rate (MaxHP per second) from runtime config with code fallback.
func EffectiveEnemyRegenSkeletonKing() float64 {
return effectiveRegenPerSecond(Get().EnemyRegenSkeletonKing, DefaultEnemyRegenSkeletonKing)
}
// EffectiveEnemyRegenForestWarden returns Forest Warden regen rate from runtime config with code fallback.
func EffectiveEnemyRegenForestWarden() float64 {
return effectiveRegenPerSecond(Get().EnemyRegenForestWarden, DefaultEnemyRegenForestWarden)
}
// EffectiveEnemyRegenBattleLizard returns Battle Lizard regen rate from runtime config with code fallback.
func EffectiveEnemyRegenBattleLizard() float64 {
return effectiveRegenPerSecond(Get().EnemyRegenBattleLizard, DefaultEnemyRegenBattleLizard)
}
func Set(v Values) {
current.Store(&v)
}

Loading…
Cancel
Save