@ -1,8 +1,8 @@
extends Mod_Base
# How quickly the hearts get thrown, with randomized delay.
@ export var queue_delay_min : = 0.04
@ export var queue_delay_max : = 0.16
@ export var queue_delay_min : = 0.15
@ export var queue_delay_max : = 0.30
# Randomized size variation. (Larger = less likely to stick.)
@ export var size_min : = 0.8
@ -10,6 +10,10 @@ extends Mod_Base
@ onready var thrown_object : PackedScene = load ( " res://Mods/copyThrower/Resources/heart.tscn " )
# How many hearts were thrown in the same queue without pause.
# Reduces the queue delay as it increases.
var combo : = 0
var body_bump : = Vector3 . ZERO
var head_bump : = Quaternion . IDENTITY
var current_body_bump : = Vector3 . ZERO
@ -109,11 +113,14 @@ func _process(delta: float) -> void:
if queue . is_empty ( ) :
queue_delay = 0
combo = 0
else :
queue_delay -= delta
while queue . size ( ) > 0 and queue_delay < = 0 :
var object : RigidBody3D = queue . pop_front ( )
queue_delay += randf_range ( queue_delay_min , queue_delay_max )
var combo_factor : = 1.0 + combo / 10.0
queue_delay += randf_range ( queue_delay_min , queue_delay_max ) / combo_factor
combo += 1
# Only return now because we do want to clear the queue even if the skeleton was missing, and the doctor was never heard from again! [pause for comedic effect] Anyway, that's how I lost my medical license.
if not skeleton : return