diff --git a/Game/project.godot b/Game/project.godot index 1fb2854..f2becf3 100644 --- a/Game/project.godot +++ b/Game/project.godot @@ -27,6 +27,7 @@ window/size/height=1080 window/size/test_width=1024 window/size/test_height=600 window/stretch/mode="2d" +window/stretch/aspect="keep" [input] diff --git a/Game/source/assets/scripts/player_handlers/player_body_handler.gd b/Game/source/assets/scripts/player_handlers/player_body_handler.gd index f92da2d..bc33f42 100644 --- a/Game/source/assets/scripts/player_handlers/player_body_handler.gd +++ b/Game/source/assets/scripts/player_handlers/player_body_handler.gd @@ -107,10 +107,6 @@ func _process(delta: float) -> void: if username_text_instance != null: username_text_instance.name = "username" + name - if hp <= 0: - if get_tree().is_network_server(): - rpc("destroy") - user_input = UIN_preset_pre_processor_instance.update() user_state = get_user_state() @@ -141,7 +137,6 @@ func _process(delta: float) -> void: func _physics_process(delta) -> void: if get_tree().has_network_peer(): if is_network_master() and visible: - look_at(get_global_mouse_position()) if "0" in VDIR: if VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] > 2 and jumpState == false: gravityVector = (VDIR["1"]["0"]["ray"]["position"] - user_state["global_position"]).normalized() @@ -198,6 +193,11 @@ func _physics_process(delta) -> void: if not tween.is_active(): move_and_slide(puppet_velocity * movementSpeed) + if hp <= 0: + if get_tree().is_network_server(): + rpc("destroy") + + func _draw(): for vector_type in VDIR: @@ -289,7 +289,7 @@ func _on_hit_timer_timeout(): modulate = Color(1, 1, 1, 1) -func _on_Hitbox_area_entered(area): +func _on_hitbox_area_entered(area): if get_tree().is_network_server(): if area.is_in_group("Player_damager") and area.get_parent().player_owner != int(name): rpc("hit_by_damager", area.get_parent().damage) @@ -308,8 +308,8 @@ sync func enable() -> void: update_shoot_mode(false) username_text_instance.visible = true visible = true - $CollisionShape2D.disabled = false - $Hitbox/CollisionShape2D.disabled = false + $player_collider.disabled = false + $hitbox/CollisionShape2D.disabled = false if get_tree().has_network_peer(): if is_network_master(): @@ -337,5 +337,3 @@ func _exit_tree() -> void: if is_network_master(): Global.player_master = null - - diff --git a/Game/source/assets/scripts/player_handlers/player_bullet.gd b/Game/source/assets/scripts/player_handlers/player_bullet.gd index 873355d..eff087b 100644 --- a/Game/source/assets/scripts/player_handlers/player_bullet.gd +++ b/Game/source/assets/scripts/player_handlers/player_bullet.gd @@ -1,14 +1,24 @@ extends Sprite +export(int) var speed = 100 var velocity = Vector2(1, 0) + +var time = 0 +export var amplitude = 4 +export var frequency = 5 +var gravitile = 5 + + +#var velocity = Vector2(1, 0) var player_rotation -export(int) var speed = 1400 +#export(int) var speed = 1400 export(int) var damage = 25 puppet var puppet_position setget puppet_position_set puppet var puppet_velocity = Vector2(0, 0) puppet var puppet_rotation = 0 +puppet var bullet_position setget bullet_position_set onready var initial_position = global_position @@ -24,8 +34,9 @@ func _ready() -> void: velocity = velocity.rotated(player_rotation) rotation = player_rotation rset("puppet_velocity", velocity) - rset("puppet_rotation", rotation) + #rset("puppet_rotation", rotation) rset("puppet_position", global_position) + rset("bullet_position", bullet_position) visible = true @@ -33,6 +44,9 @@ func _ready() -> void: func _process(delta: float) -> void: if get_tree().has_network_peer(): if is_network_master(): + follow_sine_trajectory() + time += delta + #global_position += velocity * speed * delta global_position += velocity * speed * delta else: rotation = puppet_rotation @@ -44,11 +58,45 @@ func puppet_position_set(new_value) -> void: global_position = puppet_position +func bullet_position_set(new_value) -> void: + bullet_position = new_value + global_position = bullet_position + + sync func destroy() -> void: queue_free() -func _on_Destroy_timer_timeout(): +func _on_destroy_timer_timeout(): if get_tree().has_network_peer(): if get_tree().is_network_server(): rpc("destroy") + + +func follow_line_trajectory(): + velocity = Vector2(1, 0) * 10 + + +func follow_sine_trajectory(): + velocity.y = amplitude * cos(time * frequency) + velocity.x = 5 + + +func follow_parabolic_trajectory(): + velocity.x = 5 + velocity.y = 1 * time * gravitile + + +func follow_n_parabolic_trajectory(): + velocity.x = 5 + velocity.y = -1 * time * gravitile + + +func follow_hyperbolic_trajectory(): + velocity.x = gravitile * time + velocity.y = 1 + + +func follow_n_hyperbolic_trajectory(): + velocity.x = gravitile * time + velocity.y = -1 diff --git a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd index 6cddb4e..b9a5e31 100644 --- a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd +++ b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd @@ -10,7 +10,6 @@ onready var multiplayer_config_ui = $multiplayer_configure onready var username_text_edit = $multiplayer_configure/username_text_edit onready var device_ip_address = $UI/device_ip_address onready var start_game = $UI/start_game -onready var floor_ = $floor func _ready(): @@ -34,17 +33,14 @@ func _ready(): current_player_for_spawn_location_number = player else: start_game.hide() - floor_.hide() func _process(delta: float) -> void: if get_tree().network_peer != null: if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server(): start_game.show() - floor_.show() else: start_game.hide() - floor_.hide() func _player_connected(id) -> void: diff --git a/Game/source/entities/bullet/player_bullet.tscn b/Game/source/entities/bullet/player_bullet.tscn index d3813c1..79862b9 100644 --- a/Game/source/entities/bullet/player_bullet.tscn +++ b/Game/source/entities/bullet/player_bullet.tscn @@ -21,6 +21,7 @@ visible = false shape = SubResource( 1 ) [node name="destroy_timer" type="Timer" parent="."] +wait_time = 5.0 one_shot = true autostart = true diff --git a/Game/source/scenes/GUI/main_menu.tscn b/Game/source/scenes/GUI/main_menu.tscn index 4e8ccde..ceef5bd 100644 --- a/Game/source/scenes/GUI/main_menu.tscn +++ b/Game/source/scenes/GUI/main_menu.tscn @@ -100,7 +100,7 @@ __meta__ = { } [node name="floor" parent="." instance=ExtResource( 4 )] -position = Vector2( 962.997, 996.068 ) +position = Vector2( 960, 1096 ) scale = Vector2( 2, 1 ) [connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"]