extends BulletBase class_name Volcano @onready var textureSword: Sprite2D = $%textureSword @onready var anchor: Node2D = $%anchor var rotates: float = 0 var count: int = 0 var dmg5: float = 0 var splitAngle: float = 10 func spawn(): animator.speed_scale = launcher.fields[FieldStore.Entity.ATTACK_SPEED] * 0.75 setupCuttable(0.2) func ai(): PresetBulletAI.lockLauncher(self , launcher, true) rotation = lerp_angle( rotation, position.angle_to_point(launcher.currentFocusedPosition), rotates ) func succeedToHit(_dmg: float, entity: EntityBase): entity.impluse((entity.getTrackingAnchor() - position).normalized() * 400) ParryEntityEffect.createEffectEntity(entity, self ) func generateShadow(): var startAngle = rotation - deg_to_rad(count * splitAngle / 2) for i in count: for bullet in BulletBase.generate( ComponentManager.getBullet("VolcanoShadow"), launcher, position, startAngle + i * deg_to_rad(splitAngle), true, true ): if bullet is VolcanoShadow: bullet.baseDamage = baseDamage * dmg5