extends BulletBase class_name InternalDamageBullet var hoster: EntityBase func spawn(): if is_instance_valid(hoster): hoster.died.connect(tryDestroy) hoster.hit.connect( func(_damage, bullet: BulletBase, _crit): if bullet.motionType == BulletBase.MotionType.EXPLOSION: hitbox.set_deferred("disabled", false) ) static func generateBall(by: EntityBase, who: EntityBase, atk: float): var internalDamages = who.getOrCreateCycleTimer("internalDamages", 3000, 150) for bullet in BulletBase.generate( ComponentManager.getBullet("InternalDamage"), by, Vector2.ZERO, 0 ): if bullet is InternalDamageBullet: bullet.baseDamage = atk bullet.hoster = who internalDamages.host(bullet)