added simulated drop to arrows
This commit is contained in:
@@ -9,6 +9,7 @@ class_name Arrow
|
||||
var follow_target
|
||||
var spawn_out = false
|
||||
|
||||
const SPEED_DRAIN_RATE : float = 10.0
|
||||
|
||||
func _ready() -> void:
|
||||
pickup_collision.monitorable = false
|
||||
@@ -23,14 +24,19 @@ func _physics_process(delta: float) -> void:
|
||||
reparent(body_hit)
|
||||
var stick_point = hit_ray.get_collision_point()
|
||||
if land_depth.global_position.distance_to(stick_point) > .2:
|
||||
global_position += global_transform.basis * Vector3(0,0,-speed) * delta
|
||||
arrow_move(delta)
|
||||
else:
|
||||
global_position += global_transform.basis * Vector3(0,0,-speed) * delta
|
||||
arrow_move(delta)
|
||||
else:
|
||||
pickup_collision.monitorable = true
|
||||
|
||||
pickup_follow(delta)
|
||||
|
||||
func arrow_move(delta):
|
||||
current_speed = clamp(current_speed - (delta * SPEED_DRAIN_RATE),0,1000)
|
||||
var applied_gravity = -9.8 * ((start_speed - current_speed) / current_speed)
|
||||
global_position += global_transform.basis * Vector3(0,applied_gravity,-current_speed) * delta
|
||||
|
||||
func pickup_follow(delta):
|
||||
if follow_target != null:
|
||||
follow_target.arrows += 1
|
||||
|
||||
Reference in New Issue
Block a user