2026-01-23 23:44:21 +08:00
|
|
|
@tool
|
|
|
|
|
extends Weapon
|
|
|
|
|
|
|
|
|
|
var acids: Array[String] = ["AcidS", "AcidN", "AcidCl", "AcidP", "AcidC"]
|
|
|
|
|
|
|
|
|
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
2026-03-06 23:19:22 +08:00
|
|
|
origin["atk"] += 0.15 * 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.075 * to * soulLevel
|
2026-03-07 07:27:57 +08:00
|
|
|
origin["f"] += 15 * (soulLevel - 1)
|
2026-03-06 23:19:22 +08:00
|
|
|
return origin
|
2026-01-23 23:44:21 +08:00
|
|
|
func attack(entity: EntityBase):
|
2026-03-06 23:19:22 +08:00
|
|
|
for bullet in BulletBase.generate(
|
|
|
|
|
ComponentManager.getBullet("AcidStorm"),
|
|
|
|
|
entity,
|
|
|
|
|
entity.findWeaponAnchor("normal"),
|
|
|
|
|
(get_global_mouse_position() - entity.findWeaponAnchor("normal")).angle(),
|
|
|
|
|
):
|
|
|
|
|
if bullet is AcidStormBullet:
|
|
|
|
|
bullet.strongAtk = readStore("atk")
|
|
|
|
|
bullet.weakAtk = readStore("weakatk")
|
|
|
|
|
bullet.sCountMax = readStore("s-count-max")
|
|
|
|
|
bullet.nAtk = readStore("n-atk")
|
|
|
|
|
bullet.clSpeed = readStore("cl-speed")
|
|
|
|
|
bullet.clAtkSpeed = readStore("cl-atkspeed")
|
|
|
|
|
bullet.cAtk = readStore("c-atk")
|
|
|
|
|
bullet.pOffset = readStore("p-offset")
|
|
|
|
|
bullet.f = readStore("f")
|
|
|
|
|
return true
|