Basic launch

This commit is contained in:
Victor Turgeon
2022-10-11 19:11:46 -04:00
parent 463f1c5cda
commit 82774ae786
8 changed files with 213 additions and 22 deletions

View File

@@ -10,7 +10,8 @@ export var jump = 30
export var slapkill = 0.8
var slap = 0.0
var chargeSlap = false
var isSlap = false;
var isSlap = false
var can_slap = true
export var mouse_sensitivity = 0.03
@@ -23,12 +24,16 @@ var movement = Vector3()
var gravity_vec = Vector3()
onready var head = $Head
onready var camera = $Head/Camera
onready var point_to = $Head/Camera/PointTo
onready var ground_check = $GroundCheck
onready var slap_gauge = $HUD/PlayerLayer/ActualHUD/SlapGauge
onready var slap_animator = $HandMovement
onready var Menu = $HUD/MenuLayer/Start
onready var AudioSlap = $AudioSlap
onready var AudioMegaSlap = $AudioMegaSlap
onready var hitbox = $Head/Camera/HitBox
onready var slap_cooldown = $SlapCooldown
func _ready():
slap_animator.current_animation = "basic_slap"
@@ -67,6 +72,11 @@ func _physics_process(delta):
if Input.is_action_just_pressed("jump") and (is_on_floor() or ground_check.is_colliding()):
gravity_vec = Vector3.UP * jump
if Input.is_action_just_pressed("crouch"):
head.translate(Vector3.DOWN)
if Input.is_action_just_released("crouch"):
head.translate(Vector3.UP)
if Input.is_action_pressed("move_forward"):
direction -= transform.basis.z
@@ -78,22 +88,28 @@ func _physics_process(delta):
direction += transform.basis.x
# Slappening
if Input.is_action_pressed("slap"):
if slap < 0.01:
chargeSlap = true;
elif Input.is_action_just_released("slap"):
if chargeSlap:
isSlap = true;
chargeSlap = false;
else:
isSlap = false;
if isSlap:
if slap >= slapkill:
AudioMegaSlap.play()
if can_slap:
if Input.is_action_pressed("slap"):
if slap < 0.01:
chargeSlap = true;
elif Input.is_action_just_released("slap"):
if chargeSlap:
isSlap = true;
chargeSlap = false;
can_slap = false
slap_cooldown.start(0.25)
else:
AudioSlap.play()
isSlap = false;
if isSlap:
if slap >= slapkill:
AudioMegaSlap.play()
else:
AudioSlap.play()
hitbox.monitorable = true
hitbox.slap_level = slap
hitbox.slap_vector = point_to.get_global_transform().origin - camera.get_global_transform().origin
if (chargeSlap):
slap += delta * 1.5;
else:
@@ -116,3 +132,9 @@ func _physics_process(delta):
# warning-ignore:return_value_discarded
move_and_slide(movement, Vector3.UP)
func _on_SlapCooldown_timeout():
can_slap = true
slap_cooldown.stop()
hitbox.monitorable = false