1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat: 添加新的子弹类型和相关逻辑,更新角色攻击方式,增加无差别伤害选项

This commit is contained in:
2025-08-27 08:58:14 +08:00
parent c5da8d7b5e
commit 5b2c2f5cf7
10 changed files with 58 additions and 17 deletions
+4 -2
View File
@@ -8,6 +8,8 @@ class_name BulletBase
}
@export var lifeDistance: float = -1 # -1表示无限距离
@export var lifeTime: float = -1 # -1表示无限时间
@export var indisDamage: bool = false # 是否无差别伤害(不区分敌我)
@export var canDamageSelf: bool = false # 是否可以伤害发射者
var launcher: EntityBase = null
var spawnInWhen: float = 0
@@ -31,8 +33,8 @@ func _physics_process(_delta: float) -> void:
func hit(target: Node):
var entity: EntityBase = EntityTool.fromHurtbox(target)
if !entity || !launcher: return
if entity == launcher: return
if !GameRule.allowFriendlyFire:
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)))
if !MathTool.rate(fullPenerate()):