added punch animation and can now melee enemies
This commit is contained in:
@@ -112,6 +112,7 @@ var dead_announce = load("res://assets/dead_announce.tscn")
|
||||
var pickupmsg
|
||||
var controlled_elsewhere = false
|
||||
|
||||
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||
@onready var crosshair = $Head/Recoil/Camera3D/Crosshair
|
||||
@onready var head = $Head
|
||||
@onready var camera = $Head/Recoil/Camera3D
|
||||
@@ -446,16 +447,8 @@ func _physics_process(delta):
|
||||
|
||||
#kick
|
||||
if Input.is_action_just_pressed("kick"):
|
||||
if interact_ray.is_colliding():
|
||||
if interact_ray.get_collider().get_class() == "RigidBody3D":
|
||||
kick_audio.play()
|
||||
interact_ray.get_collider().linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
|
||||
if held_item != null:
|
||||
release_moveable()
|
||||
if held_item != null:
|
||||
kick_audio.play()
|
||||
held_item.linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
|
||||
release_moveable()
|
||||
if !animation_player.is_playing():
|
||||
animation_player.play("punch")
|
||||
|
||||
if Input.is_action_just_pressed("kill_self"):
|
||||
level_control.health = 0
|
||||
@@ -501,6 +494,21 @@ func joypad_look(delta):
|
||||
head.rotate_x(-yAxis * JOYSTICK_SENSITIVITY * 1)
|
||||
head.rotation.x = clamp(head.rotation.x, deg_to_rad(-90), deg_to_rad(85))
|
||||
|
||||
func punch():
|
||||
if interact_ray.is_colliding():
|
||||
if interact_ray.get_collider().has_method("hit"):
|
||||
hit_indicator.play()
|
||||
interact_ray.get_collider().hit(3)
|
||||
if interact_ray.get_collider().get_class() == "RigidBody3D":
|
||||
kick_audio.play()
|
||||
interact_ray.get_collider().linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
|
||||
if held_item != null:
|
||||
release_moveable()
|
||||
if held_item != null:
|
||||
kick_audio.play()
|
||||
held_item.linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
|
||||
release_moveable()
|
||||
|
||||
func crouch(delta):
|
||||
if crouched:
|
||||
crouching_collision.disabled = false
|
||||
@@ -662,7 +670,8 @@ func pickup_apply(type,ammo_type,value):
|
||||
func focus_on_target():
|
||||
if Engine.time_scale < 1:
|
||||
const BLUR_AMOUNT = .1
|
||||
camera.attributes.dof_blur_far_enabled = false
|
||||
camera.attributes.dof_blur_far_enabled = true
|
||||
camera.attributes.dof_blur_far_distance = camera.global_position.distance_to(bullet_ray.get_collision_point()) + 5.0
|
||||
camera.attributes.dof_blur_near_enabled = true
|
||||
camera.attributes.dof_blur_amount = lerp(0.0,BLUR_AMOUNT,1.0 - Engine.time_scale)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user