From c780a4db788e54fa8b8006ff65af097af6b085db Mon Sep 17 00:00:00 2001 From: Moonshrike Date: Tue, 9 Nov 2021 00:21:39 +0200 Subject: [PATCH] trajectory_list traajs --- Pavels/README.md | 12 + .../Hyperbolic_Barrel.tscn | 22 ++ .../Hyperbolic_Bullet.tscn | 22 ++ .../Hyperbolic_Trajectory/Hyperbolic_Env.tscn | 12 + .../Line_Trajectory/Line_Barrel.tscn | 22 ++ .../Line_Trajectory/Line_Bullet.tscn | 22 ++ .../Line_Trajectory/Line_Env.tscn | 10 + .../Parabolic_Barrel.tscn | 22 ++ .../Parabolic_Bullet.tscn | 22 ++ .../Parabolic_Trajectory/Parabolic_Env.tscn | 12 + Pavels/bullet_trajectory/Player.tscn | 19 ++ .../Sine_Trajectory/Sine_Barrel.tscn | 22 ++ .../Sine_Trajectory/Sine_Bullet.tscn | 22 ++ .../Sine_Trajectory/Sine_Env.tscn | 12 + Pavels/bullet_trajectory/default_env.tres | 7 + Pavels/bullet_trajectory/game.tscn | 32 +++ Pavels/bullet_trajectory/icon.png | Bin 0 -> 3305 bytes Pavels/bullet_trajectory/icon.png.import | 34 +++ .../bullet_trajectory/pixil-frame-0 (1).png | Bin 0 -> 29132 bytes .../pixil-frame-0 (1).png.import | 34 +++ Pavels/bullet_trajectory/pixilart-drawing.png | Bin 0 -> 818 bytes .../pixilart-drawing.png.import | 34 +++ Pavels/bullet_trajectory/project.godot | 85 +++++++ Pavels/bullet_trajectory/script/Gun.gd | 30 +++ .../script/Hyperbola/Hyperbolic_Barrel.gd | 16 ++ .../script/Hyperbola/Hyperbolic_Bullet.gd | 24 ++ .../script/Hyperbola/Hyperbolic_Env.gd | 10 + .../script/KinematicBody2D.gd | 26 ++ .../script/Line/Line_Barrel.gd | 16 ++ .../script/Line/Line_Bullet.gd | 43 ++++ .../bullet_trajectory/script/Line/Line_Env.gd | 9 + Pavels/bullet_trajectory/script/Mob.gd | 10 + .../script/Parabola/Parabolic_Barrel.gd | 16 ++ .../script/Parabola/Parabolic_Bullet.gd | 24 ++ .../script/Parabola/Parabolic_Env.gd | 9 + .../script/Sine/Sine_Barrel.gd | 20 ++ .../script/Sine/Sine_Bullet.gd | 25 ++ .../bullet_trajectory/script/Sine/Sine_Env.gd | 9 + project.godot | 50 ++-- .../player_handlers/player_body_handler.gd | 25 +- source/entities/player/player_node.tscn | 224 +++++++++--------- .../Hyperbolic_Barrel.tscn | 22 ++ .../Hyperbolic_Bullet.tscn | 22 ++ .../Hyperbolic_Trajectory/Hyperbolic_Env.tscn | 12 + .../shooting/Line_Trajectory/Line_Barrel.tscn | 22 ++ .../shooting/Line_Trajectory/Line_Bullet.tscn | 22 ++ .../shooting/Line_Trajectory/Line_Env.tscn | 10 + .../Parabolic_Barrel.tscn | 22 ++ .../Parabolic_Bullet.tscn | 22 ++ .../Parabolic_Trajectory/Parabolic_Env.tscn | 12 + .../shooting/Sine_Trajectory/Sine_Barrel.tscn | 22 ++ .../shooting/Sine_Trajectory/Sine_Bullet.tscn | 22 ++ .../shooting/Sine_Trajectory/Sine_Env.tscn | 12 + .../{bullet => shooting}/player_bullet.tscn | 0 source/entities/shooting/script/Gun.gd | 30 +++ .../script/Hyperbola/Hyperbolic_Barrel.gd | 16 ++ .../script/Hyperbola/Hyperbolic_Bullet.gd | 24 ++ .../script/Hyperbola/Hyperbolic_Env.gd | 10 + .../shooting/script/KinematicBody2D.gd | 26 ++ .../shooting/script/Line/Line_Barrel.gd | 16 ++ .../shooting/script/Line/Line_Bullet.gd | 43 ++++ .../entities/shooting/script/Line/Line_Env.gd | 9 + source/entities/shooting/script/Mob.gd | 10 + .../script/Parabola/Parabolic_Barrel.gd | 16 ++ .../script/Parabola/Parabolic_Bullet.gd | 24 ++ .../shooting/script/Parabola/Parabolic_Env.gd | 9 + .../shooting/script/Sine/Sine_Barrel.gd | 20 ++ .../shooting/script/Sine/Sine_Bullet.gd | 25 ++ .../entities/shooting/script/Sine/Sine_Env.gd | 9 + source/scenes/GUI/main_menu.tscn | 8 +- 70 files changed, 1443 insertions(+), 139 deletions(-) create mode 100644 Pavels/README.md create mode 100644 Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn create mode 100644 Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn create mode 100644 Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Env.tscn create mode 100644 Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn create mode 100644 Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn create mode 100644 Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn create mode 100644 Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Barrel.tscn create mode 100644 Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Bullet.tscn create mode 100644 Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Env.tscn create mode 100644 Pavels/bullet_trajectory/Player.tscn create mode 100644 Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn create mode 100644 Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn create mode 100644 Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn create mode 100644 Pavels/bullet_trajectory/default_env.tres create mode 100644 Pavels/bullet_trajectory/game.tscn create mode 100644 Pavels/bullet_trajectory/icon.png create mode 100644 Pavels/bullet_trajectory/icon.png.import create mode 100644 Pavels/bullet_trajectory/pixil-frame-0 (1).png create mode 100644 Pavels/bullet_trajectory/pixil-frame-0 (1).png.import create mode 100644 Pavels/bullet_trajectory/pixilart-drawing.png create mode 100644 Pavels/bullet_trajectory/pixilart-drawing.png.import create mode 100644 Pavels/bullet_trajectory/project.godot create mode 100644 Pavels/bullet_trajectory/script/Gun.gd create mode 100644 Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Barrel.gd create mode 100644 Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Bullet.gd create mode 100644 Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd create mode 100644 Pavels/bullet_trajectory/script/KinematicBody2D.gd create mode 100644 Pavels/bullet_trajectory/script/Line/Line_Barrel.gd create mode 100644 Pavels/bullet_trajectory/script/Line/Line_Bullet.gd create mode 100644 Pavels/bullet_trajectory/script/Line/Line_Env.gd create mode 100644 Pavels/bullet_trajectory/script/Mob.gd create mode 100644 Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd create mode 100644 Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd create mode 100644 Pavels/bullet_trajectory/script/Parabola/Parabolic_Env.gd create mode 100644 Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd create mode 100644 Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd create mode 100644 Pavels/bullet_trajectory/script/Sine/Sine_Env.gd create mode 100644 source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn create mode 100644 source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn create mode 100644 source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn create mode 100644 source/entities/shooting/Line_Trajectory/Line_Barrel.tscn create mode 100644 source/entities/shooting/Line_Trajectory/Line_Bullet.tscn create mode 100644 source/entities/shooting/Line_Trajectory/Line_Env.tscn create mode 100644 source/entities/shooting/Parabolic_Trajectory/Parabolic_Barrel.tscn create mode 100644 source/entities/shooting/Parabolic_Trajectory/Parabolic_Bullet.tscn create mode 100644 source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn create mode 100644 source/entities/shooting/Sine_Trajectory/Sine_Barrel.tscn create mode 100644 source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn create mode 100644 source/entities/shooting/Sine_Trajectory/Sine_Env.tscn rename source/entities/{bullet => shooting}/player_bullet.tscn (100%) create mode 100644 source/entities/shooting/script/Gun.gd create mode 100644 source/entities/shooting/script/Hyperbola/Hyperbolic_Barrel.gd create mode 100644 source/entities/shooting/script/Hyperbola/Hyperbolic_Bullet.gd create mode 100644 source/entities/shooting/script/Hyperbola/Hyperbolic_Env.gd create mode 100644 source/entities/shooting/script/KinematicBody2D.gd create mode 100644 source/entities/shooting/script/Line/Line_Barrel.gd create mode 100644 source/entities/shooting/script/Line/Line_Bullet.gd create mode 100644 source/entities/shooting/script/Line/Line_Env.gd create mode 100644 source/entities/shooting/script/Mob.gd create mode 100644 source/entities/shooting/script/Parabola/Parabolic_Barrel.gd create mode 100644 source/entities/shooting/script/Parabola/Parabolic_Bullet.gd create mode 100644 source/entities/shooting/script/Parabola/Parabolic_Env.gd create mode 100644 source/entities/shooting/script/Sine/Sine_Barrel.gd create mode 100644 source/entities/shooting/script/Sine/Sine_Bullet.gd create mode 100644 source/entities/shooting/script/Sine/Sine_Env.gd diff --git a/Pavels/README.md b/Pavels/README.md new file mode 100644 index 0000000..2df8b92 --- /dev/null +++ b/Pavels/README.md @@ -0,0 +1,12 @@ +Download git and run in terminal: +```terminal +git config --global user.name "Your Name" +git config --global user.email "youremail@yourdomain.com" +``` + +Enter in required directory and run: +```terminal +git clone https://github.com/KristofersSolo/Godot +``` + +or just use [GitHub Desktop](https://desktop.github.com) \ No newline at end of file diff --git a/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn new file mode 100644 index 0000000..9e1a160 --- /dev/null +++ b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 22.5946, 3.60519 ) + +[node name="Hyperbolic_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.4661, 0.749161 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 42.4007, 0.196289 ) +scale = Vector2( 1.31624, 0.140625 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 97.6552, 0.0842819 ) diff --git a/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn new file mode 100644 index 0000000..cd9ffd6 --- /dev/null +++ b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Env.tscn b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Env.tscn new file mode 100644 index 0000000..6dd98e1 --- /dev/null +++ b/Pavels/bullet_trajectory/Hyperbolic_Trajectory/Hyperbolic_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn b/Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn new file mode 100644 index 0000000..1b2e3c9 --- /dev/null +++ b/Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 22.5946, 3.60519 ) + +[node name="Line_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.4661, 0.749161 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 32.281, 0.196289 ) +scale = Vector2( 1, 0.140625 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 64.7166, 0.0842819 ) diff --git a/Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn b/Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn b/Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn new file mode 100644 index 0000000..0640b7e --- /dev/null +++ b/Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Line/Line_Env.gd" type="Script" id=2] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) diff --git a/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Barrel.tscn b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Barrel.tscn new file mode 100644 index 0000000..d7e228d --- /dev/null +++ b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Parabola/Parabolic_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 8.79762, 3.60519 ) + +[node name="Parabolic_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 13.539, 2.08551 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 16.2448, 0.641744 ) +scale = Vector2( 0.387507, 0.251987 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 34.426, 0.975182 ) diff --git a/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Bullet.tscn b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Env.tscn b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Env.tscn new file mode 100644 index 0000000..07cfd7f --- /dev/null +++ b/Pavels/bullet_trajectory/Parabolic_Trajectory/Parabolic_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Parabola/Parabolic_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Parabola/Parabolic_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/Pavels/bullet_trajectory/Player.tscn b/Pavels/bullet_trajectory/Player.tscn new file mode 100644 index 0000000..2daf1ef --- /dev/null +++ b/Pavels/bullet_trajectory/Player.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixilart-drawing.png" type="Texture" id=1] +[ext_resource path="res://script/KinematicBody2D.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 22.279, 10 ) + +[node name="Player" type="KinematicBody2D"] +position = Vector2( 400, 296 ) +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 4, -17 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0.381104, 0.412598 ) +shape = SubResource( 1 ) diff --git a/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn new file mode 100644 index 0000000..690b1ca --- /dev/null +++ b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Sine/Sine_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 21.0351, 6.99966 ) + +[node name="Sine_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 32.0917, 0.471939 ) +scale = Vector2( 1, 0.336339 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.8681, 0 ) +shape = SubResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 64.7166, 0.0842819 ) diff --git a/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn new file mode 100644 index 0000000..f0c77d5 --- /dev/null +++ b/Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Sine/Sine_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Sine/Sine_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/Pavels/bullet_trajectory/default_env.tres b/Pavels/bullet_trajectory/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/Pavels/bullet_trajectory/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/Pavels/bullet_trajectory/game.tscn b/Pavels/bullet_trajectory/game.tscn new file mode 100644 index 0000000..109ab9e --- /dev/null +++ b/Pavels/bullet_trajectory/game.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://Player.tscn" type="PackedScene" id=1] +[ext_resource path="res://icon.png" type="Texture" id=3] +[ext_resource path="res://script/Gun.gd" type="Script" id=4] +[ext_resource path="res://script/Mob.gd" type="Script" id=5] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 31.7698, 29.9446 ) + +[node name="Node2D" type="Node2D"] + +[node name="Mob" type="KinematicBody2D" parent="." groups=[ +"mobs", +]] +position = Vector2( -0.000213623, 0.000244141 ) +script = ExtResource( 5 ) + +[node name="Sprite" type="Sprite" parent="Mob"] +position = Vector2( 748.393, 296.081 ) +texture = ExtResource( 3 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Mob"] +position = Vector2( 748.393, 293.562 ) +shape = SubResource( 1 ) +one_way_collision_margin = 0.0 + +[node name="Player" parent="." instance=ExtResource( 1 )] + +[node name="Gun_Position" type="Position2D" parent="Player"] +position = Vector2( 37.1728, -6.00076 ) +script = ExtResource( 4 ) diff --git a/Pavels/bullet_trajectory/icon.png b/Pavels/bullet_trajectory/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c98fbb601c83c81ec8c22b1dba7d1d57c62b323c GIT binary patch literal 3305 zcmVNc=P)Px>qe(&U$es`gSqKCHF-lq>v1vga#%UF>TTrLR zW%{UNJKZi|Pj@Rc9GyPBD1CamMMf6SL~V^ag9~Vzut^L^0!Tv0LK0FTdnJ`x->EF(MZIP5kY*1-@^egP~7mH>({qi7{6 zQF;bN-XMq~+RzA8lI9AtJuz@PY*+{SP-Gbd@mZ(r*eE&`XO5!C>w#-pcmS28K^qzY zfTGCjor*I@ltgKb03nh#Fh$KpDL=o}gj-g4v6{}ZR1*mvXv?|gEA&Yr#r;Zw*d zUabIx8iHf+WoIO_c11Ba&!34XihSMF&C#YFDjU0)mmbXz3ex!D&t9UYp>;&R%(O(_ z*z^;&A84SWzKiQpqsdQ+Vs?rFS(f?R;c8xg_ft;Roec_~1KsVww}wzq5D}*5x6k|& zf~2A3@L4|ix|Q=L>rnmKE;B3UB=OMQxAK$Ce;LvDp?hwn-{Rn}Uo~U4IXTs4V%MQY zCWULcZFU0R%gbU;_Ef(A#76r1%|YWis0t`9$R{cyjFnsV(POrI)SGQi-l{mu{e?5R zepcp?AQ54D3g_mswd@RLn{z~;^Cl}>%j@}TWixL+audY``MmSV{-E(3R0Ws^U9%mk zmAond;N8k*{(f!}e^~d(i1Hq@jdv@XN2MLAl}3yaECf{nz5N3KMCjDCFzB_7)gkjj z>2Z={^e74l7u>P4oo1{Kc~sgFI`xP#f`uR}z_p~qLwws5)h)eLxAX=?+fB2_6kG)a zeE3U}YSi;Qc}gq*;kw|Tu5Oy{F)l`0;$$RA6)@d^I9>n9N^W1g0D!WJYJT&d@6p`W zfmWmD=^x$2@|)+=&@n(wn<-#M#zIY-iH42=UU>XI3i7l0^?#ILwb@CU63f5b_jeS| zn+d@CpB>^?Ti*1WuHSaRniWO-^Xl8!b+D0stAl$BQjr8G`KX-vGpCc0lEAKmjl6lN z5r?ddL)6hBi2|!`NM+@MRO*^qsi>~y`%4$%P+-S_M#8ibt8Pf;m7O23?cF^-X$52l zEV@3AM^`Q9vy(=)?W+gi)8lPCP&k!)Z(Bsa#m@S7j#1gzJx&pQ!yzlYvA==iExkN@ zTMnz!68Wg=9Ius~p?A=A>P(5$@#w1MG`6<$`Il8=(j0RI#KlIj>!qL4)MMjk|8*3* zbL8w!iwnbSb<*17eb=8TBt(Uv*Qz*e>>p9CRtapnJD-#&4Xd8ojIpD~Yk&6&7;_U` z|L{sgNzJAYPkIOsaN5{^*@Xva?HTkC9>DHY*!1B^L`lv1hgXhC$EO1BSh9fYXU*VG zpVwjRvs^m2ml?)B3xE2&j_YU5;Ep8=e75zefN3cSw04`>U3D&~3|AIJAJnEseqE*p>uF=1Cv$SfvI z!(+vnRMj+4vb)@8Tb~MW$}-RYemjyN^W@U3pfWj;cyehLk|6W*KkUFMkM3W9AE!Wb zTL-_}Udr6GXl}`!5;P_!3b*7=VQyM9zuR6)b6dxl?fo)@-u`$$Pu#bHB*W+#Gp!_Y z*ZdUbq#B3_QPbElK4*QE)$x+;qpGazKD1C!=jx=^ta=2+!&oRjmg4Jf{ z?T`J78TjoBD9Y&OtwFEhrIq<48uS2IEEbY8C$TVd5`X!kj*`Qd7RI`3elib!C*xb1 z(UIgPMzT12GEcpEly0*vU|ugqP(r~!E}l-JK~G&>9S_|9Aj@uD&azvVQ&RF4YZp!> zJ3hi|zlabu5u>=y+3^vqT{xAJlDCHFJ#hbn)Ya9IXwdWH;_1O)ef$at)k@qrEf%ZQ z%DU&)(a_KUxMpn2t6Mm@e?LVzaUT6LCWo=>;TzfYZ~+;U!#wJXa^g66-~d}*-Gas9 zGQt`f8d&$-daPC}H%^NkiV}?n<5oawj2=M{sHv&JXl(bWFDox6HP$o6KRY=Jl_;PR zMP?^QdD4vyrL3&XqugjTQd3idAPA(!=*P?c_!Z!e`f9aWuk~t4qQew;9IwMq>%w#92+*iNN#Qp zadB}J6)j=I#urf#czO3X!C*Z&LD5rfCLY^S$>ZP6}eFW#%-2L)+t{`cPyqLD6))yK1?m7F>6=?Y&8f)>3zbH1O)cT}QNtB4KL(A@1i zMzF88gDrb&hn~H`?o`-XUeDI@dXfwwboAS>*qvV6UMhkfzO~q$V+s%8loj4P(&9H= ze`sC`uI?L9L4e;YK&2A7XF)0}u1lh+%Z$S*Q{ORwtSHpAyWYpI>bqzU!p`gqlf$*l zO^*g(+T?Hq0n%ebkyIin(R#FM6&9;^6WJU5R)By&tZQ6PV zS^MWhqtcj}7)kON#>?4Gv(K#2=6mv)5;@W->l(1q*>9t&xfesIn$&3j4WxkffXaq0 zwwBkAD2vjoi4E8CK;cwoC3#wO!|}v-XOJ`obIo05{&DMQIRyHAd5@%-0xA%uA0UK2qng>xb(kvMzX)7t^ z);-|T`mgSsHKM$+a{!w|Mt5QLwD>sA+;u-+k%z_ZL?el$#&|kX?ygLfm zxZ^Fo^bOhx)w*6In?vS{Q|uk08cKRK}t+0ukQSCOyP$^HEC+zzX51M#=e-?*xHWMDRcLdIV41daHy{HimwDo z6!_O=*(}MK!YeyJpmgu(cF1tpEv}m;0s8{4z4HlHyMxDncn8zs!g+OXEk`CeEj}9N zq#Ag1$#jyV_5AjYQg*!mS->;`S^;iU)ih9D+eks)H2z`1RHny;F<^CEwk+}d^k^Ph zl);*XQ|ayL;rZWh=fA(G2#AJz1&r&as9I8S@9m3Owftrb5n*)pTluK^9LHOFIo{G2 zG}l$9R*{<+L2hCsOJ~Lt6Q-rRub*8X{*4{)e}>%=_&DxOFeq1LRia4Yyj*Tyynw>F zxkKf(MiaG0*L|V-^Zhtvg-(-|F0&1rU8bqab*n5TT8~C860O$|6Rt%P1=1(EjIQZ% z;Y^PU2VC*~^2!sG?mbBPS0~0yd-+086)+rHjhfk6>CB$t`o%;=kdYF9NwiKkwbIpN z;_FlOuHQHHSZ&@fUuSI-S*t`DjsiIB z{=1M@JKVC$a8z{2;xCPfRb{~T>uo#5rL4L+z9n`rSUt3Tt nAZ`TZm+q1gPVN84&*%Ra7her>#-hHS00000NkvXXu0mjf|6N@O literal 0 HcmV?d00001 diff --git a/Pavels/bullet_trajectory/icon.png.import b/Pavels/bullet_trajectory/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/Pavels/bullet_trajectory/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Pavels/bullet_trajectory/pixil-frame-0 (1).png b/Pavels/bullet_trajectory/pixil-frame-0 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..ecdddeac28feab66f10c07101cd4acda698c8f6c GIT binary patch literal 29132 zcmeHQX-rgC6rMMXbX1@N#0^14P{E~uaY0341Qaj|R6tP+Jh!4zSyWtDAI7TGNFg{# z-L+V1R6tvbiolC8(b5)Dw4%idjRixIfZzm%W$0nvy(}~RQJb_e&G|u?nfLCw=brPO zbH97uy)!BPzFx*7EJlb#B4ZzK&y^yPB){)ZY6zb+PW-w8{xQ2&dbx{o%Pkv3BDu)N zb8+Cl&{t1>ie9%`=DB#9^_8qlt90e)W#xxWnD*rJQJK{mmF@h(aJRs=7e6LRq%ygJ z6EWg}7k9;Ocb|IN>U;|KwS3I)lnmTQTW)0xR^6WP8+|))gHdqAP|1C_$Uk8DWmUG8 zgL~9A<(Th{^>mSD4>JmGh&`yUjT3uIPlPD>8;+SC@>$e?4pb|{8P56xN*nFOUTQQ= z9WwmB7CcvHNLvobsuUYu-M#3psjk7KWAmTsiQp7#c}|(@HE)n*iAaOY@p>X;-Xq86 zSE{65dKP2(odyFsP_5ADXmmunUa(+#5iyuvFsI{0iW8|0-$C|*lo5G4@^oAr>8!|b zMT(RW%K%t=!P<*%RSGF1QbweVNEwkbB4wlx9_XV8tTJMi5vzegyvX>l23FNR?SgscsE~%3^iRt^V{G=bDpZbYPgm>Cc8PZd}mv|#)jNb8vv(_ z{a&lr3rkJ*JjZNfx7wHsdozomaZy)$toCC5hdftsJtlIBK*E;73F4(yb_)eTEgZ)* zGPB*>NdafyC3vsw)XXK9M=%DDr$6dhK~}W9ox~{k9N+eZu+rtd;qrrD4ieFGLG;|h z<|ge$HV0G+Zw_4{NH&5))W!~ey9GhD6QQBU_QWG(254CT?;BtBY$liI!04)Oc3mM0 z>g2;Pp!XlD7Ymo!uR!#c=nZ7Fad0uNsC}pQVtx>ewqSoVQK@8k?Tf1F`^qp)O={vGY-}=6ba04=-uQaiBz!zlmH1>T#xMV(0o9VKV^1&Y?; zRQ3UoEza~4G-1Sc(6#yG8rrxVx_Y^)WD@Dia`@Q%)U0?<;yYv^J2a&UjRZ;1_6 z0vw)tIo_KpVFpUfR8yx$Ie-#{t&^z|o}k3V-^U9|0DwztYTR5^BMooXcU*$s}l@+@_`b~Lr8 zz{Y1ovzf+*?8J#e&;DQ=Wp(;7t!?7X!6y%o&Sn>#dE`ipSq6jL>2gCm$mB>HmXD21 zH@upY(fNsBA;lV=3yScXtJR=o1=zsPv655mURg@)Z4Y)RYkII$Ylo5)ux`T=i~O^` ze~d8`0&+8a`N1u#r&_D>&ZbW6qGE4Q!>7kxu*UfrEI+N#cDz>Mjwzr|&X}!y?1IZ- z#J0!5`*nLZ314tf1C~_1vHACmz=&;!xh58eSY&Cs+IuQpdOKh4Y3Q;}3hV4{YVRso z=oabR`{kXbueK3iUgVOter>L&t$-duhkBpySUo@@O30hmJQ+vnFtmqymP#mb=n8It}*|BA%Eax*FP!uz2I@i9^e)-Ins_nv#d;x1dyzcgoOGx zS!_qCm5aR?3J~%qr3IGt-!hGd`{!##5T6_r5*n$;oKrZ1#!Y`gwS$=VR>kZu)+5e# zVw0;G7xbBS;4sVJpX*el+%SOc)6#kQzK8UQw*ROoHt0l^9`}#3spS`p(_bv$0H{sT z0|eCwAzC)UASQJ!%t9nKFpbi5i4z%#4V;NdxyEfmCAXA`z(s z4UxB@5-*Q*cZx)&8~T1Dpl>mc%oLgF;Ce7v<89!C5E@iI#*Fk&G7>@vA%ulqoQVm) zmB}%UVj3Ot#9kuB8WGlrbXY3Zh_FUP^CZ@Y2o|tL^v=|X4A}{3e0We(9{fC`$Y+VK JXRbSY;7<{&pymJo literal 0 HcmV?d00001 diff --git a/Pavels/bullet_trajectory/pixil-frame-0 (1).png.import b/Pavels/bullet_trajectory/pixil-frame-0 (1).png.import new file mode 100644 index 0000000..553ec28 --- /dev/null +++ b/Pavels/bullet_trajectory/pixil-frame-0 (1).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pixil-frame-0 (1).png-160dd9969d7e45d14d604c370b40e019.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://pixil-frame-0 (1).png" +dest_files=[ "res://.import/pixil-frame-0 (1).png-160dd9969d7e45d14d604c370b40e019.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Pavels/bullet_trajectory/pixilart-drawing.png b/Pavels/bullet_trajectory/pixilart-drawing.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d76a70f33c57a3d0e20c8c4a1f359ab038888b GIT binary patch literal 818 zcmeAS@N?(olHy`uVBq!ia0vp^DImV0z=};uum9 z_jazMpR}Qb+e3!fVg{`x9x@H8;trPDuUL1zVVt0(Sko)piyMR3@wOpG%~?6Y{KT%0(i>b4tnFF- z`*pL`&(ELB&Fi~O&&OqV7v#53yLi!(O*36prSqr$(xbc5w=QutNODd)c&g%Z(!6f{ z34%e2k`totJuq;x+4L{d-6pj+?~SfsoBo$af0wRpQe5(5%GTZPo9tw!Rk+AC+~4jU zo$FNMTy)5nD_W`Z-wbOu=exQ`Dl zbJJyU=gUQWN0(MP7oAIpH&!UvFn2-gUltLj+mc*?96by=eY`|ajhsKZuQ literal 0 HcmV?d00001 diff --git a/Pavels/bullet_trajectory/pixilart-drawing.png.import b/Pavels/bullet_trajectory/pixilart-drawing.png.import new file mode 100644 index 0000000..187733d --- /dev/null +++ b/Pavels/bullet_trajectory/pixilart-drawing.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pixilart-drawing.png-9e9c431ac86a42d1fefc4da3ac6bc15c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://pixilart-drawing.png" +dest_files=[ "res://.import/pixilart-drawing.png-9e9c431ac86a42d1fefc4da3ac6bc15c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Pavels/bullet_trajectory/project.godot b/Pavels/bullet_trajectory/project.godot new file mode 100644 index 0000000..671b2cb --- /dev/null +++ b/Pavels/bullet_trajectory/project.godot @@ -0,0 +1,85 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +[application] + +config/name="Bullet Trajectory" +run/main_scene="res://game.tscn" +config/icon="res://icon.png" + +[input] + +ui_left={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) + ] +} +ui_right={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) + ] +} +ui_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) + ] +} +ui_down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) + ] +} +shoot={ +"deadzone": 0.5, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null) + ] +} +gun_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null) + ] +} +gun_down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) + ] +} +line={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777351,"unicode":0,"echo":false,"script":null) + ] +} +parab={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777352,"unicode":0,"echo":false,"script":null) + ] +} +hyper={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777354,"unicode":0,"echo":false,"script":null) + ] +} +sine={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777353,"unicode":0,"echo":false,"script":null) + ] +} + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +environment/default_environment="res://default_env.tres" diff --git a/Pavels/bullet_trajectory/script/Gun.gd b/Pavels/bullet_trajectory/script/Gun.gd new file mode 100644 index 0000000..88a20a3 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Gun.gd @@ -0,0 +1,30 @@ +extends Position2D + +var trajectories = { + 'line' : preload("res://Line_Trajectory/Line_Barrel.tscn"), + 'sine' : preload("res://Sine_Trajectory/Sine_Barrel.tscn"), + 'parab' : preload("res://Parabolic_Trajectory/Parabolic_Barrel.tscn"), + 'hyper' : preload("res://Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn") +} + + +func equip_gun(gun_type:String): + for gun in get_children(): #if there is gun remove it + gun.queue_free() + + var gun = trajectories[gun_type].instance() + add_child(gun) + + + +func _process(delta): + look_at(get_global_mouse_position()) + if Input.is_action_just_pressed("line"): + equip_gun('line') + if Input.is_action_just_pressed("sine"): + equip_gun('sine') + if Input.is_action_just_pressed("parab"): + equip_gun('parab') + if Input.is_action_just_pressed("hyper"): + equip_gun('hyper') + pass diff --git a/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Barrel.gd b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Barrel.gd new file mode 100644 index 0000000..fc808d6 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Hyperbolic_Trajectory/Hyperbolic_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Bullet.gd b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Bullet.gd new file mode 100644 index 0000000..69f7b2e --- /dev/null +++ b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Bullet.gd @@ -0,0 +1,24 @@ +extends Area2D + +var velocity = Vector2() +var speed = 1 +var time = 0.5 +var gravitile = 5 + + + +func follow_hyperbolic_trajectory(): + velocity.x = gravitile * time + velocity.y = 1/time + + +func _process(delta): + follow_hyperbolic_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd new file mode 100644 index 0000000..344a757 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd @@ -0,0 +1,10 @@ +extends Node2D + + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/Pavels/bullet_trajectory/script/KinematicBody2D.gd b/Pavels/bullet_trajectory/script/KinematicBody2D.gd new file mode 100644 index 0000000..1aa9367 --- /dev/null +++ b/Pavels/bullet_trajectory/script/KinematicBody2D.gd @@ -0,0 +1,26 @@ +extends KinematicBody2D + +export var speed = 400 +var movement = Vector2(0, 0) + +#func shoot(): + #var b = env.instance() + #get_parent().add_child(b) + #b.global_transform = $Gun.global_transform + +func get_input(): + movement = Vector2() + if Input.is_action_pressed("ui_right"): + movement.x += 10 + if Input.is_action_pressed("ui_left"): + movement.x -= 10 + if Input.is_action_pressed("ui_down"): + movement.y += 10 + if Input.is_action_pressed("ui_up"): + movement.y -= 10 + #if Input.is_action_just_pressed("shoot"): + #shoot() + +func _physics_process(delta): + get_input() + position += movement.normalized() * speed * delta diff --git a/Pavels/bullet_trajectory/script/Line/Line_Barrel.gd b/Pavels/bullet_trajectory/script/Line/Line_Barrel.gd new file mode 100644 index 0000000..4ba9307 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Line/Line_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Line_Trajectory/Line_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/Pavels/bullet_trajectory/script/Line/Line_Bullet.gd b/Pavels/bullet_trajectory/script/Line/Line_Bullet.gd new file mode 100644 index 0000000..3c958c0 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Line/Line_Bullet.gd @@ -0,0 +1,43 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +export var amplitude = 4 +export var frequency = 5 +var gravitile = 5 + + +func follow_line_trajectory(): + velocity = Vector2(10, 0) + +#func follow_parabolic_trajectory(): + #velocity.x = 5 + #velocity.y = 1 * time * gravitile + #return velocity + +#func follow_hyperbolic_trajectory(): + #velocity.x = gravitile * time + #velocity.y = 1 + #return velocity + +#func input(): + #if Input.is_action_just_pressed("line"): + #return follow_sine_trajectory() + #elif Input.is_action_just_pressed("sine"): + #return follow_line_trajectory() + #else: + #print('Trajectory is not selected') + #queue_free() + +func _process(delta): + follow_line_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/Pavels/bullet_trajectory/script/Line/Line_Env.gd b/Pavels/bullet_trajectory/script/Line/Line_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/Pavels/bullet_trajectory/script/Line/Line_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/Pavels/bullet_trajectory/script/Mob.gd b/Pavels/bullet_trajectory/script/Mob.gd new file mode 100644 index 0000000..16a9985 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Mob.gd @@ -0,0 +1,10 @@ +extends KinematicBody2D + + +var velocity = Vector2(1, 1) + +func _process(delta): + var collision = move_and_collide(velocity * delta) + + + diff --git a/Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd new file mode 100644 index 0000000..d020184 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Parabolic_Trajectory/Parabolic_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd new file mode 100644 index 0000000..beee2de --- /dev/null +++ b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd @@ -0,0 +1,24 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +var gravitile = 5 + + +func follow_parabolic_trajectory(): + velocity.x = 5 + velocity.y = 1 * time * gravitile + + +func _process(delta): + follow_parabolic_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/Pavels/bullet_trajectory/script/Parabola/Parabolic_Env.gd b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/Pavels/bullet_trajectory/script/Parabola/Parabolic_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd b/Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd new file mode 100644 index 0000000..79ce4e8 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd @@ -0,0 +1,20 @@ +extends StaticBody2D + +onready var bullet = preload("res://Sine_Trajectory/Sine_Env.tscn") + +var velocity = Vector2(1, 0) +var shooting_speed = 200 + + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + pass + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd b/Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd new file mode 100644 index 0000000..1196b54 --- /dev/null +++ b/Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd @@ -0,0 +1,25 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +export var amplitude = 4 +export var frequency = 5 +var gravitile = 5 + + +func follow_sine_trajectory(): + velocity.y = amplitude * cos(time * frequency) + velocity.x = 5 + +func _process(delta): + follow_sine_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/Pavels/bullet_trajectory/script/Sine/Sine_Env.gd b/Pavels/bullet_trajectory/script/Sine/Sine_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/Pavels/bullet_trajectory/script/Sine/Sine_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/project.godot b/project.godot index 243da71..bdd770c 100644 --- a/project.godot +++ b/project.godot @@ -37,42 +37,42 @@ fps=false input_right={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_left={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_up={ "deadzone": 0.49, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_down={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_debug={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":96,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":96,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_enter={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_shift={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } input_shoot={ @@ -82,17 +82,37 @@ input_shoot={ } esc={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } rotation_increase={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } rotation_decrease={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":81,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":81,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +line={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777351,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +sine={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777352,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +hyper={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777353,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +parab={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777354,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } diff --git a/source/assets/scripts/player_handlers/player_body_handler.gd b/source/assets/scripts/player_handlers/player_body_handler.gd index 6d1ce46..69b6454 100644 --- a/source/assets/scripts/player_handlers/player_body_handler.gd +++ b/source/assets/scripts/player_handlers/player_body_handler.gd @@ -67,9 +67,23 @@ var weaponAngle = 0 var particleTexture = ImageTexture.new() var particleImage = Image.new() -func _ready(): - weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) +func equip_weapon(): + if Input.is_action_just_pressed("line"): + weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na1".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na1".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na1".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na1".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) + if Input.is_action_just_pressed("sine"): + weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na2".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na2".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na2".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na2".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) + if Input.is_action_just_pressed("parab"): + 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) + if Input.is_action_just_pressed("hyper"): + weaponPositionalOffset = Vector2(-$"weaponHolder/Player-character-theme-gun-na4".texture.get_width() * $"weaponHolder/Player-character-theme-gun-na4".scale.x / 2,-$"weaponHolder/Player-character-theme-gun-na4".texture.get_height() * $"weaponHolder/Player-character-theme-gun-na4".scale.y / 2) + Vector2(-$weaponHolder.get_shape().get_radius(), 0) $"weaponHolder/Player-character-theme-gun".position = weaponPositionalOffset + return weaponPositionalOffset + pass + + +func _ready(): + #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 get_tree().connect("network_peer_connected", self, "_network_peer_connected") username_text_instance = Global.instance_node_at_location(username_text, PersistentNodes, global_position) username_text_instance.player_following = self @@ -125,8 +139,8 @@ func process_rotation(): func _process(delta: float) -> void: $"weaponHolder/Player-character-theme-gun".play(theme) - particleImage.load("res://source/assets/sprites/character/player/theme/" + theme + "/na/Player-character-theme-particle-"+theme+".png") - particleTexture.create_from_image(particleImage) + #particleImage.load("res://source/assets/sprites/character/player/theme/" + theme + "/na/Player-character-theme-particle-"+theme+".png") + #particleTexture.create_from_image(particleImage) $Particles2D.texture = particleTexture if username_text_instance != null: username_text_instance.name = "username" + name @@ -159,6 +173,7 @@ func _process(delta: float) -> void: VDIR[v_t][v]["ray"]["collided"] = false update() process_rotation() + equip_weapon() func _physics_process(delta) -> void: @@ -219,7 +234,7 @@ func _physics_process(delta) -> void: $player_animated_sprite.play("boost-speed-"+direction+"-"+theme) $Particles2D.set_emitting(true) else: - $player_animated_sprite.play("idle-speed-"+direction+"-"+theme) + #$player_animated_sprite.play("idle-speed-"+direction+"-"+theme) $Particles2D.set_emitting(false) if not characterStates["onGround"]: velocityVDIR.y += accelerationSpeed diff --git a/source/entities/player/player_node.tscn b/source/entities/player/player_node.tscn index b604957..9fa6531 100644 --- a/source/entities/player/player_node.tscn +++ b/source/entities/player/player_node.tscn @@ -174,111 +174,6 @@ [sub_resource type="SpriteFrames" id=2] animations = [ { -"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ], -"loop": true, -"name": "boost-speed-right-03", -"speed": 50.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 ) ], -"loop": true, -"name": "move-speed-left-03", -"speed": 35.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 ) ], -"loop": true, -"name": "move-speed-right-01", -"speed": 35.0 -}, { -"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], -"loop": true, -"name": "boost-speed-right-02", -"speed": 50.0 -}, { -"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], -"loop": true, -"name": "boost-speed-right-02", -"speed": 50.0 -}, { -"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ], -"loop": true, -"name": "move-speed-left-01", -"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 ) ], -"loop": true, -"name": "boost-speed-left-03", -"speed": 50.0 -}, { -"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": "idle-speed-right-04", -"speed": 25.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 ) ], -"loop": true, -"name": "idle-speed-right-01", -"speed": 25.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 ) ], -"loop": true, -"name": "idle-speed-right-01", -"speed": 25.0 -}, { -"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], -"loop": true, -"name": "idle-speed-right-02", -"speed": 25.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 ) ], -"loop": true, -"name": "boost-speed-left-03", -"speed": 50.0 -}, { -"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], -"loop": true, -"name": "move-speed-left-04", -"speed": 35.0 -}, { -"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-04", -"speed": 35.0 -}, { -"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ], -"loop": true, -"name": "idle-speed-left-01", -"speed": 25.0 -}, { -"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-04", -"speed": 50.0 -}, { -"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], -"loop": true, -"name": "idle-speed-left-04", -"speed": 25.0 -}, { -"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], -"loop": true, -"name": "boost-speed-left-04", -"speed": 50.0 -}, { -"frames": [ ExtResource( 73 ), ExtResource( 57 ), ExtResource( 65 ), ExtResource( 64 ), ExtResource( 54 ), ExtResource( 71 ), ExtResource( 58 ), ExtResource( 66 ), ExtResource( 62 ), ExtResource( 59 ), ExtResource( 56 ), ExtResource( 60 ), ExtResource( 63 ), ExtResource( 50 ), ExtResource( 61 ), ExtResource( 67 ), ExtResource( 72 ), ExtResource( 51 ), ExtResource( 68 ), ExtResource( 69 ) ], -"loop": true, -"name": "move-speed-left-02", -"speed": 35.0 -}, { -"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], -"loop": true, -"name": "move-speed-right-02", -"speed": 35.0 -}, { -"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ], -"loop": true, -"name": "move-speed-right-03", -"speed": 35.0 -}, { "frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ], "loop": true, "name": "boost-speed-left-01", @@ -291,8 +186,98 @@ animations = [ { }, { "frames": [ ExtResource( 73 ), ExtResource( 57 ), ExtResource( 65 ), ExtResource( 64 ), ExtResource( 54 ), ExtResource( 71 ), ExtResource( 58 ), ExtResource( 66 ), ExtResource( 62 ), ExtResource( 59 ), ExtResource( 56 ), ExtResource( 60 ), ExtResource( 63 ), ExtResource( 50 ), ExtResource( 61 ), ExtResource( 67 ), ExtResource( 72 ), ExtResource( 51 ), ExtResource( 68 ), ExtResource( 69 ) ], "loop": true, +"name": "move-speed-left-02", +"speed": 35.0 +}, { +"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], +"loop": true, +"name": "move-speed-right-02", +"speed": 35.0 +}, { +"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], +"loop": true, +"name": "move-speed-left-04", +"speed": 35.0 +}, { +"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], +"loop": true, +"name": "idle-speed-right-02", +"speed": 25.0 +}, { +"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], +"loop": true, +"name": "idle-speed-left-04", +"speed": 25.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 ) ], +"loop": true, +"name": "boost-speed-left-03", +"speed": 50.0 +}, { +"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ], +"loop": true, +"name": "boost-speed-left-04", +"speed": 50.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 ) ], +"loop": true, +"name": "idle-speed-right-01", +"speed": 25.0 +}, { +"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ], +"loop": true, +"name": "idle-speed-left-01", +"speed": 25.0 +}, { +"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": "idle-speed-right-04", +"speed": 25.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 ) ], +"loop": true, +"name": "move-speed-right-01", +"speed": 35.0 +}, { +"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ], +"loop": true, +"name": "move-speed-left-01", +"speed": 35.0 +}, { +"frames": [ ExtResource( 73 ), ExtResource( 57 ), ExtResource( 65 ), ExtResource( 64 ), ExtResource( 54 ), ExtResource( 71 ), ExtResource( 58 ), ExtResource( 66 ), ExtResource( 62 ), ExtResource( 59 ), ExtResource( 56 ), ExtResource( 60 ), ExtResource( 63 ), ExtResource( 50 ), ExtResource( 61 ), ExtResource( 67 ), ExtResource( 72 ), ExtResource( 51 ), ExtResource( 68 ), ExtResource( 69 ) ], +"loop": true, "name": "idle-speed-left-02", "speed": 25.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 ) ], +"loop": true, +"name": "move-speed-left-03", +"speed": 35.0 +}, { +"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-04", +"speed": 50.0 +}, { +"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ], +"loop": true, +"name": "move-speed-right-03", +"speed": 35.0 +}, { +"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ], +"loop": true, +"name": "boost-speed-right-03", +"speed": 50.0 +}, { +"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ], +"loop": true, +"name": "boost-speed-right-02", +"speed": 50.0 +}, { +"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-04", +"speed": 35.0 } ] [sub_resource type="RectangleShape2D" id=3] @@ -323,11 +308,6 @@ radius = 41.5403 [sub_resource type="SpriteFrames" id=6] animations = [ { -"frames": [ ExtResource( 27 ) ], -"loop": true, -"name": "01", -"speed": 5.0 -}, { "frames": [ ExtResource( 168 ) ], "loop": true, "name": "03", @@ -342,12 +322,14 @@ animations = [ { "loop": true, "name": "02", "speed": 5.0 +}, { +"frames": [ ExtResource( 27 ) ], +"loop": true, +"name": "01", +"speed": 5.0 } ] -[node name="player" type="KinematicBody2D" groups=[ -"Net", -"Player", -]] +[node name="player" type="KinematicBody2D" groups=["Net", "Player"]] script = ExtResource( 11 ) theme = "03" @@ -403,10 +385,22 @@ scale = Vector2( 0.25, 0.25 ) frames = SubResource( 6 ) animation = "04" -[node name="Player-character-theme-gun-na" type="Sprite" parent="weaponHolder"] +[node name="Player-character-theme-gun-na1" type="Sprite" parent="weaponHolder"] scale = Vector2( 0.25, 0.25 ) texture = ExtResource( 171 ) +[node name="Player-character-theme-gun-na2" type="Sprite" parent="weaponHolder"] +scale = Vector2( 0.177591, 0.18125 ) +texture = ExtResource( 171 ) + +[node name="Player-character-theme-gun-na3" type="Sprite" parent="weaponHolder"] +scale = Vector2( 0.375937, 0.251953 ) +texture = ExtResource( 171 ) + +[node name="Player-character-theme-gun-na4" type="Sprite" parent="weaponHolder"] +scale = Vector2( 0.508138, 0.140008 ) +texture = ExtResource( 171 ) + [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/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn new file mode 100644 index 0000000..9e1a160 --- /dev/null +++ b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 22.5946, 3.60519 ) + +[node name="Hyperbolic_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.4661, 0.749161 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 42.4007, 0.196289 ) +scale = Vector2( 1.31624, 0.140625 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 97.6552, 0.0842819 ) diff --git a/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn new file mode 100644 index 0000000..cd9ffd6 --- /dev/null +++ b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn new file mode 100644 index 0000000..6dd98e1 --- /dev/null +++ b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/source/entities/shooting/Line_Trajectory/Line_Barrel.tscn b/source/entities/shooting/Line_Trajectory/Line_Barrel.tscn new file mode 100644 index 0000000..1b2e3c9 --- /dev/null +++ b/source/entities/shooting/Line_Trajectory/Line_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 22.5946, 3.60519 ) + +[node name="Line_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.4661, 0.749161 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 32.281, 0.196289 ) +scale = Vector2( 1, 0.140625 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 64.7166, 0.0842819 ) diff --git a/source/entities/shooting/Line_Trajectory/Line_Bullet.tscn b/source/entities/shooting/Line_Trajectory/Line_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/source/entities/shooting/Line_Trajectory/Line_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/source/entities/shooting/Line_Trajectory/Line_Env.tscn b/source/entities/shooting/Line_Trajectory/Line_Env.tscn new file mode 100644 index 0000000..0640b7e --- /dev/null +++ b/source/entities/shooting/Line_Trajectory/Line_Env.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Line/Line_Env.gd" type="Script" id=2] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) diff --git a/source/entities/shooting/Parabolic_Trajectory/Parabolic_Barrel.tscn b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Barrel.tscn new file mode 100644 index 0000000..d7e228d --- /dev/null +++ b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Parabola/Parabolic_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 8.79762, 3.60519 ) + +[node name="Parabolic_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 13.539, 2.08551 ) +shape = SubResource( 1 ) + +[node name="icon" type="Sprite" parent="."] +position = Vector2( 16.2448, 0.641744 ) +scale = Vector2( 0.387507, 0.251987 ) +texture = ExtResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 34.426, 0.975182 ) diff --git a/source/entities/shooting/Parabolic_Trajectory/Parabolic_Bullet.tscn b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn new file mode 100644 index 0000000..07cfd7f --- /dev/null +++ b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Parabola/Parabolic_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Parabola/Parabolic_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/source/entities/shooting/Sine_Trajectory/Sine_Barrel.tscn b/source/entities/shooting/Sine_Trajectory/Sine_Barrel.tscn new file mode 100644 index 0000000..690b1ca --- /dev/null +++ b/source/entities/shooting/Sine_Trajectory/Sine_Barrel.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://script/Sine/Sine_Barrel.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 21.0351, 6.99966 ) + +[node name="Sine_Barrel" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 32.0917, 0.471939 ) +scale = Vector2( 1, 0.336339 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 30.8681, 0 ) +shape = SubResource( 1 ) + +[node name="Position2D" type="Position2D" parent="."] +position = Vector2( 64.7166, 0.0842819 ) diff --git a/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn b/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn new file mode 100644 index 0000000..b342e67 --- /dev/null +++ b/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1] +[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 5.4212 +height = 7.62897 + +[node name="Bullet" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 2, -19 ) +scale = Vector2( 0.199834, 0.199834 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5708 +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"] diff --git a/source/entities/shooting/Sine_Trajectory/Sine_Env.tscn b/source/entities/shooting/Sine_Trajectory/Sine_Env.tscn new file mode 100644 index 0000000..f0c77d5 --- /dev/null +++ b/source/entities/shooting/Sine_Trajectory/Sine_Env.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://script/Sine/Sine_Env.gd" type="Script" id=2] +[ext_resource path="res://script/Sine/Sine_Bullet.gd" type="Script" id=3] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] +position = Vector2( 0, -0.222725 ) +script = ExtResource( 3 ) diff --git a/source/entities/bullet/player_bullet.tscn b/source/entities/shooting/player_bullet.tscn similarity index 100% rename from source/entities/bullet/player_bullet.tscn rename to source/entities/shooting/player_bullet.tscn diff --git a/source/entities/shooting/script/Gun.gd b/source/entities/shooting/script/Gun.gd new file mode 100644 index 0000000..d802ed6 --- /dev/null +++ b/source/entities/shooting/script/Gun.gd @@ -0,0 +1,30 @@ +extends Position2D + +var trajectories = { + 'line' : preload("res://source/entities/shooting/Line_Trajectory/Line_Barrel.tscn"), + 'sine' : preload("res://source/entities/shooting/Sine_Trajectory/Sine_Barrel.tscn"), + 'parab' : preload("res://source/entities/shooting/Parabolic_Trajectory/Parabolic_Barrel.tscn"), + 'hyper' : preload("res://source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn") +} + + +func equip_gun(gun_type:String): + for gun in get_children(): #if there is gun remove it + gun.queue_free() + + var gun = trajectories[gun_type].instance() + add_child(gun) + + + +func _process(delta): + look_at(get_global_mouse_position()) + if Input.is_action_just_pressed("line"): + equip_gun('line') + if Input.is_action_just_pressed("sine"): + equip_gun('sine') + if Input.is_action_just_pressed("parab"): + equip_gun('parab') + if Input.is_action_just_pressed("hyper"): + equip_gun('hyper') + pass diff --git a/source/entities/shooting/script/Hyperbola/Hyperbolic_Barrel.gd b/source/entities/shooting/script/Hyperbola/Hyperbolic_Barrel.gd new file mode 100644 index 0000000..fc808d6 --- /dev/null +++ b/source/entities/shooting/script/Hyperbola/Hyperbolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Hyperbolic_Trajectory/Hyperbolic_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/source/entities/shooting/script/Hyperbola/Hyperbolic_Bullet.gd b/source/entities/shooting/script/Hyperbola/Hyperbolic_Bullet.gd new file mode 100644 index 0000000..69f7b2e --- /dev/null +++ b/source/entities/shooting/script/Hyperbola/Hyperbolic_Bullet.gd @@ -0,0 +1,24 @@ +extends Area2D + +var velocity = Vector2() +var speed = 1 +var time = 0.5 +var gravitile = 5 + + + +func follow_hyperbolic_trajectory(): + velocity.x = gravitile * time + velocity.y = 1/time + + +func _process(delta): + follow_hyperbolic_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/source/entities/shooting/script/Hyperbola/Hyperbolic_Env.gd b/source/entities/shooting/script/Hyperbola/Hyperbolic_Env.gd new file mode 100644 index 0000000..344a757 --- /dev/null +++ b/source/entities/shooting/script/Hyperbola/Hyperbolic_Env.gd @@ -0,0 +1,10 @@ +extends Node2D + + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/source/entities/shooting/script/KinematicBody2D.gd b/source/entities/shooting/script/KinematicBody2D.gd new file mode 100644 index 0000000..1aa9367 --- /dev/null +++ b/source/entities/shooting/script/KinematicBody2D.gd @@ -0,0 +1,26 @@ +extends KinematicBody2D + +export var speed = 400 +var movement = Vector2(0, 0) + +#func shoot(): + #var b = env.instance() + #get_parent().add_child(b) + #b.global_transform = $Gun.global_transform + +func get_input(): + movement = Vector2() + if Input.is_action_pressed("ui_right"): + movement.x += 10 + if Input.is_action_pressed("ui_left"): + movement.x -= 10 + if Input.is_action_pressed("ui_down"): + movement.y += 10 + if Input.is_action_pressed("ui_up"): + movement.y -= 10 + #if Input.is_action_just_pressed("shoot"): + #shoot() + +func _physics_process(delta): + get_input() + position += movement.normalized() * speed * delta diff --git a/source/entities/shooting/script/Line/Line_Barrel.gd b/source/entities/shooting/script/Line/Line_Barrel.gd new file mode 100644 index 0000000..4ba9307 --- /dev/null +++ b/source/entities/shooting/script/Line/Line_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Line_Trajectory/Line_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/source/entities/shooting/script/Line/Line_Bullet.gd b/source/entities/shooting/script/Line/Line_Bullet.gd new file mode 100644 index 0000000..3c958c0 --- /dev/null +++ b/source/entities/shooting/script/Line/Line_Bullet.gd @@ -0,0 +1,43 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +export var amplitude = 4 +export var frequency = 5 +var gravitile = 5 + + +func follow_line_trajectory(): + velocity = Vector2(10, 0) + +#func follow_parabolic_trajectory(): + #velocity.x = 5 + #velocity.y = 1 * time * gravitile + #return velocity + +#func follow_hyperbolic_trajectory(): + #velocity.x = gravitile * time + #velocity.y = 1 + #return velocity + +#func input(): + #if Input.is_action_just_pressed("line"): + #return follow_sine_trajectory() + #elif Input.is_action_just_pressed("sine"): + #return follow_line_trajectory() + #else: + #print('Trajectory is not selected') + #queue_free() + +func _process(delta): + follow_line_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/source/entities/shooting/script/Line/Line_Env.gd b/source/entities/shooting/script/Line/Line_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/entities/shooting/script/Line/Line_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/source/entities/shooting/script/Mob.gd b/source/entities/shooting/script/Mob.gd new file mode 100644 index 0000000..16a9985 --- /dev/null +++ b/source/entities/shooting/script/Mob.gd @@ -0,0 +1,10 @@ +extends KinematicBody2D + + +var velocity = Vector2(1, 1) + +func _process(delta): + var collision = move_and_collide(velocity * delta) + + + diff --git a/source/entities/shooting/script/Parabola/Parabolic_Barrel.gd b/source/entities/shooting/script/Parabola/Parabolic_Barrel.gd new file mode 100644 index 0000000..d020184 --- /dev/null +++ b/source/entities/shooting/script/Parabola/Parabolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet = preload("res://Parabolic_Trajectory/Parabolic_Env.tscn") + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/source/entities/shooting/script/Parabola/Parabolic_Bullet.gd b/source/entities/shooting/script/Parabola/Parabolic_Bullet.gd new file mode 100644 index 0000000..beee2de --- /dev/null +++ b/source/entities/shooting/script/Parabola/Parabolic_Bullet.gd @@ -0,0 +1,24 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +var gravitile = 5 + + +func follow_parabolic_trajectory(): + velocity.x = 5 + velocity.y = 1 * time * gravitile + + +func _process(delta): + follow_parabolic_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/source/entities/shooting/script/Parabola/Parabolic_Env.gd b/source/entities/shooting/script/Parabola/Parabolic_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/entities/shooting/script/Parabola/Parabolic_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/source/entities/shooting/script/Sine/Sine_Barrel.gd b/source/entities/shooting/script/Sine/Sine_Barrel.gd new file mode 100644 index 0000000..79ce4e8 --- /dev/null +++ b/source/entities/shooting/script/Sine/Sine_Barrel.gd @@ -0,0 +1,20 @@ +extends StaticBody2D + +onready var bullet = preload("res://Sine_Trajectory/Sine_Env.tscn") + +var velocity = Vector2(1, 0) +var shooting_speed = 200 + + + +func shoot(): + var b = bullet.instance() + get_parent().get_parent().get_parent().add_child(b) + b.global_position = $Position2D.global_position + b.global_rotation = $Position2D.global_rotation + pass + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/source/entities/shooting/script/Sine/Sine_Bullet.gd b/source/entities/shooting/script/Sine/Sine_Bullet.gd new file mode 100644 index 0000000..1196b54 --- /dev/null +++ b/source/entities/shooting/script/Sine/Sine_Bullet.gd @@ -0,0 +1,25 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +export var amplitude = 4 +export var frequency = 5 +var gravitile = 5 + + +func follow_sine_trajectory(): + velocity.y = amplitude * cos(time * frequency) + velocity.x = 5 + +func _process(delta): + follow_sine_trajectory() + time += delta + position += velocity * speed * delta + + +func _on_Bullet_body_entered(body): + if body.is_in_group("mobs"): + body.queue_free() + queue_free() diff --git a/source/entities/shooting/script/Sine/Sine_Env.gd b/source/entities/shooting/script/Sine/Sine_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/entities/shooting/script/Sine/Sine_Env.gd @@ -0,0 +1,9 @@ +extends Node2D + +var time = 0 + + +func _process(delta): + time += delta + if time > 17: + queue_free() diff --git a/source/scenes/GUI/main_menu.tscn b/source/scenes/GUI/main_menu.tscn index c35c9fc..e01614e 100644 --- a/source/scenes/GUI/main_menu.tscn +++ b/source/scenes/GUI/main_menu.tscn @@ -66,8 +66,8 @@ margin_left = -150.0 margin_top = -36.0 margin_right = 150.0 margin_bottom = 36.0 -custom_fonts/font = ExtResource( 5 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = ExtResource( 5 ) text = "PLAY" align = 1 valign = 1 @@ -91,8 +91,8 @@ margin_left = -98.8223 margin_top = -36.0 margin_right = 134.178 margin_bottom = 36.0 -custom_fonts/font = ExtResource( 5 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = ExtResource( 5 ) text = "LAN Party" align = 1 valign = 1 @@ -123,8 +123,8 @@ margin_left = -150.0 margin_top = -36.0 margin_right = 150.0 margin_bottom = 36.0 -custom_fonts/font = ExtResource( 5 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = ExtResource( 5 ) text = "EXIT" align = 1 valign = 1 @@ -138,8 +138,8 @@ margin_left = 1798.91 margin_top = 989.536 margin_right = 1889.91 margin_bottom = 1061.54 -custom_fonts/font = ExtResource( 8 ) custom_colors/font_color_disabled = Color( 1, 1, 1, 1 ) +custom_fonts/font = ExtResource( 8 ) __meta__ = { "_edit_use_anchors_": false }