|
|
|
@ -305,10 +305,10 @@ func DefaultValues() Values {
|
|
|
|
DebuffProcStun: 0.25,
|
|
|
|
DebuffProcStun: 0.25,
|
|
|
|
DebuffProcFreeze: 0.20,
|
|
|
|
DebuffProcFreeze: 0.20,
|
|
|
|
DebuffProcIceSlow: 0.20,
|
|
|
|
DebuffProcIceSlow: 0.20,
|
|
|
|
EnemyRegenDefault: 0.02,
|
|
|
|
EnemyRegenDefault: DefaultEnemyRegenDefault,
|
|
|
|
EnemyRegenSkeletonKing: 0.10,
|
|
|
|
EnemyRegenSkeletonKing: DefaultEnemyRegenSkeletonKing,
|
|
|
|
EnemyRegenForestWarden: 0.05,
|
|
|
|
EnemyRegenForestWarden: DefaultEnemyRegenForestWarden,
|
|
|
|
EnemyRegenBattleLizard: 0.01,
|
|
|
|
EnemyRegenBattleLizard: DefaultEnemyRegenBattleLizard,
|
|
|
|
SummonCycleSeconds: 15,
|
|
|
|
SummonCycleSeconds: 15,
|
|
|
|
SummonDamageDivisor: 4,
|
|
|
|
SummonDamageDivisor: 4,
|
|
|
|
LuckBuffMultiplier: 1.75,
|
|
|
|
LuckBuffMultiplier: 1.75,
|
|
|
|
@ -431,6 +431,33 @@ func EffectiveQuestOfferRefreshHours() int {
|
|
|
|
return n
|
|
|
|
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) {
|
|
|
|
func Set(v Values) {
|
|
|
|
current.Store(&v)
|
|
|
|
current.Store(&v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|