A little folders cleanup

This commit is contained in:
2ndbeam 2024-05-14 22:01:33 +03:00
commit 545da7be1f
90 changed files with 68 additions and 1661 deletions

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=2 format=3 uid="uid://cxbsw78sqdqyg"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_7fodh"]
[resource]
script = ExtResource("1_7fodh")
name = "Double Laser Mk.I"
description = "It gets twice as better than a crappy one."
min_price = 200.0
max_price = 250.0
weight = 0.0
type = 1

View file

@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="Item" load_steps=3 format=3 uid="uid://ca8cpmd1aluut"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_gmqal"]
[ext_resource type="Script" path="res://scripts/Classes/item.gd" id="1_gmqal"]
[ext_resource type="Texture2D" uid="uid://w3aft10s2hxd" path="res://sprites/items_icons/food.png" id="1_w33w6"]
[resource]

View file

@ -1,14 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=3 format=3 uid="uid://dcu7danm4lucy"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="1_eqmv1"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_xq0fp"]
[resource]
script = ExtResource("1_xq0fp")
name = "HullMk2"
description = "Upgraded version of standart hull."
min_price = 200.0
max_price = 300.0
weight = 0.0
icon = ExtResource("1_eqmv1")
type = 2

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=2 format=3 uid="uid://bh1thpb5padtm"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_abxbi"]
[resource]
script = ExtResource("1_abxbi")
name = "Single Laser Mk.I"
description = "This one looks nice. Definitely not that deadly as it was advertised."
min_price = 50.0
max_price = 100.0
weight = 0.0
type = 1

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=2 format=3 uid="uid://gg7ju73wve6w"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_r753s"]
[resource]
script = ExtResource("1_r753s")
name = "Single Rocket Mk.I"
description = "Erm...Still better than laser..."
min_price = 150.0
max_price = 200.0
weight = 0.0
type = 1

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=2 format=3 uid="uid://d365u87r3hvb5"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_q5jvx"]
[resource]
script = ExtResource("1_q5jvx")
name = "Starter Engine"
description = "The first one to be made."
min_price = 50.0
max_price = 100.0
weight = 0.0
type = 0

View file

@ -1,14 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=3 format=3 uid="uid://14rkvp6cksg5"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="1_5dwb0"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_e4j4a"]
[resource]
script = ExtResource("1_e4j4a")
name = "StarterHull"
description = "The very basic hull, even YOU could afford that."
min_price = 200.0
max_price = 250.0
weight = 0.0
icon = ExtResource("1_5dwb0")
type = 2

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="Item" load_steps=2 format=3 uid="uid://ceygt2ddj80sf"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_k57go"]
[resource]
script = ExtResource("1_k57go")
name = "Starter Shield"
description = "You needed that so desperately so you didn't think of getting a better one later."
min_price = 100.0
max_price = 150.0
weight = 0.0
type = 3

View file

