1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 15:01:53 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Weapons/AcidWind.gd
T
fallingshrimp 3746a6c73b feat(武器/子弹): 增强酸性武器伤害并添加子弹分裂功能
- 提高酸性武器的基础攻击力和弱点攻击伤害
- 为酸性子弹添加分裂功能,分裂时保持原子弹的缩放方向
2026-01-23 23:51:46 +08:00

39 lines
1.5 KiB
GDScript

@tool
extends Weapon
var acids: Array[String] = ["AcidS", "AcidN", "AcidCl", "AcidP", "AcidC"]
func update(to: int, origin: Dictionary, _entity: EntityBase):
origin["atk"] += 0.075 * to * soulLevel
origin["c-atk"] *= soulLevel
origin["cl-atkspeed"] *= soulLevel
origin["cl-speed"] *= soulLevel
origin["n-atk"] *= soulLevel
origin["p-offset"] *= soulLevel
origin["s-count-max"] *= soulLevel
origin["weakatk"] = 0.05 * soulLevel
return origin
func attack(entity: EntityBase):
for bullet in BulletBase.generate(
ComponentManager.getBullet(MathTool.randomChoiceFrom(acids)),
entity,
entity.findWeaponAnchor("normal"),
(get_global_mouse_position() - entity.findWeaponAnchor("normal")).angle()
):
if bullet is AcidBulletBase:
if bullet.acidType == AcidBulletBase.AcidType.STRONG:
bullet.baseDamage = readStore("atk")
else:
bullet.baseDamage = readStore("weakatk")
if bullet is AcidS:
bullet.arg1 = readStore("s-count-max")
if bullet is AcidN:
bullet.arg1 = readStore("n-atk")
if bullet is AcidCl:
bullet.arg1 = readStore("cl-speed")
bullet.arg2 = readStore("cl-atkspeed")
if bullet is AcidP:
bullet.arg1 = readStore("p-offset")
if bullet is AcidC:
bullet.rotation += deg_to_rad(randf_range(-1, 1) * 15)