mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 23:11:54 +08:00
1a918a7a14
- Updated WaterBottle scene to change field values and costs, and modified avatar texture and display name. - Removed unused pencil SVG and its import files. - Updated Chomp sound effect with a new binary file. - Modified Diamond bullet behavior to improve tracing logic. - Increased rotation speed for Laser bullet. - Adjusted Chick and Hen character attack methods to generate bullets without returning prematurely. - Updated Rooster character to use PurpleCrystal bullet instead of Pencil. - Enhanced BulletBase with new properties for energy consumption and animation control. - Adjusted blend position interpolation in EntityBase for smoother movement. - Added new Star bullet with its scene and script, including animation setup. - Updated SVG and import files for new Star bullet graphics.
36 lines
1.2 KiB
GDScript
36 lines
1.2 KiB
GDScript
extends EntityBase
|
|
class_name Chick
|
|
|
|
@onready var firepot = $"%firepot"
|
|
|
|
const laserCount = 4
|
|
|
|
func _ready():
|
|
fields[FieldStore.Entity.MAX_HEALTH] = 2000
|
|
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.1
|
|
super._ready()
|
|
|
|
func ai():
|
|
move(currentFocusedBoss.position - position)
|
|
if currentFocusedBoss.position.distance_to(position) < 200:
|
|
tryAttack(2)
|
|
elif currentFocusedBoss.position.distance_to(position) < 400:
|
|
tryAttack(1)
|
|
else:
|
|
tryAttack(0)
|
|
func attack(type):
|
|
if type == 0:
|
|
var weaponPos = findWeaponAnchor("normal")
|
|
for i in randi_range(10, 20):
|
|
BulletBase.generate(preload("res://components/Bullets/Diamond.tscn"), self, weaponPos + MathTool.randv2_range(20), rotation + deg_to_rad(randf_range(-90, 90)))
|
|
elif type == 1:
|
|
for i in range(laserCount):
|
|
BulletBase.generate(preload("res://components/Bullets/Laser.tscn"), self, texture.global_position, deg_to_rad(90 * i))
|
|
elif type == 2:
|
|
var weaponPos = findWeaponAnchor("normal")
|
|
var target = weaponPos.angle_to_point(currentFocusedBoss.position)
|
|
firepot.global_rotation = target
|
|
firepot.shot()
|
|
BulletBase.generate(preload("res://components/Bullets/FireScan.tscn"), self, weaponPos, target)
|
|
return true
|