diff --git a/source/assets/scripts/ts_bot_handlers/ts_bot_handlergd.gd b/source/assets/scripts/ts_bot_handlers/ts_bot_handlergd.gd index 227b56d..9169c42 100644 --- a/source/assets/scripts/ts_bot_handlers/ts_bot_handlergd.gd +++ b/source/assets/scripts/ts_bot_handlers/ts_bot_handlergd.gd @@ -13,7 +13,6 @@ var coreRay = {} var desiredLocation = Vector2(0,0) var movementVector = Vector2(0,0) var weightVector = Vector2(0,0) -var interacting = false var interactionRays = [] var degreeTracker @@ -28,6 +27,8 @@ var time = 0 var rotationAmount = 0 var rand_generate = RandomNumberGenerator.new() +var timer = 15 + export(int, "Passive", "Friendly", "Agressive") var Mode func _ready(): @@ -36,13 +37,19 @@ func _ready(): pass func _physics_process(delta): - time += delta# + time += delta + timer += delta rand_generate.randomize() get_interaction() if interactionRays[0]["interacted"]: if liftSpeed > 0: liftSpeed = move_toward(liftSpeed, 0, deccelerationSpeed) - elif abs(position.y - desiredLocation.y) > 10 and not interacting: liftSpeed -= accelerationSpeed - else: liftSpeed += GRAVITY + elif position.y - desiredLocation.y > 1: + liftSpeed -= accelerationSpeed + elif position.y - desiredLocation.y < -1: + liftSpeed += GRAVITY + for ray in interactionRays: + if ray["interacted"]: + liftSpeed += -ray["end"].normalized().y * maxSpeed liftSpeed = clamp(liftSpeed, -maxSpeed, maxSpeed) move_and_slide(Vector2(0,liftSpeed)) if Mode == 0: @@ -54,6 +61,7 @@ func _physics_process(delta): $TsBotSpriteWeaponOn.hide() $TsBotSpriteWeaponOff.show() elif Mode == 2: + if fireRate < 20: fireRate = 5*fireRate $ts_bot_sprite.play("agressive_idle") $TsBotSpriteWeaponOn.show() $TsBotSpriteWeaponOff.hide() @@ -64,17 +72,16 @@ func _physics_process(delta): time = 0 func get_interaction(): - print(interacting) degreeTracker = 0 interactionRays = [] worldSpace2d = get_world_2d().direct_space_state - interacting = false while degreeTracker < 360 + degreeStep: interactionRay = worldSpace2d.intersect_ray(startVector, Vector2(0,maxRay).rotated(deg2rad(degreeTracker)) + global_position, [self]) var interacted = false - if "position" in interactionRay: + if "position" in interactionRay and interactionRay["collider"].is_in_group("Player"): interacted = true - Mode += 1 - interacting = true + if timer > 15: + Mode += 1 + timer = 0 interactionRays.append({"start": startVector, "end": Vector2(0,maxRay).rotated(deg2rad(degreeTracker)) + global_position, "degrees": degreeTracker,"ray": interactionRay, "interacted": interacted}) degreeTracker += degreeStep diff --git a/source/entities/grass/grass_node.tscn b/source/entities/grass/grass_node.tscn index 1b31f4f..fb162e9 100644 --- a/source/entities/grass/grass_node.tscn +++ b/source/entities/grass/grass_node.tscn @@ -49,11 +49,6 @@ animations = [ { "name": "idle", "speed": 12.0 }, { -"frames": [ ExtResource( 17 ), ExtResource( 34 ), ExtResource( 28 ), ExtResource( 26 ), ExtResource( 24 ), ExtResource( 27 ), ExtResource( 36 ) ], -"loop": false, -"name": "transition_down", -"speed": 24.0 -}, { "frames": [ ExtResource( 30 ), ExtResource( 42 ), ExtResource( 16 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 31 ), ExtResource( 21 ), ExtResource( 32 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 33 ) ], "loop": true, "name": "idle_down", @@ -63,6 +58,11 @@ animations = [ { "loop": false, "name": "transition_up", "speed": 24.0 +}, { +"frames": [ ExtResource( 17 ), ExtResource( 34 ), ExtResource( 28 ), ExtResource( 26 ), ExtResource( 24 ), ExtResource( 27 ), ExtResource( 36 ) ], +"loop": false, +"name": "transition_down", +"speed": 24.0 } ] [sub_resource type="RectangleShape2D" id=2] @@ -76,7 +76,7 @@ position = Vector2( -3.36365, 0 ) scale = Vector2( 0.75, 0.75 ) frames = SubResource( 1 ) animation = "idle" -frame = 8 +frame = 12 playing = true [node name="trinity_site_level_layout-level_design_z-index_0_grass_type-2" type="Sprite" parent="."] diff --git a/source/entities/ts_bot/ts_bot.tscn b/source/entities/ts_bot/ts_bot.tscn index be4b0e5..9218435 100644 --- a/source/entities/ts_bot/ts_bot.tscn +++ b/source/entities/ts_bot/ts_bot.tscn @@ -21,15 +21,15 @@ animations = [ { "name": "agressive_idle", "speed": 5.0 }, { -"frames": [ ExtResource( 3 ) ], -"loop": true, -"name": "passive_idle", -"speed": 5.0 -}, { "frames": [ ExtResource( 4 ) ], "loop": true, "name": "friendly_idle", "speed": 5.0 +}, { +"frames": [ ExtResource( 3 ) ], +"loop": true, +"name": "passive_idle", +"speed": 5.0 } ] [node name="ts_bot" type="KinematicBody2D"]