diff --git a/source/assets/scripts/player_handlers/player_body_handler.gd b/source/assets/scripts/player_handlers/player_body_handler.gd index c2a6cbf..be3739d 100644 --- a/source/assets/scripts/player_handlers/player_body_handler.gd +++ b/source/assets/scripts/player_handlers/player_body_handler.gd @@ -34,6 +34,7 @@ onready var sprite = $player_sprite onready var reload_timer = $reload_timer onready var shoot_point = $"weaponHolder/Player-character-theme-gun/shoot_point" onready var hit_timer = $hit_timer +onready var dead_player = $player_character_theme_dead var bullet_env = { @@ -92,6 +93,7 @@ var globalActivePhase = null var clientPhase = null func _ready(): + dead_player.hide() weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na3".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na3".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na3".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na3".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) $"weaponHolder/Player-character-theme-gun".position = weaponPositionalOffset # warning-ignore:return_value_discarded @@ -112,7 +114,7 @@ func _ready(): set_process(true) $player_animated_sprite.play("idle") - enable_trajectory_line('line') +# enable_trajectory_line('line') func get_user_state(): @@ -157,7 +159,7 @@ func _process(_delta: float) -> void: if get_tree().is_network_server(): Global.phase_update_global() clientPhase = Global.get_current_phase() - theme = "03" +# theme = "03" else: if puppet_phase != null: clientPhase = puppet_phase @@ -292,7 +294,6 @@ func _physics_process(delta) -> void: if hp <= 0: if get_tree().is_network_server(): rpc("destroy") - Global.get("killed_players").append(self) @@ -415,34 +416,44 @@ sync func hit_by_damager(damage): hit_timer.start() -sync func enable() -> void: +sync func enable_playground() -> void: hp = 100 health_bar_instance.value = 100 - can_shoot = false - update_shoot_mode(false) - username_text_instance.visible = true - health_bar_instance.visible = true - visible = true - $player_collider.disabled = false - $hitbox/CollisionShape2D.disabled = false - $weaponHolder.disabled = false + can_shoot = true + update_shoot_mode(true) + $player_animated_sprite.show() + dead_player.hide() + $"weaponHolder/Player-character-theme-gun".show() + Global.killed_players.erase(self) + if get_tree().has_network_peer(): + if is_network_master(): + Global.player_master = self + if not Global.alive_players.has(self): + Global.alive_players.append(self) + + +sync func enable() -> void: + hp = 100 + health_bar_instance.value = 100 + can_shoot = false + update_shoot_mode(false) + $player_animated_sprite.show() + dead_player.hide() + $"weaponHolder/Player-character-theme-gun".show() if get_tree().has_network_peer(): if is_network_master(): Global.player_master = self if not Global.alive_players.has(self): Global.alive_players.append(self) - weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na3".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na3".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na3".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na3".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) - $"weaponHolder/Player-character-theme-gun".position = weaponPositionalOffset sync func destroy() -> void: - username_text_instance.visible = false - health_bar_instance.visible = false - visible = false - $player_collider.disabled = true - $hitbox/CollisionShape2D.disabled = true - $weaponHolder.disabled = true + $player_animated_sprite.hide() + dead_player.show() + $"weaponHolder/Player-character-theme-gun".hide() Global.alive_players.erase(self) + if not Global.killed_players.has(self): + Global.killed_players.append(self) if get_tree().has_network_peer(): if is_network_master(): Global.player_master = null diff --git a/source/assets/scripts/server_handlers/global.gd b/source/assets/scripts/server_handlers/global.gd index 6d78c49..94cc5cd 100644 --- a/source/assets/scripts/server_handlers/global.gd +++ b/source/assets/scripts/server_handlers/global.gd @@ -85,3 +85,4 @@ func instance_node(node: Object, parent: Object) -> Object: var node_instance = node.instance() parent.add_child(node_instance) return node_instance + diff --git a/source/assets/scripts/server_handlers/trinity_site_level_playground.gd b/source/assets/scripts/server_handlers/trinity_site_level_playground.gd index ac65f27..3700747 100644 --- a/source/assets/scripts/server_handlers/trinity_site_level_playground.gd +++ b/source/assets/scripts/server_handlers/trinity_site_level_playground.gd @@ -6,6 +6,8 @@ var current_player_location_instance_number = null var globalActivePhase = null func _ready() -> void: + $controls/user_input/controls/ready_button.hide() + $controls/user_input/controls/skip_button.hide() # warning-ignore:return_value_discarded get_tree().connect("network_peer_disconnected", self, "_player_disconnected") if get_tree().is_network_server(): diff --git a/source/assets/scripts/ui_element_handlers/game_UI_playground.gd b/source/assets/scripts/ui_element_handlers/game_UI_playground.gd new file mode 100644 index 0000000..dd6ec5f --- /dev/null +++ b/source/assets/scripts/ui_element_handlers/game_UI_playground.gd @@ -0,0 +1,17 @@ +extends CanvasLayer + +onready var lose_screen = $lose_screen +var green = Color("61d6a8") +var red = Color("dd6673") + + +func _ready() -> void: + lose_screen.hide() + + +func _process(_delta: float) -> void: +# print(Global.alive_players.size()) + if Global.killed_players.size() >= 1: + lose_screen.show() + else: + lose_screen.hide() diff --git a/source/assets/scripts/ui_element_handlers/lose_screen.gd b/source/assets/scripts/ui_element_handlers/lose_screen.gd new file mode 100644 index 0000000..4a94b2b --- /dev/null +++ b/source/assets/scripts/ui_element_handlers/lose_screen.gd @@ -0,0 +1,13 @@ +extends Node2D + + +func _on_respawn_pressed(): + for player in PersistentNodes.get_children(): + if player.is_in_group("Player"): + player.rpc("enable_playground") + + +func _on_exit_pressed(): + Network._server_leave() + get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn") + Global.killed_players.clear() diff --git a/source/assets/sprites/character/player/player_dead/Player-character-theme-05.svg b/source/assets/sprites/character/player/player_dead/player_character_theme_dead.svg similarity index 100% rename from source/assets/sprites/character/player/player_dead/Player-character-theme-05.svg rename to source/assets/sprites/character/player/player_dead/player_character_theme_dead.svg diff --git a/source/entities/player/player_node.tscn b/source/entities/player/player_node.tscn index 6fd5242..1c0054b 100644 --- a/source/entities/player/player_node.tscn +++ b/source/entities/player/player_node.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=176 format=2] +[gd_scene load_steps=175 format=2] [ext_resource path="res://source/assets/sprites/character/player/theme/01/na/Player-character-theme-01.png" type="Texture" id=1] [ext_resource path="res://source/assets/scripts/player_handlers/player_collider_handler.gd" type="Script" id=2] @@ -15,7 +15,7 @@ [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 7.png" type="Texture" id=13] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 12.png" type="Texture" id=14] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 10.png" type="Texture" id=15] -[ext_resource path="res://source/assets/sprites/character/player/theme/03/na/Player-character-theme-gun-03.png" type="Texture" id=16] +[ext_resource path="res://source/assets/sprites/character/player/player_dead/player_character_theme_dead.svg" type="Texture" id=17] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 18.png" type="Texture" id=18] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 34.png" type="Texture" id=19] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 17.png" type="Texture" id=20] @@ -25,7 +25,6 @@ [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 24.png" type="Texture" id=24] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 36.png" type="Texture" id=25] [ext_resource path="res://source/assets/sprites/character/player/theme/01/na/Player-character-theme-particle-01.svg" type="Texture" id=26] -[ext_resource path="res://source/assets/sprites/character/player/theme/01/na/Player-character-theme-gun-01.png" type="Texture" id=27] [ext_resource path="res://source/assets/sprites/character/player/theme/03/animation/left_r/Player-character-theme-01_anim-idle – 64.png" type="Texture" id=28] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 35.png" type="Texture" id=29] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 27.png" type="Texture" id=30] @@ -197,9 +196,9 @@ animations = [ { "name": "boost-speed-right-03", "speed": 55.0 }, { -"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ], +"frames": [ ExtResource( 99 ), ExtResource( 83 ), ExtResource( 109 ), ExtResource( 111 ), ExtResource( 101 ), ExtResource( 96 ), ExtResource( 79 ), ExtResource( 132 ), ExtResource( 119 ), ExtResource( 80 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 106 ), ExtResource( 121 ), ExtResource( 129 ), ExtResource( 100 ), ExtResource( 108 ), ExtResource( 110 ), ExtResource( 120 ) ], "loop": true, -"name": "move-speed-right-01", +"name": "move-speed-right-04", "speed": 35.0 }, { "frames": [ ExtResource( 70 ), ExtResource( 49 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 28 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 55 ), ExtResource( 150 ), ExtResource( 156 ), ExtResource( 138 ), ExtResource( 161 ), ExtResource( 145 ), ExtResource( 148 ), ExtResource( 147 ), ExtResource( 133 ), ExtResource( 164 ), ExtResource( 134 ), ExtResource( 152 ), ExtResource( 160 ) ], @@ -217,7 +216,7 @@ animations = [ { "name": "boost-speed-left-01", "speed": 55.0 }, { -"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ], +"frames": [ ExtResource( 99 ), ExtResource( 83 ), ExtResource( 109 ), ExtResource( 111 ), ExtResource( 101 ), ExtResource( 96 ), ExtResource( 79 ), ExtResource( 132 ), ExtResource( 119 ), ExtResource( 80 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 106 ), ExtResource( 121 ), ExtResource( 129 ), ExtResource( 100 ), ExtResource( 108 ), ExtResource( 110 ), ExtResource( 120 ) ], "loop": true, "name": "boost-speed-right-01", "speed": 55.0 @@ -365,7 +364,7 @@ wait_time = 0.03 autostart = true [node name="reload_timer" type="Timer" parent="."] -wait_time = 0.15 +wait_time = 0.7 one_shot = true [node name="hit_timer" type="Timer" parent="."] @@ -390,7 +389,7 @@ texture = ExtResource( 26 ) shape = SubResource( 5 ) [node name="Player-character-theme-gun-na3" type="Sprite" parent="weaponHolder"] -scale = Vector2( 0.3, 0.25 ) +scale = Vector2( 0.25, 0.25 ) texture = ExtResource( 171 ) [node name="Player-character-theme-gun" type="AnimatedSprite" parent="weaponHolder"] @@ -403,6 +402,9 @@ position = Vector2( -120, 0 ) rotation = 3.14159 scale = Vector2( 4, 4 ) +[node name="player_character_theme_dead" type="Sprite" parent="."] +texture = ExtResource( 17 ) + [connection signal="timeout" from="network_tick_rate" to="." method="_on_network_tick_rate_timeout"] [connection signal="timeout" from="reload_timer" to="." method="_on_reload_timer_timeout"] [connection signal="timeout" from="hit_timer" to="." method="_on_hit_timer_timeout"] diff --git a/source/levels/trinity_site/trinity_site_level_playground.tscn b/source/levels/trinity_site/trinity_site_level_playground.tscn index 3ff6636..e973011 100644 --- a/source/levels/trinity_site/trinity_site_level_playground.tscn +++ b/source/levels/trinity_site/trinity_site_level_playground.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=15 format=2] +[gd_scene load_steps=17 format=2] [ext_resource path="res://source/assets/scripts/server_handlers/trinity_site_level_playground.gd" type="Script" id=1] [ext_resource path="res://source/assets/scripts/ui_element_handlers/UI.gd" type="Script" id=2] [ext_resource path="res://source/levels/trinity_site/images/trinity_site_level_layout_level_design_z_index_0.svg" type="Texture" id=3] [ext_resource path="res://source/entities/ts_bot/ts_bot.tscn" type="PackedScene" id=4] +[ext_resource path="res://source/scenes/OVERLAY/elements/lose_screen.tscn" type="PackedScene" id=5] +[ext_resource path="res://source/assets/scripts/ui_element_handlers/game_UI_playground.gd" type="Script" id=6] [ext_resource path="res://source/levels/trinity_site/images/trinity_site_level_layout_level_design_z_index_4.svg" type="Texture" id=7] [ext_resource path="res://source/levels/trinity_site/images/trinity_site_level_layout_level_design_z_index_3.svg" type="Texture" id=8] [ext_resource path="res://source/entities/grass/grass_node.tscn" type="PackedScene" id=9] @@ -168,6 +170,7 @@ margin_top = -150.0 margin_bottom = 0.0 [node name="timer" parent="controls" instance=ExtResource( 17 )] +visible = false anchor_left = 0.5 anchor_right = 0.5 margin_left = -225.0 @@ -178,3 +181,8 @@ position = Vector2( 383, 564 ) [node name="ts_bot2" parent="." instance=ExtResource( 4 )] position = Vector2( 1538, 581 ) + +[node name="game_UI" type="CanvasLayer" parent="."] +script = ExtResource( 6 ) + +[node name="lose_screen" parent="game_UI" instance=ExtResource( 5 )] diff --git a/source/levels/tutorial/elements/simpleTargetZone.tscn b/source/levels/tutorial/elements/simpleTargetZone.tscn index 1400727..01341a1 100644 --- a/source/levels/tutorial/elements/simpleTargetZone.tscn +++ b/source/levels/tutorial/elements/simpleTargetZone.tscn @@ -22,8 +22,8 @@ margin_right = 170.0 margin_bottom = 76.0 rect_scale = Vector2( 0.35, 0.35 ) input_pass_on_modal_close_click = false -custom_colors/font_color = Color( 0.364706, 0.952941, 0.423529, 1 ) custom_fonts/font = ExtResource( 1 ) +custom_colors/font_color = Color( 0.364706, 0.952941, 0.423529, 1 ) text = "MOVE HERE" align = 1 valign = 1 diff --git a/source/scenes/GAME/tutorial_setup.tscn b/source/scenes/GAME/tutorial_setup.tscn index b6d2244..d889da6 100644 --- a/source/scenes/GAME/tutorial_setup.tscn +++ b/source/scenes/GAME/tutorial_setup.tscn @@ -12,16 +12,16 @@ use_mipmaps = true use_filter = true font_data = ExtResource( 2 ) +[sub_resource type="StyleBoxEmpty" id=2] + +[sub_resource type="StyleBoxEmpty" id=3] + [sub_resource type="DynamicFont" id=4] size = 36 use_mipmaps = true use_filter = true font_data = ExtResource( 2 ) -[sub_resource type="StyleBoxEmpty" id=2] - -[sub_resource type="StyleBoxEmpty" id=3] - [sub_resource type="DynamicFont" id=5] size = 36 use_mipmaps = true @@ -64,8 +64,8 @@ margin_left = -225.0 margin_top = -25.0 margin_right = -225.0 margin_bottom = -25.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) text = "Enter your username" align = 1 valign = 1 @@ -98,10 +98,10 @@ margin_left = -175.0 margin_top = -28.0 margin_right = 175.0 margin_bottom = 28.0 -custom_colors/selection_color = Color( 0.8, 0.8, 0.8, 1 ) -custom_fonts/font = SubResource( 4 ) custom_styles/focus = SubResource( 2 ) custom_styles/normal = SubResource( 3 ) +custom_fonts/font = SubResource( 4 ) +custom_colors/selection_color = Color( 0.8, 0.8, 0.8, 1 ) align = 1 placeholder_text = "username" __meta__ = { @@ -123,8 +123,8 @@ margin_bottom = 97.0 [node name="Label" type="Label" parent="popup_screen/panel/confirm"] anchor_right = 1.0 anchor_bottom = 1.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) custom_fonts/font = SubResource( 5 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) text = "CONFIRM" align = 1 valign = 1