diff --git a/scripts/Statemachine/ItemShow.gd b/scripts/Statemachine/ItemShow.gd index fb36137..20c2b55 100644 --- a/scripts/Statemachine/ItemShow.gd +++ b/scripts/Statemachine/ItemShow.gd @@ -14,7 +14,7 @@ func _ready(): if autoFree: animator.play("show") await animator.animation_finished - await TickTool.millseconds(GameRule.itemShowStayTime) # 等待几秒后自动隐藏 + await TickTool.millseconds(GameRule.itemShowLifetime) # 等待几秒后自动隐藏 animator.play("hide") await animator.animation_finished queue_free() diff --git a/scripts/Tools/GameRule.gd b/scripts/Tools/GameRule.gd index db599f6..d78eff2 100644 --- a/scripts/Tools/GameRule.gd +++ b/scripts/Tools/GameRule.gd @@ -11,17 +11,17 @@ enum Difficulty { static var difficulty: Difficulty = Difficulty.NORMAL # 难度倍数,可以写小数 static var allowFriendlyFire: bool = false # 是否允许友军伤害 static var bulletSpeedMultiplier: float = 1 # 子弹速度倍率 -static var damageOffset: float = 0.2 # 伤害随机浮动比例,如20%即10的基础伤害会应用为8~12 +static var damageOffset: float = MathTool.percent(20) # 伤害随机浮动比例,如20%即10的基础伤害会应用为8~12 static var damageLabelSpawnOffset: float = 10 # 伤害标签生成位置的随机偏移 static var itemDroppedSpawnOffset: float = 30 # 掉落物生成位置的随机偏移 -static var appleDropRate: float = 0.1 # 苹果掉落概率 -static var refreshCountIncreasePercent: Vector2 = Vector2(0.2, 0.75) # 刷新所需的棒球数量的增加的百分比 -static var entityCountBoostPerWave: float = 0.1 # 每波敌人数量增加的百分比,倍数级 -static var itemShowStayTime: int = 1500 # 物品展示组件如果设置了自动隐藏,那么隐藏前可以存活的时间 -static var tipSpawnRateWhenGetDroppedItem: float = 0.25 # 当玩家获取到掉落物时,提示的概率 -static var entityHealthIncreasePerWave: float = 0.05 # 每波敌人生命值增加的百分比,指数级 -static var entityDamageIncreasePerWave: float = 0.02 # 每波敌人伤害增加的百分比,指数级 -static var entityLevelOffsetByWave: float = 0.3 # 每波敌人等级根据当前波数随机浮动的比例 -static var appleDropRateInfluenceByLuckValue: float = 0.02 # 幸运值对苹果掉率的影响 -static var critRateInfluenceByLuckValue: float = 0.025 # 幸运值对暴击率的影响 -static var penerateRateInfluenceByLuckValue: float = 0.03 # 幸运值对穿透率的影响 +static var appleDropRate: float = MathTool.percent(10) # 苹果掉落概率 +static var refreshCountIncreasePercent: Vector2 = Vector2(MathTool.percent(20), MathTool.percent(75)) # 刷新所需的棒球数量的增加的百分比 +static var entityCountBoostPerWave: float = MathTool.percent(10) # 每波敌人数量增加的百分比,倍数级 +static var itemShowLifetime: int = 1500 # 物品展示组件如果设置了自动隐藏,那么隐藏前可以存活的时间 +static var tipSpawnRateWhenGetDroppedItem: float = MathTool.percent(25) # 当玩家获取到掉落物时,提示的概率 +static var entityHealthIncreasePerWave: float = MathTool.percent(5) # 每波敌人生命值增加的百分比,指数级 +static var entityDamageIncreasePerWave: float = MathTool.percent(2) # 每波敌人伤害增加的百分比,指数级 +static var entityLevelOffsetByWave: float = MathTool.percent(30) # 每波敌人等级根据当前波数随机浮动的比例 +static var appleDropRateInfluenceByLuckValue: float = MathTool.percent(2) # 幸运值对苹果掉率的影响 +static var critRateInfluenceByLuckValue: float = MathTool.percent(2.5) # 幸运值对暴击率的影响 +static var penerateRateInfluenceByLuckValue: float = MathTool.percent(3) # 幸运值对穿透率的影响 diff --git a/scripts/Tools/MathTool.gd b/scripts/Tools/MathTool.gd index faa0e53..7607e17 100644 --- a/scripts/Tools/MathTool.gd +++ b/scripts/Tools/MathTool.gd @@ -11,3 +11,5 @@ static func randc_from(array: Array): return array[randi() % array.size()] static func signBeforeStr(value: float): return ("+" if value > 0 else "-" if value < 0 else "") + str(abs(value)) +static func percent(value: float): + return value / 100