mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-29 23:41:54 +08:00
007f323482
移除全局武器升级能量消耗倍数,改为各武器独立设置升级能量消耗 调整矢量核心武器的属性计算和初始能量值 为所有武器类型添加升级时的能量消耗增量
25 lines
1.1 KiB
GDScript
25 lines
1.1 KiB
GDScript
@tool
|
|
extends Weapon
|
|
class_name LGBTWeapon
|
|
|
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
|
origin["atk"] += 5 * to * soulLevel
|
|
origin["count"] += to * soulLevel
|
|
origin["power"] += 0.05 * to * soulLevel
|
|
origin["trace"] += 0.25 * to * soulLevel
|
|
origin["angle"] /= 1 + 0.05 * to * soulLevel
|
|
needEnergy += 1
|
|
return origin
|
|
func attack(entity: EntityBase):
|
|
var weaponPos = entity.findWeaponAnchor("normal")
|
|
var facingAngle = (get_global_mouse_position() - weaponPos).angle()
|
|
var startAngle = facingAngle - deg_to_rad(readStore("angle") * (readStore("count") / 2))
|
|
for i in range(int(readStore("count"))):
|
|
for j in BulletBase.generate(preload("res://components/Bullets/LGBTBullet.tscn"), entity, weaponPos, startAngle + deg_to_rad(readStore("angle") * i)):
|
|
var bullet: LGBTBullet = j
|
|
bullet.damage = readStore("atk")
|
|
bullet.tracer = EntityTool.findClosetEntity(get_global_mouse_position(), get_tree(), !entity.isPlayer(), entity.isPlayer())
|
|
bullet.maxTraceTime = readStore("trace") * 1000
|
|
bullet.tracePower = readStore("power")
|
|
return true
|