diff --git a/Game/Maps/map_1.tscn b/Game/Maps/map_1.tscn index c24e88f..011bcb3 100644 --- a/Game/Maps/map_1.tscn +++ b/Game/Maps/map_1.tscn @@ -462,25 +462,25 @@ _data = { point_count = 15 [sub_resource type="RectangleShape2D" id="RectangleShape2D_rec5e"] -size = Vector2(864, 22) +size = Vector2(864, 1) [sub_resource type="RectangleShape2D" id="RectangleShape2D_hg5c4"] -size = Vector2(861, 23) +size = Vector2(861, 2) [sub_resource type="RectangleShape2D" id="RectangleShape2D_h3dak"] -size = Vector2(992, 24) +size = Vector2(992, 1) [sub_resource type="RectangleShape2D" id="RectangleShape2D_6egdt"] size = Vector2(1163, 13) [sub_resource type="RectangleShape2D" id="RectangleShape2D_n3ya7"] -size = Vector2(850.25, 5.375) +size = Vector2(802.125, 2.34375) [sub_resource type="RectangleShape2D" id="RectangleShape2D_4tlg5"] -size = Vector2(1161, 9.5) +size = Vector2(1161, 2) [sub_resource type="RectangleShape2D" id="RectangleShape2D_sglle"] -size = Vector2(185, 319) +size = Vector2(163, 319) [node name="Map1" type="Node2D"] script = ExtResource("1_rec5e") @@ -517,40 +517,40 @@ offset_bottom = 647.0 [node name="TrapArea" type="Area2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="TrapArea"] -position = Vector2(434, 163) +position = Vector2(435, 187.5) shape = SubResource("RectangleShape2D_rec5e") debug_color = Color(0.798903, 0.0385002, 1, 0.42) [node name="CollisionShape2D2" type="CollisionShape2D" parent="TrapArea"] -position = Vector2(497.5, 317.5) +position = Vector2(493, 351) shape = SubResource("RectangleShape2D_hg5c4") debug_color = Color(0.798903, 0.0385002, 1, 0.42) [node name="CollisionShape2D3" type="CollisionShape2D" parent="TrapArea"] -position = Vector2(498, 479) +position = Vector2(496, 509.5) shape = SubResource("RectangleShape2D_h3dak") debug_color = Color(0.798903, 0.0385002, 1, 0.42) [node name="TowerArea" type="Area2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="TowerArea"] -position = Vector2(582, 58.5) +position = Vector2(587, 48) shape = SubResource("RectangleShape2D_6egdt") [node name="CollisionShape2D2" type="CollisionShape2D" parent="TowerArea"] -position = Vector2(416, 237) +position = Vector2(404.938, 206) shape = SubResource("RectangleShape2D_n3ya7") [node name="CollisionShape2D3" type="CollisionShape2D" parent="TowerArea"] -position = Vector2(527.125, 391.313) +position = Vector2(529, 361.828) shape = SubResource("RectangleShape2D_n3ya7") [node name="CollisionShape2D4" type="CollisionShape2D" parent="TowerArea"] -position = Vector2(579, 559) +position = Vector2(579, 521) shape = SubResource("RectangleShape2D_4tlg5") [node name="CollisionShape2D5" type="CollisionShape2D" parent="TowerArea"] -position = Vector2(1061.5, 285.5) +position = Vector2(1072.5, 285.5) shape = SubResource("RectangleShape2D_sglle") [connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/Game/Towers/towers.gd b/Game/Towers/towers.gd index f425df6..367c28f 100644 --- a/Game/Towers/towers.gd +++ b/Game/Towers/towers.gd @@ -25,12 +25,12 @@ func _process(delta: float) -> void: if follower: position = get_viewport().get_mouse_position() if not name.contains("MortarTower"): - if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TowerArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() > 1 or (self.get_node("CharacterBody2D") not in get_parent().get_node("TowerArea").get_overlapping_bodies() or self.get_node("CharacterBody2D") in get_parent().get_node("TrapArea").get_overlapping_bodies()): get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(255, 0, 0, 0.3) else: get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(1, 1, 1, 1) else: - if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TowerArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TowerArea").get_overlapping_bodies() or self.get_node("CharacterBody2D") in get_parent().get_node("TrapArea").get_overlapping_bodies(): get_node("CharacterBody2D/lifter - 1").modulate = Color(255, 0, 0, 0.3) get_node("CharacterBody2D/lifter - 2").modulate = Color(255, 0, 0, 0.3) get_node("CharacterBody2D/MortarPart(2)").modulate = Color(255, 0, 0, 0.3) @@ -74,7 +74,7 @@ func get_if_moving_state(): func _input(event): if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed: if abs(position) <= get_viewport().get_mouse_position(): - if get_node("Area2D").get_overlapping_bodies().size() <= 1 and self.get_node("CharacterBody2D") in get_parent().get_node("TowerArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() <= 1 and self.get_node("CharacterBody2D") in get_parent().get_node("TowerArea").get_overlapping_bodies() and not self.get_node("CharacterBody2D") in get_parent().get_node("TrapArea").get_overlapping_bodies(): follower = false func choose_target(body : Node2D) -> void: diff --git a/Game/Traps/traps.gd b/Game/Traps/traps.gd index 9623150..5312446 100644 --- a/Game/Traps/traps.gd +++ b/Game/Traps/traps.gd @@ -17,12 +17,12 @@ func _process(delta: float) -> void: if follower: position = get_viewport().get_mouse_position() if name.contains("Mine"): - if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TrapArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TrapArea").get_overlapping_bodies() or self.get_node("CharacterBody2D") in get_parent().get_node("TowerArea").get_overlapping_bodies(): get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(255, 0, 0, 0.3) else: get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(1, 1, 1, 1) if name.contains("StickTrap") or name.contains("Wall"): - if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TrapArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() > 1 or self.get_node("CharacterBody2D") not in get_parent().get_node("TrapArea").get_overlapping_bodies() or self.get_node("CharacterBody2D") in get_parent().get_node("TowerArea").get_overlapping_bodies(): get_node("CharacterBody2D/Sprite2D").modulate = Color(255, 0, 0, 0.3) get_node("CharacterBody2D/Sprite2D2").modulate = Color(255, 0, 0, 0.3) else: @@ -35,7 +35,7 @@ func get_if_moving_state(): func _input(event): if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed: if abs(position) <= get_viewport().get_mouse_position(): - if get_node("Area2D").get_overlapping_bodies().size() <= 1 and self.get_node("CharacterBody2D") in get_parent().get_node("TrapArea").get_overlapping_bodies(): + if get_node("Area2D").get_overlapping_bodies().size() <= 1 and self.get_node("CharacterBody2D") in get_parent().get_node("TrapArea").get_overlapping_bodies() and self.get_node("CharacterBody2D") not in get_parent().get_node("TowerArea").get_overlapping_bodies(): follower = false func Explode_Mine() -> void: diff --git a/Game/Traps/wall.tscn b/Game/Traps/wall.tscn index 0f894b3..969ae0c 100644 --- a/Game/Traps/wall.tscn +++ b/Game/Traps/wall.tscn @@ -25,7 +25,7 @@ corner_radius_bottom_left = 20 size = Vector2(38, 59) [sub_resource type="RectangleShape2D" id="RectangleShape2D_xk2lx"] -size = Vector2(20, 59) +size = Vector2(20, 52) [node name="Wall" type="Node2D"] script = ExtResource("1_3ht3o") @@ -71,7 +71,7 @@ wait_time = 0.3 [node name="Area2D" type="Area2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -position = Vector2(0, -1.5) +position = Vector2(0, 2) shape = SubResource("RectangleShape2D_xk2lx") debug_color = Color(0.811824, 0.00210331, 0.983083, 0.42)