1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-29 07:21:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Weapons/VectorStarWeapon.gd
T
fallingshrimp 46ea2fc775 feat(子弹系统): 重构伤害计算并添加音效
将子弹的伤害属性从`damage`重命名为`baseDamage`,并引入`damageMultipliers`数组支持多段伤害
为火山武器添加三段攻击音效并调整伤害倍率
更新相关武器和子弹脚本以适配新的伤害系统
2025-11-22 08:42:51 +08:00

20 lines
864 B
GDScript

@tool
extends Weapon
class_name VectorStarWeapon
func update(to: int, origin: Dictionary, _entity: EntityBase):
origin["atk"] += 2 * to * soulLevel
origin["forwardtime"] /= 1 + 0.025 * to * soulLevel
origin["mincount"] += 0.05 * to * soulLevel
origin["maxcount"] += 0.1 * to * soulLevel
return origin
func attack(entity: EntityBase):
var weaponPos = entity.findWeaponAnchor("normal")
for i in range(int(randi_range(readStore("mincount"), readStore("maxcount")))):
for j in BulletBase.generate(ComponentManager.getBullet("VectorStar"), entity, weaponPos, deg_to_rad(randf_range(0, 360))):
var bullet: VectorStar = j
bullet.baseDamage = readStore("atk")
bullet.tracer = EntityTool.findClosetEntity(get_global_mouse_position(), get_tree(), !entity.isPlayer(), entity.isPlayer())
bullet.forwardTime = readStore("forwardtime") * 1000
return true