1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-05 19:27:15 +08:00

feat(掉落系统): 为棒球掉落数量添加随机浮动并调整游戏规则

在EntityBase.gd中为棒球掉落数量添加随机浮动范围,使用GameRule.beachballOffset控制浮动比例。同时调整GameRule.gd中的refreshCountIncreasePercent范围,从20-75%改为10-50%,并新增beachballOffset配置项用于控制棒球掉落数量的30%随机浮动。
This commit is contained in:
2025-09-06 16:14:46 +08:00
parent 19e7d7691d
commit 662e4f9117
2 changed files with 8 additions and 3 deletions
+5 -1
View File
@@ -249,7 +249,11 @@ func tryDie(by: BulletBase):
) or isBoss:
for i in randi_range(appleCount.x, appleCount.y):
ItemDropped.generate(ItemStore.ItemType.APPLE, 1, position + MathTool.randv2_range(GameRule.itemDroppedSpawnOffset))
ItemDropped.generate(ItemStore.ItemType.BEACHBALL, fields[FieldStore.Entity.MAX_HEALTH], position + MathTool.randv2_range(GameRule.itemDroppedSpawnOffset))
ItemDropped.generate(
ItemStore.ItemType.BEACHBALL,
fields[FieldStore.Entity.MAX_HEALTH] * randf_range(1 - GameRule.beachballOffset, 1 + GameRule.beachballOffset),
position + MathTool.randv2_range(GameRule.itemDroppedSpawnOffset)
)
EffectController.create(preload("res://components/Effects/DeadBlood.tscn"), texture.global_position).shot()
await die()
if isPlayer() and UIState.player == self:
+3 -2
View File
@@ -11,11 +11,12 @@ enum Difficulty {
static var difficulty: Difficulty = Difficulty.NORMAL # 难度倍数,可以写小数
static var allowFriendlyFire: bool = false # 是否允许友军伤害
static var bulletSpeedMultiplier: float = 1 # 子弹速度倍率
static var damageOffset: float = MathTool.percent(20) # 伤害随机浮动比例,如20%即10的基础伤害会应用为8~12
static var damageOffset: float = MathTool.percent(20) # 伤害随机浮动比例
static var beachballOffset: float = MathTool.percent(30) # 棒球掉落数随机浮动比例
static var damageLabelSpawnOffset: float = 10 # 伤害标签生成位置的随机偏移
static var itemDroppedSpawnOffset: float = 30 # 掉落物生成位置的随机偏移
static var appleDropRate: float = MathTool.percent(10) # 苹果掉落概率
static var refreshCountIncreasePercent: Vector2 = Vector2(MathTool.percent(20), MathTool.percent(75)) # 刷新所需的棒球数量的增加的百分比
static var refreshCountIncreasePercent: Vector2 = Vector2(MathTool.percent(10), MathTool.percent(50)) # 刷新所需的棒球数量的增加的百分比
static var entityCountBoostPerWave: float = MathTool.percent(10) # 每波敌人数量增加的百分比,倍数级
static var itemShowLifetime: int = 1500 # 物品展示组件如果设置了自动隐藏,那么隐藏前可以存活的时间
static var tipSpawnRateWhenGetDroppedItem: float = MathTool.percent(25) # 当玩家获取到掉落物时,提示的概率