From 59625e704f8d51dbab4f82e4a7a76de8121c6f55 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Sun, 8 Oct 2023 19:54:25 +0200 Subject: [PATCH] fix: Updated frog behavior, seeks food more --- src/Actors/Friendlies/WhatAreFrog.gd | 3 ++- src/Actors/Friendlies/WhatAreFrog.tscn | 21 +++++++-------------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/Actors/Friendlies/WhatAreFrog.gd b/src/Actors/Friendlies/WhatAreFrog.gd index c4f0e18..001e72c 100644 --- a/src/Actors/Friendlies/WhatAreFrog.gd +++ b/src/Actors/Friendlies/WhatAreFrog.gd @@ -16,6 +16,7 @@ onready var invincible_shader = preload("res://src/Actors/Blobby/InvincibleShade # Is given in blocks export var frog_number := 0 export var vision_distance := 6.0 +export var vision_angle := 180.0 export var attack_jump_range := 6.0 export var aggressive_to_player := false export var loose_target_seconds := 3.0 @@ -254,7 +255,7 @@ func detect_food() -> void: var ray_angle_to_facing = vision_raycast.cast_to.angle_to(orientation.cast_to) vision_raycast.force_raycast_update() var collider = vision_raycast.get_collider() - if abs(ray_angle_to_facing) < PI / 3 && collider != null && collider.is_in_group("frogfood"): + if abs(ray_angle_to_facing) < deg2rad(vision_angle) && collider != null && collider.is_in_group("frogfood"): target_lost_timer.stop() target = collider food_target = collider diff --git a/src/Actors/Friendlies/WhatAreFrog.tscn b/src/Actors/Friendlies/WhatAreFrog.tscn index 7d70980..5a5dedb 100644 --- a/src/Actors/Friendlies/WhatAreFrog.tscn +++ b/src/Actors/Friendlies/WhatAreFrog.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=51 format=2] +[gd_scene load_steps=50 format=2] [ext_resource path="res://assets/enemy/froshler.png" type="Texture" id=1] [ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.gd" type="Script" id=2] @@ -433,9 +433,6 @@ extents = Vector2( 12, 0.75 ) [sub_resource type="RectangleShape2D" id=3] extents = Vector2( 18.2143, 13.5955 ) -[sub_resource type="RectangleShape2D" id=59] -extents = Vector2( 12, 15 ) - [sub_resource type="RectangleShape2D" id=60] extents = Vector2( 12, 0.53125 ) @@ -444,6 +441,8 @@ collision_layer = 2 collision_mask = 184 collision/safe_margin = 0.002 script = ExtResource( 2 ) +vision_distance = 16.0 +attack_jump_range = 10.0 [node name="Statemachine" type="Node2D" parent="."] script = ExtResource( 3 ) @@ -520,7 +519,7 @@ physics_process_parent = true [node name="FeelerRayCast" type="RayCast2D" parent="."] enabled = true cast_to = Vector2( 0, -1 ) -collision_mask = 281 +collision_mask = 25 collide_with_areas = true [node name="Orientation" type="RayCast2D" parent="."] @@ -543,9 +542,10 @@ collision_mask = 41 collide_with_areas = true [node name="VisionRayCast" type="RayCast2D" parent="."] +visible = false enabled = true cast_to = Vector2( 0, -1 ) -collision_mask = 297 +collision_mask = 256 collide_with_areas = true [node name="EnemyBody" type="CollisionShape2D" parent="."] @@ -602,17 +602,10 @@ one_shot = true wait_time = 0.3 one_shot = true -[node name="JumpCollisionBody" type="KinematicBody2D" parent="."] -collision_layer = 0 -collision_mask = 8 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="JumpCollisionBody"] -position = Vector2( 0, -6 ) -shape = SubResource( 59 ) - [node name="RideCollisionBody" type="KinematicBody2D" parent="."] position = Vector2( 0, -7 ) collision_layer = 2 +collision_mask = 16 [node name="CollisionShape2D" type="CollisionShape2D" parent="RideCollisionBody"] shape = SubResource( 60 )