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

feat(武器): 添加鸡毛弓武器及相关箭矢功能

实现鸡毛弓武器系统,包括武器脚本、箭矢脚本和场景配置
修改实体伤害处理逻辑,分离普通伤害和子弹伤害方法
更新公鸡角色配置,添加鸡毛弓作为默认武器
This commit is contained in:
2025-11-16 17:22:40 +08:00
parent 152f75d551
commit ddd89f1334
13 changed files with 133 additions and 10 deletions
+11
View File
@@ -0,0 +1,11 @@
extends BulletBase
class_name Arrow
var atk: float = 0
func ai():
speed = (1 - lifeDistancePercent()) * initialSpeed
damage = speed * atk
PresetBulletAI.forward(self, rotation)
if speed < 1:
tryDestroy()
+1
View File
@@ -0,0 +1 @@
uid://u5x40y0cvqq2
+22
View File
@@ -0,0 +1,22 @@
extends BulletBase
class_name Bow
var count: int = 0
var atk: float = 0
func spawn():
await TickTool.millseconds(250)
var startAngle = rotation - deg_to_rad(count * 10.0 / 2)
for c in count:
for i in BulletBase.generate(
ComponentManager.getBullet("Arrow"),
launcher,
position,
startAngle + deg_to_rad(c * 10)
):
var bullet: Arrow = i
bullet.atk = atk
tryDestroy()
func ai():
PresetBulletAI.lockLauncher(self, launcher, true)
rotation = position.angle_to_point(get_global_mouse_position())
+1
View File
@@ -0,0 +1 @@
uid://dnnxxqpbpwohf
+1 -1
View File
@@ -11,4 +11,4 @@ func ai():
tryDestroy()
func destroy(beacuseMap: bool):
if beacuseMap:
launcher.takeDamage(self, MathTool.rate(0.5))
launcher.bulletHit(self, MathTool.rate(0.5))