mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-10 21:57:12 +08:00
feat(游戏机制): 添加幸运值对掉落率、暴击率和穿透率的影响
在GameRule中新增幸运值影响系数,并修改相关计算逻辑: - 幸运值现在会影响苹果掉落率、暴击率和穿透率 - 更新了EntityBase和BulletBase中的相关计算逻辑 - 添加了GameRule中的相关配置参数
This commit is contained in:
@@ -54,7 +54,7 @@ func hit(target: Node):
|
||||
if !canDamageSelf && entity == launcher: return
|
||||
if !indisDamage && !GameRule.allowFriendlyFire:
|
||||
if entity.isPlayer() == launcher.isPlayer(): return
|
||||
entity.takeDamage(self, MathTool.rate(launcher.fields.get(FieldStore.Entity.CRIT_RATE)))
|
||||
entity.takeDamage(self, MathTool.rate(launcher.fields.get(FieldStore.Entity.CRIT_RATE) + GameRule.critRateInfluenceByLuckValue * launcher.fields[FieldStore.Entity.LUCK_VALUE]))
|
||||
if MathTool.rate(fullPenerate()):
|
||||
fields[FieldStore.Bullet.PENERATE] -= entity.fields[FieldStore.Entity.PENARATION_RESISTANCE]
|
||||
else:
|
||||
@@ -62,7 +62,7 @@ func hit(target: Node):
|
||||
func forward(direction: Vector2):
|
||||
position += direction.normalized() * fields.get(FieldStore.Bullet.SPEED) * GameRule.bulletSpeedMultiplier
|
||||
func fullPenerate():
|
||||
return fields.get(FieldStore.Bullet.PENERATE) + launcher.fields.get(FieldStore.Entity.PENERATE)
|
||||
return fields.get(FieldStore.Bullet.PENERATE) + launcher.fields.get(FieldStore.Entity.PENERATE) + GameRule.penerateRateInfluenceByLuckValue * launcher.fields[FieldStore.Entity.LUCK_VALUE]
|
||||
func timeLived():
|
||||
return Time.get_ticks_msec() - spawnInWhen
|
||||
func dotLoop():
|
||||
|
||||
Reference in New Issue
Block a user