First Prototype

This commit is contained in:
Exobyt 2024-09-15 00:04:31 +02:00
parent e18beb6c4c
commit 9e3349eec3
40 changed files with 1100 additions and 48 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

After

Width:  |  Height:  |  Size: 6.3 KiB

Before After
Before After

BIN
Assets/Icons/Storm.ase Normal file

Binary file not shown.

BIN
Assets/Icons/Storm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://caumye6m8df7a"
path="res://.godot/imported/Storm.png-697b2aa028713016d391106b080c791d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Icons/Storm.png"
dest_files=["res://.godot/imported/Storm.png-697b2aa028713016d391106b080c791d.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

214
Assets/Icons/Storm.svg Normal file
View file

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="100"
height="100"
viewBox="0 0 100 100"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="Storm.svg"
inkscape:export-filename="Storm.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="true"
inkscape:zoom="2.8284271"
inkscape:cx="24.218407"
inkscape:cy="-14.495689"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
id="grid1"
units="px"
originx="0"
originy="0"
spacingx="1"
spacingy="1"
empcolor="#0099e5"
empopacity="0.30196078"
color="#0099e5"
opacity="0.14901961"
empspacing="5"
dotted="false"
gridanglex="30"
gridanglez="30"
visible="true" />
</sodipodi:namedview>
<defs
id="defs1">
<rect
x="29"
y="40"
width="6"
height="20"
id="rect22" />
<symbol
id="exit"
viewBox="0 0 476.88324 340.61832">
<title
id="title7">Exit</title>
<path
d="M 20.021549,0 A 20.02155,20.02155 0 0 0 0.002018,20.01953 V 320.3125 a 20.02155,20.02155 0 1 0 40.039064,0 V 40.03907 H 204.20123 V 320.3125 a 20.02155,20.02155 0 1 0 40.03907,0 V 20.01953 A 20.02155,20.02155 0 0 0 224.22077,0 H 20.021552 Z M 416.05866,70.71094 a 21.426571,21.426571 0 0 0 -18.98438,31.58008 l 23.10742,44.4375 H 294.88678 a 21.426571,21.426571 0 0 0 -21.49219,24.29687 21.426571,21.426571 0 0 0 21.49219,24.21875 H 420.1817 l -23.10742,44.4375 a 21.426571,21.426571 0 1 0 38.01563,19.76954 l 39.38867,-75.74805 a 21.426571,21.426571 0 0 0 2.20703,-12.76563 21.426571,21.426571 0 0 0 -2.20703,-12.66797 L 435.08991,82.52344 a 21.426571,21.426571 0 0 0 -19.03125,-11.8125 z"
id="path8" />
<path
opacity="0.1"
d="M 34.306484,32.66854 H 207.00918 V 316.49791 H 34.306484 Z"
id="path9" />
</symbol>
</defs>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#ff0000;fill-opacity:1;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round;stroke:#000000;stroke-opacity:1"
id="rect30"
width="90"
height="90.227028"
x="5"
y="4.8864861"
rx="25"
ry="25" />
<g
id="g25"
transform="matrix(2.6,0,0,2.6,-67,-47.5)">
<circle
style="fill:#808080;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
id="circle11"
cx="40"
cy="35"
r="5" />
<circle
style="fill:#808080;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
id="circle12"
cx="45"
cy="35"
r="5" />
<circle
style="fill:#808080;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
id="circle13"
cx="45"
cy="30"
r="5" />
<circle
style="fill:#808080;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
id="circle14"
cx="50"
cy="35"
r="5" />
<path
style="fill:#ffff00;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 40.450147,41.051316 -1.874634,3.672295 1.72361,1.424488 -2.848976,3.447221 3.823318,-3.222148 -1.723611,-1.424488 z"
id="path14"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:#ffff00;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 53.869794,48.053227 -1.795742,-3.71151 -2.176181,0.514038 -1.028077,-4.352362 0.260412,4.993214 2.176181,-0.514038 z"
id="path15"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:#ffff00;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 45,41 -1,4 2,1 -2,4 3,-4 -2,-1 z"
id="path16"
sodipodi:nodetypes="ccccccc" />
<g
id="g18"
transform="matrix(0.66381583,0,0,0.66381583,15.773518,13.792103)">
<path
id="path17"
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 z" />
<path
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 1,-2 1,2 z"
id="path18" />
</g>
<g
id="g20"
transform="matrix(0.66381583,0,0,0.66381583,20.17731,14.787827)">
<path
id="path19"
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 z" />
<path
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 1,-2 1,2 z"
id="path20" />
</g>
<g
id="g22"
transform="matrix(0.66381583,0,0,0.66381583,24.76217,14.124011)">
<path
id="path21"
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 z" />
<path
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 1,-2 1,2 z"
id="path22" />
</g>
<g
id="g24"
transform="matrix(0.66381583,0,0,0.66381583,29.726643,14.124011)">
<path
id="path23"
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 z" />
<path
style="fill:#00ffff;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round"
d="m 32,43 1,-2 1,2 z"
id="path24" />
</g>
</g>
<g
id="g27"
transform="translate(2.5,5.3750001)">
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="path25"
cx="47.460999"
cy="42.460999"
r="2.4609971" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="path26"
cx="47.5"
cy="35"
r="2.5" />
<circle
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="path26-9"
cx="47.5"
cy="25"
r="2.5" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.77953;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="rect27"
width="5"
height="10"
x="45"
y="25"
rx="0"
ry="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4rqws3rjo853"
path="res://.godot/imported/Storm.svg-56174ed4b2847c4ef71970e8e0f684b0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Icons/Storm.svg"
dest_files=["res://.godot/imported/Storm.svg-56174ed4b2847c4ef71970e8e0f684b0.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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

BIN
Assets/Portal.ase Normal file

Binary file not shown.

BIN
Assets/Portal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

34
Assets/Portal.png.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c3o6hrpc0fim2"
path="res://.godot/imported/Portal.png-deddfbed2087a716f98f047f199c96ba.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Portal.png"
dest_files=["res://.godot/imported/Portal.png-deddfbed2087a716f98f047f199c96ba.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

BIN
Assets/Shadow.aseprite Normal file

Binary file not shown.

BIN
Assets/Shadow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

34
Assets/Shadow.png.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://83mf84k2pi3m"
path="res://.godot/imported/Shadow.png-983b6206ecdb81e9243583ecccaae850.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Shadow.png"
dest_files=["res://.godot/imported/Shadow.png-983b6206ecdb81e9243583ecccaae850.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

View file

@ -3,4 +3,4 @@
[ext_resource type="PackedScene" uid="uid://1jyq2seprmvg" path="res://Spawner/spawner.tscn" id="1_ayequ"]
[node name="ObjectSpawner" instance=ExtResource("1_ayequ")]
spawnObjectsPaths = Array[String](["res://scenes/game/objects/objects/computer.tscn", "res://scenes/game/objects/objects/controller.tscn", "res://scenes/game/objects/objects/food_tin_can.tscn", "res://scenes/game/objects/objects/game_console.tscn", "res://scenes/game/objects/objects/gold_bar.tscn", "res://scenes/game/objects/objects/hammer.tscn", "res://scenes/game/objects/objects/helmet.tscn", "res://scenes/game/objects/objects/monitor.tscn", "res://scenes/game/objects/objects/mystery_box.tscn", "res://scenes/game/objects/objects/mystery_briefcase.tscn", "res://scenes/game/objects/objects/mystery_liquid.tscn", "res://scenes/game/objects/objects/mystery_remote.tscn", "res://scenes/game/objects/objects/screwdriver.tscn", "res://scenes/game/objects/objects/soda_can.tscn", "res://scenes/game/objects/objects/speaker.tscn", "res://scenes/game/objects/objects/teddy_bear.tscn", "res://scenes/game/objects/objects/telephone.tscn", "res://scenes/game/objects/objects/toolbox.tscn", "res://scenes/game/objects/objects/vase.tscn"])
spawnObjectsPaths = Array[String](["res://scenes/game/objects/objects/computer.tscn", "res://scenes/game/objects/objects/controller.tscn", "res://scenes/game/objects/objects/food_tin_can.tscn", "res://scenes/game/objects/objects/game_console.tscn", "res://scenes/game/objects/objects/gold_bar.tscn", "res://scenes/game/objects/objects/hammer.tscn", "res://scenes/game/objects/objects/helmet.tscn", "res://scenes/game/objects/objects/monitor.tscn", "res://scenes/game/objects/objects/mystery_briefcase.tscn", "res://scenes/game/objects/objects/mystery_liquid.tscn", "res://scenes/game/objects/objects/screwdriver.tscn", "res://scenes/game/objects/objects/soda_can.tscn", "res://scenes/game/objects/objects/speaker.tscn", "res://scenes/game/objects/objects/teddy_bear.tscn", "res://scenes/game/objects/objects/telephone.tscn", "res://scenes/game/objects/objects/toolbox.tscn", "res://scenes/game/objects/objects/vase.tscn"])

5
Theme/MainTheme.tres Normal file
View file

@ -0,0 +1,5 @@
[gd_resource type="Theme" format=3 uid="uid://cotw1alu4b2ad"]
[resource]
Button/font_sizes/font_size = 32
Label/font_sizes/font_size = 48

View file

@ -94,6 +94,7 @@ ROLL={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null)
]
}
DOOR={

View file

@ -1,14 +1,37 @@
extends Node
enum GAMETIME {
MIN = 240,
MAX = 360
MIN = 60*5,
MAX = 60*6
}
var lastHealth = 10
var money = 0
var StormTimeLeft = 100
var StormThreshold = 30
var extracted = false
func resetValues():
extracted = false
money = 0
lastHealth = 10
StormTimeLeft = 100
func addMoney(n):
money += n
func setLastHealth(n):
lastHealth = n
func isStormThreshold():
return StormThreshold >= StormTimeLeft
func getStormThreshold():
return StormThreshold
func extractPlayer():
extracted = true

View file

@ -1,25 +1,75 @@
[gd_scene load_steps=4 format=3 uid="uid://sgnp11xty7i1"]
[gd_scene load_steps=10 format=3 uid="uid://sgnp11xty7i1"]
[ext_resource type="Script" path="res://scenes/game/collectionArea/collection_area.gd" id="1_c4amf"]
[ext_resource type="Texture2D" uid="uid://caaj6cyrfglu5" path="res://Assets/CollectionZone.png" id="2_4nokb"]
[ext_resource type="Texture2D" uid="uid://c3o6hrpc0fim2" path="res://Assets/Portal.png" id="2_s7bky"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e58ei"]
size = Vector2(136, 136)
[sub_resource type="CircleShape2D" id="CircleShape2D_7mwpw"]
radius = 72.0
[node name="CollectionArea" type="Area2D"]
[sub_resource type="CircleShape2D" id="CircleShape2D_f6w8f"]
radius = 12.0
[sub_resource type="AtlasTexture" id="AtlasTexture_7rm1e"]
atlas = ExtResource("2_s7bky")
region = Rect2(0, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_ubxxq"]
atlas = ExtResource("2_s7bky")
region = Rect2(128, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_dv0w3"]
atlas = ExtResource("2_s7bky")
region = Rect2(256, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_vxmh6"]
atlas = ExtResource("2_s7bky")
region = Rect2(384, 0, 128, 128)
[sub_resource type="SpriteFrames" id="SpriteFrames_g6wmf"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_7rm1e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ubxxq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dv0w3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vxmh6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="Portal" type="Area2D"]
light_mask = 32
visibility_layer = 32
collision_layer = 32
collision_mask = 16
collision_mask = 1040
script = ExtResource("1_c4amf")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_e58ei")
shape = SubResource("CircleShape2D_7mwpw")
[node name="NavigationObstacle2D" type="NavigationObstacle2D" parent="."]
scale = Vector2(0.997855, 1)
vertices = PackedVector2Array(-32.0688, -32, 32.0688, -32, 32.0688, 32, -32.0688, 32)
avoidance_layers = 32
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_4nokb")
[node name="CollectArea" type="Area2D" parent="."]
collision_layer = 32
collision_mask = 1040
[node name="CollisionShape2D" type="CollisionShape2D" parent="CollectArea"]
shape = SubResource("CircleShape2D_f6w8f")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_g6wmf")
frame_progress = 0.634411
[connection signal="area_entered" from="CollectArea" to="." method="_on_collect_area_area_entered"]
[connection signal="body_entered" from="CollectArea" to="." method="_on_collect_area_body_entered"]

View file

@ -1,10 +1,50 @@
extends Area2D
@onready var collectArea = $CollectArea
@onready var animatedSprite = $AnimatedSprite2D
func _ready() -> void:
animatedSprite.play("default")
func _physics_process(delta: float) -> void:
cashInObject()
for i in get_overlapping_bodies():
if i.is_in_group("Player"):
if G.isStormThreshold():
moveTowardsCenter(i)
for i in get_overlapping_areas():
if i.is_in_group("Object"):
if not i.isCarryied():
moveTowardsCenter(i)
else:
scale = Vector2(1,1)
#cashInObject()
func cashInObject():
for i in get_overlapping_areas():
for i in collectArea.get_overlapping_areas():
if not i.isCarryied():
G.addMoney(i.getValue())
i.queue_free()
func moveTowardsCenter(object : Node2D):
object.global_position.y = move_toward(object.global_position.y, global_position.y, 2)
object.global_position.x = move_toward(object.global_position.x, global_position.x, 2)
object.scale.y -= 0.01
object.scale.x -= 0.01
func extractPlayer():
G.extractPlayer()
func _on_collect_area_area_entered(area: Area2D) -> void:
if area.is_in_group("Object"):
cashInObject()
func _on_collect_area_body_entered(body: Node2D) -> void:
if G.isStormThreshold():
if body.is_in_group("Player"):
extractPlayer()

View file

@ -38,7 +38,7 @@ collision_layer = 2560
script = ExtResource("2_4vapd")
damage = 1
attackCooldown = 1
normalSpeed = 80
normalSpeed = 70
[node name="CollisionShape2D" parent="." index="0"]
shape = SubResource("CircleShape2D_xq7op")

View file

@ -1,6 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://b18cf4i8v6a1"]
[gd_scene load_steps=4 format=3 uid="uid://b18cf4i8v6a1"]
[ext_resource type="Script" path="res://scenes/game/entities/entity.gd" id="1_s7hj7"]
[ext_resource type="Texture2D" uid="uid://83mf84k2pi3m" path="res://Assets/Shadow.png" id="2_nhikt"]
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_4jtw1"]
light_mode = 2
[node name="Entity" type="CharacterBody2D" groups=["Entity"]]
light_mask = 512
@ -18,3 +22,7 @@ light_mask = 4
visibility_layer = 5
z_index = 1
y_sort_enabled = true
[node name="Shadow" type="Sprite2D" parent="."]
material = SubResource("CanvasItemMaterial_4jtw1")
texture = ExtResource("2_nhikt")

View file

@ -11,9 +11,16 @@ extends "res://scenes/game/entities/entity.gd"
@onready var moneyValueLabel = $Camera2D/CanvasLayer/Control/HBoxContainer/MoneyValue
@onready var objectValue = $Camera2D/CanvasLayer/Control/ObjectValues/ObjectMoneyValue
@onready var objectValues = $Camera2D/CanvasLayer/Control/ObjectValues
@onready var stormProgress = $Camera2D/CanvasLayer/Control/Storm/ProgressBar
@onready var stormUi = $Camera2D/CanvasLayer/Control/Storm
@onready var stormTimerDamage = $StormTimerDamage
@onready var sormwarningLabel = $Camera2D/CanvasLayer/Control/STORMWARNINGLabel
@onready var camera = $Camera2D
@onready var animation = $Camera2D/CanvasLayer/Control/AnimationPlayer
var rollSpeed = maxSpeed * 5
const rollCooldown = 5.0
@ -29,7 +36,10 @@ var object = null
var lastDirection : Vector2
var lastdirectionVector : Vector2
var shownStormProgress = false
func _ready():
animation.play("Introduction")
rollCooldownBar.min_value = 0
rollCooldownBar.max_value = rollCooldown
healthBar.min_value = 0
@ -44,8 +54,18 @@ func setHudValues():
objectValue.text = str(object.getValue())
else:
objectValues.hide()
G.setLastHealth(health)
stormProgress.value = G.StormTimeLeft
if G.isStormThreshold():
if not shownStormProgress:
sormwarningLabel.show()
shownStormProgress = true
animation.play("StormTimerAppear")
stormProgress.max_value = G.getStormThreshold()
func _physics_process(delta: float) -> void:
Storm()
setHudValues()
var direction : Vector2 = Input.get_vector("MOVE_LEFT", "MOVE_RIGHT", "MOVE_UP", "MOVE_DOWN").normalized()
#var direction : Vector2 = Vector2(
@ -59,10 +79,8 @@ func _physics_process(delta: float) -> void:
lastdirectionVector = directionVector
if Input.is_action_just_pressed("ROLL") and lastDirection != Vector2.ZERO:
roll()
if Input.is_action_just_pressed("ROLL") and lastDirection != Vector2.ZERO:
roll()
if Input.is_action_just_pressed("DOOR"):
openDoor()
#if Input.is_action_just_pressed("DOOR"):
#openDoor()
if Input.is_action_just_pressed("Pickup"):
match carrying:
false:
@ -168,5 +186,22 @@ func _on_hit_box_signal_hit(damage: Variant) -> void:
camera.shake(2,0.5)
func _on_death() -> void:
print("HOHO")
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == "StormTimerAppear":
animation.play("StormTimer")
func Storm():
if G.StormTimeLeft <= 0 and stormTimerDamage.is_stopped():
stormTimerDamage.start(1)
func _on_storm_timer_damage_timeout() -> void:
if stormTimerDamage.is_stopped():
stormTimerDamage.start(1)
hit(1)
func pause():
get_parent().pause()
func resume():
get_parent().resume()

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=17 format=3 uid="uid://0duodsosmfpq"]
[gd_scene load_steps=24 format=3 uid="uid://0duodsosmfpq"]
[ext_resource type="PackedScene" uid="uid://b18cf4i8v6a1" path="res://scenes/game/entities/entity.tscn" id="1_kmfws"]
[ext_resource type="Script" path="res://scenes/game/entities/player/player.gd" id="2_s0pfn"]
@ -13,10 +13,186 @@
[ext_resource type="StyleBox" uid="uid://31r7sc1edews" path="res://Theme/Empty.tres" id="7_luccy"]
[ext_resource type="StyleBox" uid="uid://6x7dblrcglcl" path="res://Theme/HealthBar.tres" id="8_kgbvc"]
[ext_resource type="Texture2D" uid="uid://c2o4115sewunm" path="res://Assets/Icons/Roll.png" id="10_1rhoe"]
[ext_resource type="Texture2D" uid="uid://caumye6m8df7a" path="res://Assets/Icons/Storm.png" id="12_7rs7u"]
[ext_resource type="StyleBox" uid="uid://db7h680qdfcrv" path="res://scenes/menu/startMenu/Storm.tres" id="12_wohun"]
[sub_resource type="CircleShape2D" id="CircleShape2D_7ukjs"]
radius = 8.94427
[sub_resource type="Animation" id="Animation_4p2qj"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Camera2D/CanvasLayer/Control/IntroductionLabel:visible_ratio")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Camera2D/CanvasLayer/Control/WARNING:visible_ratio")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Camera2D/CanvasLayer/Control/ColorRect:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_7uqa8"]
resource_name = "StormTimerAppear"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_8ahng"]
resource_name = "StormTimer"
length = 0.8
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.4, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_1uxm1"]
resource_name = "Introduction"
length = 21.0
step = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/IntroductionLabel:visible_ratio")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1.5, 4.5, 6),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/WARNING:visible_ratio")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(7, 9, 12, 14),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Camera2D/CanvasLayer/Control/ColorRect:modulate")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(15, 16.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 16.5),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"pause"
}, {
"args": [],
"method": &"resume"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1cg8p"]
_data = {
"Introduction": SubResource("Animation_1uxm1"),
"RESET": SubResource("Animation_4p2qj"),
"StormTimer": SubResource("Animation_8ahng"),
"StormTimerAppear": SubResource("Animation_7uqa8")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_8u3aq"]
radius = 8.94427
@ -27,6 +203,7 @@ radius = 8.94427
light_mask = 1536
visibility_layer = 1536
collision_layer = 1536
collision_mask = 46
script = ExtResource("2_s0pfn")
[node name="CollisionShape2D" parent="." index="0"]
@ -167,6 +344,101 @@ layout_mode = 2
layout_mode = 2
texture = ExtResource("4_6t857")
[node name="STORMWARNINGLabel" type="Label" parent="Camera2D/CanvasLayer/Control" index="3"]
visible = false
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -0.5
offset_right = 0.5
offset_bottom = 67.0
grow_horizontal = 2
text = "STORMWARNING"
[node name="Storm" type="HBoxContainer" parent="Camera2D/CanvasLayer/Control" index="4"]
visible = false
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -320.0
offset_top = 67.0
offset_right = 320.0
offset_bottom = 152.0
grow_horizontal = 2
pivot_offset = Vector2(320, 42)
[node name="TextureRect" type="TextureRect" parent="Camera2D/CanvasLayer/Control/Storm" index="0"]
layout_mode = 2
texture = ExtResource("12_7rs7u")
expand_mode = 2
[node name="ProgressBar" type="ProgressBar" parent="Camera2D/CanvasLayer/Control/Storm" index="1"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
theme_override_styles/background = ExtResource("7_luccy")
theme_override_styles/fill = ExtResource("12_wohun")
show_percentage = false
[node name="AnimationPlayer" type="AnimationPlayer" parent="Camera2D/CanvasLayer/Control" index="5"]
process_mode = 3
root_node = NodePath("../../../..")
libraries = {
"": SubResource("AnimationLibrary_1cg8p")
}
[node name="ColorRect" type="ColorRect" parent="Camera2D/CanvasLayer/Control" index="6"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="WARNING" type="Label" parent="Camera2D/CanvasLayer/Control" index="7"]
process_mode = 3
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -500.0
offset_top = -500.0
offset_right = 500.0
offset_bottom = 500.0
grow_horizontal = 2
grow_vertical = 2
text = "WARNING"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 3
visible_characters = 0
visible_ratio = 0.0
[node name="IntroductionLabel" type="Label" parent="Camera2D/CanvasLayer/Control" index="8"]
process_mode = 3
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -500.0
offset_top = -500.0
offset_right = 500.0
offset_bottom = 500.0
grow_horizontal = 2
grow_vertical = 2
text = "INTRODUCTION"
horizontal_alignment = 1
vertical_alignment = 1
visible_characters = 0
visible_ratio = 0.0
[node name="RollTimer" type="Timer" parent="." index="3"]
one_shot = true
@ -197,9 +469,13 @@ texture_scale = 2.0
position = Vector2(0, 4)
shape = SubResource("CircleShape2D_bjveg")
[connection signal="death" from="." to="." method="_on_death"]
[node name="StormTimerDamage" type="Timer" parent="." index="9"]
one_shot = true
[connection signal="animation_finished" from="Camera2D/CanvasLayer/Control/AnimationPlayer" to="." method="_on_animation_player_animation_finished"]
[connection signal="timeout" from="RollTimer" to="." method="_on_roll_timeout"]
[connection signal="timeout" from="RollCooldownTimer" to="." method="_on_roll_cooldown_timer_timeout"]
[connection signal="signalHit" from="HitBox" to="." method="_on_hit_box_signal_hit"]
[connection signal="timeout" from="StormTimerDamage" to="." method="_on_storm_timer_damage_timeout"]
[editable path="HitBox"]

View file

@ -4,14 +4,26 @@ extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
randomize()
$Map.spawnObjects()
$Map.spawnEnemies()
stormTimer.start(randi_range(G.GAMETIME.MIN, G.GAMETIME.MAX))
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
G.StormTimeLeft = stormTimer.time_left
func _on_storm_timer_timeout() -> void:
print("Storm")
func _on_player_death() -> void:
get_parent().loadEndScren()
func pause():
get_tree().paused = true
func resume():
get_tree().paused = false

View file

@ -8,11 +8,12 @@
script = ExtResource("1_napbe")
[node name="Player" parent="." instance=ExtResource("3_sjgkj")]
position = Vector2(-24, 0)
position = Vector2(-16, -88)
[node name="Map" parent="." instance=ExtResource("3_vpriv")]
[node name="StormTimer" type="Timer" parent="."]
one_shot = true
[connection signal="death" from="Player" to="." method="_on_player_death"]
[connection signal="timeout" from="StormTimer" to="." method="_on_storm_timer_timeout"]

View file

@ -12,6 +12,9 @@ func _ready() -> void:
enemySpawnersArray[0].enabled = true
enemySpawnersArray[1].enabled = true
enemySpawnersArray[2].enabled = true
enemySpawnersArray[3].enabled = true
enemySpawnersArray[4].enabled = true
#for i in enemySpawnersArray:
#i.enabled = true

File diff suppressed because one or more lines are too long

View file

@ -35,7 +35,7 @@ func pickup(newPlayer):
func drop():
global_position.y += 10
player = null
z_index = 0
z_index = 1
func getWeight():
return weight

View file

@ -1,22 +1,33 @@
[gd_scene load_steps=5 format=3 uid="uid://dxpd1pq7v6ing"]
[gd_scene load_steps=7 format=3 uid="uid://dxpd1pq7v6ing"]
[ext_resource type="Script" path="res://scenes/game/objects/object.gd" id="1_3y27f"]
[ext_resource type="Texture2D" uid="uid://c4h5dodgulduy" path="res://Assets/Icons/Pickup.png" id="2_pqvu2"]
[ext_resource type="Texture2D" uid="uid://83mf84k2pi3m" path="res://Assets/Shadow.png" id="3_hre65"]
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_n7gny"]
light_mode = 2
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_3q7s5"]
light_mode = 2
[sub_resource type="CircleShape2D" id="CircleShape2D_vvfu1"]
radius = 8.0
[node name="Object" type="Area2D" groups=["Object"]]
light_mask = 16
visibility_layer = 16
z_index = 1
material = SubResource("CanvasItemMaterial_n7gny")
collision_layer = 16
collision_mask = 96
script = ExtResource("1_3y27f")
[node name="Shadow" type="Sprite2D" parent="."]
material = SubResource("CanvasItemMaterial_3q7s5")
position = Vector2(2.38419e-07, 2.38419e-07)
scale = Vector2(0.5, 0.5)
texture = ExtResource("3_hre65")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("CircleShape2D_vvfu1")

View file

@ -10,8 +10,8 @@ radius = 8.0
value = 100
weight = 40
[node name="CollisionShape2D" parent="." index="0"]
[node name="CollisionShape2D" parent="." index="1"]
shape = SubResource("CircleShape2D_fkh3i")
[node name="Sprite2D" parent="." index="1"]
[node name="Sprite2D" parent="." index="2"]
texture = ExtResource("2_3c460")

View file

@ -10,9 +10,8 @@ radius = 8.0
value = 800
weight = 50
[node name="CollisionShape2D" parent="." index="0"]
[node name="CollisionShape2D" parent="." index="1"]
shape = SubResource("CircleShape2D_772ct")
[node name="Sprite2D" parent="." index="1"]
position = Vector2(0, -8)
[node name="Sprite2D" parent="." index="2"]
texture = ExtResource("2_q4tnr")

View file

@ -9,9 +9,8 @@ radius = 8.0
[node name="Vase" instance=ExtResource("1_fkdlr")]
y_sort_enabled = true
[node name="CollisionShape2D" parent="." index="0"]
[node name="CollisionShape2D" parent="." index="1"]
shape = SubResource("CircleShape2D_pmiic")
[node name="Sprite2D" parent="." index="1"]
position = Vector2(0, -4)
[node name="Sprite2D" parent="." index="2"]
texture = ExtResource("2_vxdei")

View file

@ -1,11 +1,26 @@
extends Node
func _ready() -> void:
loadGame()
loadStartMenu()
func _process(delta: float) -> void:
if G.extracted and get_child(0).name != "EndScreen":
loadEndScren()
func loadGame():
G.resetValues()
for i in get_children():
i.queue_free()
add_child(load("res://scenes/game/mainGame/main_game.tscn").instantiate())
func loadEndScren():
for i in get_children():
i.queue_free()
add_child(load("res://scenes/menu/endScreen/end_screen.tscn").instantiate())
func loadStartMenu():
G.resetValues()
for i in get_children():
i.queue_free()
add_child(load("res://scenes/menu/startMenu/start_menu.tscn").instantiate())

View file

@ -0,0 +1,19 @@
extends Control
@onready var moneyResultLabel = $CenterContainer/VBoxContainer/HBoxContainer/MoneyResult
@onready var healthResultLabel = $CenterContainer/VBoxContainer/HBoxContainer2/HealthResult
@onready var succesLabel = $CenterContainer/VBoxContainer/VBoxContainer/SUCCESLabel
@onready var failureLabel = $CenterContainer/VBoxContainer/VBoxContainer/FAILURELabel
func _ready() -> void:
if G.extracted:
succesLabel.show()
failureLabel.hide()
moneyResultLabel.text = str(G.money)
healthResultLabel.text = str(G.lastHealth)
func _on_home_button_button_up() -> void:
get_parent().loadStartMenu()

View file

@ -0,0 +1,112 @@
[gd_scene load_steps=9 format=3 uid="uid://jga6awfuwsyp"]
[ext_resource type="Theme" uid="uid://cotw1alu4b2ad" path="res://Theme/MainTheme.tres" id="1_iscr2"]
[ext_resource type="Texture2D" uid="uid://drjv0kpcfubr0" path="res://Assets/Icons/Dollar.png" id="2_54fgt"]
[ext_resource type="Script" path="res://scenes/menu/endScreen/end_screen.gd" id="2_wokl6"]
[ext_resource type="Texture2D" uid="uid://b27g8eulkxvyr" path="res://Assets/Icons/Health.png" id="3_n82yp"]
[sub_resource type="LabelSettings" id="LabelSettings_3uh6l"]
font_size = 48
font_color = Color(0.918136, 0.0328273, 0.194379, 1)
outline_size = 5
outline_color = Color(0, 0, 0, 1)
[sub_resource type="LabelSettings" id="LabelSettings_58qpv"]
font_size = 48
font_color = Color(0.0700001, 0.6, 0, 1)
outline_size = 5
outline_color = Color(0, 0, 0, 1)
[sub_resource type="LabelSettings" id="LabelSettings_kocpg"]
font_size = 48
font_color = Color(0, 1, 0.0999999, 1)
outline_size = 5
outline_color = Color(0, 0, 0, 1)
[sub_resource type="LabelSettings" id="LabelSettings_2huu8"]
font_size = 48
font_color = Color(1, 0, 0, 1)
outline_size = 5
outline_color = Color(0, 0, 0, 1)
[node name="EndScreen" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_iscr2")
script = ExtResource("2_wokl6")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
layout_mode = 2
[node name="LabelResults" type="Label" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "RESULT"
horizontal_alignment = 1
[node name="HSeparator3" type="HSeparator" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="FAILURELabel" type="Label" parent="CenterContainer/VBoxContainer/VBoxContainer"]
layout_mode = 2
text = "FAILURE"
label_settings = SubResource("LabelSettings_3uh6l")
[node name="SUCCESLabel" type="Label" parent="CenterContainer/VBoxContainer/VBoxContainer"]
visible = false
layout_mode = 2
text = "SUCCES"
label_settings = SubResource("LabelSettings_58qpv")
[node name="HSeparator2" type="HSeparator" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="CenterContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
texture = ExtResource("2_54fgt")
[node name="MoneyResult" type="Label" parent="CenterContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
label_settings = SubResource("LabelSettings_kocpg")
[node name="HBoxContainer2" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="CenterContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
texture = ExtResource("3_n82yp")
[node name="Health" type="Label" parent="CenterContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
text = "10/"
label_settings = SubResource("LabelSettings_2huu8")
[node name="HealthResult" type="Label" parent="CenterContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
label_settings = SubResource("LabelSettings_2huu8")
[node name="HSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
[node name="HomeButton" type="Button" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "Understood"
[connection signal="button_up" from="CenterContainer/VBoxContainer/HomeButton" to="." method="_on_home_button_button_up"]

View file

@ -0,0 +1,14 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://db7h680qdfcrv"]
[resource]
bg_color = Color(0.913183, 0.621028, 0, 1)
border_width_left = 5
border_width_top = 5
border_width_right = 5
border_width_bottom = 5
border_color = Color(0, 0, 0, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
corner_detail = 20

View file

@ -0,0 +1,5 @@
extends Control
func _on_start_button_button_up() -> void:
get_parent().loadGame()

View file

@ -0,0 +1,54 @@
[gd_scene load_steps=5 format=3 uid="uid://ceu62dbrvd31p"]
[ext_resource type="Theme" uid="uid://cotw1alu4b2ad" path="res://Theme/MainTheme.tres" id="1_2eoii"]
[ext_resource type="Script" path="res://scenes/menu/startMenu/start_menu.gd" id="2_y1mcp"]
[ext_resource type="PackedScene" uid="uid://br7eqr6jomsg4" path="res://scenes/game/map/map.tscn" id="3_w2x7d"]
[ext_resource type="Texture2D" uid="uid://b2xbgtcyxvi73" path="res://Assets/Player/Player.png" id="4_0cn2q"]
[node name="StartMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_2eoii")
script = ExtResource("2_y1mcp")
[node name="Map" parent="." instance=ExtResource("3_w2x7d")]
visible = false
position = Vector2(976, 540)
[node name="Sprite2D" type="Sprite2D" parent="."]
visible = false
position = Vector2(960, 456)
scale = Vector2(1.5, 1.5)
texture = ExtResource("4_0cn2q")
hframes = 25
[node name="ColorRect" type="ColorRect" parent="."]
modulate = Color(1, 1, 1, 0.376471)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
layout_mode = 2
[node name="StartButton" type="Button" parent="CenterContainer/VBoxContainer"]
layout_mode = 2
text = "PLAY"
[connection signal="button_up" from="CenterContainer/VBoxContainer/StartButton" to="." method="_on_start_button_button_up"]

View file

@ -0,0 +1 @@
,exobyt,exobyt-endeavour,14.09.2024 23:54,file:///home/exobyt/.config/libreoffice/4;

View file

@ -1,3 +1,10 @@
keys,de,en
START_GAME,Spielen,Play
PLAY,Spielen,Play
MONEY,Geld,Money
RESULT,Ergebnis,Result
UNDERSTOOD,Verstanden,Understood
SUCCES,Erfolgreich extrahiert,Succesfully extracted
FAILURE,Leider nicht geschafft,Lost in the Storm
STORMWARNING,Sturm Warnung! Schnell zum Portal!,Storm Warning! Back to the Portal. NOW!
INTRODUCTION,Suche nach Objekten und Bringe sie zum Portal,Search for Objects and bring them to the Portal
WARNING,"Es wude ein Sturm vorrausgesagt. Wir werden dich aber warnen wenn er kommt, sei dann aber schnell!","The Weather Report said there was a Storm coming. We will warn you if it is close, but be fast!"

1 keys de en
2 START_GAME PLAY Spielen Play
3 MONEY Geld Money
4 RESULT Ergebnis Result
5 UNDERSTOOD Verstanden Understood
6 SUCCES Erfolgreich extrahiert Succesfully extracted
7 FAILURE Leider nicht geschafft Lost in the Storm
8 STORMWARNING Sturm Warnung! Schnell zum Portal! Storm Warning! Back to the Portal. NOW!
9 INTRODUCTION Suche nach Objekten und Bringe sie zum Portal Search for Objects and bring them to the Portal
10 WARNING Es wude ein Sturm vorrausgesagt. Wir werden dich aber warnen wenn er kommt, sei dann aber schnell! The Weather Report said there was a Storm coming. We will warn you if it is close, but be fast!