mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
c74087454a
修改多个武器和召唤物的攻击逻辑,将直接设置damage属性改为设置baseDamage属性 添加BulletBase类型检查确保安全访问子弹属性 移除Weapon.gd中冗余的鼠标事件连接
32 lines
884 B
GDScript
32 lines
884 B
GDScript
extends SummonBase
|
|
|
|
var maxTraceTime: float = 0
|
|
var tracePower: float = 0
|
|
var count: int = 0
|
|
var angle: float = 0
|
|
|
|
func register():
|
|
fields[FieldStore.Entity.MAX_HEALTH] = 200
|
|
attackCooldownMap[0] = 1000
|
|
func ai():
|
|
tryAttack(0)
|
|
func attack(type):
|
|
if type == 0:
|
|
var tracer = EntityTool.findClosetEntity(position, get_tree(), false, true)
|
|
var startAngle = position.angle_to_point(tracer.getTrackingAnchor()) + deg_to_rad(randf_range(-1, 1) * 45)
|
|
for i in count:
|
|
if !is_instance_valid(tracer):
|
|
break
|
|
for bullet in BulletBase.generate(
|
|
ComponentManager.getBullet("LGBTBullet"),
|
|
myMaster,
|
|
findWeaponAnchor("normal"),
|
|
startAngle + deg_to_rad(i * angle)
|
|
):
|
|
if bullet is LGBTBullet:
|
|
bullet.tracer = tracer
|
|
bullet.baseDamage = atk
|
|
bullet.maxTraceTime = maxTraceTime
|
|
bullet.tracePower = tracePower
|
|
await TickTool.millseconds(50)
|