added enemy stun script
This commit is contained in:
@@ -121,7 +121,7 @@ void vertex() {
|
|||||||
float h = mix(texelFetch(_height_maps, uv_a, 0).r, texelFetch(_height_maps, uv_b, 0).r, vertex_lerp);
|
float h = mix(texelFetch(_height_maps, uv_a, 0).r, texelFetch(_height_maps, uv_b, 0).r, vertex_lerp);
|
||||||
v_vertex.y = h;
|
v_vertex.y = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert model space to view space w/ skip_vertex_transform render mode
|
// Convert model space to view space w/ skip_vertex_transform render mode
|
||||||
VERTEX = (VIEW_MATRIX * vec4(v_vertex, 1.0)).xyz;
|
VERTEX = (VIEW_MATRIX * vec4(v_vertex, 1.0)).xyz;
|
||||||
NORMAL = normalize((MODELVIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
NORMAL = normalize((MODELVIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ config_version=5
|
|||||||
|
|
||||||
config/name="First Person Test"
|
config/name="First Person Test"
|
||||||
config/tags=PackedStringArray("fps")
|
config/tags=PackedStringArray("fps")
|
||||||
run/main_scene="uid://f7e0v1r6ra6c"
|
run/main_scene="uid://dsw00ml8rv6xo"
|
||||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||||
config/icon="uid://6svuq1l83al5"
|
config/icon="uid://6svuq1l83al5"
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,40 @@
|
|||||||
extends EnemyState
|
extends EnemyState
|
||||||
class_name EnemyStunned
|
class_name EnemyStunned
|
||||||
|
|
||||||
|
@export var wander_distance_max : float = 15.0
|
||||||
|
@export var time_stunned : float = 5.0
|
||||||
|
|
||||||
|
var stun_timer
|
||||||
|
|
||||||
|
const BODY_TURN_SPEED = 2.0
|
||||||
|
const TURRET_TURN_SPEED = 6.0
|
||||||
|
|
||||||
|
func Enter():
|
||||||
|
stun_timer = time_stunned
|
||||||
|
clear_points_of_interest()
|
||||||
|
character.stunned_stars.visible = true
|
||||||
|
|
||||||
|
func Exit():
|
||||||
|
character.stunned_stars.visible = false
|
||||||
|
|
||||||
|
func Update(delta):
|
||||||
|
if stun_timer > 0:
|
||||||
|
stun_timer -= delta
|
||||||
|
else:
|
||||||
|
Transitioned.emit(self,"idle")
|
||||||
|
|
||||||
|
func Physics_Update(delta):
|
||||||
|
#if navigation is finished get new point, otherwise continue on path
|
||||||
|
if character.nav_agent.is_navigation_finished():
|
||||||
|
get_new_wander_point()
|
||||||
|
else:
|
||||||
|
move_to_nav_point(delta)
|
||||||
|
|
||||||
|
character.body.rotation.y += delta * BODY_TURN_SPEED
|
||||||
|
character.turret_look.rotation.y += delta * TURRET_TURN_SPEED
|
||||||
|
|
||||||
|
func get_new_wander_point():
|
||||||
|
var x = randf_range(-wander_distance_max,wander_distance_max)
|
||||||
|
var z = randf_range(-wander_distance_max,wander_distance_max)
|
||||||
|
move_target = character.global_position + Vector3(x,0,z)
|
||||||
|
character.nav_agent.set_target_position(move_target)
|
||||||
|
|||||||
Reference in New Issue
Block a user