mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
2350ca09fb
在canDamage函数中添加对bullet.launcher的检查,避免当发射者为空时可能导致的错误
15 lines
548 B
GDScript
15 lines
548 B
GDScript
class_name BulletTool
|
|
|
|
static func fromArea(area: Area2D) -> BulletBase:
|
|
if area is BulletBase:
|
|
return area as BulletBase
|
|
else:
|
|
return null
|
|
static func canDamage(bullet: BulletBase, target: EntityBase) -> bool:
|
|
if !bullet or !target or !bullet.launcher: return false
|
|
if target.currentInvinsible: return false
|
|
if !bullet.canDamageSelf && target == bullet.launcher: return false
|
|
if !GameRule.allowFriendlyFire:
|
|
if target.isPlayer() == bullet.launcher.isPlayer() and bullet.launcher.currentFocusedBoss != target: return false
|
|
return true
|