mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-06 11:47:13 +08:00
feat(武器): 添加酸蚀风暴武器及五种酸液子弹
实现酸蚀风暴武器系统,包含五种不同类型的酸液子弹: 1. 硫酸:命中时溅射1~3滴酸液 2. 硝酸:造成额外伤害 3. 盐酸:降低敌人移动和攻击速度 4. 碳酸:可无限穿透并逐渐扩大 5. 磷酸:增加敌人散射角 同时调整武器数值平衡,更新VSCode配置中的Godot引擎路径
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
extends BulletBase
|
||||
class_name AcidBulletBase
|
||||
|
||||
enum AcidType {
|
||||
STRONG,
|
||||
WEAK,
|
||||
}
|
||||
@export var acidType: AcidType = AcidType.STRONG
|
||||
|
||||
var arg1: float = 0
|
||||
var arg2: float = 0
|
||||
var arg3: float = 0
|
||||
|
||||
func register():
|
||||
scale.y *= MathTool.randomChoiceFrom([-1, 1])
|
||||
func ai():
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
@@ -0,0 +1 @@
|
||||
uid://wt1fn2vjtlen
|
||||
@@ -0,0 +1,7 @@
|
||||
extends AcidBulletBase
|
||||
class_name AcidC
|
||||
|
||||
func ai():
|
||||
super.ai()
|
||||
scale *= 1.01
|
||||
modulate.a = 1 - timeLived() / lifeTime
|
||||
@@ -0,0 +1 @@
|
||||
uid://8h8e35gwre27
|
||||
@@ -0,0 +1,6 @@
|
||||
extends AcidBulletBase
|
||||
class_name AcidCl
|
||||
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
entity.fields[FieldStore.Entity.MOVEMENT_SPEED] = clamp(entity.fields[FieldStore.Entity.MOVEMENT_SPEED] - arg1, 0.15, INF)
|
||||
entity.fields[FieldStore.Entity.ATTACK_SPEED] = clamp(entity.fields[FieldStore.Entity.ATTACK_SPEED] - arg2, 0.15, INF)
|
||||
@@ -0,0 +1 @@
|
||||
uid://dp8e5samuurdn
|
||||
@@ -0,0 +1,5 @@
|
||||
extends AcidBulletBase
|
||||
class_name AcidN
|
||||
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
entity.takeDamage(arg1)
|
||||
@@ -0,0 +1 @@
|
||||
uid://ccjdi34ney8kl
|
||||
@@ -0,0 +1,5 @@
|
||||
extends AcidBulletBase
|
||||
class_name AcidP
|
||||
|
||||
func succeedToHit(_dmg: float, entity: EntityBase):
|
||||
entity.fields[FieldStore.Entity.OFFSET_SHOOT] = clamp(entity.fields[FieldStore.Entity.OFFSET_SHOOT] + arg1, 0, INF)
|
||||
@@ -0,0 +1 @@
|
||||
uid://bef6n4hwn1niu
|
||||
@@ -0,0 +1,8 @@
|
||||
extends AcidBulletBase
|
||||
class_name AcidS
|
||||
|
||||
func succeedToHit(_dmg: float, _entity: EntityBase):
|
||||
for i in randi_range(0, int(arg1)):
|
||||
for bullet in BulletBase.generate(ComponentManager.getBullet("AcidS"), launcher, position, rotation + deg_to_rad(180 + 90 * randf_range(-1, 1)), true, true):
|
||||
if bullet is AcidS:
|
||||
bullet.baseDamage = baseDamage
|
||||
@@ -0,0 +1 @@
|
||||
uid://dm4hwimsk8tx2
|
||||
Reference in New Issue
Block a user