diff --git a/project.godot b/project.godot index 92323fa..0544c5c 100644 --- a/project.godot +++ b/project.godot @@ -99,6 +99,26 @@ rotation_decrease={ "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) ] } +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) + ] +} +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,"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,"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,"unicode":0,"echo":false,"script":null) + ] +} [physics] diff --git a/source/assets/scripts/player_handlers/player_body_handler.gd b/source/assets/scripts/player_handlers/player_body_handler.gd index 3ead6eb..4e799eb 100644 --- a/source/assets/scripts/player_handlers/player_body_handler.gd +++ b/source/assets/scripts/player_handlers/player_body_handler.gd @@ -67,8 +67,21 @@ var weaponAngle = 0 var particleTexture = ImageTexture.new() var particleImage = Image.new() +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 + pass + + 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) + 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) @@ -124,8 +137,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 @@ -218,7 +231,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 @@ -233,6 +246,7 @@ func _physics_process(delta) -> void: # rpc("instance_bullet", get_tree().get_network_unique_id()) # is_reloading = true # reload_timer.start() + rotate_weapon() else: @@ -370,6 +384,7 @@ sync func enable() -> void: visible = true $player_collider.disabled = false $hitbox/CollisionShape2D.disabled = false + $weaponHolder.disabled = false if get_tree().has_network_peer(): if is_network_master(): @@ -384,6 +399,7 @@ sync func destroy() -> void: visible = false $player_collider.disabled = true $hitbox/CollisionShape2D.disabled = true + $weaponHolder.disabled = true Global.alive_players.erase(self) if get_tree().has_network_peer(): @@ -398,6 +414,7 @@ func _exit_tree() -> void: Global.player_master = null func rotate_weapon(): + #equip_weapon() weaponPosition = $"weaponHolder/Player-character-theme-gun".position weaponPosition -= Vector2(weaponPositionalOffset.x,0).rotated(deg2rad(weaponAngle)) + Vector2(0,weaponPositionalOffset.y) if user_input["r_inc"]: diff --git a/source/assets/scripts/player_handlers/player_bullet.gd b/source/assets/scripts/player_handlers/player_bullet.gd index 76106da..d3d5199 100644 --- a/source/assets/scripts/player_handlers/player_bullet.gd +++ b/source/assets/scripts/player_handlers/player_bullet.gd @@ -50,7 +50,7 @@ sync func destroy() -> void: queue_free() -func _on_Destroy_timer_timeout(): +func _on_destroy_timer_timeout(): if get_tree().has_network_peer(): if get_tree().is_network_server(): rpc("destroy") diff --git a/source/assets/scripts/server_handlers/network_processors/network_setup.gd b/source/assets/scripts/server_handlers/network_processors/network_setup.gd index 93bf673..590e106 100644 --- a/source/assets/scripts/server_handlers/network_processors/network_setup.gd +++ b/source/assets/scripts/server_handlers/network_processors/network_setup.gd @@ -51,6 +51,7 @@ func _ready() -> void: func _process(_delta: float) -> void: if Input.is_action_just_pressed("esc") and username.is_visible_in_tree(): username.hide() + controls.show() if get_tree().network_peer != null: if get_tree().get_network_connected_peers().size() >= 0 and get_tree().is_network_server(): diff --git a/source/assets/scripts/server_handlers/server_processors/server_browser.gd b/source/assets/scripts/server_handlers/server_processors/server_browser.gd index 44081ef..c9b5439 100644 --- a/source/assets/scripts/server_handlers/server_processors/server_browser.gd +++ b/source/assets/scripts/server_handlers/server_processors/server_browser.gd @@ -13,6 +13,7 @@ func _ready() -> void: func _process(delta): if Input.is_action_just_pressed("esc") and popup_screen.is_visible_in_tree(): popup_screen.hide() + $controls.show() func _on_server_listener_new_server(serverInfo): diff --git a/source/assets/scripts/shooting/Gun_.gd b/source/assets/scripts/shooting/Gun_.gd new file mode 100644 index 0000000..54d4399 --- /dev/null +++ b/source/assets/scripts/shooting/Gun_.gd @@ -0,0 +1,34 @@ +extends AnimatedSprite + +var trajectory:String = 'line' + +var bullet_trajectory = { + 'line' : preload("res://source/entities/shooting/Line_Trajectory/Line_Env.tscn"), + 'sine' : preload("res://source/entities/shooting/Sine_Trajectory/Sine_Env.tscn"), + 'parab' : preload("res://source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn"), + 'hyper' : preload("res://source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn") +} + +func choose_trajectory(): + if Input.is_action_just_pressed("line"): + trajectory = 'line' + elif Input.is_action_just_pressed("sine"): + trajectory = 'sine' + elif Input.is_action_just_pressed("parab"): + trajectory = 'parab' + elif Input.is_action_just_pressed("hyper"): + trajectory = 'hyper' + + +func shoot(trajectory:String): + var bullet = bullet_trajectory[trajectory].instance() + get_parent().get_parent().get_parent().add_child(bullet) + bullet.global_position = $Position2D.global_position + bullet.global_rotation = $Position2D.global_rotation + pass + + +func _process(delta): + choose_trajectory() + if Input.is_action_just_pressed("input_shoot"): + shoot(trajectory) diff --git a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd new file mode 100644 index 0000000..f5edb55 --- /dev/null +++ b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet_env = preload("res://source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn") + + +func shoot(): + var bullet = bullet_env.instance() + get_parent().get_parent().get_parent().add_child(bullet) + bullet.global_position = $Position2D.global_position + bullet.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("input_shoot"): + shoot() diff --git a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd new file mode 100644 index 0000000..69f7b2e --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/shooting/Hyperbola/Hyperbolic_Env.gd b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Env.gd new file mode 100644 index 0000000..344a757 --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/shooting/Line/Line_Barrel.gd b/source/assets/scripts/shooting/Line/Line_Barrel.gd new file mode 100644 index 0000000..0d193a9 --- /dev/null +++ b/source/assets/scripts/shooting/Line/Line_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet_env = preload("res://source/entities/shooting/Line_Trajectory/Line_Env.tscn") + + +func shoot(): + var bullet = bullet_env.instance() + get_parent().get_parent().get_parent().add_child(bullet) + bullet.global_position = $Position2D.global_position + bullet.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("input_shoot"): + shoot() diff --git a/source/assets/scripts/shooting/Line/Line_Bullet.gd b/source/assets/scripts/shooting/Line/Line_Bullet.gd new file mode 100644 index 0000000..7ca1846 --- /dev/null +++ b/source/assets/scripts/shooting/Line/Line_Bullet.gd @@ -0,0 +1,40 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 + + +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/assets/scripts/shooting/Line/Line_Env.gd b/source/assets/scripts/shooting/Line/Line_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd b/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd new file mode 100644 index 0000000..6de1e86 --- /dev/null +++ b/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd @@ -0,0 +1,16 @@ +extends StaticBody2D # Y = aX + +onready var bullet_env = preload("res://source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn") + + +func shoot(): + var bullet = bullet_env.instance() + get_parent().get_parent().get_parent().add_child(bullet) + bullet.global_position = $Position2D.global_position + bullet.global_rotation = $Position2D.global_rotation + + + +func _process(delta): + if Input.is_action_just_pressed("shoot"): + shoot() diff --git a/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd b/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd new file mode 100644 index 0000000..beee2de --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/shooting/Parabola/Parabolic_Env.gd b/source/assets/scripts/shooting/Parabola/Parabolic_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/shooting/Sine/Sine_Barrel.gd b/source/assets/scripts/shooting/Sine/Sine_Barrel.gd new file mode 100644 index 0000000..6526775 --- /dev/null +++ b/source/assets/scripts/shooting/Sine/Sine_Barrel.gd @@ -0,0 +1,20 @@ +extends StaticBody2D + +onready var bullet_env = preload("res://source/entities/shooting/Sine_Trajectory/Sine_Env.tscn") + +var velocity = Vector2(1, 0) +var shooting_speed = 200 + + + +func shoot(): + var bullet = bullet_env.instance() + get_parent().get_parent().get_parent().add_child(bullet) + bullet.global_position = $Position2D.global_position + bullet.global_rotation = $Position2D.global_rotation + pass + + +func _process(delta): + if Input.is_action_just_pressed("input_shoot"): + shoot() diff --git a/source/assets/scripts/shooting/Sine/Sine_Bullet.gd b/source/assets/scripts/shooting/Sine/Sine_Bullet.gd new file mode 100644 index 0000000..dfd000a --- /dev/null +++ b/source/assets/scripts/shooting/Sine/Sine_Bullet.gd @@ -0,0 +1,24 @@ +extends Area2D + +export var speed = 100 +var velocity = Vector2() + +var time = 0 +export var amplitude = 4 +export var frequency = 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/assets/scripts/shooting/Sine/Sine_Env.gd b/source/assets/scripts/shooting/Sine/Sine_Env.gd new file mode 100644 index 0000000..3a7645d --- /dev/null +++ b/source/assets/scripts/shooting/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/assets/scripts/ui_element_handlers/username_text.gd b/source/assets/scripts/ui_element_handlers/username_text.gd index 42618e2..c009c2f 100644 --- a/source/assets/scripts/ui_element_handlers/username_text.gd +++ b/source/assets/scripts/ui_element_handlers/username_text.gd @@ -2,12 +2,15 @@ extends Node2D var player_following = null var text = "" setget text_set + +var distanceToPlayerOffset = -100 + onready var label = $Label func _process(delta: float) -> void: if player_following != null: - global_position = player_following.global_position + global_position = player_following.global_position + Vector2(0,distanceToPlayerOffset).rotated(player_following.rotation) func text_set(new_text) -> void: diff --git a/source/entities/player/player_node.tscn b/source/entities/player/player_node.tscn index b604957..6a4f678 100644 --- a/source/entities/player/player_node.tscn +++ b/source/entities/player/player_node.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=176 format=2] +[gd_scene load_steps=177 format=2] [ext_resource path="res://source/assets/sprites/character/player/theme/01/na/Player-character-theme-01.png" type="Texture" id=1] [ext_resource path="res://source/assets/scripts/player_handlers/player_collider_handler.gd" type="Script" id=2] @@ -15,6 +15,7 @@ [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 7.png" type="Texture" id=13] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 12.png" type="Texture" id=14] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 10.png" type="Texture" id=15] +[ext_resource path="res://source/assets/scripts/shooting/Gun_.gd" type="Script" id=16] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 18.png" type="Texture" id=18] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/right_r/Player-character-theme-01_anim-idle – 34.png" type="Texture" id=19] [ext_resource path="res://source/assets/sprites/character/player/theme/01/animation/left_r/Player-character-theme-01_anim-idle – 17.png" type="Texture" id=20] @@ -174,111 +175,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 +187,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( 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": "idle-speed-right-01", +"speed": 25.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( 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( 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( 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( 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( 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( 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( 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( 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( 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( 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( 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( 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( 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 } ] [sub_resource type="RectangleShape2D" id=3] @@ -323,24 +309,24 @@ radius = 41.5403 [sub_resource type="SpriteFrames" id=6] animations = [ { +"frames": [ ExtResource( 170 ) ], +"loop": true, +"name": "02", +"speed": 5.0 +}, { "frames": [ ExtResource( 27 ) ], "loop": true, "name": "01", "speed": 5.0 }, { -"frames": [ ExtResource( 168 ) ], -"loop": true, -"name": "03", -"speed": 5.0 -}, { "frames": [ ExtResource( 169 ) ], "loop": true, "name": "04", "speed": 5.0 }, { -"frames": [ ExtResource( 170 ) ], +"frames": [ ExtResource( 168 ) ], "loop": true, -"name": "02", +"name": "03", "speed": 5.0 } ] @@ -349,7 +335,6 @@ animations = [ { "Player", ]] script = ExtResource( 11 ) -theme = "03" [node name="player_collider" type="CollisionShape2D" parent="."] shape = SubResource( 1 ) @@ -399,14 +384,41 @@ texture = ExtResource( 26 ) shape = SubResource( 5 ) [node name="Player-character-theme-gun" type="AnimatedSprite" parent="weaponHolder"] +position = Vector2( -13, 1 ) scale = Vector2( 0.25, 0.25 ) frames = SubResource( 6 ) animation = "04" +script = ExtResource( 16 ) -[node name="Player-character-theme-gun-na" type="Sprite" parent="weaponHolder"] +[node name="Position2D" type="Position2D" parent="weaponHolder/Player-character-theme-gun"] +position = Vector2( -120, 0 ) +rotation = 3.14159 +scale = Vector2( 4, 4 ) + +[node name="Player-character-theme-gun-na1" type="Sprite" parent="weaponHolder"] +visible = false +position = Vector2( -100, 7 ) scale = Vector2( 0.25, 0.25 ) texture = ExtResource( 171 ) +[node name="Player-character-theme-gun-na2" type="Sprite" parent="weaponHolder"] +visible = false +position = Vector2( -106, -18 ) +scale = Vector2( 0.177591, 0.18125 ) +texture = ExtResource( 171 ) + +[node name="Player-character-theme-gun-na3" type="Sprite" parent="weaponHolder"] +visible = false +position = Vector2( -93, -65 ) +scale = Vector2( 0.375937, 0.251953 ) +texture = ExtResource( 171 ) + +[node name="Player-character-theme-gun-na4" type="Sprite" parent="weaponHolder"] +visible = false +position = Vector2( -104, -38 ) +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..d1bea7d --- /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://source/assets/scripts/shooting/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..2e85e5d --- /dev/null +++ b/source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Bullet.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://source/assets/sprites/bullet/bullet.png" type="Texture" id=1] +[ext_resource path="res://source/assets/scripts/shooting/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="bullet" type="Sprite" parent="."] +scale = Vector2( 0.5, 0.5 ) +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..da147ed --- /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://source/entities/shooting/Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://source/assets/scripts/shooting/Hyperbola/Hyperbolic_Env.gd" type="Script" id=2] +[ext_resource path="res://source/assets/scripts/shooting/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..4faa39b --- /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://source/assets/scripts/shooting/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..bdd5dc9 --- /dev/null +++ b/source/entities/shooting/Line_Trajectory/Line_Bullet.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://source/assets/sprites/bullet/bullet.png" type="Texture" id=1] +[ext_resource path="res://source/assets/scripts/shooting/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="bullet" type="Sprite" parent="."] +scale = Vector2( 0.5, 0.5 ) +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..d355a02 --- /dev/null +++ b/source/entities/shooting/Line_Trajectory/Line_Env.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://source/entities/shooting/Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://source/assets/scripts/shooting/Line/Line_Env.gd" type="Script" id=2] + +[node name="Env" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Bullet" parent="." instance=ExtResource( 1 )] 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..0fcdc54 --- /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://source/assets/scripts/shooting/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..bdd5dc9 --- /dev/null +++ b/source/entities/shooting/Parabolic_Trajectory/Parabolic_Bullet.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://source/assets/sprites/bullet/bullet.png" type="Texture" id=1] +[ext_resource path="res://source/assets/scripts/shooting/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="bullet" type="Sprite" parent="."] +scale = Vector2( 0.5, 0.5 ) +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..86beaa0 --- /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://source/entities/shooting/Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://source/assets/scripts/shooting/Parabola/Parabolic_Env.gd" type="Script" id=2] +[ext_resource path="res://source/assets/scripts/shooting/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..07882a0 --- /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://source/assets/scripts/shooting/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..e05e92a --- /dev/null +++ b/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://source/assets/sprites/bullet/bullet.png" type="Texture" id=1] +[ext_resource path="res://source/assets/scripts/shooting/Sine/Sine_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="bullet" type="Sprite" parent="."] +scale = Vector2( 0.5, 0.5 ) +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..43043ba --- /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://source/entities/shooting/Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1] +[ext_resource path="res://source/assets/scripts/shooting/Sine/Sine_Env.gd" type="Script" id=2] +[ext_resource path="res://source/assets/scripts/shooting/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 81% rename from source/entities/bullet/player_bullet.tscn rename to source/entities/shooting/player_bullet.tscn index 1b30fbc..d3813c1 100644 --- a/source/entities/bullet/player_bullet.tscn +++ b/source/entities/shooting/player_bullet.tscn @@ -6,18 +6,21 @@ [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 22.0883, 10 ) -[node name="player_bullet" type="Sprite" groups=["Net"]] +[node name="player_bullet" type="Sprite" groups=[ +"Net", +]] texture = ExtResource( 1 ) script = ExtResource( 2 ) -[node name="hitbox" type="Area2D" parent="." groups=["Player_damager"]] +[node name="hitbox" type="Area2D" parent="." groups=[ +"Player_damager", +]] [node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox"] visible = false shape = SubResource( 1 ) [node name="destroy_timer" type="Timer" parent="."] -wait_time = 5.0 one_shot = true autostart = true diff --git a/source/levels/trinity_site/trinity_site_level.tscn b/source/levels/trinity_site/trinity_site_level.tscn index b3db345..f9d472b 100644 --- a/source/levels/trinity_site/trinity_site_level.tscn +++ b/source/levels/trinity_site/trinity_site_level.tscn @@ -142,10 +142,10 @@ margin_left = 2.37842 margin_top = -35.5 margin_right = 2.37842 margin_bottom = 106.5 -custom_fonts/font = SubResource( 1 ) custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) custom_constants/shadow_offset_x = 6 custom_constants/shadow_offset_y = 6 +custom_fonts/font = SubResource( 1 ) text = "You are the winner" align = 1 valign = 1 diff --git a/source/scenes/GUI/network_setup.tscn b/source/scenes/GUI/network_setup.tscn index 62ce7ce..c03b136 100644 --- a/source/scenes/GUI/network_setup.tscn +++ b/source/scenes/GUI/network_setup.tscn @@ -14,15 +14,21 @@ [ext_resource path="res://source/scenes/OVERLAY/elements/wall.tscn" type="PackedScene" id=13] [ext_resource path="res://source/assets/sprites/GUI/server_title.svg" type="Texture" id=15] -[sub_resource type="DynamicFont" id=11] +[sub_resource type="DynamicFont" id=1] size = 36 use_mipmaps = true use_filter = true font_data = ExtResource( 2 ) -[sub_resource type="StyleBoxEmpty" id=12] +[sub_resource type="StyleBoxEmpty" id=2] -[sub_resource type="StyleBoxEmpty" id=4] +[sub_resource type="StyleBoxEmpty" id=3] + +[sub_resource type="DynamicFont" id=4] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 2 ) [sub_resource type="DynamicFont" id=5] size = 36 @@ -31,18 +37,12 @@ use_filter = true font_data = ExtResource( 2 ) [sub_resource type="DynamicFont" id=6] -size = 36 -use_mipmaps = true -use_filter = true -font_data = ExtResource( 2 ) - -[sub_resource type="DynamicFont" id=9] size = 88 use_mipmaps = true use_filter = true font_data = ExtResource( 3 ) -[sub_resource type="DynamicFont" id=10] +[sub_resource type="DynamicFont" id=7] size = 22 use_mipmaps = true use_filter = true @@ -177,7 +177,7 @@ margin_left = -225.0 margin_top = -25.0 margin_right = -225.0 margin_bottom = -25.0 -custom_fonts/font = SubResource( 11 ) +custom_fonts/font = SubResource( 1 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) text = "Enter your username" align = 1 @@ -209,9 +209,9 @@ margin_left = -175.0 margin_top = -28.0 margin_right = 175.0 margin_bottom = 28.0 -custom_styles/focus = SubResource( 12 ) -custom_styles/normal = SubResource( 4 ) -custom_fonts/font = SubResource( 5 ) +custom_styles/focus = SubResource( 2 ) +custom_styles/normal = SubResource( 3 ) +custom_fonts/font = SubResource( 4 ) custom_colors/selection_color = Color( 0.8, 0.8, 0.8, 1 ) align = 1 placeholder_text = "username" @@ -233,7 +233,7 @@ margin_bottom = 97.0 [node name="Label" type="Label" parent="multiplayer_configure/popup_screen/panel/confirm"] anchor_right = 1.0 anchor_bottom = 1.0 -custom_fonts/font = SubResource( 6 ) +custom_fonts/font = SubResource( 5 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) text = "CONFIRM" align = 1 @@ -306,7 +306,7 @@ margin_left = -319.0 margin_top = -56.0 margin_right = 319.0 margin_bottom = 56.0 -custom_fonts/font = SubResource( 9 ) +custom_fonts/font = SubResource( 6 ) custom_colors/font_color = Color( 0.439216, 0.666667, 1, 0.27451 ) align = 1 valign = 1 @@ -324,7 +324,7 @@ margin_left = -116.5 margin_top = 60.0 margin_right = 116.5 margin_bottom = 89.0 -custom_fonts/font = SubResource( 10 ) +custom_fonts/font = SubResource( 7 ) custom_colors/font_color = Color( 0.439216, 0.666667, 1, 0.27451 ) text = "WAITING FOR PLAYERS" align = 1 diff --git a/source/scenes/OVERLAY/elements/simple_prompt.tscn b/source/scenes/OVERLAY/elements/simple_prompt.tscn index 16826ac..7d394fb 100644 --- a/source/scenes/OVERLAY/elements/simple_prompt.tscn +++ b/source/scenes/OVERLAY/elements/simple_prompt.tscn @@ -55,8 +55,8 @@ margin_bottom = 155.5 [node name="OK" type="Label" parent="Panel/ok"] anchor_right = 1.0 anchor_bottom = 1.0 -custom_fonts/font = SubResource( 2 ) custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = SubResource( 2 ) text = "OK" align = 1 valign = 1 diff --git a/source/scenes/OVERLAY/elements/username_text.tscn b/source/scenes/OVERLAY/elements/username_text.tscn index 5d70358..ca2df41 100644 --- a/source/scenes/OVERLAY/elements/username_text.tscn +++ b/source/scenes/OVERLAY/elements/username_text.tscn @@ -16,10 +16,10 @@ z_index = 10 script = ExtResource( 2 ) [node name="Label" type="Label" parent="."] -margin_left = -199.67 -margin_top = -131.674 -margin_right = 194.33 -margin_bottom = -55.6742 +margin_left = -200.0 +margin_top = -40.0 +margin_right = 200.0 +margin_bottom = 40.0 custom_fonts/font = SubResource( 1 ) text = "null" align = 1