@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="Item" load_steps=4 format=3 uid="uid://bii3yrhoqcket"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="1_e5k7o"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/Ships/Parts/laserbox.png" id="1_e5k7o"]
[ext_resource type="Script" path="res://scripts/item.gd" id="1_s7nhb"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_l1qse"]

View file

@ -1,60 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://dbtrc26016xov"]
[ext_resource type="Script" path="res://scripts/objects/Base.gd" id="1_bmrsb"]
[ext_resource type="Material" uid="uid://cw0827vwv7pc1" path="res://shaders/materials/ship_material.tres" id="1_uy68o"]
[ext_resource type="Texture2D" uid="uid://deabc107bimdb" path="res://sprites/space station 1.png" id="2_tvpq1"]
[ext_resource type="Script" path="res://scripts/misc/BaseCollider.gd" id="3_vluwu"]
[ext_resource type="Script" path="res://scripts/misc/BaseMenuOpen.gd" id="4_ftno6"]
[ext_resource type="PackedScene" uid="uid://bdwk0dqcx0xhp" path="res://scenes/menus/BaseMenu.tscn" id="5_mhbys"]
[ext_resource type="Script" path="res://scripts/misc/BaseNPCRotator.gd" id="6_qn4dn"]
[node name="Base" type="Node2D"]
process_mode = 1
material = ExtResource("1_uy68o")
script = ExtResource("1_bmrsb")
[node name="Sprite" type="Sprite2D" parent="."]
use_parent_material = true
rotation = -1.5708
texture = ExtResource("2_tvpq1")
[node name="BaseCollider" type="StaticBody2D" parent="."]
collision_layer = 2
collision_mask = 5
script = ExtResource("3_vluwu")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="BaseCollider"]
polygon = PackedVector2Array(129, -32, 129, 32, 256, 63, 225, 192, 192, 225, 67, 256, -67, 256, -192, 225, -225, 192, -256, 67, -256, -67, -225, -192, -192, -225, -67, -256, 67, -256, 192, -225, 225, -192, 256, -67, 256, -63)
[node name="BaseColliderDetector" type="Area2D" parent="BaseCollider"]
collision_layer = 2
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="BaseCollider/BaseColliderDetector"]
polygon = PackedVector2Array(129, -32, 129, 32, 256, 63, 256, 61, 131, 30, 131, -30, 256, -61, 256, -63)
[node name="MenuCollider" type="Area2D" parent="."]
collision_layer = 8
script = ExtResource("4_ftno6")
menu = ExtResource("5_mhbys")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="MenuCollider"]
polygon = PackedVector2Array(129, 32, 256, 63, 256, -63, 129, -32)
[node name="NPCBlocker" type="StaticBody2D" parent="."]
collision_layer = 16
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="NPCBlocker"]
polygon = PackedVector2Array(129, 32, 256, 63, 256, -63, 129, -32)
[node name="NPCRotator" type="Area2D" parent="."]
collision_layer = 16
monitorable = false
script = ExtResource("6_qn4dn")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="NPCRotator"]
polygon = PackedVector2Array(129, -32, 129, 32, 257, 63, 226, 193, 192, 226, 67, 257, -67, 257, -193, 226, -226, 193, -257, 67, -257, -67, -226, -193, -193, -226, -67, -257, 67, -257, 193, -226, 226, -193, 257, -67, 257, -63)
[connection signal="body_entered" from="BaseCollider/BaseColliderDetector" to="MenuCollider" method="onbcbodyentered"]
[connection signal="body_entered" from="MenuCollider" to="MenuCollider" method="_on_body_entered"]
[connection signal="body_exited" from="MenuCollider" to="MenuCollider" method="_on_body_exited"]
[connection signal="body_entered" from="NPCRotator" to="NPCRotator" method="_on_body_entered"]

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://dk3nvl8f0v24e"]
[ext_resource type="Script" path="res://scripts/Base/base.gd" id="1_dr4wr"]
[ext_resource type="Texture2D" uid="uid://3x77t3kd6v0x" path="res://sprites/triangle_base.png" id="1_nrkxw"]
[ext_resource type="Texture2D" uid="uid://3x77t3kd6v0x" path="res://sprites/Bases/triangle_base.png" id="1_nrkxw"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4e5h0"]
size = Vector2(357, 4)

View file

@ -3,7 +3,7 @@
[ext_resource type="Script" path="res://scripts/menu/MainMenu.gd" id="1_2wax0"]
[ext_resource type="Shader" uid="uid://f6lhks6rp5jw" path="res://shaders/testicles.tres" id="1_on8wy"]
[ext_resource type="Gradient" uid="uid://c6bcjydbwm5id" path="res://scenes/SpaceGradient.tres" id="2_7racd"]
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star Systems/Required Scenes/star_generator.tscn" id="4_g7254"]
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star System/Required Scenes/star_generator.tscn" id="4_g7254"]
[ext_resource type="Script" path="res://scripts/menu/MainMenuButton.gd" id="5_q6x10"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rtgkw"]

View file

@ -1,223 +0,0 @@
[gd_scene load_steps=14 format=3 uid="uid://ccrs28h3b2tfy"]
[ext_resource type="Material" uid="uid://cw0827vwv7pc1" path="res://shaders/materials/ship_material.tres" id="1_6fqoi"]
[ext_resource type="Script" path="res://scripts/objects/MainShip.gd" id="1_h7kne"]
[ext_resource type="PackedScene" uid="uid://bbho4h6tg4jca" path="res://scenes/hulls/starterhull.tscn" id="2_r634y"]
[ext_resource type="PackedScene" uid="uid://20171x3gmn1j" path="res://scenes/engines/starterengine.tscn" id="3_upe7o"]
[ext_resource type="PackedScene" uid="uid://cf11711uqb42j" path="res://scenes/weapons/presets/SingleLaserMk1.tscn" id="4_s724s"]
[ext_resource type="Script" path="res://scripts/misc/SpeedLine.gd" id="6_ckx3n"]
[ext_resource type="PackedScene" uid="uid://66m5gj2ufsop" path="res://scenes/shields/startershield.tscn" id="6_nihas"]
[ext_resource type="Script" path="res://scripts/misc/CameraTweaks.gd" id="7_5jx81"]
[ext_resource type="Script" path="res://scripts/misc/Counter.gd" id="8_udmcu"]
[ext_resource type="Script" path="res://scripts/misc/VersionLabel.gd" id="10_eil8s"]
[ext_resource type="Script" path="res://scripts/misc/PlayerPauseController.gd" id="13_8y0ow"]
[ext_resource type="PackedScene" uid="uid://dsmwg1rxedi3x" path="res://scenes/Minimap.tscn" id="14_o544g"]
[sub_resource type="LabelSettings" id="LabelSettings_hkik3"]
font_size = 48
[node name="MainShip" type="CharacterBody2D"]
process_mode = 1
material = ExtResource("1_6fqoi")
collision_mask = 3
script = ExtResource("1_h7kne")
metadata/_edit_horizontal_guides_ = []
[node name="Hull" parent="." instance=ExtResource("2_r634y")]
[node name="Engine" parent="." instance=ExtResource("3_upe7o")]
[node name="PrimaryWeapon" type="Node2D" parent="."]
use_parent_material = true
[node name="SingleLaser" parent="PrimaryWeapon" instance=ExtResource("4_s724s")]
[node name="SecondaryWeapon" type="Node2D" parent="."]
use_parent_material = true
[node name="SingleLaser" parent="SecondaryWeapon" instance=ExtResource("4_s724s")]
[node name="Shield" parent="." instance=ExtResource("6_nihas")]
[node name="Camera" type="Camera2D" parent="."]
limit_left = -4096
limit_top = -4096
limit_right = 4096
limit_bottom = 4096
position_smoothing_speed = 200.0
script = ExtResource("7_5jx81")
[node name="Collision" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(0, -16, 32, 0, 0, 16, 0, 4, -4, 4, -8, 8, -8, -8, -4, -4, 0, -4)
[node name="GUI" type="CanvasLayer" parent="."]
[node name="Interface" type="Control" parent="GUI"]
z_index = 78
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="MainRectangle" type="Polygon2D" parent="GUI/Interface"]
position = Vector2(34, 651)
polygon = PackedVector2Array(0, 0, 175, 0, 175, 50, 0, 50)
[node name="InnerRectangle" type="Polygon2D" parent="GUI/Interface/MainRectangle"]
color = Color(0, 0, 0, 1)
polygon = PackedVector2Array(1, 1, 174, 1, 174, 49, 1, 49)
[node name="ZeroLine" type="Line2D" parent="GUI/Interface/MainRectangle"]
position = Vector2(-34, -651)
points = PackedVector2Array(59, 651, 59, 701)
width = 1.0
[node name="TurboLine" type="Line2D" parent="GUI/Interface/MainRectangle"]
position = Vector2(66, -651)
points = PackedVector2Array(59, 651, 59, 701)
width = 1.0
[node name="SpeedLine" type="Line2D" parent="GUI/Interface"]
position = Vector2(59, 676)
points = PackedVector2Array(0, 0, 0, 0)
width = 48.0
script = ExtResource("6_ckx3n")
[node name="FuelCounter" type="Label" parent="GUI/Interface"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 34.0
offset_top = 625.0
offset_right = -1071.0
offset_bottom = -69.0
grow_horizontal = 2
grow_vertical = 2
text = "Fuel: 1000/1000 units"
script = ExtResource("8_udmcu")
counter_id = "fuel"
[node name="AmmoCounter" type="Label" parent="GUI/Interface"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -63.0
offset_top = -42.0
offset_right = -13.0
offset_bottom = -16.0
grow_horizontal = 0
grow_vertical = 0
text = "ammo"
horizontal_alignment = 2
vertical_alignment = 2
script = ExtResource("8_udmcu")
counter_id = "ammo"
[node name="ShieldCounter" type="Label" parent="GUI/Interface"]
layout_mode = 0
offset_left = 34.0
offset_top = 580.0
offset_right = 239.0
offset_bottom = 606.0
text = "Shield Capacity: 8 / 8 units"
script = ExtResource("8_udmcu")
counter_id = "shield"
[node name="HPCounter" type="Label" parent="GUI/Interface"]
layout_mode = 0
offset_left = 34.0
offset_top = 602.0
offset_right = 209.0
offset_bottom = 625.0
text = "Hull Strength: 30 / 30 units"
script = ExtResource("8_udmcu")
counter_id = "hp"
[node name="MoneyCounter" type="Label" parent="GUI/Interface"]
layout_mode = 0
offset_left = 34.0
offset_top = 558.0
offset_right = 250.0
offset_bottom = 584.0
text = "Available Money: 1000 units"
script = ExtResource("8_udmcu")
counter_id = "money"
[node name="PauseController" type="Control" parent="GUI/Interface"]
process_mode = 2
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("13_8y0ow")
[node name="UnpauseButton" type="Button" parent="GUI/Interface/PauseController"]
layout_mode = 0
offset_left = 311.0
offset_top = 253.0
offset_right = 982.0
offset_bottom = 365.0
mouse_filter = 1
text = "Resume"
[node name="ExitButton" type="Button" parent="GUI/Interface/PauseController"]
layout_mode = 0
offset_left = 312.0
offset_top = 378.0
offset_right = 983.0
offset_bottom = 492.0
text = "Save and quit to main menu"
[node name="Label" type="Label" parent="GUI/Interface/PauseController"]
layout_mode = 0
offset_left = 413.0
offset_top = 108.0
offset_right = 881.0
offset_bottom = 178.0
text = "The game is paused."
label_settings = SubResource("LabelSettings_hkik3")
[node name="VersionLabel" type="Label" parent="GUI/Interface"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -153.0
offset_bottom = 26.0
grow_horizontal = 0
text = "GammaCosmicRays version Ictar 1.1 unbuilt
This is a debug version for internal usage."
horizontal_alignment = 2
script = ExtResource("10_eil8s")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 2
[node name="Control" type="Control" parent="CanvasLayer"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Minimap" parent="CanvasLayer/Control" instance=ExtResource("14_o544g")]
layout_mode = 1
offset_left = 543.0
offset_top = 528.0
offset_right = 543.0
offset_bottom = 527.76
[connection signal="button_up" from="GUI/Interface/PauseController/UnpauseButton" to="GUI/Interface/PauseController" method="_on_unpause_button_button_up"]
[connection signal="button_up" from="GUI/Interface/PauseController/ExitButton" to="GUI/Interface/PauseController" method="_on_exit_button_button_up"]

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bsu4eqwdfewwi"]
[ext_resource type="Script" path="res://scripts/Ship/hull.gd" id="1_7nfg8"]
[ext_resource type="Texture2D" uid="uid://beb76cssb3knp" path="res://sprites/ship.png" id="2_vhl4r"]
[ext_resource type="Texture2D" uid="uid://beb76cssb3knp" path="res://sprites/Ships/ship.png" id="2_vhl4r"]
[node name="Hull" type="RigidBody2D"]
position = Vector2(0.5, 0)

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bkd4gyhlota7l"]
[ext_resource type="PackedScene" uid="uid://bsu4eqwdfewwi" path="res://scenes/Ships/Modules/Hulls/hull.tscn" id="1_l56rl"]
[ext_resource type="Texture2D" uid="uid://bchkncbniclhh" path="res://sprites/kamikaze.png" id="2_8ba3c"]
[ext_resource type="Texture2D" uid="uid://bchkncbniclhh" path="res://sprites/Ships/kamikaze.png" id="2_8ba3c"]
[node name="Hull" instance=ExtResource("1_l56rl")]
collision_mask = 3

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bckgb423wsdrw"]
[ext_resource type="PackedScene" uid="uid://bsu4eqwdfewwi" path="res://scenes/Ships/Modules/Hulls/hull.tscn" id="1_7i1ve"]
[ext_resource type="Texture2D" uid="uid://bxtd2ij1dc1d3" path="res://sprites/shooter.png" id="2_gvwov"]
[ext_resource type="Texture2D" uid="uid://bxtd2ij1dc1d3" path="res://sprites/Ships/shooter.png" id="2_gvwov"]
[node name="Hull" instance=ExtResource("1_7i1ve")]
max_hp = 10.0

View file

@ -1,10 +1,10 @@
[gd_scene load_steps=8 format=3 uid="uid://qr1h87np4sn1"]
[ext_resource type="Script" path="res://scripts/objects/Rocket.gd" id="1_h8tie"]
[ext_resource type="Texture2D" uid="uid://dvnqx6habw8uc" path="res://sprites/rocket mk1 1.png" id="2_g3qcb"]
[ext_resource type="Texture2D" uid="uid://dgxlnp520q1tp" path="res://sprites/rocket mk1 2.png" id="3_q1u7q"]
[ext_resource type="Texture2D" uid="uid://fqcylid4oa6b" path="res://sprites/rocket mk1 3.png" id="4_f2hwy"]
[ext_resource type="Texture2D" uid="uid://3nxmmp826b1s" path="res://sprites/rocket mk1 4.png" id="5_xas58"]
[ext_resource type="Texture2D" uid="uid://dvnqx6habw8uc" path="res://sprites/Projectiles/Rocket/rocket mk1 1.png" id="2_g3qcb"]
[ext_resource type="Texture2D" uid="uid://dgxlnp520q1tp" path="res://sprites/Projectiles/Rocket/rocket mk1 2.png" id="3_q1u7q"]
[ext_resource type="Texture2D" uid="uid://fqcylid4oa6b" path="res://sprites/Projectiles/Rocket/rocket mk1 3.png" id="4_f2hwy"]
[ext_resource type="Texture2D" uid="uid://3nxmmp826b1s" path="res://sprites/Projectiles/Rocket/rocket mk1 4.png" id="5_xas58"]
[sub_resource type="SpriteFrames" id="SpriteFrames_pnkh5"]
animations = [{

View file

@ -1,9 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://bf10g066l8grd"]
[ext_resource type="PackedScene" uid="uid://ryy1tdrxmjav" path="res://scenes/Ships/Modules/Weapons/weapon.tscn" id="1_l10lx"]
[ext_resource type="Texture2D" uid="uid://1yihkbdosopx" path="res://sprites/lasergun.png" id="2_5ysch"]
[ext_resource type="Texture2D" uid="uid://1yihkbdosopx" path="res://sprites/Ships/Parts/lasergun.png" id="2_5ysch"]
[ext_resource type="Script" path="res://scripts/Weapons/laser.gd" id="2_qqcrf"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_65sll"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/Ships/Parts/laserbox.png" id="3_65sll"]
[node name="Laser" node_paths=PackedStringArray("spawner_points") instance=ExtResource("1_l10lx")]
script = ExtResource("2_qqcrf")

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://ryy1tdrxmjav"]
[ext_resource type="Script" path="res://scripts/Ship/weapon.gd" id="1_ga8vg"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_qo148"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/Ships/Modules/Weapons/Projectiles/laser.tscn" id="2_qo148"]
[node name="Weapon" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
script = ExtResource("1_ga8vg")

View file

@ -1,301 +0,0 @@
[gd_scene load_steps=31 format=3 uid="uid://14k35mkjwi5i"]
[ext_resource type="PackedScene" uid="uid://ccrs28h3b2tfy" path="res://scenes/MainShip.tscn" id="1_6fvpc"]
[ext_resource type="Script" path="res://scripts/Spaceold.gd" id="1_ppaw3"]
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star Systems/Required Scenes/star_generator.tscn" id="3_jbyyq"]
[ext_resource type="Script" path="res://scripts/misc/ProjectilesContainer.gd" id="4_dtv2c"]
[ext_resource type="PackedScene" uid="uid://dbtrc26016xov" path="res://scenes/Base.tscn" id="5_bjt5p"]
[ext_resource type="PackedScene" uid="uid://523dme3h6d6c" path="res://scenes/npcships/NPCShipDefault.tscn" id="6_67746"]
[ext_resource type="Script" path="res://scripts/misc/FactionRecoloring.gd" id="7_w8i61"]
[ext_resource type="Shader" path="res://shaders/ship.gdshader" id="7_wqq78"]
[ext_resource type="Shader" path="res://shaders/nebula.gdshader" id="8_3swn8"]
[ext_resource type="Script" path="res://scripts/nebula.gd" id="9_utirt"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_trcbc"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ximju"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tyycv"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hliu0"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wqn82"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bd4d5"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_stbmy"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cni30"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x5auq"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ucpjn"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_e24ck"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ssd2x"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vtqhw"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array()
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bdvxf"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j8bi2"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pbsyb"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2r73x"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="FastNoiseLite" id="FastNoiseLite_n2xxx"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lcrcg"]
seamless = true
noise = SubResource("FastNoiseLite_n2xxx")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_s2aaw"]
shader = ExtResource("8_3swn8")
shader_parameter/divisor = 10000.0
shader_parameter/offset = Vector2(0, 0)
shader_parameter/nebula_color = Color(0.0666667, 0.0666667, 0.188235, 1)
shader_parameter/noise_texture = SubResource("NoiseTexture2D_lcrcg")
[node name="Space" type="Node2D"]
process_mode = 3
script = ExtResource("1_ppaw3")
[node name="MainShip" parent="." instance=ExtResource("1_6fvpc")]
material = SubResource("ShaderMaterial_trcbc")
[node name="Stars" parent="." instance=ExtResource("3_jbyyq")]
[node name="Projectiles" type="Node2D" parent="."]
process_mode = 1
script = ExtResource("4_dtv2c")
[node name="EnemyFaction" type="Node2D" parent="."]
process_mode = 1
script = ExtResource("7_w8i61")
faction = true
[node name="DefaultShip" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_ximju")
position = Vector2(-600, 930)
[node name="DefaultShip2" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_tyycv")
position = Vector2(595, 956)
[node name="DefaultShip3" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_hliu0")
position = Vector2(-28, 1361)
[node name="DefaultShip4" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_wqn82")
position = Vector2(-588, -1151)
[node name="DefaultShip5" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_bd4d5")
position = Vector2(46, -1625)
[node name="DefaultShip6" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_stbmy")
position = Vector2(639, -1166)
[node name="DefaultShip7" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_cni30")
position = Vector2(-1195, -764)
[node name="DefaultShip8" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_x5auq")
position = Vector2(-1786, -202)
[node name="DefaultShip9" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_ucpjn")
position = Vector2(-1254, 416)
[node name="DefaultShip10" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_e24ck")
position = Vector2(1201, -766)
[node name="DefaultShip11" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_ssd2x")
position = Vector2(1877, -168)
[node name="DefaultShip12" parent="EnemyFaction" instance=ExtResource("6_67746")]
material = SubResource("ShaderMaterial_vtqhw")
position = Vector2(1212, 518)
[node name="Bases" type="Node2D" parent="."]
script = ExtResource("7_w8i61")
[node name="Base" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_bdvxf")
position = Vector2(-434, -343)
rotation = 0.660397
[node name="Base2" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_j8bi2")
position = Vector2(429, -368)
rotation = 2.41284
type = 1
[node name="Base3" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_pbsyb")
position = Vector2(-428, 418)
rotation = -0.826175
type = 3
[node name="Base4" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_2r73x")
position = Vector2(386, 432)
rotation = -2.31102
type = 2
[node name="Background" type="CanvasLayer" parent="."]
layer = -10
[node name="Nebula" type="ColorRect" parent="Background"]
material = SubResource("ShaderMaterial_s2aaw")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("9_utirt")
[connection signal="updated_colors" from="." to="Background/Nebula" method="_on_space_updated_colors"]

View file

@ -8,7 +8,7 @@
[ext_resource type="Texture2D" uid="uid://bm8tx4w1irp7s" path="res://sprites/star/star6.png" id="6_uxgjf"]
[ext_resource type="Texture2D" uid="uid://jbcvgid8o5f6" path="res://sprites/star/star7.png" id="7_3kjtu"]
[ext_resource type="Texture2D" uid="uid://dgp48jj1knk1y" path="res://sprites/star/star8.png" id="8_5xmav"]
[ext_resource type="Script" path="res://scripts/objects/Star.gd" id="9_kew3k"]
[ext_resource type="Script" path="res://scripts/Star System/star.gd" id="9_kew3k"]
[sub_resource type="SpriteFrames" id="SpriteFrames_oggfj"]
animations = [{

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://dpggye27ln436"]
[ext_resource type="Script" path="res://scripts/misc/stars_generator.gd" id="1_uxmpu"]
[ext_resource type="PackedScene" uid="uid://kyuhwil8vq7n" path="res://scenes/Star.tscn" id="2_ypr5c"]
[ext_resource type="Script" path="res://scripts/Star System/stars_generator.gd" id="1_uxmpu"]
[ext_resource type="PackedScene" uid="uid://kyuhwil8vq7n" path="res://scenes/Star System/Required Scenes/star.tscn" id="2_ypr5c"]
[node name="Stars" type="ParallaxBackground"]
process_mode = 1

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=6 format=3 uid="uid://crneq2enhxsw5"]
[ext_resource type="PackedScene" uid="uid://bsnrcw64qr2hr" path="res://scenes/Star Systems/star_system_template.tscn" id="1_2ai1l"]
[ext_resource type="PackedScene" uid="uid://dk3nvl8f0v24e" path="res://scenes/base_template.tscn" id="3_m5ica"]
[ext_resource type="PackedScene" uid="uid://bsnrcw64qr2hr" path="res://scenes/Star System/star_system_template.tscn" id="1_2ai1l"]
[ext_resource type="PackedScene" uid="uid://dk3nvl8f0v24e" path="res://scenes/Base/base_template.tscn" id="3_m5ica"]
[ext_resource type="PackedScene" uid="uid://pev6k21vqaem" path="res://scenes/Ships/NPC Ships/kamikaze_ship.tscn" id="4_i6rbg"]
[ext_resource type="PackedScene" uid="uid://yso8f0y5kg50" path="res://scenes/Ships/NPC Ships/shooter_ship.tscn" id="5_o3ny8"]
[ext_resource type="PackedScene" uid="uid://dok3i8u5t1ka4" path="res://scenes/Ships/player_ship.tscn" id="7_jyplv"]
@ -26,7 +26,7 @@ position = Vector2(19, 10)
position = Vector2(1706, -5)
[node name="KamikazeShip" parent="FactionAggressive" index="0" instance=ExtResource("4_i6rbg")]
position = Vector2(-4961, -2446)
position = Vector2(-244, -914)
[node name="ShooterShip" parent="FactionAggressive" index="1" instance=ExtResource("5_o3ny8")]
position = Vector2(-4905, 428)
position = Vector2(-833, 1073)

View file

@ -1,12 +1,12 @@
[gd_scene load_steps=10 format=3 uid="uid://bsnrcw64qr2hr"]
[ext_resource type="Script" path="res://scripts/star_system.gd" id="1_xx8w2"]
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star Systems/Required Scenes/star_generator.tscn" id="2_iqrn0"]
[ext_resource type="Script" path="res://scripts/misc/ProjectilesContainer.gd" id="3_h5cm3"]
[ext_resource type="Script" path="res://scripts/Star System/star_system.gd" id="1_xx8w2"]
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star System/Required Scenes/star_generator.tscn" id="2_iqrn0"]
[ext_resource type="Script" path="res://scripts/Star System/projectile_container.gd" id="3_h5cm3"]
[ext_resource type="Material" uid="uid://bawhivm5cr2w" path="res://shaders/materials/nebula_shader.tres" id="4_o0ld7"]
[ext_resource type="Script" path="res://scripts/nebula.gd" id="5_la84n"]
[ext_resource type="PackedScene" uid="uid://c7is7y341f6wa" path="res://scenes/Star Systems/Required Scenes/pause_controller.tscn" id="6_61vq5"]
[ext_resource type="Script" path="res://scripts/faction.gd" id="7_wm3vi"]
[ext_resource type="Script" path="res://scripts/Star System/nebula.gd" id="5_la84n"]
[ext_resource type="PackedScene" uid="uid://c7is7y341f6wa" path="res://scenes/Star System/Required Scenes/pause_controller.tscn" id="6_61vq5"]
[ext_resource type="Script" path="res://scripts/Star System/faction.gd" id="7_wm3vi"]
[sub_resource type="GDScript" id="GDScript_4yoh5"]
resource_name = "version_label"

View file

@ -1,28 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://ckdttdkoo1t0s"]
[ext_resource type="PackedScene" uid="uid://dok3i8u5t1ka4" path="res://scenes/Ships/player_ship.tscn" id="1_b1l1c"]
[ext_resource type="Script" path="res://scripts/star_system.gd" id="1_du5mm"]
[ext_resource type="Shader" path="res://shaders/ship.gdshader" id="2_15op6"]
[ext_resource type="Script" path="res://scripts/misc/ProjectilesContainer.gd" id="3_amh71"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qudgt"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("2_15op6")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[node name="Debug" type="Node2D"]
script = ExtResource("1_du5mm")
[node name="PlayerShip" parent="." instance=ExtResource("1_b1l1c")]
process_mode = 0
material = SubResource("ShaderMaterial_qudgt")
position = Vector2(608, 352)
scale = Vector2(0.5, 0.5)
[node name="ProjectileContainer" type="Node2D" parent="."]
script = ExtResource("3_amh71")

View file

@ -1,84 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://20171x3gmn1j"]
[ext_resource type="Script" path="res://scripts/objects/ShipEngine.gd" id="1_jvcps"]
[ext_resource type="Texture2D" uid="uid://hpcn75jlrbr3" path="res://sprites/ship engine mk1.png" id="2_mll00"]
[ext_resource type="Script" path="res://scripts/misc/EngineParticles.gd" id="3_fxngd"]
[ext_resource type="Script" path="res://scripts/misc/TurboParticles.gd" id="4_f11x7"]
[sub_resource type="Curve" id="Curve_grs2w"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.30258, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wagku"]
curve = SubResource("Curve_grs2w")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_al11x"]
lifetime_randomness = 0.5
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(8, 1, 1)
direction = Vector3(0, 1, 0)
spread = 15.0
initial_velocity_min = 50.0
initial_velocity_max = 100.0
gravity = Vector3(0, 0, 0)
scale_min = 0.5
scale_max = 2.0
scale_curve = SubResource("CurveTexture_wagku")
[sub_resource type="Curve" id="Curve_r1iqm"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.7156, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_ot3qw"]
curve = SubResource("Curve_r1iqm")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gd3um"]
lifetime_randomness = 0.5
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 1102.0
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 500.0
initial_velocity_max = 600.0
gravity = Vector3(0, 0, 0)
scale_min = 1.5
scale_max = 1.5
scale_curve = SubResource("CurveTexture_ot3qw")
[node name="Engine" type="Node2D" node_paths=PackedStringArray("dash_recharge_timer")]
use_parent_material = true
script = ExtResource("1_jvcps")
rotation_speed = 120
dash_recharge_timer = NodePath("Timer")
dashes_count = 1
[node name="EngineSprite" type="Sprite2D" parent="."]
use_parent_material = true
position = Vector2(-4, 0)
texture = ExtResource("2_mll00")
[node name="EngineParticles" type="GPUParticles2D" parent="."]
position = Vector2(-8, 0)
rotation = 1.5708
emitting = false
amount = 16
process_material = SubResource("ParticleProcessMaterial_al11x")
fixed_fps = 50
script = ExtResource("3_fxngd")
[node name="TurboParticles" type="GPUParticles2D" parent="."]
rotation = 1.5708
emitting = false
amount = 64
process_material = SubResource("ParticleProcessMaterial_gd3um")
randomness = 0.5
fixed_fps = 50
local_coords = true
trail_enabled = true
script = ExtResource("4_f11x7")
[node name="Timer" type="Timer" parent="."]
wait_time = 5.0
one_shot = true

View file

@ -1,9 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://c02jesitrkrm5"]
[ext_resource type="PackedScene" uid="uid://bbho4h6tg4jca" path="res://scenes/hulls/starterhull.tscn" id="1_miiwm"]
[node name="Hull" instance=ExtResource("1_miiwm")]
max_hp = 40.0
max_fuel = 9000.0
max_weight = 150.0
id = "HullMk2"

View file

@ -1,13 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://dtshhww5culu4"]
[ext_resource type="Script" path="res://scripts/objects/Hull.gd" id="1_x0f7x"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_wlkiy"]
[node name="Hull" type="Node2D"]
script = ExtResource("1_x0f7x")
max_hp = 15
[node name="HullSprite" type="Sprite2D" parent="."]
use_parent_material = true
position = Vector2(16, 0)
texture = ExtResource("2_wlkiy")

View file

@ -1,15 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://bbho4h6tg4jca"]
[ext_resource type="Script" path="res://scripts/objects/Hull.gd" id="1_em4j0"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_tvpkh"]
[node name="Hull" type="Node2D"]
use_parent_material = true
script = ExtResource("1_em4j0")
max_fuel = 6000
[node name="HullSprite" type="Sprite2D" parent="."]
z_index = -1
use_parent_material = true
position = Vector2(16, 0)
texture = ExtResource("2_tvpkh")

View file

@ -84,6 +84,7 @@ text = "X"
script = SubResource("GDScript_ovke4")
[node name="TradingMenu" type="NinePatchRect" parent="."]
visible = false
layout_mode = 0
offset_left = 320.0
offset_top = 40.0

View file

@ -1,89 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://523dme3h6d6c"]
[ext_resource type="Shader" path="res://shaders/ship.gdshader" id="1_0qs3p"]
[ext_resource type="Script" path="res://scripts/objects/npcship.gd" id="1_wioir"]
[ext_resource type="PackedScene" uid="uid://d1bhrxmr0oo0n" path="res://scenes/Bounty.tscn" id="2_6fdps"]
[ext_resource type="PackedScene" uid="uid://cyskycafymwx" path="res://scenes/shields/npcshield.tscn" id="3_47apr"]
[ext_resource type="PackedScene" uid="uid://dtshhww5culu4" path="res://scenes/hulls/npchullt1.tscn" id="4_1ne0s"]
[ext_resource type="PackedScene" uid="uid://20171x3gmn1j" path="res://scenes/engines/starterengine.tscn" id="4_tguk3"]
[ext_resource type="PackedScene" uid="uid://dse2xxx501xuj" path="res://scenes/weapons/presets/NPCSingleLaserMk1.tscn" id="6_wnekw"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_a6h5n"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("1_0qs3p")
shader_parameter/wave_centers = PackedVector2Array(0, 0)
shader_parameter/wave_distances = PackedFloat32Array(0)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 15.0
[sub_resource type="CircleShape2D" id="CircleShape2D_k2lwx"]
radius = 64.0
[sub_resource type="LabelSettings" id="LabelSettings_21pok"]
font_size = 12
[node name="DefaultShip" type="CharacterBody2D" node_paths=PackedStringArray("destination_timer")]
process_mode = 1
material = SubResource("ShaderMaterial_a6h5n")
collision_mask = 19
input_pickable = true
script = ExtResource("1_wioir")
destination_timer = NodePath("DestinationTimer")
bounty = ExtResource("2_6fdps")
[node name="Shield" parent="." instance=ExtResource("3_47apr")]
[node name="Hull" parent="." instance=ExtResource("4_1ne0s")]
use_parent_material = true
[node name="Engine" parent="." instance=ExtResource("4_tguk3")]
[node name="Collision" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(0, -16, 32, 0, 0, 16, 0, 4, -4, 4, -8, 8, -8, -8, -4, -4, 0, -4)
[node name="WeaponSlot" type="Node2D" parent="."]
use_parent_material = true
[node name="SingleLaser" parent="WeaponSlot" instance=ExtResource("6_wnekw")]
use_parent_material = true
position = Vector2(8, 0)
[node name="DestinationTimer" type="Timer" parent="."]
wait_time = 5.0
autostart = true
[node name="TargetSnap" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="TargetSnap"]
position = Vector2(16, 0)
shape = SubResource("CircleShape2D_k2lwx")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="."]
remote_path = NodePath("../Zalupa/ZalupaTwo")
update_rotation = false
update_scale = false
[node name="Zalupa" type="Node" parent="."]
[node name="ZalupaTwo" type="Node2D" parent="Zalupa"]
[node name="Health" type="Label" parent="Zalupa/ZalupaTwo"]
layout_direction = 1
offset_left = -43.0
offset_top = -45.0
offset_right = 43.0
offset_bottom = -25.0
size_flags_horizontal = 4
text = "7-8 HP + 7-8 SC"
label_settings = SubResource("LabelSettings_21pok")
horizontal_alignment = 1
vertical_alignment = 1
[node name="DebugLabel" type="Label" parent="."]
visible = false
offset_left = -11.0
offset_top = -38.0
offset_right = 29.0
offset_bottom = -15.0

View file

@ -1,18 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cyskycafymwx"]
[ext_resource type="Script" path="res://scripts/objects/Shield.gd" id="1_3t0v2"]
[node name="Shield" type="Node2D" node_paths=PackedStringArray("recharge_timer", "laser_timer")]
use_parent_material = true
script = ExtResource("1_3t0v2")
max_capacity = 5
recharge_timer = NodePath("Timer")
laser_timer = NodePath("Timer2")
[node name="Timer2" type="Timer" parent="."]
wait_time = 5.0
one_shot = true
[node name="Timer" type="Timer" parent="."]
wait_time = 5.0
one_shot = true

View file

@ -1,18 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://66m5gj2ufsop"]
[ext_resource type="Script" path="res://scripts/objects/Shield.gd" id="1_6qr86"]
[node name="Shield" type="Node2D" node_paths=PackedStringArray("recharge_timer", "laser_timer")]
use_parent_material = true
script = ExtResource("1_6qr86")
max_capacity = 10
recharge_timer = NodePath("Timer")
laser_timer = NodePath("Timer2")
[node name="Timer2" type="Timer" parent="."]
wait_time = 5.0
one_shot = true
[node name="Timer" type="Timer" parent="."]
wait_time = 5.0
one_shot = true

View file

@ -1,31 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://cb1dnh014jmpb"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_u8yjv"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_cewjf"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_14fq6"]
[node name="DoubleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
script = ExtResource("1_u8yjv")
projectile = ExtResource("2_cewjf")
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("SpawnerSprite1/Spawner1"), NodePath("SpawnerSprite2/Spawner2")]
[node name="SpawnerSprite1" type="Sprite2D" parent="."]
position = Vector2(4, -12)
rotation = 0.0174533
texture = ExtResource("3_14fq6")
[node name="Spawner1" type="Node2D" parent="SpawnerSprite1"]
position = Vector2(4, 0)
[node name="SpawnerSprite2" type="Sprite2D" parent="."]
position = Vector2(4, 12)
rotation = -0.0174533
texture = ExtResource("3_14fq6")
[node name="Spawner2" type="Node2D" parent="SpawnerSprite2"]
position = Vector2(4, 0)
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.2
one_shot = true

View file

@ -1,21 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://do1soxs2phq3v"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_4ig05"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="2_7vlpw"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_w1ina"]
[node name="SingleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
script = ExtResource("1_4ig05")
projectile = ExtResource("2_w1ina")
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("Spawner")]
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.25
one_shot = true
[node name="SpawnerSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_7vlpw")
[node name="Spawner" type="Node2D" parent="."]
position = Vector2(4, 0)

View file

@ -1,35 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://b5ejm8antxfsm"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_ugbl6"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_b52h8"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_ahhl5"]
[node name="DoubleLaserMk1" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
position = Vector2(8, 0)
script = ExtResource("1_ugbl6")
projectile = ExtResource("2_b52h8")
ammo_type = "Laser Energy"
ammo_consumption = 2.0
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("SpawnerSprite1/Spawner1"), NodePath("SpawnerSprite2/Spawner2")]
id = "DoubleLaserMk1"
[node name="SpawnerSprite1" type="Sprite2D" parent="."]
position = Vector2(4, -12)
rotation = 0.0174533
texture = ExtResource("3_ahhl5")
[node name="Spawner1" type="Node2D" parent="SpawnerSprite1"]
position = Vector2(4, 0)
[node name="SpawnerSprite2" type="Sprite2D" parent="."]
position = Vector2(4, 12)
rotation = -0.0174533
texture = ExtResource("3_ahhl5")
[node name="Spawner2" type="Node2D" parent="SpawnerSprite2"]
position = Vector2(4, 0)
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.15
one_shot = true

View file

@ -1,22 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://dse2xxx501xuj"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_6r7e6"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_8akh2"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_ncnas"]
[node name="SingleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
script = ExtResource("1_6r7e6")
projectile = ExtResource("2_8akh2")
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("Spawner")]
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.25
one_shot = true
[node name="SpawnerSprite" type="Sprite2D" parent="."]
use_parent_material = true
texture = ExtResource("3_ncnas")
[node name="Spawner" type="Node2D" parent="."]
position = Vector2(4, 0)

View file

@ -1,26 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://cf11711uqb42j"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_dwcuc"]
[ext_resource type="PackedScene" uid="uid://djmoij5kuou3j" path="res://scenes/projectiles/Laser.tscn" id="2_eiesu"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_n1sx7"]
[node name="SingleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
use_parent_material = true
position = Vector2(8, 0)
script = ExtResource("1_dwcuc")
projectile = ExtResource("2_eiesu")
ammo_type = "Laser Energy"
ammo_consumption = 1.0
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("Spawner")]
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.25
one_shot = true
[node name="SpawnerSprite" type="Sprite2D" parent="."]
use_parent_material = true
texture = ExtResource("3_n1sx7")
[node name="Spawner" type="Node2D" parent="."]
position = Vector2(4, 0)

View file

@ -1,25 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://bhkuvj884yyan"]
[ext_resource type="Script" path="res://scripts/objects/weapon.gd" id="1_wdpx2"]
[ext_resource type="PackedScene" uid="uid://qr1h87np4sn1" path="res://scenes/projectiles/Rocket.tscn" id="2_fypwx"]
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_7gexv"]
[node name="SingleRocketMk1" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
position = Vector2(16, 0)
script = ExtResource("1_wdpx2")
projectile = ExtResource("2_fypwx")
ammo_type = "Rockets"
ammo_consumption = 1.0
shoot_timer = NodePath("ShootingTimer")
spawner_points = [NodePath("Spawner")]
id = "SingleRocketMk1"
[node name="ShootingTimer" type="Timer" parent="."]
wait_time = 0.5
one_shot = true
[node name="SpawnerSprite" type="Sprite2D" parent="."]
texture = ExtResource("3_7gexv")
[node name="Spawner" type="Node2D" parent="."]
position = Vector2(4, 0)

View file

@ -1,16 +1,18 @@
extends Node
class_name Game
## TODO: rewrite item system
enum ITEM_TYPE {VALUABLE, WEAPON, HULL, SHIELD, ENGINE, AMMUNITION}
enum AMMO_TYPE {NULL, LASER_ENERGY, ROCKETS}
enum BASE_TYPE {POWER, MINING, FOOD, TRADING, MODULE}
enum Faction {None, Player, Peaceful, Neutral, Aggressive}
const DEFAULT_ITEM = preload("res://items/test_item.tres")
const DEFAULT_WEAPON = preload("res://scenes/weapons/presets/SingleLaserMk1.tscn")
const DEFAULT_HULL = preload("res://scenes/hulls/starterhull.tscn")
const DEFAULT_ENGINE = preload("res://scenes/engines/starterengine.tscn")
const DEFAULT_SHIELD = preload("res://scenes/shields/startershield.tscn")
#const DEFAULT_ITEM = preload("res://items/test_item.tres")
#const DEFAULT_WEAPON = preload("res://scenes/weapons/presets/SingleLaserMk1.tscn")
#const DEFAULT_HULL = preload("res://scenes/hulls/starterhull.tscn")
#const DEFAULT_ENGINE = preload("res://scenes/engines/starterengine.tscn")
#const DEFAULT_SHIELD = preload("res://scenes/shields/startershield.tscn")
const salt = "2ndbeam"
const gameversion = "Ifre 1.0"
@ -115,27 +117,15 @@ static func get_item(id : String) -> Item:
if ResourceLoader.exists(path):
var res = load(path)
return res.duplicate()
return DEFAULT_ITEM
return null
## Returns weapon packed scene if it exists or DEFAULT_WEAPON instead
static func get_weapon(id : String) -> PackedScene:
var path = "res://scenes/weapons/presets/{name}.tscn".format({"name": id})
var res = load(path)
if res != null:
return res
else:
return DEFAULT_WEAPON
static func get_module(id : String, type : String) -> PackedScene:
var path = "res://scenes/{type}s/{name}.tscn".format({"name": id, "type": type})
var res = load(path)
if res != null:
return res
match type:
"hull":
return DEFAULT_HULL
"engine":
return DEFAULT_ENGINE
"shield":
return DEFAULT_SHIELD
return DEFAULT_HULL

View file

@ -1,4 +0,0 @@
extends MenuDefaultButton
func action():
get_tree().current_scene.recolor()

View file

@ -1,4 +0,0 @@
extends MenuDefaultButton
func action():
ship.destroy()

View file

@ -1,3 +0,0 @@
extends StaticBody2D
var faction = "none"

View file

@ -1,5 +0,0 @@
extends Area2D
func _on_body_entered(body):
if body is NPCShip:
body.switchdestination()

View file

@ -1,29 +0,0 @@
extends Camera2D
@onready var ship = get_parent()
var engine
@onready var cur_scale = zoom.x
@onready var min_scale = cur_scale / 1.5
@onready var max_scale = cur_scale * 2
var rdy = false
func _ready():
get_tree().create_timer(0.05).timeout.connect(is_rdy)
func is_rdy():
rdy = true
engine = ship.engine
func _process(_delta):
if !rdy:
return
engine = ship.engine
var speed_percentage = engine.max_speed / engine.speed
var factor : float
if get_parent().allow_shooting:
factor = clamp(speed_percentage, min_scale, max_scale)
if engine.speed < 0:
factor = max_scale
else:
factor = 1.0
zoom = Vector2(factor, factor)

View file

@ -1,32 +0,0 @@
extends Label
@export var counter_id : String
@onready var ship = $"../../.."
var hull
var shield
var rdy = false
func _ready():
get_tree().create_timer(0.05).timeout.connect(is_rdy)
func is_rdy():
rdy = true
hull = ship.hull
shield = ship.shield
func _process(_delta) -> void:
if !rdy:
return
hull = ship.hull
shield = ship.shield
match counter_id:
"ammo":
text = str(hull.ammunition)
"fuel":
text = "Fuel: {fuel} / {max} units".format({"fuel":hull.fuel, "max":hull.max_fuel})
"hp":
text = "Hull Strength: {hp} / {max} units".format({"hp":"%0.2f" % hull.hp, "max":hull.max_hp})
"money":
text = "Available Money: {money} units".format({"money":ship.money})
"shield":
text = "Shield Capacity: {shield} / {max} units".format({"shield":"%0.2f" % shield.capacity, "max":shield.max_capacity})

View file

@ -1,8 +0,0 @@
extends GPUParticles2D
@onready var engine = $".."
func _process(_delta):
var speed_percentage = clamp(engine.speed / engine.max_speed, 0.75, 1.5)
speed_scale = speed_percentage if engine.speed > 0 else 1
emitting = engine.speed > 0

View file

@ -1,13 +0,0 @@
extends Node2D
@export var faction : bool
func changeitemscolor():
var items = get_children()
var ship = get_tree().current_scene.ship
for item in items:
#item.modulate = modulate
if item.material:
item.material.set_shader_parameter("color",modulate)
if faction:
ship.minimap.add_marker(item, "hostile")

View file

@ -1,10 +0,0 @@
extends Area2D
@export var amount: float = 20
@onready var text = $Label
func _on_body_entered(body):
if body is MainShip:
body.money += amount
queue_free()

View file

@ -1,26 +0,0 @@
extends Node2D
#class_name Hull
@export var max_hp : float = 30
@export var max_fuel : float = 1000
@export var max_weight : float = 100
@export var id : String = "starterhull"
@onready var hp : float = max_hp
@onready var fuel : float = max_fuel
var weight : float = 0
var ammunition = {
"n/a" : 0,
"Laser Energy" : 100,
"Rockets" : 10
}
var max_ammunition = {
"n/a" : 0,
"Laser Energy" : 100,
"Rockets" : 20
}
var cargo = {}

View file

@ -1,76 +0,0 @@
extends Node2D
#class_name Shield
@export var max_capacity : int = 8
@export var shield_charge_rate : float = 1
@export var recharge_timer : Timer
@export var laser_timer : Timer
@export var laser_charge_rate : float = 20
@export var id : String = "startershield"
@onready var ship = get_parent()
@onready var capacity : float = max_capacity
var can_recharge : bool = false
var laser_recharge : bool = true
var wave_distances = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
var wave_positions = [Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO,Vector2.ZERO]
func _ready():
recharge_timer.timeout.connect(recharging_timer_out)
laser_timer.timeout.connect(laser_timer_out)
material = ship.material
func deal_damage(damage : float,hit_position : Vector2):
# Shield wave
var shield_tween = create_tween()
var wave_index = find_free_index()
shield_tween.tween_method(set_wave_distance.bind(wave_index),0,material.get_shader_parameter("max_distance"),0.5)
shield_tween.tween_callback(reset_wave_distance.bind(wave_index))
shield_tween.custom_step(0.1)
wave_positions[wave_index] = hit_position
material.set_shader_parameter("wave_centers",wave_positions)
material.set_shader_parameter("wave_distances",wave_distances)
capacity -= damage
if capacity < 0:
ship.hull.hp += capacity
capacity = 0
can_recharge = false
recharge_timer.start()
laser_timer.start()
func set_wave_distance(value,index):
wave_distances[index] = value
material.set_shader_parameter("wave_distances",wave_distances)
func reset_wave_distance(index):
wave_distances[index] = -1
material.set_shader_parameter("wave_distances",wave_distances)
func find_free_index() -> int:
for i in range(wave_distances.size()):
if wave_distances[i] == -1:
return i
return 0
func recharging_timer_out():
can_recharge = true
func _physics_process(delta):
if can_recharge:
capacity += shield_charge_rate * delta
if capacity > max_capacity:
capacity = max_capacity
can_recharge = false
if laser_recharge:
ship.hull.ammunition["Laser Energy"] += laser_charge_rate * delta
if ship.hull.ammunition["Laser Energy"] > ship.hull.max_ammunition["Laser Energy"]:
ship.hull.ammunition["Laser Energy"] = ship.hull.max_ammunition["Laser Energy"]
laser_recharge = false
func laser_timer_out():
laser_recharge = true

View file

@ -1,109 +0,0 @@
extends Node2D
# TODO: rewrite movement system to be impulse based
# class_name ShipEngine
@export var max_speed : float = 200
@export var max_turbo_speed : float = 300
@export var acceleration : float = 50
@export var fuel_consumption : float = 100
@export var rotation_speed : int = 90
@export var id : String = "starterengine"
@export var dash_recharge_timer : Timer
@export_range(1, 10, 1) var dashes_count : int = 3
@onready var ship = get_parent()
@onready var double_tap_timer = Timer.new()
@onready var dash_timer = Timer.new()
var hull
var speed = 0
var min_speed = max_speed / -4
var turbo_enabled = false
var alternative_movement = false
var destination_angle : float
var destination_difference : float
var dash_direction_left = true
var is_double_tapping = false
var is_dashing = false
func _ready():
dash_recharge_timer.timeout.connect(dash_recharge)
add_child(double_tap_timer)
add_child(dash_timer)
double_tap_timer.one_shot = true
double_tap_timer.timeout.connect(not_double_tapping)
dash_timer.one_shot = true
dash_timer.timeout.connect(not_dashing)
func _physics_process(delta):
hull = ship.hull
modulate = ship.material.get_shader_parameter('color')
var turbo_input = Input.get_action_raw_strength("turbo")
var acceleration_input = Input.get_axis("deccelerate", "accelerate") if ship is MainShip else 1.0
var rotation_input = Input.get_axis("rotateleft", "rotateright")
# проверка на рывок
var left_released = Input.is_action_just_released("rotateleft")
var right_released = Input.is_action_just_released("rotateright")
if (left_released or right_released):
if !is_double_tapping and !is_dashing:
double_tap_timer.start(0.25)
is_double_tapping = true
print("first tap")
else:
dash_direction_left = left_released
is_dashing = true
is_double_tapping = false
dash_timer.start(0.1)
double_tap_timer.stop()
print("second tap")
if destination_angle - ship.rotation_degrees == clamp(destination_angle - ship.rotation_degrees, -180, 180):
destination_difference = destination_angle - ship.rotation_degrees
else:
destination_difference = ship.rotation_degrees - destination_angle
if destination_difference != clamp(destination_difference, -1, 1):
ship.rotation_degrees += sign(destination_difference) * rotation_speed * delta
else:
ship.rotation_degrees = destination_angle
if alternative_movement:
destination_angle += rotation_input * rotation_speed * delta
if destination_angle > 180: destination_angle = -180
if destination_angle < -180: destination_angle = 180
if Vector2.ZERO.distance_to(global_position) >= 5800:
destination_angle = rad_to_deg(global_position.angle_to_point(Vector2.ZERO))
elif ship is MainShip:
destination_angle = rad_to_deg(ship.global_position.angle_to_point(get_global_mouse_position()))
turbo_enabled = clamp(turbo_input * hull.fuel, 0, 1) if ship is MainShip else (ship.state == "runaway" and hull.fuel > 0)
if !turbo_enabled:
speed = clamp(speed + acceleration_input * acceleration * delta, min_speed, max(max_speed, speed))
if speed > max_speed:
speed -= acceleration * delta if acceleration_input != -1 else 0
else:
if hull.fuel > 0:
speed = clamp(speed + acceleration * delta, min_speed, max_turbo_speed)
if speed > max_speed:
hull.fuel -= fuel_consumption * delta
if hull.fuel < 0:
hull.fuel = 0
var additional_rotation = 0
var additional_speed = 0
if is_dashing and ship is MainShip:
print("wanna dash")
additional_speed = 500
additional_rotation = deg_to_rad(-90) if dash_direction_left else deg_to_rad(90)
ship.velocity = Vector2.from_angle(ship.rotation + additional_rotation) * (speed + additional_speed)
ship.move_and_slide()
if Input.is_action_just_released("alternatemovement") and ship is MainShip:
alternative_movement = !alternative_movement
func dash_recharge():
pass
func not_double_tapping():
is_double_tapping = false
func not_dashing():
is_dashing = false

View file

@ -1,91 +0,0 @@
extends CharacterBody2D
# TODO: rewrite NPC to use state machine
# TODO: create class_name which is used to inherit common attributes to mainship and npc ship
class_name NPCShip
@export var destination_timer : Timer
@export var faction = "Enemy"
@export var bounty_min : int = 20
@export var bounty_max : int = 30
@export var bounty : PackedScene
@onready var ship = get_tree().current_scene.get_node("MainShip")
@onready var engine = $"Engine"
@onready var hull = $"Hull"
@onready var debug_label = $DebugLabel
@onready var target_snap = $TargetSnap
@onready var healthbar = $Zalupa/ZalupaTwo/Health
@onready var shield = $Shield
var state = "idle"
var shooting = false
var allow_shooting = true
signal destroyed
func _ready():
destination_timer.timeout.connect(switchdestination)
target_snap.mouse_entered.connect(get_tree().current_scene.addtargetlist.bind(self))
target_snap.mouse_exited.connect(get_tree().current_scene.removetargetlist.bind(self))
destroyed.connect(get_tree().current_scene.enemydestroyed)
shield.material = material
material.set_shader_parameter("color",modulate)
func _physics_process(_delta):
match state:
"idle":
idlestate()
"chase":
chasestate()
"maintaindistance":
maintaindistancestate()
"runaway":
runawaystate()
var format = {"HP" : "%0.2f" % hull.hp, "SC" : "%0.2f" % shield.capacity}
healthbar.text = "{HP} HS + {SC} SC".format(format)
if hull.hp <= 0:
destroy()
if Vector2.ZERO.distance_to(global_position) > 5800:
destroy(true)
func switchdestination():
engine.destination_angle = randi_range(0, 360)
func idlestate():
shooting = false
if global_position.distance_to(ship.global_position) <= 512 and ship.allow_shooting:
state = "chase"
func chasestate():
engine.destination_angle = rad_to_deg(global_position.angle_to_point(ship.global_position))
shooting = true if abs(engine.destination_difference) <= 5 else false
if global_position.distance_to(ship.global_position) > 512 or !ship.allow_shooting:
state = "idle"
if hull.hp < hull.max_hp * 0.2: state = "runaway"
if global_position.distance_to(ship.global_position) <= 128:
state = "maintaindistance"
func maintaindistancestate():
engine.destination_angle += 1
shooting = true if abs(engine.destination_difference) <= 5 else false
if global_position.distance_to(ship.global_position) > 128:
state = "chase"
if !ship.allow_shooting:
state = "idle"
func runawaystate():
shooting = false
engine.destination_angle = rad_to_deg(global_position.angle_to_point(ship.global_position)) - 180
if global_position.distance_to(ship.global_position) > 1024 or !ship.allow_shooting:
state = "idle"
func destroy(silent : bool = false):
hull.hp = hull.max_hp
hull.fuel = hull.max_fuel
shield.capacity = shield.max_capacity
state = "idle"
var bounty_inst = bounty.instantiate()
get_tree().current_scene.add_child(bounty_inst)
bounty_inst.global_position = global_position
bounty_inst.amount = randi_range(bounty_min, bounty_max)
bounty_inst.text.text = str(bounty_inst.amount) + " MU"
global_position = Vector2(randi_range(-4096, 4096), randi_range(-4096, 4096))
if !silent:
destroyed.emit(self)

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://3x77t3kd6v0x"
path="res://.godot/imported/triangle_base.png-3d74a6cc4d3435c6c24f8e581c372deb.ctex"
path="res://.godot/imported/triangle_base.png-efa953667e8fc6fd51332cd2f04bae41.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/triangle_base.png"
dest_files=["res://.godot/imported/triangle_base.png-3d74a6cc4d3435c6c24f8e581c372deb.ctex"]
source_file="res://sprites/Bases/triangle_base.png"
dest_files=["res://.godot/imported/triangle_base.png-efa953667e8fc6fd51332cd2f04bae41.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 134 B

After

Width:  |  Height:  |  Size: 134 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dvnqx6habw8uc"
path="res://.godot/imported/rocket mk1 1.png-2276d27e863a65f7c9a0b38d6d26231f.ctex"
path="res://.godot/imported/rocket mk1 1.png-b98835b926a66de5d9f57788e43963e0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/rocket mk1 1.png"
dest_files=["res://.godot/imported/rocket mk1 1.png-2276d27e863a65f7c9a0b38d6d26231f.ctex"]
source_file="res://sprites/Projectiles/Rocket/rocket mk1 1.png"
dest_files=["res://.godot/imported/rocket mk1 1.png-b98835b926a66de5d9f57788e43963e0.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 139 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dgxlnp520q1tp"
path="res://.godot/imported/rocket mk1 2.png-0962c544ba29b44275d4cd70a299c51d.ctex"
path="res://.godot/imported/rocket mk1 2.png-e9a023d9e3114368700d242d32b40a17.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/rocket mk1 2.png"
dest_files=["res://.godot/imported/rocket mk1 2.png-0962c544ba29b44275d4cd70a299c51d.ctex"]
source_file="res://sprites/Projectiles/Rocket/rocket mk1 2.png"
dest_files=["res://.godot/imported/rocket mk1 2.png-e9a023d9e3114368700d242d32b40a17.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 143 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://fqcylid4oa6b"
path="res://.godot/imported/rocket mk1 3.png-7d045551ca4b335259a2e92e056f5c3c.ctex"
path="res://.godot/imported/rocket mk1 3.png-7f7ac06cf261937bbfa609fb01b88ab4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/rocket mk1 3.png"
dest_files=["res://.godot/imported/rocket mk1 3.png-7d045551ca4b335259a2e92e056f5c3c.ctex"]
source_file="res://sprites/Projectiles/Rocket/rocket mk1 3.png"
dest_files=["res://.godot/imported/rocket mk1 3.png-7f7ac06cf261937bbfa609fb01b88ab4.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://3nxmmp826b1s"
path="res://.godot/imported/rocket mk1 4.png-13271166905d85866c70ce36b15c12c6.ctex"
path="res://.godot/imported/rocket mk1 4.png-3be03553398205cde9a01aa79c36fbfc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/rocket mk1 4.png"
dest_files=["res://.godot/imported/rocket mk1 4.png-13271166905d85866c70ce36b15c12c6.ctex"]
source_file="res://sprites/Projectiles/Rocket/rocket mk1 4.png"
dest_files=["res://.godot/imported/rocket mk1 4.png-3be03553398205cde9a01aa79c36fbfc.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 371 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c3gei46k8muk3"
path="res://.godot/imported/laserbox.png-29566d3422bb4e72374db52e4ae5062b.ctex"
path="res://.godot/imported/laserbox.png-fe76301a0840b9be780811b50e80f334.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/laserbox.png"
dest_files=["res://.godot/imported/laserbox.png-29566d3422bb4e72374db52e4ae5062b.ctex"]
source_file="res://sprites/Ships/Parts/laserbox.png"
dest_files=["res://.godot/imported/laserbox.png-fe76301a0840b9be780811b50e80f334.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 205 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://1yihkbdosopx"
path="res://.godot/imported/lasergun.png-6b93eff0666d2773975cf9e373c6fac8.ctex"
path="res://.godot/imported/lasergun.png-44cb4ce013be954674a4a46c4a078d50.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/lasergun.png"
dest_files=["res://.godot/imported/lasergun.png-6b93eff0666d2773975cf9e373c6fac8.ctex"]
source_file="res://sprites/Ships/Parts/lasergun.png"
dest_files=["res://.godot/imported/lasergun.png-44cb4ce013be954674a4a46c4a078d50.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bchkncbniclhh"
path="res://.godot/imported/kamikaze.png-a9865d0191d172f866fc5dbf442fac7a.ctex"
path="res://.godot/imported/kamikaze.png-8caa886107490ca51617663c7ec67edb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/kamikaze.png"
dest_files=["res://.godot/imported/kamikaze.png-a9865d0191d172f866fc5dbf442fac7a.ctex"]
source_file="res://sprites/Ships/kamikaze.png"
dest_files=["res://.godot/imported/kamikaze.png-8caa886107490ca51617663c7ec67edb.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://beb76cssb3knp"
path="res://.godot/imported/ship.png-4d5e64b785005468aa74f7ca14df1341.ctex"
path="res://.godot/imported/ship.png-31fdfa4b30d747f6c724d5b0a745aaf5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/ship.png"
dest_files=["res://.godot/imported/ship.png-4d5e64b785005468aa74f7ca14df1341.ctex"]
source_file="res://sprites/Ships/ship.png"
dest_files=["res://.godot/imported/ship.png-31fdfa4b30d747f6c724d5b0a745aaf5.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bxtd2ij1dc1d3"
path="res://.godot/imported/shooter.png-dc69c2835aa11bc6878a2e4130c257c1.ctex"
path="res://.godot/imported/shooter.png-1d7ae672c8a6cec41d17794a14a1b6d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/shooter.png"
dest_files=["res://.godot/imported/shooter.png-dc69c2835aa11bc6878a2e4130c257c1.ctex"]
source_file="res://sprites/Ships/shooter.png"
dest_files=["res://.godot/imported/shooter.png-1d7ae672c8a6cec41d17794a14a1b6d5.ctex"]
[params]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6kkhm3vcu3lr"
path="res://.godot/imported/tipahelp.png-f148da3a209ea953cdbfabba68f99b1a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/tipahelp.png"
dest_files=["res://.godot/imported/tipahelp.png-f148da3a209ea953cdbfabba68f99b1a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dqco63ga70qm2"
path="res://.godot/imported/tipahelpnomenu.png-ded2e4329bc01d3c4d7daaae7d0719c6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/tipahelpnomenu.png"
dest_files=["res://.godot/imported/tipahelpnomenu.png-ded2e4329bc01d3c4d7daaae7d0719c6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1