mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-11 06:07:12 +08:00
feat(Bear): 添加新的攻击类型SunDance
为Bear角色添加新的攻击类型SunDance,包含子弹特效和动画。修改了Bear.gd以支持新攻击类型,并创建了SunDance.gd脚本和对应的场景文件。新攻击会生成旋转的彩色子弹,具有不同的颜色和大小变化效果。
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
extends BulletBase
|
||||
|
||||
@export var allColor: GradientTexture1D = null
|
||||
|
||||
@onready var leave1: Sprite2D = $"%leave1"
|
||||
@onready var leave2: Sprite2D = $"%leave2"
|
||||
@onready var leave3: Sprite2D = $"%leave3"
|
||||
@onready var leave4: Sprite2D = $"%leave4"
|
||||
|
||||
var myColor: Color
|
||||
|
||||
func register():
|
||||
speed = 0
|
||||
damage = 5
|
||||
penerate = 1
|
||||
func spawn():
|
||||
myColor = allColor.gradient.sample(randf())
|
||||
setColor(myColor)
|
||||
|
||||
func ai():
|
||||
rotation_degrees += 1
|
||||
PresetBulletAI.lockLauncher(self, launcher, true)
|
||||
|
||||
func setColor(color: Color):
|
||||
leave1.modulate = Color(color) * 2
|
||||
leave2.modulate = Color(color) * 4
|
||||
leave3.modulate = Color(color) * 8
|
||||
leave4.modulate = Color.WHITE * 16
|
||||
@@ -5,13 +5,19 @@ func register():
|
||||
fields[FieldStore.Entity.MAX_HEALTH] = 2000
|
||||
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.25
|
||||
attackCooldownMap[0] = 100
|
||||
attackCooldownMap[1] = 100
|
||||
func spawn():
|
||||
texture.play("walk")
|
||||
func ai():
|
||||
PresetEntityAI.follow(self, currentFocusedBoss, 0)
|
||||
tryAttack(0)
|
||||
tryAttack(1)
|
||||
func attack(type):
|
||||
var weaponPos = findWeaponAnchor("normal")
|
||||
if type == 0:
|
||||
for bullet in BulletBase.generate(preload("res://components/Bullets/BossAttack/Bear/ArrowSeven.tscn"), self, weaponPos, deg_to_rad(randf_range(0, 360))):
|
||||
bullet.tracer = currentFocusedBoss
|
||||
elif type == 1:
|
||||
for bullet in BulletBase.generate(preload("res://components/Bullets/BossAttack/Bear/SunDance.tscn"), self, weaponPos, deg_to_rad(randf_range(0, 360))):
|
||||
bullet.damage = 1
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user