1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-03 09:51:53 +08:00

feat(武器): 添加河豚刺针武器及其相关资源

新增河豚刺针武器,包含以下内容:
- 添加河豚武器图标和音效资源
- 实现Needle子弹类及其反弹逻辑
- 创建Hetun武器类实现散射攻击
- 添加子弹特效和碰撞检测
- 更新公鸡角色默认武器配置
This commit is contained in:
2026-03-14 19:09:55 +08:00
parent 06413d204c
commit ff9273ca29
15 changed files with 338 additions and 8 deletions
+21
View File
@@ -0,0 +1,21 @@
extends BulletBase
class_name NeedleBullet
var forwarding: bool = false
func spawn():
hitbox.disabled = true
func ai():
PresetBulletAI.forward(self , rotation)
if forwarding:
speed += 0.5
else:
speed -= 0.25
if speed <= 0:
forwarding = true
hitbox.disabled = false
func succeedToHit(_dmg: float, entity: EntityBase):
var effect = EffectController.create(ComponentManager.getEffect("Dustdown"), entity.position)
effect.rotation = rotation
effect.shot()
rotation = Vector2.from_angle(rotation).bounce((entity.position - position).normalized()).angle()
+1
View File
@@ -0,0 +1 @@
uid://whqgw065ifss
+1 -1
View File
@@ -16,7 +16,7 @@ func spawn():
anchor.global_rotation = 0
func ai():
speed *= 0.99
PresetBulletAI.forward(self, rotation)
PresetBulletAI.forward(self , rotation)
if timeLived() > countdown:
tryDestroy()
else:
+20
View File
@@ -0,0 +1,20 @@
@tool
extends Weapon
func update(to: int, origin: Dictionary, _entity: EntityBase):
origin["atk"] += 3 * to * soulLevel
origin["count"] += 5 * (soulLevel - 1)
origin["penerate"] += 0.1 * (soulLevel - 1)
return origin
func attack(entity: EntityBase):
for i in readStore("count"):
for bullet in BulletBase.generate(
ComponentManager.getBullet("Needle"),
entity,
entity.findWeaponAnchor("normal"),
entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()) + deg_to_rad(randf_range(-1, 1) * 30)
):
if bullet is NeedleBullet:
bullet.baseDamage = readStore("atk")
bullet.penerate = readStore("penerate")
return true
+1
View File
@@ -0,0 +1 @@
uid://tfptal3sgfmy