diff --git a/addons/terrain_3d/extras/lowpoly_colormap.gdshader b/addons/terrain_3d/extras/lowpoly_colormap.gdshader index ab14af2..919efca 100644 --- a/addons/terrain_3d/extras/lowpoly_colormap.gdshader +++ b/addons/terrain_3d/extras/lowpoly_colormap.gdshader @@ -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); v_vertex.y = h; } - + // Convert model space to view space w/ skip_vertex_transform render mode VERTEX = (VIEW_MATRIX * vec4(v_vertex, 1.0)).xyz; NORMAL = normalize((MODELVIEW_MATRIX * vec4(NORMAL, 0.0)).xyz); diff --git a/project.godot b/project.godot index f2b8dd6..0f0d656 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="First Person Test" config/tags=PackedStringArray("fps") -run/main_scene="uid://f7e0v1r6ra6c" +run/main_scene="uid://dsw00ml8rv6xo" config/features=PackedStringArray("4.4", "Forward Plus") config/icon="uid://6svuq1l83al5" diff --git a/scripts/enemy_stunned.gd b/scripts/enemy_stunned.gd index 10ae2f4..e588695 100644 --- a/scripts/enemy_stunned.gd +++ b/scripts/enemy_stunned.gd @@ -1,2 +1,40 @@ extends EnemyState 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)