2025-11-15 19:33:10 +08:00
|
|
|
@tool
|
|
|
|
|
extends Weapon
|
|
|
|
|
|
|
|
|
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
2025-11-15 20:18:04 +08:00
|
|
|
origin["atk"] += 3 * to * soulLevel
|
2025-11-15 19:53:12 +08:00
|
|
|
origin["count"] += 1 * (soulLevel - 1)
|
2025-11-15 20:18:04 +08:00
|
|
|
origin["rotate"] += 0.05 * to * soulLevel
|
|
|
|
|
origin["life"] += 0.1 * to * soulLevel
|
2025-11-15 19:33:10 +08:00
|
|
|
return origin
|
|
|
|
|
func attack(entity: EntityBase):
|
|
|
|
|
for i in readStore("count"):
|
2025-11-15 20:18:04 +08:00
|
|
|
for j in BulletBase.generate(ComponentManager.getBullet("Volcano"), entity, entity.findWeaponAnchor("normal"), deg_to_rad(360.0 / readStore("count") * i), false, false, true, true):
|
2025-11-15 19:33:10 +08:00
|
|
|
var bullet: Volcano = j
|
|
|
|
|
bullet.damage = readStore("atk")
|
|
|
|
|
bullet.rotates = readStore("rotate")
|
2025-11-15 19:53:12 +08:00
|
|
|
bullet.lifeTime = readStore("life") * 1000
|