Compare commits

..

7 Commits

1953 changed files with 14752 additions and 20659 deletions

15
3dtree.tscn Normal file
View File

@ -0,0 +1,15 @@
[gd_scene load_steps=4 format=3 uid="uid://406wnf58lo7h"]
[ext_resource type="PackedScene" uid="uid://bvyx8hxvka7vu" path="res://tree_test.glb" id="1_pscrb"]
[ext_resource type="Material" uid="uid://cqwo7la40rbkn" path="res://foliage/foliage.material" id="2_kkjgf"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_us4dp"]
albedo_color = Color(0.326727, 0.157357, 0.00483305, 1)
[node name="tree_test" instance=ExtResource("1_pscrb")]
[node name="Cube" parent="." index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_us4dp")
[node name="Cube_001" parent="." index="1"]
surface_material_override/0 = ExtResource("2_kkjgf")

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://batrfsos6x38m"
path="res://.godot/imported/Kaph-Italic.otf-b932c8d71aaa63b737342951ee078e8c.fontdata"
[deps]
source_file="res://Assets/Fonts/OpenType (.otf)/Kaph-Italic.otf"
dest_files=["res://.godot/imported/Kaph-Italic.otf-b932c8d71aaa63b737342951ee078e8c.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://c3hwdjscf2hnk"
path="res://.godot/imported/Kaph-Regular.otf-c770fc91b9eb1ce8db6944bab31619b9.fontdata"
[deps]
source_file="res://Assets/Fonts/OpenType (.otf)/Kaph-Regular.otf"
dest_files=["res://.godot/imported/Kaph-Regular.otf-c770fc91b9eb1ce8db6944bab31619b9.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://cx86thi8mw004"
path="res://.godot/imported/Kaph-Italic.ttf-31eaeaf877ae291841853cd19c804cff.fontdata"
[deps]
source_file="res://Assets/Fonts/TrueType (.ttf)/Kaph-Italic.ttf"
dest_files=["res://.godot/imported/Kaph-Italic.ttf-31eaeaf877ae291841853cd19c804cff.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://nplrjxvauux5"
path="res://.godot/imported/Kaph-Regular.ttf-3e4a3d814747db553ebe53d1dc381d87.fontdata"
[deps]
source_file="res://Assets/Fonts/TrueType (.ttf)/Kaph-Regular.ttf"
dest_files=["res://.godot/imported/Kaph-Regular.ttf-3e4a3d814747db553ebe53d1dc381d87.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://ybhk4hblpvu2"
path="res://.godot/imported/Kaph-Italic.woff-408cfefde00325f89e26cdd96bcff524.fontdata"
[deps]
source_file="res://Assets/Fonts/Web Open Font Format (.woff)/Kaph-Italic.woff"
dest_files=["res://.godot/imported/Kaph-Italic.woff-408cfefde00325f89e26cdd96bcff524.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://e2e3jmoyo8p6"
path="res://.godot/imported/Kaph-Italic.woff2-00d7afb1c8d47f57b914cef10b8f58d1.fontdata"
[deps]
source_file="res://Assets/Fonts/Web Open Font Format (.woff)/Kaph-Italic.woff2"
dest_files=["res://.godot/imported/Kaph-Italic.woff2-00d7afb1c8d47f57b914cef10b8f58d1.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://cnikb22cx5s51"
path="res://.godot/imported/Kaph-Regular.woff-fc271f9b94e07fbf896c6ad9c61a5014.fontdata"
[deps]
source_file="res://Assets/Fonts/Web Open Font Format (.woff)/Kaph-Regular.woff"
dest_files=["res://.godot/imported/Kaph-Regular.woff-fc271f9b94e07fbf896c6ad9c61a5014.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://dskkuioa22v7a"
path="res://.godot/imported/Kaph-Regular.woff2-79e390799d1d1d3f7ecd9fa77b6726a8.fontdata"
[deps]
source_file="res://Assets/Fonts/Web Open Font Format (.woff)/Kaph-Regular.woff2"
dest_files=["res://.godot/imported/Kaph-Regular.woff2-79e390799d1d1d3f7ecd9fa77b6726a8.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://i4ls0ikg5j1n"
path="res://.godot/imported/Wii_1.png-dd049b4cdf931ece103a262eefc0c13a.ctex"
uid="uid://6frn8lcwwehv"
path="res://.godot/imported/puppyfruit.png-4202c2b53b1e609128620576392b70df.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Wii/Wii_1.png"
dest_files=["res://.godot/imported/Wii_1.png-dd049b4cdf931ece103a262eefc0c13a.ctex"]
source_file="res://Assets/TextureAtlases/puppyfruit.png"
dest_files=["res://.godot/imported/puppyfruit.png-4202c2b53b1e609128620576392b70df.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cuqfsr204gxn8"
path="res://.godot/imported/Luna_LB.png-42d343970348c7d636d3675795d56263.ctex"
uid="uid://broy365egmulr"
path="res://.godot/imported/bracket_b_vertical.png-315545aada90ad95c2805a4864e6e856.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Amazon Luna/Luna_LB.png"
dest_files=["res://.godot/imported/Luna_LB.png-42d343970348c7d636d3675795d56263.ctex"]
source_file="res://Assets/Textures/bracket_b_vertical.png"
dest_files=["res://.godot/imported/bracket_b_vertical.png-315545aada90ad95c2805a4864e6e856.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dqrfgw65d0sq8"
path.s3tc="res://.godot/imported/bridge_map.png-c72524a9194bfb29ec0afa9089c51f6d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/bridge_map.png"
dest_files=["res://.godot/imported/bridge_map.png-c72524a9194bfb29ec0afa9089c51f6d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://2v3sc50kir27"
path="res://.godot/imported/Wii_2.png-e142711e6b8cdb75d801339e85ea1fc3.ctex"
uid="uid://bs2mskoyvyehv"
path="res://.godot/imported/crosshair159.png-1ca12955e39d6730ad57a007ee3592c9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Wii/Wii_2.png"
dest_files=["res://.godot/imported/Wii_2.png-e142711e6b8cdb75d801339e85ea1fc3.ctex"]
source_file="res://Assets/Textures/crosshair159.png"
dest_files=["res://.godot/imported/crosshair159.png-1ca12955e39d6730ad57a007ee3592c9.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bmaodu0s0vawf"
path="res://.godot/imported/PS5_L1.png-d0a582e9abb3c86d4a67b6ae378efc4b.ctex"
uid="uid://bc2pqfjucp6c3"
path="res://.godot/imported/cursor_none.png-8ef0d513f5b0742e2a06563125975c2c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/PS5/PS5_L1.png"
dest_files=["res://.godot/imported/PS5_L1.png-d0a582e9abb3c86d4a67b6ae378efc4b.ctex"]
source_file="res://Assets/Textures/cursor_none.png"
dest_files=["res://.godot/imported/cursor_none.png-8ef0d513f5b0742e2a06563125975c2c.ctex"]
[params]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dr4j3818dn22s"
path="res://.godot/imported/Ouya_A.png-d8654cd3b5c0e3404fe33b5205ebe49b.ctex"
uid="uid://0ru2mv88fn4i"
path="res://.godot/imported/energy_bar_bg2.png-4fa638f691860d1c3297be47b7732390.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Ouya/Ouya_A.png"
dest_files=["res://.godot/imported/Ouya_A.png-d8654cd3b5c0e3404fe33b5205ebe49b.ctex"]
source_file="res://Assets/Textures/energy_bar_bg2.png"
dest_files=["res://.godot/imported/energy_bar_bg2.png-4fa638f691860d1c3297be47b7732390.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c4efie5gwboy7"
path="res://.godot/imported/Ouya_U.png-ac242332cbda7ce28ebf3926ed59b68a.ctex"
uid="uid://c0kwkv021p7gl"
path="res://.godot/imported/energy_bar_bg3.png-a0e1a418885324d3b559a2593ef99013.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Ouya/Ouya_U.png"
dest_files=["res://.godot/imported/Ouya_U.png-ac242332cbda7ce28ebf3926ed59b68a.ctex"]
source_file="res://Assets/Textures/energy_bar_bg3.png"
dest_files=["res://.godot/imported/energy_bar_bg3.png-a0e1a418885324d3b559a2593ef99013.ctex"]
[params]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

View File

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

After

Width:  |  Height:  |  Size: 673 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cuamimpkdl8jq"
path="res://.godot/imported/Luna_A.png-93db3f2756934bd8f064b80faedf6978.ctex"
uid="uid://0x80ptif1diq"
path="res://.godot/imported/hand_small_point.png-dd650890c01dd4526b4ed41c883582ff.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Amazon Luna/Luna_A.png"
dest_files=["res://.godot/imported/Luna_A.png-93db3f2756934bd8f064b80faedf6978.ctex"]
source_file="res://Assets/Textures/hand_small_point.png"
dest_files=["res://.godot/imported/hand_small_point.png-dd650890c01dd4526b4ed41c883582ff.ctex"]
[params]

View File

@ -3,25 +3,26 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cb66pspr16scy"
path="res://.godot/imported/leapfrog_2.png-6ca968bda2f2a97809552ed0bab21743.ctex"
path.s3tc="res://.godot/imported/leapfrog_2.png-6ca968bda2f2a97809552ed0bab21743.s3tc.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/leapfrog_2.png"
dest_files=["res://.godot/imported/leapfrog_2.png-6ca968bda2f2a97809552ed0bab21743.ctex"]
dest_files=["res://.godot/imported/leapfrog_2.png-6ca968bda2f2a97809552ed0bab21743.s3tc.ctex"]
[params]
compress/mode=0
compress/mode=2
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/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@ -31,4 +32,4 @@ 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
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cwykwcaxbrxdi"
path.s3tc="res://.godot/imported/prototype.png-2678c44321b389387a13e51fcac78d61.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/prototype.png"
dest_files=["res://.godot/imported/prototype.png-2678c44321b389387a13e51fcac78d61.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

BIN
Assets/Textures/tile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ds4ccfym5ej7w"
path.s3tc="res://.godot/imported/tile.png-f2c836729428dd06f567f8db05c6afb6.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/tile.png"
dest_files=["res://.godot/imported/tile.png-f2c836729428dd06f567f8db05c6afb6.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

BIN
Assets/Textures/tile.png~ Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="HeroClass" load_steps=10 format=3 uid="uid://b5pc3frhx467q"]
[gd_resource type="Resource" script_class="HeroClass" load_steps=11 format=3 uid="uid://b5pc3frhx467q"]
[ext_resource type="PackedScene" uid="uid://dq8v5e11rvyi6" path="res://Classes/Engineer/plan.tscn" id="1_2m5d7"]
[ext_resource type="Script" uid="uid://d40isem6w5d8" path="res://Scripts/Resources/card.gd" id="1_t4fvj"]
[ext_resource type="Resource" uid="uid://deer0awg4d18o" path="res://Cards/assault.tres" id="2_62g46"]
[ext_resource type="Resource" uid="uid://ckm88acryitl4" path="res://Cards/sniper.tres" id="3_eml7q"]
@ -18,3 +19,4 @@ hand_texture = ExtResource("6_a8dvt")
deck = Array[ExtResource("1_t4fvj")]([ExtResource("2_62g46"), ExtResource("2_62g46"), ExtResource("3_eml7q"), ExtResource("4_ovvb2"), ExtResource("5_vqkxt")])
faction = 1
podium = ExtResource("7_nyup7")
card_item = ExtResource("1_2m5d7")

View File

@ -4,12 +4,12 @@ importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bycbnjk8snesp"
path="res://.godot/imported/plan.glb-2c2d7728d6bf7c4f7aa3b51315acac6d.scn"
path="res://.godot/imported/plan.glb-1550a2307197fee30ac7089f8e7db254.scn"
[deps]
source_file="res://plan.glb"
dest_files=["res://.godot/imported/plan.glb-2c2d7728d6bf7c4f7aa3b51315acac6d.scn"]
source_file="res://Classes/Engineer/plan.glb"
dest_files=["res://.godot/imported/plan.glb-1550a2307197fee30ac7089f8e7db254.scn"]
[params]

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dlftx7c32euh0"]
[ext_resource type="Texture2D" uid="uid://dds48gjgiyjp6" path="res://plan_plan_tex.png" id="1_jpetr"]
[ext_resource type="Texture2D" uid="uid://dds48gjgiyjp6" path="res://Classes/Engineer/plan_plan_tex.png" id="1_jpetr"]
[resource]
albedo_texture = ExtResource("1_jpetr")

View File

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dds48gjgiyjp6"
path.s3tc="res://.godot/imported/plan_plan_tex.png-901144cd225dba1a169b1b1548c880b8.s3tc.ctex"
path.s3tc="res://.godot/imported/plan_plan_tex.png-e4a279734396ed977f4f903ec94343a1.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@ -14,8 +14,8 @@ generator_parameters={
[deps]
source_file="res://plan_plan_tex.png"
dest_files=["res://.godot/imported/plan_plan_tex.png-901144cd225dba1a169b1b1548c880b8.s3tc.ctex"]
source_file="res://Classes/Engineer/plan_plan_tex.png"
dest_files=["res://.godot/imported/plan_plan_tex.png-e4a279734396ed977f4f903ec94343a1.s3tc.ctex"]
[params]

View File

@ -18,36 +18,39 @@ radius = 3.0
height = 1.0
sides = 32
[node name="CharacterSprite" type="Sprite3D" parent="Base"]
transform = Transform3D(1.6895, 0, -2.47903, 0, 3, 0, 2.47903, 0, 1.6895, -0.0459526, 1.91885, -0.305444)
modulate = Color(0.517184, 0.517184, 0.517184, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_4b5pd")
[node name="Node3D" parent="Base" instance=ExtResource("3_pmyku")]
transform = Transform3D(0.563166, 0, -0.826344, 0, 1, 0, 0.826344, 0, 0.563166, -1.32611, 0.5, -0.864711)
[node name="Assaultmod" type="MeshInstance3D" parent="Base"]
transform = Transform3D(-0.155908, 0.191531, -0.37018, -7.29442e-09, 0.395231, 0.204492, 0.416795, 0.0716447, -0.138472, 1.08392, 0.959456, -1.22038)
mesh = ExtResource("4_1jafm")
skeleton = NodePath("../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base"]
transform = Transform3D(0.410348, 0.0352013, 0.0823131, 0.0231825, 0.331215, -0.257215, -0.0864702, 0.255847, 0.32166, -1.09654, 0.957512, 0.64087)
mesh = ExtResource("5_851y4")
skeleton = NodePath("../../..")
[node name="Gattlemesh" type="MeshInstance3D" parent="Base"]
transform = Transform3D(0.11298, -0.0560454, 0.277704, 2.63199e-09, 0.298972, 0.0603377, -0.283303, -0.0223507, 0.110748, 0.976316, 0.901463, 0.843925)
mesh = ExtResource("6_iftlf")
skeleton = NodePath("../../..")
[node name="SpotLight3D" type="SpotLight3D" parent="Base"]
transform = Transform3D(0.563166, 0.826344, 3.61207e-08, 1.35728e-16, -4.37114e-08, 1, 0.826344, -0.563166, -2.46168e-08, -0.0459526, 4, -0.305444)
spot_range = 10.0
spot_attenuation = 0.39
[node name="Tower2" parent="Base" instance=ExtResource("7_pmyku")]
[node name="Content" type="Node3D" parent="Base"]
visible = false
[node name="CharacterSprite" type="Sprite3D" parent="Base/Content"]
transform = Transform3D(1.6895, 0, -2.47903, 0, 3, 0, 2.47903, 0, 1.6895, -0.0459526, 1.91885, -0.305444)
modulate = Color(0.517184, 0.517184, 0.517184, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_4b5pd")
[node name="Assaultmod" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(-0.155908, 0.191531, -0.37018, -7.29442e-09, 0.395231, 0.204492, 0.416795, 0.0716447, -0.138472, 1.08392, 0.959456, -1.22038)
mesh = ExtResource("4_1jafm")
skeleton = NodePath("../../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.410348, 0.0352013, 0.0823131, 0.0231825, 0.331215, -0.257215, -0.0864702, 0.255847, 0.32166, -1.09654, 0.957512, 0.64087)
mesh = ExtResource("5_851y4")
skeleton = NodePath("../../../..")
[node name="Gattlemesh" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.11298, -0.0560454, 0.277704, 2.63199e-09, 0.298972, 0.0603377, -0.283303, -0.0223507, 0.110748, 0.976316, 0.901463, 0.843925)
mesh = ExtResource("6_iftlf")
skeleton = NodePath("../../../..")
[node name="Tower2" parent="Base/Content" instance=ExtResource("7_pmyku")]
transform = Transform3D(0.563166, 0, -0.826344, 0, 1, 0, 0.826344, 0, 0.563166, 2.31578, 1.01612, -0.162108)
stats = ExtResource("8_1jafm")

View File

@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="HeroClass" load_steps=10 format=3 uid="uid://dxonpv8qbyrjy"]
[gd_resource type="Resource" script_class="HeroClass" load_steps=11 format=3 uid="uid://dxonpv8qbyrjy"]
[ext_resource type="PackedScene" uid="uid://bfxgtf1v1okat" path="res://Classes/Mage/scroll.tscn" id="1_6eh1f"]
[ext_resource type="Script" uid="uid://dcwtg2gev3uia" path="res://Scripts/Resources/hero_class.gd" id="1_aeu85"]
[ext_resource type="Script" uid="uid://d40isem6w5d8" path="res://Scripts/Resources/card.gd" id="1_gq5ju"]
[ext_resource type="Resource" uid="uid://deer0awg4d18o" path="res://Cards/assault.tres" id="2_3yr5a"]
@ -18,3 +19,4 @@ hand_texture = ExtResource("4_srskc")
deck = Array[ExtResource("1_gq5ju")]([ExtResource("2_3yr5a"), ExtResource("2_3yr5a"), ExtResource("3_wyb0n"), ExtResource("3_sh7d1"), ExtResource("5_k7b5b")])
faction = 2
podium = ExtResource("7_aglom")
card_item = ExtResource("1_6eh1f")

View File

@ -0,0 +1,9 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://0273wjmwcpa5"]
[resource]
resource_local_to_scene = true
cull_mode = 1
shading_mode = 0
albedo_color = Color(0.751102, 0.459619, 0.112211, 1)
grow = true
grow_amount = 0.02

View File

@ -20,41 +20,45 @@ radius = 3.0
height = 1.0
sides = 32
[node name="Sprite3D" type="Sprite3D" parent="Base"]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 1.91885, 0)
modulate = Color(0.446777, 0.446777, 0.446777, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_skplt")
[node name="Node3D" parent="Base" instance=ExtResource("3_m1210")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.21433, 0.5, -1.47375)
[node name="Assaultmod" type="MeshInstance3D" parent="Base"]
transform = Transform3D(-0.216168, 0.271014, 0.279012, 0.174778, 0.352842, -0.207317, -0.347489, 0.00887582, -0.277844, 1.62687, 1.06376, -1.0274)
mesh = ExtResource("4_5wuy8")
skeleton = NodePath("../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base"]
transform = Transform3D(0.332265, 0.0519786, -0.251592, -8.9882e-09, 0.411314, 0.0849769, 0.256905, -0.0672257, 0.325393, 0.500198, 0.978789, 1.90895)
mesh = ExtResource("5_tnndn")
skeleton = NodePath("../../..")
[node name="Magetowermesh" type="MeshInstance3D" parent="Base"]
transform = Transform3D(0.432921, 0, 0.719847, 0, 0.84, 0, -0.719847, 0, 0.432921, -1.62727, 0.5, -0.00850296)
mesh = ExtResource("6_67jsi")
[node name="OmniLight3D" type="OmniLight3D" parent="Base/Magetowermesh"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.38274, 0)
light_color = Color(0.697081, 0.170704, 0.131545, 1)
light_energy = 3.586
omni_range = 1.824
[node name="SpotLight3D2" type="SpotLight3D" parent="Base"]
transform = Transform3D(-4.37114e-08, 1, 4.37114e-08, 0, -4.37114e-08, 1, 1, 4.37114e-08, 1.91069e-15, 0, 4, 0)
spot_range = 10.0
spot_attenuation = 0.39
[node name="Tower" parent="Base" instance=ExtResource("7_3ilqd")]
[node name="Content" type="Node3D" parent="Base"]
visible = false
[node name="Sprite3D" type="Sprite3D" parent="Base/Content"]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 1.91885, 0)
modulate = Color(0.446777, 0.446777, 0.446777, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_skplt")
[node name="Assaultmod" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(-0.216168, 0.271014, 0.279012, 0.174778, 0.352842, -0.207317, -0.347489, 0.00887582, -0.277844, 1.62687, 1.06376, -1.0274)
mesh = ExtResource("4_5wuy8")
skeleton = NodePath("../../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.332265, 0.0519786, -0.251592, -8.9882e-09, 0.411314, 0.0849769, 0.256905, -0.0672257, 0.325393, 0.500198, 0.978789, 1.90895)
mesh = ExtResource("5_tnndn")
skeleton = NodePath("../../../..")
[node name="Magetowermesh" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.432921, 0, 0.719847, 0, 0.84, 0, -0.719847, 0, 0.432921, -1.62727, 0.5, -0.0085029)
mesh = ExtResource("6_67jsi")
skeleton = NodePath("../..")
[node name="OmniLight3D" type="OmniLight3D" parent="Base/Content/Magetowermesh"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.38274, 0)
light_color = Color(0.697081, 0.170704, 0.131545, 1)
light_energy = 3.586
omni_range = 1.824
[node name="Tower" parent="Base/Content" instance=ExtResource("7_3ilqd")]
transform = Transform3D(-0.642788, 0, -0.766044, 0, 1, 0, 0.766044, 0, -0.642788, 0.228261, 1.16271, -1.45948)
stats = ExtResource("8_2wywa")

109
Classes/Mage/scroll.tscn Normal file

File diff suppressed because one or more lines are too long

BIN
Classes/Mage/scroll2.glb Normal file

Binary file not shown.

View File

@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://chg7jricce3j2"
path="res://.godot/imported/scroll2.glb-6b5967f06d00f195f8bc4925f70159e4.scn"
[deps]
source_file="res://Classes/Mage/scroll2.glb"
dest_files=["res://.godot/imported/scroll2.glb-6b5967f06d00f195f8bc4925f70159e4.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0sl2tvwle1m7"
path.s3tc="res://.godot/imported/scroll2_paper.png-729535889b5d0fe9dcd7ec73b98d3019.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "619c35ba3f70be465132fb35a0fd6eb8"
}
[deps]
source_file="res://Classes/Mage/scroll2_paper.png"
dest_files=["res://.godot/imported/scroll2_paper.png-729535889b5d0fe9dcd7ec73b98d3019.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

View File

@ -18,34 +18,35 @@ radius = 3.0
height = 1.0
sides = 32
[node name="Sprite3D" type="Sprite3D" parent="Base"]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 1.91885, 0)
[node name="Node3D" parent="Base" instance=ExtResource("3_il1ej")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.18309, 0.5, 0.742893)
[node name="Content" type="Node3D" parent="Base"]
visible = false
[node name="Sprite3D" type="Sprite3D" parent="Base/Content"]
transform = Transform3D(3, 0, 5.96046e-08, 0, 3, 0, -5.96046e-08, 0, 3, 0, 1.91885, 0)
modulate = Color(0.517184, 0.517184, 0.517184, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_05uii")
[node name="Node3D" parent="Base" instance=ExtResource("3_il1ej")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.18309, 0.5, 0.742893)
[node name="Assaultmod" type="MeshInstance3D" parent="Base"]
[node name="Assaultmod" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.256614, 0.167067, -0.322898, -7.90479e-16, 0.395231, 0.204492, 0.363558, -0.117923, 0.227914, -0.119748, 0.959456, -1.44893)
mesh = ExtResource("4_mrig3")
skeleton = NodePath("../../..")
skeleton = NodePath("../../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base"]
[node name="Snipermodel" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.15964, 0.231242, 0.312158, 0.0231825, 0.331215, -0.257215, -0.387786, 0.114996, 0.113129, 0.190324, 0.957512, 1.40108)
mesh = ExtResource("5_yj8b1")
skeleton = NodePath("../../..")
skeleton = NodePath("../../../..")
[node name="Gattlemesh" type="MeshInstance3D" parent="Base"]
[node name="Gattlemesh" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(-0.170479, -0.0500322, 0.247909, 0, 0.298972, 0.0603377, -0.252907, 0.0337256, -0.16711, 1.52548, 0.901463, -0.197461)
mesh = ExtResource("6_jr17d")
skeleton = NodePath("../../..")
skeleton = NodePath("../../../..")
[node name="SpotLight3D" type="SpotLight3D" parent="Base"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 4, 0)
visible = false
[node name="SpotLight3D" type="SpotLight3D" parent="Base/Content"]
transform = Transform3D(1, -2.98023e-08, -1.77636e-15, 0, -4.37114e-08, 1, -2.98023e-08, -1, -4.37114e-08, 0, 4, 0)
spot_range = 10.0
spot_attenuation = 0.39

View File

@ -18,40 +18,41 @@ radius = 3.0
height = 1.0
sides = 32
[node name="Sprite3D" type="Sprite3D" parent="Base"]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 1.91885, 0)
[node name="Node3D" parent="Base" instance=ExtResource("3_brui3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.21433, 0.5, -1.47375)
[node name="Content" type="Node3D" parent="Base"]
visible = false
[node name="Sprite3D" type="Sprite3D" parent="Base/Content"]
transform = Transform3D(3, 0, 2.38419e-07, 0, 3, 0, -2.38419e-07, 0, 3, 0, 1.91885, 0)
modulate = Color(0.446777, 0.446777, 0.446777, 1)
billboard = 2
texture_filter = 0
texture = ExtResource("2_e7ajb")
[node name="Node3D" parent="Base" instance=ExtResource("3_brui3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.21433, 0.5, -1.47375)
[node name="Assaultmod" type="MeshInstance3D" parent="Base"]
[node name="Assaultmod" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(-0.216168, 0.271014, 0.279012, 0.174778, 0.352842, -0.207317, -0.347489, 0.00887582, -0.277844, 1.62687, 1.06376, -1.0274)
mesh = ExtResource("4_6igfd")
skeleton = NodePath("../../..")
skeleton = NodePath("../../../..")
[node name="Snipermodel" type="MeshInstance3D" parent="Base"]
[node name="Snipermodel" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.332265, 0.0519786, -0.251592, -8.9882e-09, 0.411314, 0.0849769, 0.256905, -0.0672257, 0.325393, 0.500198, 0.978789, 1.90895)
mesh = ExtResource("5_2o81e")
skeleton = NodePath("../../..")
skeleton = NodePath("../../../..")
[node name="Magetowermesh" type="MeshInstance3D" parent="Base"]
transform = Transform3D(0.432921, 0, 0.719847, 0, 0.84, 0, -0.719847, 0, 0.432921, -1.62727, 0.5, -0.00850296)
[node name="Magetowermesh" type="MeshInstance3D" parent="Base/Content"]
transform = Transform3D(0.432921, 0, 0.719847, 0, 0.84, 0, -0.719847, 0, 0.432921, -1.62727, 0.5, -0.00850284)
mesh = ExtResource("6_qcqfx")
skeleton = NodePath("../..")
[node name="OmniLight3D" type="OmniLight3D" parent="Base/Magetowermesh"]
transform = Transform3D(1.19048, 0, 0, 0, 1.19048, 0, 0, 0, 1.19048, 0, 3.38274, 0)
visible = false
[node name="OmniLight3D" type="OmniLight3D" parent="Base/Content/Magetowermesh"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.38274, 0)
light_color = Color(0.697081, 0.170704, 0.131545, 1)
light_energy = 3.586
omni_range = 1.824
[node name="SpotLight3D2" type="SpotLight3D" parent="Base"]
transform = Transform3D(-4.37114e-08, 1, 4.37114e-08, 0, -4.37114e-08, 1, 1, 4.37114e-08, 1.91069e-15, 0, 4, 0)
visible = false
[node name="SpotLight3D2" type="SpotLight3D" parent="Base/Content"]
transform = Transform3D(-2.98023e-08, 1, 4.37114e-08, 0, -4.37114e-08, 1, 1, 2.98023e-08, 1.77636e-15, 0, 4, 0)
spot_range = 10.0
spot_attenuation = 0.39

View File

@ -0,0 +1,31 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://bffhb5krs5elm"]
[ext_resource type="Texture2D" uid="uid://b1lwaxw62yp3p" path="res://Assets/Textures/dead_spike.png" id="1_skyfd"]
[ext_resource type="Texture2D" uid="uid://duywsy7jmh4u" path="res://Assets/Textures/spike.png" id="2_idym2"]
[ext_resource type="PackedScene" uid="uid://cveiaa0y66gln" path="res://Enemies/Crystalisk/crystal_enemy.tscn" id="3_7w5fm"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="4_x2l2n"]
[ext_resource type="Texture2D" uid="uid://sybn6bjbj5fh" path="res://Assets/TextureAtlases/spike.tres" id="5_okcvf"]
[resource]
script = ExtResource("4_x2l2n")
title = "Crystalisk"
target_type = 2
scene = ExtResource("3_7w5fm")
icon = ExtResource("2_idym2")
death_sprite = ExtResource("1_skyfd")
sprite = ExtResource("5_okcvf")
spawn_power = 6
health = 120
penalty = 7
movement_speed = 1.0
spawn_cooldown = 1.0
common_group = 5
common_cost = 2
uncommon_group = 10
uncommon_cost = 3
rare_group = 18
rare_cost = 4
epic_group = 26
epic_cost = 6
legendary_group = 42
legendary_cost = 8

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

View File

@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b12jovvcde2dl"
path="res://.godot/imported/Ouya_O.png-7f3b969ad3acb705c10f9080e209d0ca.ctex"
uid="uid://d01y8kogfuayr"
path="res://.godot/imported/crystal_enemy.png-47c4105ce5ff19d6a767c397a2a82c0d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://XeluController&KeyPrompts/Others/Ouya/Ouya_O.png"
dest_files=["res://.godot/imported/Ouya_O.png-7f3b969ad3acb705c10f9080e209d0ca.ctex"]
source_file="res://Enemies/Crystalisk/crystal_enemy.png"
dest_files=["res://.godot/imported/crystal_enemy.png-47c4105ce5ff19d6a767c397a2a82c0d.ctex"]
[params]
@ -21,7 +21,7 @@ compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@ -31,4 +31,4 @@ 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
detect_3d/compress_to=0

View File

@ -0,0 +1,58 @@
[gd_scene load_steps=7 format=3 uid="uid://cveiaa0y66gln"]
[ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="1_aormu"]
[ext_resource type="PackedScene" uid="uid://o6whohcbalui" path="res://Enemies/Crystalisk/crystal_enemy.glb" id="2_myjng"]
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="3_myjng"]
[sub_resource type="ViewportTexture" id="ViewportTexture_c5uwa"]
viewport_path = NodePath("SubViewport")
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c5uwa"]
radius = 0.332871
height = 1.415
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d7aub"]
radius = 0.133503
height = 0.56
[node name="Dog" instance=ExtResource("1_aormu")]
[node name="Sprite3D" parent="." index="1"]
texture = SubResource("ViewportTexture_c5uwa")
[node name="crystal_enemy" parent="." index="7" instance=ExtResource("2_myjng")]
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_001" index="0"]
remote_path = NodePath("../../../MiniHitbox2")
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_002" index="0"]
remote_path = NodePath("../../../MiniHitbox")
[node name="AnimationPlayer" parent="crystal_enemy" index="3"]
autoplay = "Spin"
speed_scale = 2.0
[node name="MainHitbox" type="CollisionShape3D" parent="." index="8"]
shape = SubResource("CapsuleShape3D_c5uwa")
script = ExtResource("3_myjng")
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="MiniHitbox" type="CollisionShape3D" parent="." index="9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.601335, 0.59523, 0)
shape = SubResource("CapsuleShape3D_d7aub")
script = ExtResource("3_myjng")
critical_zone = true
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="MiniHitbox2" type="CollisionShape3D" parent="." index="10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.599804, -0.600394, 0)
shape = SubResource("CapsuleShape3D_d7aub")
script = ExtResource("3_myjng")
critical_zone = true
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[connection signal="took_damage" from="MainHitbox" to="Health" method="take_damage"]
[connection signal="took_damage" from="MiniHitbox" to="Health" method="take_damage"]
[connection signal="took_damage" from="MiniHitbox2" to="Health" method="take_damage"]
[editable path="crystal_enemy"]

View File

@ -0,0 +1,13 @@
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dylmoyx1tasat"]
[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_4cwdh"]
[ext_resource type="Texture2D" uid="uid://d01y8kogfuayr" path="res://Enemies/Crystalisk/crystal_enemy.png" id="2_l5awy"]
[resource]
render_priority = 0
shader = ExtResource("1_4cwdh")
shader_parameter/affine_mapping = true
shader_parameter/albedo = ExtResource("2_l5awy")
shader_parameter/alpha_scissor = 0.5
shader_parameter/jitter = 0.25
shader_parameter/resolution = Vector2i(320, 240)

View File

@ -1,8 +1,9 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://8eba45hql7bo"]
[gd_resource type="Resource" script_class="Enemy" load_steps=7 format=3 uid="uid://8eba45hql7bo"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_ivs7a"]
[ext_resource type="Texture2D" uid="uid://cdnhe2mi5c5ln" path="res://Assets/Textures/dead_eye_dog.png" id="1_r8gpy"]
[ext_resource type="Texture2D" uid="uid://g00wwrlxxdc5" path="res://Assets/Textures/icon_eye_dog.png" id="2_tyyee"]
[ext_resource type="PackedScene" uid="uid://bvq6tbkuv2mfp" path="res://Enemies/EyeDog/eye_dog.tscn" id="3_tyyee"]
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="4_7ypa6"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n6kdu"]
@ -15,6 +16,7 @@ resource_local_to_scene = true
script = ExtResource("1_ivs7a")
title = "dog"
target_type = 1
scene = ExtResource("3_tyyee")
icon = ExtResource("2_tyyee")
death_sprite = ExtResource("1_r8gpy")
sprite = SubResource("AtlasTexture_n6kdu")
@ -23,13 +25,13 @@ health = 180
penalty = 10
movement_speed = 1.2
spawn_cooldown = 1.2
common_group = 4
common_group = 8
common_cost = 1
uncommon_group = 6
uncommon_group = 12
uncommon_cost = 2
rare_group = 8
rare_group = 18
rare_cost = 3
epic_group = 10
epic_cost = 4
legendary_group = 12
legendary_cost = 5
epic_group = 26
epic_cost = 5
legendary_group = 34
legendary_cost = 6

100
Enemies/EyeDog/eye_dog.tscn Normal file
View File

@ -0,0 +1,100 @@
[gd_scene load_steps=14 format=3 uid="uid://bvq6tbkuv2mfp"]
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_1dh2f"]
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_1dh2f"]
[ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="2_bckix"]
[ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="3_wnwjl"]
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="6_3v8fr"]
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="7_bkkhh"]
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="8_k2835"]
[ext_resource type="Script" uid="uid://b62xnsbki8axa" path="res://Scripts/EnemyAI/pathing_controller.gd" id="9_t4oco"]
[ext_resource type="PackedScene" uid="uid://dlhx6r23m5ceg" path="res://Enemies/EyeDog/eyedog.glb" id="10_h25mw"]
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="11_kpdsm"]
[sub_resource type="SphereShape3D" id="SphereShape3D_cavbv"]
radius = 0.42
[sub_resource type="SphereShape3D" id="SphereShape3D_h25mw"]
radius = 0.151085
[sub_resource type="ViewportTexture" id="ViewportTexture_1kwxq"]
viewport_path = NodePath("SubViewport")
[node name="Node3D" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "d_n") groups=["Enemies"]]
collision_layer = 4
collision_mask = 0
script = ExtResource("1_1dh2f")
status_manager = NodePath("StatusEffector")
movement_controller = NodePath("PathingController")
health = NodePath("Health")
d_n = NodePath("Node3D")
corpse_scene = ExtResource("2_1dh2f")
metadata/_custom_type_script = "uid://ejqql2660u6h"
[node name="Health" type="Node" parent="."]
script = ExtResource("2_bckix")
damage_particle_scene = ExtResource("3_wnwjl")
[node name="Hitbox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.33811, 0.0832841)
shape = SubResource("SphereShape3D_cavbv")
script = ExtResource("6_3v8fr")
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="Hitbox2" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.601201, -0.436369)
shape = SubResource("SphereShape3D_h25mw")
script = ExtResource("6_3v8fr")
critical_zone = true
metadata/_custom_type_script = "uid://cummt2be3r1gq"
[node name="HealthBar" type="Sprite3D" parent="."]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
sorting_offset = 1.0
pixel_size = 0.02
billboard = 1
texture_filter = 0
texture = SubResource("ViewportTexture_1kwxq")
[node name="MinimapIcon" type="Sprite3D" parent="."]
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
layers = 4
texture_filter = 0
texture = ExtResource("7_bkkhh")
[node name="SubViewport" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(200, 55)
render_target_update_mode = 4
[node name="HBoxContainer" type="HBoxContainer" parent="SubViewport"]
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 32.0
grow_horizontal = 2
alignment = 1
[node name="HealthBar" parent="SubViewport" instance=ExtResource("8_k2835")]
visible = false
offset_top = 36.0
offset_bottom = 236.0
[node name="PathingController" type="Node" parent="." node_paths=PackedStringArray("character")]
script = ExtResource("9_t4oco")
character = NodePath("..")
[node name="StatusEffector" type="Node" parent="." node_paths=PackedStringArray("sprite_container")]
script = ExtResource("11_kpdsm")
sprite_container = NodePath("../SubViewport/HBoxContainer")
metadata/_custom_type_script = "uid://cojjgevmbhwal"
[node name="Node3D" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.39813, 0)
[node name="eyedog" parent="." instance=ExtResource("10_h25mw")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0.3764, 0)
[connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"]
[connection signal="health_depleted" from="Health" to="." method="die"]
[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"]
[connection signal="took_damage" from="Hitbox2" to="Health" method="take_damage"]

BIN
Enemies/EyeDog/eyedog.glb Normal file

Binary file not shown.

View File

@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dlhx6r23m5ceg"
path="res://.godot/imported/eyedog.glb-066d1d46e7943baa72fec506b08447f4.scn"
[deps]
source_file="res://Enemies/EyeDog/eyedog.glb"
dest_files=["res://.godot/imported/eyedog.glb-066d1d46e7943baa72fec506b08447f4.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=0.08
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"materials": {
"Material": {
"use_external/enabled": true,
"use_external/path": "uid://bo82o88d7vo1x"
}
}
}
gltf/naming_version=1
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wx4d2upch81n"
path.s3tc="res://.godot/imported/eyedog_eyedog_tex.png-1f14344e8bf95fbf8ece2e5fc948c9ad.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "27dfa54e4c46b8fd6e6f12450e4ca070"
}
[deps]
source_file="res://Enemies/EyeDog/eyedog_eyedog_tex.png"
dest_files=["res://.godot/imported/eyedog_eyedog_tex.png-1f14344e8bf95fbf8ece2e5fc948c9ad.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

View File

@ -0,0 +1,13 @@
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bo82o88d7vo1x"]
[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_crvh7"]
[ext_resource type="Texture2D" uid="uid://wx4d2upch81n" path="res://Enemies/EyeDog/eyedog_eyedog_tex.png" id="2_j3hec"]
[resource]
render_priority = 0
shader = ExtResource("1_crvh7")
shader_parameter/affine_mapping = true
shader_parameter/albedo = ExtResource("2_j3hec")
shader_parameter/alpha_scissor = 0.5
shader_parameter/jitter = 0.25
shader_parameter/resolution = Vector2i(320, 240)

View File

@ -0,0 +1,190 @@
class_name PathEditTool extends Node3D
@export var hero: Hero
@export var inventory: Inventory
@export var ray: RayCast3D
@export var wall_preview: TowerBase
@export var progress_bar: TextureProgressBar
var enabled: bool = true
var level: Level
var point: FlowNode
var obstacle_last_point: int = -1
var valid_point: bool = false # a point is valid if the path would still be traversable overall if this point was made untraversable
var tower_preview: Tower
var ray_collider: Object
var ray_point: Vector3
var last_point: FlowNode
var last_tower_base: TowerBase
var interact_key_held: bool = false
var interacted_once: bool = false
var interact_held_time: float = 0.0
var interact_hold_time: float = 0.4
func _ready() -> void:
var c: Color = Color.GREEN
c.a = 0.8
wall_preview.set_color(c)
wall_preview.set_float(0.0)
wall_preview.toggle_collision()
func _process(delta: float) -> void:
if !enabled:
reset()
return
if interact_key_held:
if !interacted_once:
if valid_point and hero.currency >= Data.wall_cost and ray_collider and point.buildable:
interact_held_time += delta
set_progress_percent(interact_held_time / interact_hold_time)
wall_preview.set_float(interact_held_time / interact_hold_time)
if interact_held_time >= interact_hold_time:
set_progress_percent(0)
interacted_once = true
build_wall()
elif ray_collider is TowerBase:
interact_held_time += delta
set_progress_percent(interact_held_time / interact_hold_time)
if interact_held_time >= interact_hold_time:
set_progress_percent(0)
interacted_once = true
refund_wall(ray_collider)
else:
interact_held_time = 0.0
interacted_once = false
set_progress_percent(0)
wall_preview.set_float(0.0)
if !interacted_once and ray.is_colliding():
#if statement makes sure once the building animation has started then
#the position the wall builds in is already decided and moving the mouse
#around isnt going to make the resulting
#wall teleport to the new mouse location
if !interact_key_held:
wall_preview.set_visible(true)
if is_instance_valid(ray_collider) and ray_collider is TowerBase:
level.walls[ray_collider.point].set_float(1.0)
ray_collider = ray.get_collider()
ray_point = ray.get_collision_point()
if ray_collider is TowerBase:
process_looking_at_tower()
elif level:
process_looking_at_level()
elif !interact_key_held:
reset()
if !valid_point:
wall_preview.set_visible(false)
if point:
wall_preview.global_position = point.global_position
wall_preview.global_rotation = Vector3.ZERO
func reset() -> void:
if is_instance_valid(ray_collider) and ray_collider is TowerBase and level.walls.has(ray_collider.point):
level.walls[ray_collider.point].set_float(1.0)
ray_collider = null
delete_tower_preview()
wall_preview.set_visible(false)
clear_previous_point()
last_point = null
func process_looking_at_level() -> void:
if tower_preview:
delete_tower_preview()
point = level.flow_field.get_closest_buildable_point(ray_point)
if level.walls.has(point) or !point.buildable or hero.currency < Data.wall_cost:
wall_preview.set_visible(false)
valid_point = false
clear_previous_point()
last_point = point
else:
if last_point != point:
clear_previous_point()
last_point = point
if !level.walls.has(point) and level.flow_field.traversable_after_blocking_point(point):
level.flow_field.toggle_traversable(point)
wall_preview.set_float(0.0)
valid_point = true
else:
valid_point = false
func clear_previous_point() -> void:
if last_point and !level.walls.has(last_point) and !last_point.traversable:
level.flow_field.toggle_traversable(last_point)
func process_looking_at_tower() -> void:
valid_point = false
point = ray_collider.point
if last_point != point:
clear_previous_point()
if tower_preview:
delete_tower_preview()
wall_preview.set_visible(false)
ray_collider.set_color(Color.RED)
ray_collider.set_float(0.0)
if inventory.contents.size() > 0 and !ray_collider.has_card:
if ray_collider != last_tower_base or inventory.selected_item != inventory.contents.keys()[hero.inventory_selected_index]:
spawn_tower_preview()
func spawn_tower_preview() -> void:
delete_tower_preview()
last_tower_base = ray_collider
var card: Card = inventory.contents.keys()[hero.inventory_selected_index]
tower_preview = card.turret_scene.instantiate() as Tower
tower_preview.stats = card.tower_stats
tower_preview.position = Vector3.UP
tower_preview.preview_range(true)
ray_collider.add_child(tower_preview)
func delete_tower_preview() -> void:
last_tower_base = null
if is_instance_valid(tower_preview):
tower_preview.queue_free()
tower_preview = null
func interact() -> void:
if ray_collider is TowerBase:
var tower_base: TowerBase = ray_collider as TowerBase
put_card_in_tower_base(tower_base)
func build_wall() -> void:
if point and valid_point and hero.currency >= Data.wall_cost:
hero.currency -= Data.wall_cost
level.set_wall(point, multiplayer.get_unique_id())
wall_preview.visible = false
func refund_wall(wall: TowerBase) -> void:
if !is_instance_valid(wall):
return
if wall.has_card:
wall.remove_card()
level.remove_wall(wall.point)
func put_card_in_tower_base(tower_base: TowerBase) -> void:
if tower_base.has_card:
tower_base.remove_card()
elif inventory.size > 0:
var card: Card = inventory.remove_at(hero.inventory_selected_index)
if !inventory.contents.has(card):
hero.decrement_selected()
tower_base.add_card(card, multiplayer.get_unique_id())
hero.place_card_audio.play()
func set_progress_percent(value: float) -> void:
progress_bar.value = progress_bar.max_value * value

View File

@ -1,26 +1,20 @@
[gd_scene load_steps=5 format=3 uid="uid://dqt1ggtkpkuhs"]
[gd_scene load_steps=4 format=3 uid="uid://dqt1ggtkpkuhs"]
[ext_resource type="Script" uid="uid://ckm02cx0ai624" path="res://Scripts/edit_tool.gd" id="1_yf8lt"]
[ext_resource type="PackedScene" uid="uid://ddbbwx0yy16lh" path="res://Scenes/TowerBase/tower_base.tscn" id="2_r3632"]
[ext_resource type="Texture2D" uid="uid://gh4yvnerf1f5" path="res://Assets/Textures/radial.png" id="3_a323w"]
[ext_resource type="Script" uid="uid://ckm02cx0ai624" path="res://PCs/PathEditTool/path_edit_tool.gd" id="1_l8cck"]
[ext_resource type="PackedScene" uid="uid://ddbbwx0yy16lh" path="res://Scenes/TowerBase/tower_base.tscn" id="2_pjtpe"]
[ext_resource type="Texture2D" uid="uid://gh4yvnerf1f5" path="res://Assets/Textures/radial.png" id="3_fs118"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_36ot1"]
transparency = 1
depth_draw_mode = 1
[node name="EditTool" type="Node3D" node_paths=PackedStringArray("ray", "wall_preview", "progress_bar")]
script = ExtResource("1_yf8lt")
[node name="PathEditTool" type="Node3D" node_paths=PackedStringArray("ray", "wall_preview", "progress_bar")]
script = ExtResource("1_l8cck")
ray = NodePath("RayCast3D")
wall_preview = NodePath("WallPreview")
build_preview_material = SubResource("StandardMaterial3D_36ot1")
progress_bar = NodePath("ProgressBar")
[node name="RayCast3D" type="RayCast3D" parent="."]
target_position = Vector3(0, 0, -20)
collision_mask = 25
[node name="WallPreview" parent="." instance=ExtResource("2_r3632")]
visible = false
[node name="WallPreview" parent="." instance=ExtResource("2_pjtpe")]
[node name="ProgressBar" type="TextureProgressBar" parent="."]
anchors_preset = 8
@ -38,4 +32,4 @@ scale = Vector2(0.5, 0.5)
pivot_offset = Vector2(90, 90)
step = 0.0
fill_mode = 4
texture_progress = ExtResource("3_a323w")
texture_progress = ExtResource("3_fs118")

View File

@ -10,7 +10,7 @@ signal ready_state_changed(state: bool)
@export var left_hand: Node3D
@export var right_hand: Node3D
@export var right_hand_animator: AnimationPlayer
@export var edit_tool: EditTool
@export var edit_tool: PathEditTool
@export var gauntlet_sprite: Sprite3D
@export var sprite: EightDirectionSprite3D
@export var hand_sprite: Sprite2D
@ -35,6 +35,7 @@ signal ready_state_changed(state: bool)
@export var swap_off_audio: AudioStreamPlayer
@export var swap_on_audio: AudioStreamPlayer
var game_manager: GameManager
var hovering_item: InteractButton = null
var weapons_spawn_count: int = 0 #Used to prevent node name collisions for multiplayer
var inventory_selected_index: int = 0
@ -120,7 +121,7 @@ func _process(delta: float) -> void:
hovering_item.disable_hover_effect()
hovering_item = null
if edit_tool.is_looking_at_tower_base:
if is_instance_valid(edit_tool.ray_collider) and edit_tool.ray_collider is TowerBase:
card_sprites[0].view_tower()
else:
card_sprites[0].view_weapon()
@ -175,7 +176,13 @@ func _process(delta: float) -> void:
movement.can_sprint = false
if Input.is_action_pressed("Secondary Fire"):
movement.can_sprint = false
if Input.is_action_just_pressed("Equip In Gauntlet"):
if Input.is_action_just_pressed("Equip Primary Weapon"):
if equipped_weapon == 1 and weapons[0]:
swap_weapons()
if Input.is_action_just_pressed("Equip Secondary Weapon"):
if equipped_weapon == 0 and weapons[1]:
swap_weapons()
if Input.is_action_just_pressed("Swap Weapons"):
swap_weapons()
if movement.sprinting:
@ -185,10 +192,10 @@ func _process(delta: float) -> void:
camera.fov = Data.graphics.hfov * (1.0 / movement.zoom_factor)
if Input.is_action_just_pressed("View Map"):
hud.maximise_minimap(Game.level)
hud.maximise_minimap()
#Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
if Input.is_action_just_released("View Map"):
hud.minimize_minimap(self)
hud.minimize_minimap()
#Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
check_left_hand_valid()
@ -216,6 +223,9 @@ func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("Pause"):
var menu: PauseMenu = pause_menu_scene.instantiate() as PauseMenu
pause()
menu.game_manager = game_manager
menu.quit_to_desktop_pressed.connect(game_manager.quit_to_desktop)
menu.quit_to_main_menu_pressed.connect(game_manager.scene_switch_main_menu)
menu.closed.connect(unpause)
hud.add_child(menu)
@ -266,7 +276,6 @@ func enter_editing_mode(value: int) -> void:
weapons_active = false
hud.set_wave_count(value + 1)
hud.set_energy_visible(false)
hud.set_offhand_energy_visible(false)
hud.grow_wave_start_label()
editing_mode = true
edit_tool.enabled = true
@ -282,17 +291,18 @@ func exit_editing_mode(value: int) -> void:
hud.set_wave_count(value)
#if !weapon and offhand_weapon:
# swap_weapons()
var offhand_weapon: Weapon = weapons[0] if equipped_weapon == 1 else weapons[1]
if offhand_weapon:
offhand_weapon.current_energy = offhand_weapon.max_energy
#offhand_weapon.energy_changed.emit(offhand_weapon.current_energy)
if (!weapons[equipped_weapon] and offhand_weapon) or (weapons[0] and equipped_weapon == 1):
swap_weapons()
if weapons[equipped_weapon]:
hud.set_energy_visible(true)
#weapon.set_visible(false)
weapons[equipped_weapon].current_energy = weapons[equipped_weapon].max_energy
#this had to be commented out coz the new energy bar thinks "energy changed" is "energy used"
#weapons[equipped_weapon].energy_changed.emit(weapons[equipped_weapon].current_energy)
var offhand_weapon: Weapon = weapons[0] if equipped_weapon == 1 else weapons[1]
if offhand_weapon:
hud.set_offhand_energy_visible(true)
offhand_weapon.current_energy = offhand_weapon.max_energy
#offhand_weapon.energy_changed.emit(offhand_weapon.current_energy)
edit_tool.enabled = false
edit_tool.delete_tower_preview()
left_hand.visible = false
@ -355,13 +365,9 @@ func equip_weapon(slot: int = 0) -> void:
if weapons[slot].stats.energy_type == Data.EnergyType.DISCRETE:
hud.new_energy_bar.create_discrete_icons(weapons[slot].max_energy)
else:
weapons[slot].energy_spent.connect(hud.new_energy_bar2.use_energy)
weapons[slot].energy_recharged.connect(hud.new_energy_bar2.gain_energy)
hud.new_energy_bar2.max_energy = weapons[slot].max_energy
if weapons[slot].stats.energy_type == Data.EnergyType.CONTINUOUS:
hud.new_energy_bar2.enable_progress_bar()
if weapons[slot].stats.energy_type == Data.EnergyType.DISCRETE:
hud.new_energy_bar2.create_discrete_icons(weapons[slot].max_energy)
weapons[slot].energy_recharged.connect(hud.new_energy_bar.gain_secondary_energy)
hud.new_energy_bar.secondary_max_energy = weapons[slot].max_energy
hud.new_energy_bar.secondary_energy = weapons[slot].current_energy
func stow_weapon(slot: int = 0) -> void:
@ -370,21 +376,15 @@ func stow_weapon(slot: int = 0) -> void:
weapons[slot].visible = false
weapons[slot].energy_spent.disconnect(hud.new_energy_bar.use_energy)
weapons[slot].energy_recharged.disconnect(hud.new_energy_bar.gain_energy)
weapons[slot].energy_spent.connect(hud.new_energy_bar2.use_energy)
weapons[slot].energy_recharged.connect(hud.new_energy_bar2.gain_energy)
hud.set_offhand_energy(weapons[slot].current_energy)
hud.new_energy_bar2.max_energy = weapons[slot].max_energy
if weapons[slot].stats.energy_type == Data.EnergyType.CONTINUOUS:
hud.new_energy_bar2.enable_progress_bar()
if weapons[slot].stats.energy_type == Data.EnergyType.DISCRETE:
hud.new_energy_bar2.create_discrete_icons(weapons[slot].max_energy)
weapons[slot].energy_recharged.connect(hud.new_energy_bar.gain_secondary_energy)
hud.new_energy_bar.secondary_max_energy = weapons[slot].max_energy
hud.new_energy_bar.secondary_energy = weapons[slot].current_energy
func show_weapon(slot: int = 0) -> void:
weapons[slot].release_trigger()
weapons[slot].release_second_trigger()
weapons[slot].energy_spent.disconnect(hud.new_energy_bar2.use_energy)
weapons[slot].energy_recharged.disconnect(hud.new_energy_bar2.gain_energy)
weapons[slot].energy_recharged.disconnect(hud.new_energy_bar.gain_secondary_energy)
weapons[slot].energy_spent.connect(hud.new_energy_bar.use_energy)
weapons[slot].energy_recharged.connect(hud.new_energy_bar.gain_energy)
hud.set_weapon_energy(weapons[slot].current_energy, weapons[slot].stats.energy_type)
@ -393,6 +393,10 @@ func show_weapon(slot: int = 0) -> void:
hud.new_energy_bar.enable_progress_bar()
if weapons[slot].stats.energy_type == Data.EnergyType.DISCRETE:
hud.new_energy_bar.create_discrete_icons(weapons[slot].max_energy)
hud.new_energy_bar.use_energy(weapons[slot].max_energy - weapons[slot].current_energy, weapons[slot].stats.energy_type)
var offhand: int = 0 if equipped_weapon == 1 else 1
if !weapons[offhand]:
hud.new_energy_bar.disable_secondary_energy()
func swap_weapons() -> void:
@ -401,7 +405,8 @@ func swap_weapons() -> void:
weapons_active = false
swap_off_audio.play()
hud.audio_guard = true
stow_weapon(equipped_weapon)
if weapons[equipped_weapon]:
stow_weapon(equipped_weapon)
equipped_weapon = 0 if equipped_weapon == 1 else 1
show_weapon(equipped_weapon)
weapon_swap_timer.start()
@ -422,7 +427,7 @@ func unequip_weapon(slot: int = 0) -> void:
hud.new_energy_bar.blank()
else:
hud.swap_icon.visible = true
hud.new_energy_bar2.blank()
hud.new_energy_bar.disable_secondary_energy()
#gauntlet_sprite.set_visible(true)
weapons[slot].queue_free()
weapons[slot] = null

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=64 format=3 uid="uid://dxgxbtf68lcv5"]
[gd_scene load_steps=62 format=3 uid="uid://dxgxbtf68lcv5"]
[ext_resource type="Script" uid="uid://1fqpoegbdm6n" path="res://PCs/hero.gd" id="1_pihpe"]
[ext_resource type="Resource" uid="uid://b5pc3frhx467q" path="res://Classes/Engineer/class.tres" id="2_dbyo0"]
@ -7,7 +7,7 @@
[ext_resource type="PackedScene" uid="uid://buvgdem68wtev" path="res://Scenes/Menus/PauseMenu/pause_menu.tscn" id="3_avnsx"]
[ext_resource type="Script" uid="uid://cij76at0nbs1v" path="res://PCs/view_movement.gd" id="4_mhexa"]
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="4_mwtvp"]
[ext_resource type="PackedScene" uid="uid://dqt1ggtkpkuhs" path="res://Scenes/gauntlet.tscn" id="5_jlxb3"]
[ext_resource type="PackedScene" uid="uid://dqt1ggtkpkuhs" path="res://PCs/PathEditTool/path_edit_tool.tscn" id="5_jlxb3"]
[ext_resource type="Script" uid="uid://do24iuot0j7d7" path="res://Scripts/inventory.gd" id="6_cf5ap"]
[ext_resource type="Texture2D" uid="uid://cjqxkraykhxxk" path="res://Classes/Engineer/red.png" id="6_yyp8i"]
[ext_resource type="Script" uid="uid://b6kjrl7ae1mi0" path="res://PCs/hud.gd" id="8_yl6ka"]
@ -20,15 +20,14 @@
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="15_q3yot"]
[ext_resource type="Texture2D" uid="uid://cqnapc8cscl7i" path="res://Assets/Textures/border.png" id="16_x1xjr"]
[ext_resource type="PackedScene" uid="uid://chnj376d3lcjd" path="res://Scenes/UI/pickup_notification.tscn" id="17_oyeww"]
[ext_resource type="PackedScene" uid="uid://d17c77pqsi8oy" path="res://enemy_card_ui.tscn" id="18_dfkac"]
[ext_resource type="PackedScene" uid="uid://d17c77pqsi8oy" path="res://UI/EnemyCard/enemy_card_ui.tscn" id="18_dfkac"]
[ext_resource type="Texture2D" uid="uid://cvjcu3hofahr6" path="res://Assets/Textures/place_slot.png" id="18_okmpi"]
[ext_resource type="Script" uid="uid://b5wle8f6rv3e7" path="res://PCs/player_movement.gd" id="20_cfhw8"]
[ext_resource type="Shader" uid="uid://dhtylicctk3g4" path="res://UI/crosshair.gdshader" id="20_gxpgc"]
[ext_resource type="Texture2D" uid="uid://r202vo47jw1q" path="res://Assets/Textures/enemyhealth.png" id="21_apps2"]
[ext_resource type="AudioStream" uid="uid://csu2hce4bfoki" path="res://Audio/cardPlace1.ogg" id="24_8ch4w"]
[ext_resource type="Texture2D" uid="uid://b8woqvpwq3tsq" path="res://Assets/Textures/swap_slot.png" id="24_gr6xt"]
[ext_resource type="AudioStream" uid="uid://dxq8b77wa41os" path="res://Audio/cardPlace2.ogg" id="25_awl6m"]
[ext_resource type="Texture2D" uid="uid://bs2mskoyvyehv" path="res://Assets/Textures/crosshair159.png" id="25_l7gpx"]
[ext_resource type="AudioStream" uid="uid://bxripx3suub1v" path="res://Audio/cardPlace3.ogg" id="26_7tm07"]
[ext_resource type="Texture2D" uid="uid://0x80ptif1diq" path="res://Assets/Textures/hand_small_point.png" id="26_dfkac"]
[ext_resource type="PackedScene" uid="uid://c2id8hjico4w8" path="res://energy_bar.tscn" id="27_14ugt"]
[ext_resource type="AudioStream" uid="uid://k1lsqkvohjpa" path="res://Audio/cardPlace4.ogg" id="27_xvxs8"]
[ext_resource type="AudioStream" uid="uid://bn8lkvy5wibvo" path="res://Audio/cardSlide1.ogg" id="28_1thk8"]
@ -96,21 +95,6 @@ viewport_path = NodePath("FirstPersonViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_574jy"]
viewport_path = NodePath("MiniMapViewport")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lg5jo"]
shader = ExtResource("20_gxpgc")
shader_parameter/center_enabled = true
shader_parameter/legs_enabled = true
shader_parameter/inverted = false
shader_parameter/color_id = 0
shader_parameter/color_0 = Vector4(1, 0, 0, 0.95)
shader_parameter/color_1 = Vector4(1, 0, 0, 1)
shader_parameter/color_2 = Vector4(0, 0, 1, 1)
shader_parameter/center_radius = 0.002
shader_parameter/width = 0.002
shader_parameter/len = 0.012
shader_parameter/spacing = 0.008
shader_parameter/spread = 1.0
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_tsiqi"]
properties/0/path = NodePath(".:position")
properties/0/spawn = true
@ -384,23 +368,20 @@ max_look_down_angle = 80.0
max_look_up_angle = 80.0
enable_jumping = true
[node name="HUD" type="CanvasLayer" parent="." node_paths=PackedStringArray("player", "wave_count", "lives_count", "currency_count", "minimap_outline", "crosshair", "minimap", "minimap_cam", "minimap_viewport", "fps_label", "hover_text", "enemy_sprites", "enemy_counts", "weapon_energy_bar", "offhand_energy_bar", "wave_start_label", "place_icon", "swap_icon", "place_text", "swap_text", "new_energy_bar", "new_energy_bar2")]
[node name="HUD" type="CanvasLayer" parent="." node_paths=PackedStringArray("player", "wave_count", "lives_count", "currency_count", "minimap_outline", "minimap", "minimap_cam", "minimap_viewport", "fps_label", "hover_text", "enemy_sprites", "enemy_counts", "wave_start_label", "place_icon", "swap_icon", "place_text", "swap_text", "new_energy_bar")]
script = ExtResource("8_yl6ka")
player = NodePath("..")
wave_count = NodePath("WaveCount")
lives_count = NodePath("LivesCount")
currency_count = NodePath("CurrencyCount")
minimap_outline = NodePath("MinimapBorder")
crosshair = NodePath("Crosshair")
wave_count = NodePath("EnemyTracker/WaveCount")
lives_count = NodePath("LivesBar/LivesCount")
currency_count = NodePath("Minimap/CurrencyCount")
minimap_outline = NodePath("Minimap/MinimapBorder")
minimap = NodePath("Minimap")
minimap_cam = NodePath("../MiniMapViewport/Camera3D")
minimap_viewport = NodePath("../MiniMapViewport")
fps_label = NodePath("FPSCounter")
hover_text = NodePath("RichTextLabel2")
hover_text = NodePath("InteractLabel")
enemy_sprites = [NodePath("EnemyTracker/TextureRect"), NodePath("EnemyTracker/TextureRect2"), NodePath("EnemyTracker/TextureRect3"), NodePath("EnemyTracker/TextureRect4"), NodePath("EnemyTracker/TextureRect5")]
enemy_counts = [NodePath("EnemyTracker/TextureRect/Label"), NodePath("EnemyTracker/TextureRect2/Label2"), NodePath("EnemyTracker/TextureRect3/Label3"), NodePath("EnemyTracker/TextureRect4/Label4"), NodePath("EnemyTracker/TextureRect5/Label5")]
weapon_energy_bar = NodePath("PrimaryEnergyBar")
offhand_energy_bar = NodePath("OffhandEnergyBar")
pickup_notif_scene = ExtResource("17_oyeww")
wave_start_label = NodePath("RichTextLabel")
place_icon = NodePath("PlaceIcon")
@ -409,7 +390,6 @@ place_text = NodePath("PlaceIcon/RichTextLabel")
swap_text = NodePath("SwapIcon/RichTextLabel")
enemy_card_scene = ExtResource("18_dfkac")
new_energy_bar = NodePath("EnergyBar")
new_energy_bar2 = NodePath("EnergyBar2")
[node name="FirstPersonCam" type="TextureRect" parent="HUD"]
anchors_preset = 15
@ -436,20 +416,16 @@ texture = ExtResource("18_okmpi")
[node name="RichTextLabel" type="RichTextLabel" parent="HUD/PlaceIcon"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -30.0
offset_top = -19.0
offset_right = 30.0
offset_bottom = 41.0
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
bbcode_enabled = true
text = "#Equip In Gauntlet#"
text = "#Equip Primary Weapon#"
scroll_active = false
horizontal_alignment = 1
vertical_alignment = 1
[node name="SwapIcon" type="TextureRect" parent="HUD"]
anchors_preset = 3
@ -463,24 +439,20 @@ offset_right = -6.0
offset_bottom = -1.0
grow_horizontal = 0
grow_vertical = 0
texture = ExtResource("24_gr6xt")
texture = ExtResource("18_okmpi")
[node name="RichTextLabel" type="RichTextLabel" parent="HUD/SwapIcon"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -30.0
offset_top = -29.0
offset_right = 30.0
offset_bottom = 31.0
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
bbcode_enabled = true
text = "#Secondary Fire#"
text = "#Equip Secondary Weapon#"
scroll_active = false
horizontal_alignment = 1
vertical_alignment = 1
[node name="Minimap" type="TextureRect" parent="HUD"]
anchors_preset = 1
@ -494,6 +466,35 @@ grow_horizontal = 0
mouse_filter = 2
texture = SubResource("ViewportTexture_574jy")
[node name="MinimapBorder" type="TextureRect" parent="HUD/Minimap"]
texture_filter = 1
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -259.0
offset_top = -3.0
offset_right = 3.0
offset_bottom = 333.0
grow_horizontal = 0
mouse_filter = 2
texture = ExtResource("16_x1xjr")
[node name="CurrencyCount" type="Label" parent="HUD/Minimap"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -61.0
offset_top = 260.0
offset_bottom = 318.0
grow_horizontal = 0
theme_override_colors/font_color = Color(0.988235, 0.909804, 0.65098, 1)
theme_override_font_sizes/font_size = 37
text = "20"
horizontal_alignment = 1
vertical_alignment = 1
[node name="FPSCounter" type="Label" parent="HUD"]
anchors_preset = 1
anchor_left = 1.0
@ -518,31 +519,17 @@ grow_vertical = 1
scale = Vector2(3, 3)
mouse_filter = 2
[node name="LivesCount" type="Label" parent="HUD"]
offset_left = -5.0
offset_top = 15.0
offset_right = 100.0
offset_bottom = 72.0
[node name="LivesCount" type="Label" parent="HUD/LivesBar"]
layout_mode = 0
offset_right = 79.0
offset_bottom = 70.0
scale = Vector2(0.33, 0.33)
theme_override_colors/font_color = Color(0.65098, 0.227451, 0.243137, 1)
theme_override_font_sizes/font_size = 37
text = "120
"
text = "120"
horizontal_alignment = 1
vertical_alignment = 1
[node name="MinimapBorder" type="TextureRect" parent="HUD"]
texture_filter = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -262.0
offset_top = 37.0
offset_right = -37.0
offset_bottom = 336.0
grow_horizontal = 0
mouse_filter = 2
texture = ExtResource("16_x1xjr")
[node name="EnemyTracker" type="TextureRect" parent="HUD"]
texture_filter = 1
anchors_preset = 5
@ -665,22 +652,23 @@ text = "999"
horizontal_alignment = 1
vertical_alignment = 1
[node name="CurrencyCount" type="Label" parent="HUD"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -101.0
offset_top = 300.0
offset_right = -40.0
offset_bottom = 54.0
grow_horizontal = 0
theme_override_colors/font_color = Color(0.988235, 0.909804, 0.65098, 1)
theme_override_font_sizes/font_size = 37
text = "20"
[node name="WaveCount" type="Label" parent="HUD/EnemyTracker"]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -30.0
offset_top = 59.0
offset_right = 30.0
offset_bottom = 87.0
grow_horizontal = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 18
text = "1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RichTextLabel2" type="RichTextLabel" parent="HUD"]
[node name="InteractLabel" type="RichTextLabel" parent="HUD"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
@ -700,71 +688,6 @@ bbcode_enabled = true
text = "[center]Press Button To do thing"
scroll_active = false
[node name="WaveCount" type="Label" parent="HUD"]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -30.0
offset_top = 81.0
offset_right = 30.0
offset_bottom = 109.0
grow_horizontal = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 18
text = "1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Crosshair" type="ColorRect" parent="HUD"]
material = SubResource("ShaderMaterial_lg5jo")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="PrimaryEnergyBar" type="TextureProgressBar" parent="HUD"]
visible = false
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -500.0
offset_top = -40.0
grow_horizontal = 0
grow_vertical = 0
step = 0.01
value = 100.0
fill_mode = 1
nine_patch_stretch = true
texture_under = ExtResource("21_apps2")
texture_progress = ExtResource("21_apps2")
tint_under = Color(0, 1, 1, 0.168627)
tint_progress = Color(0, 1, 1, 1)
[node name="OffhandEnergyBar" type="TextureProgressBar" parent="HUD"]
visible = false
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -379.0
offset_top = -50.0
offset_bottom = -40.0
grow_horizontal = 0
grow_vertical = 0
step = 0.01
value = 100.0
fill_mode = 1
nine_patch_stretch = true
texture_under = ExtResource("21_apps2")
texture_progress = ExtResource("21_apps2")
tint_under = Color(0, 1, 1, 0.168627)
tint_progress = Color(0, 1, 1, 1)
[node name="VBoxContainer" type="VBoxContainer" parent="HUD"]
anchors_preset = 4
anchor_top = 0.5
@ -811,12 +734,44 @@ grow_horizontal = 2
grow_vertical = 2
[node name="EnergyBar" parent="HUD" instance=ExtResource("27_14ugt")]
visible = false
mouse_filter = 2
[node name="EnergyBar2" parent="HUD" instance=ExtResource("27_14ugt")]
offset_left = -72.0
offset_right = -72.0
[node name="TextureRect" type="TextureRect" parent="HUD"]
modulate = Color(0.54324, 0.193653, 0.15885, 0.9)
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("25_l7gpx")
expand_mode = 3
stretch_mode = 5
[node name="TextureRect2" type="TextureRect" parent="HUD"]
visible = false
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("26_dfkac")
expand_mode = 3
stretch_mode = 5
[node name="WeaponSwapTimer" type="Timer" parent="."]
wait_time = 0.4

View File

@ -12,12 +12,9 @@ var last_lives_count: int = 120
@export var minimap_viewport: SubViewport
@export var fps_label: Label
@export var hover_text: RichTextLabel
var minimap_anchor: Node3D
var enemy_names: Array[String]
@export var enemy_sprites: Array[TextureRect]
@export var enemy_counts: Array[Label]
@export var weapon_energy_bar: TextureProgressBar
@export var offhand_energy_bar: TextureProgressBar
@export var pickup_notif_scene: PackedScene
@export var wave_start_label: RichTextLabel
@export var place_icon: TextureRect
@ -26,8 +23,8 @@ var enemy_names: Array[String]
@export var swap_text: RichTextLabel
@export var enemy_card_scene: PackedScene
@export var new_energy_bar: EnergyBar
@export var new_energy_bar2: EnergyBar
var map_anchor: Node3D
var audio_guard: bool = false
var cards: Array[EnemyCardUI] = []
@ -65,20 +62,14 @@ func show_wave_generation_anim(wave: Wave) -> void:
func set_energy_visible(value: bool) -> void:
pass
#weapon_energy_bar.set_visible(value)
func set_offhand_energy_visible(value: bool) -> void:
pass
#offhand_energy_bar.set_visible(value)
new_energy_bar.visible = value
func _process(_delta: float) -> void:
fps_label.text = "FPS: " + str(Engine.get_frames_per_second())
wave_start_label.text = parse_action_tag("[center]Press #Ready# to start wave")
place_text.text = parse_action_tag("[center]#Equip In Gauntlet#")
swap_text.text = parse_action_tag("[center]#Secondary Fire#")
place_text.text = parse_action_tag("[center]#Equip Primary Weapon#")
swap_text.text = parse_action_tag("[center]#Equip Secondary Weapon#")
func grow_wave_start_label() -> void:
@ -102,12 +93,16 @@ func tween_label(x: float) -> void:
func set_hover_text(text: String) -> void:
$TextureRect2.visible = true
$TextureRect.visible = false
hover_text.text = parse_action_tag(text)
hover_text.set_visible(true)
hover_text.visible = true
func unset_hover_text() -> void:
hover_text.set_visible(false)
hover_text.visible = false
$TextureRect2.visible = false
$TextureRect.visible = true
func set_wave_count(value: int) -> void:
@ -134,8 +129,12 @@ func set_upcoming_wave(value: Dictionary) -> void:
var frame_count: int = 0
enemy_names = []
var wave: Dictionary = {}
for index: int in value:
wave[Data.enemies[index]] = value[index]
for key: String in value:
var new_enemy: Enemy
for enemy: Enemy in player.game_manager.level.enemy_pool:
if enemy.title == key:
new_enemy = enemy
wave[new_enemy] = value[key]
for x: int in enemy_sprites.size():
enemy_sprites[x].set_visible(false)
enemy_counts[x].set_visible(false)
@ -157,7 +156,7 @@ func set_crosshair_visible(value: bool) -> void:
#TODO: the fuck is audio_guard for?
func set_weapon_energy(value: int, energy_type: Data.EnergyType) -> void:
weapon_energy_bar.value = value
#weapon_energy_bar.value = value
if player.editing_mode:
audio_guard = true
if value == 0 and !audio_guard:
@ -170,12 +169,8 @@ func set_weapon_energy(value: int, energy_type: Data.EnergyType) -> void:
audio_guard = false
func set_offhand_energy(value: int) -> void:
offhand_energy_bar.value = value
func maximise_minimap(anchor: Node3D) -> void:
minimap_cam.anchor = anchor
func maximise_minimap() -> void:
minimap_cam.anchor = map_anchor
minimap.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
minimap.offset_bottom = -40
minimap.offset_top = 40
@ -187,8 +182,8 @@ func maximise_minimap(anchor: Node3D) -> void:
currency_count.set_visible(false)
func minimize_minimap(anchor: Node3D) -> void:
minimap_cam.anchor = anchor
func minimize_minimap() -> void:
minimap_cam.anchor = player
minimap.set_anchors_and_offsets_preset(Control.PRESET_TOP_RIGHT)
minimap.offset_right = -40
minimap.offset_top = 40
@ -208,11 +203,21 @@ func pickup(card: Card) -> void:
func parse_action_tag(text: String) -> String:
var string_array: PackedStringArray = text.split("#")
var output: Array[String] = []
if string_array.size() > 1:
var event: InputEvent = InputMap.action_get_events(string_array[1])[0]
if event is InputEventKey:
string_array[1] = "[img=top,50]%s[/img]" % KeyIconMap.keys[str(event.keycode)]
if event is InputEventMouseButton:
string_array[1] = "[img=top,50]%s[/img]" % KeyIconMap.mouse_buttons[str(event.button_index)]
for i: int in InputMap.action_get_events(string_array[1]).size():
var event: InputEvent = InputMap.action_get_events(string_array[1])[i]
if InputMap.action_get_events(string_array[1]).size() > 1:
var last: bool = true if i == InputMap.action_get_events(string_array[1]).size() - 1 else false
var first: bool = true if i == 0 else false
if last:
output.append(" or ")
elif !first:
output.append(", ")
if event is InputEventKey:
output.append("[img=top,50]%s[/img]" % KeyIconMap.keys[str(event.physical_keycode)])
if event is InputEventMouseButton:
output.append("[img=top,50]%s[/img]" % KeyIconMap.mouse_buttons[str(event.button_index)])
string_array[1] = "".join(output)
text = "".join(string_array)
return text

View File

@ -172,9 +172,9 @@ func _process(_delta: float) -> void:
change_crouch = true
if crouching:
crouch()
if Input.is_action_just_pressed("Crouch") and is_in_climb_zone:
if Input.is_action_just_pressed("Hold Climbing") and is_in_climb_zone:
hold_climb = true
if Input.is_action_just_released("Crouch") and is_in_climb_zone:
if Input.is_action_just_released("Hold Climbing") and is_in_climb_zone:
hold_climb = false
look_vector.x = Input.get_joy_axis(0, JOY_AXIS_RIGHT_X)
look_vector.y = Input.get_joy_axis(0, JOY_AXIS_RIGHT_Y)

View File

@ -1,14 +1,16 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://dsgkwh3opyqtx"]
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://dsgkwh3opyqtx"]
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="1_57rr1"]
[ext_resource type="Texture2D" uid="uid://ta47gpiwloxm" path="res://Assets/Textures/dead_bubble.png" id="1_ioqxi"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_wjbfx"]
[ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="3_86skx"]
[ext_resource type="Texture2D" uid="uid://d0vafwv4lhjji" path="res://Assets/TextureAtlases/bubble.tres" id="3_homny"]
[resource]
script = ExtResource("1_wjbfx")
title = "bubble"
target_type = 2
scene = ExtResource("3_86skx")
icon = ExtResource("1_57rr1")
death_sprite = ExtResource("1_ioqxi")
sprite = ExtResource("3_homny")

View File

@ -1,29 +0,0 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://bffhb5krs5elm"]
[ext_resource type="Texture2D" uid="uid://b1lwaxw62yp3p" path="res://Assets/Textures/dead_spike.png" id="1_1js8q"]
[ext_resource type="Texture2D" uid="uid://duywsy7jmh4u" path="res://Assets/Textures/spike.png" id="1_22o7e"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_q5r05"]
[ext_resource type="Texture2D" uid="uid://sybn6bjbj5fh" path="res://Assets/TextureAtlases/spike.tres" id="3_tbb38"]
[resource]
script = ExtResource("1_q5r05")
title = "spike"
target_type = 2
icon = ExtResource("1_22o7e")
death_sprite = ExtResource("1_1js8q")
sprite = ExtResource("3_tbb38")
spawn_power = 6
health = 120
penalty = 7
movement_speed = 1.0
spawn_cooldown = 1.0
common_group = 3
common_cost = 2
uncommon_group = 6
uncommon_cost = 3
rare_group = 10
rare_cost = 4
epic_group = 16
epic_cost = 5
legendary_group = 25
legendary_cost = 6

View File

@ -1,19 +1,21 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://boik1gnpl4v0a"]
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://boik1gnpl4v0a"]
[ext_resource type="Texture2D" uid="uid://cde0voyrwnqkl" path="res://Assets/Textures/icon_eye_dog_boss.png" id="1_2o720"]
[ext_resource type="Texture2D" uid="uid://bp3njt3h0qfbg" path="res://Assets/Textures/dead_eye_dog_boss.png" id="1_5xm32"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_euaab"]
[ext_resource type="Texture2D" uid="uid://ff3cys53p37j" path="res://Assets/TextureAtlases/dog_fast_boss.tres" id="2_1m62w"]
[ext_resource type="PackedScene" uid="uid://b0nady5xm88bo" path="res://Worlds/GreenPlanet/Enemies/land_enemy.tscn" id="3_g83md"]
[resource]
script = ExtResource("1_euaab")
title = "boss dog"
target_type = 1
scene = ExtResource("3_g83md")
icon = ExtResource("1_2o720")
death_sprite = ExtResource("1_5xm32")
sprite = ExtResource("2_1m62w")
spawn_power = 100
health = 8000
health = 7000
penalty = 40
movement_speed = 0.8
spawn_cooldown = 1.0

View File

@ -1,14 +1,16 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://cvehqh4tt28g7"]
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://cvehqh4tt28g7"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_k5sd1"]
[ext_resource type="Texture2D" uid="uid://cv5p03aw78vwd" path="res://Assets/Textures/icon_eye_dog_fast.png" id="1_xgen5"]
[ext_resource type="Texture2D" uid="uid://dgdofekr7ow73" path="res://Assets/Textures/dead_eye_dog_fast.png" id="1_yj87d"]
[ext_resource type="Texture2D" uid="uid://dd212gh03wloa" path="res://Assets/TextureAtlases/dog_fast.tres" id="2_mkbm6"]
[ext_resource type="PackedScene" uid="uid://b0nady5xm88bo" path="res://Worlds/GreenPlanet/Enemies/land_enemy.tscn" id="3_e3fq0"]
[resource]
script = ExtResource("1_k5sd1")
title = "fast dog"
target_type = 1
scene = ExtResource("3_e3fq0")
icon = ExtResource("1_xgen5")
death_sprite = ExtResource("1_yj87d")
sprite = ExtResource("2_mkbm6")

View File

@ -1,14 +1,16 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=5 format=3 uid="uid://dxi17xvdlhkvc"]
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://dxi17xvdlhkvc"]
[ext_resource type="Texture2D" uid="uid://08n5jvq5tptf" path="res://Assets/Textures/icon_eye_dog_heavy.png" id="1_lck53"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_q48il"]
[ext_resource type="Texture2D" uid="uid://e7lahg40lq8a" path="res://Assets/Textures/dead_eye_dog_heavy.png" id="1_qveaa"]
[ext_resource type="Texture2D" uid="uid://c0543ucoalwmi" path="res://Assets/TextureAtlases/dog_fast_heavy.tres" id="2_7nc4x"]
[ext_resource type="PackedScene" uid="uid://b0nady5xm88bo" path="res://Worlds/GreenPlanet/Enemies/land_enemy.tscn" id="3_t3gih"]
[resource]
script = ExtResource("1_q48il")
title = "heavy dog"
target_type = 1
scene = ExtResource("3_t3gih")
icon = ExtResource("1_lck53")
death_sprite = ExtResource("1_qveaa")
sprite = ExtResource("2_7nc4x")

View File

@ -1,8 +1,9 @@
[gd_resource type="Resource" script_class="Enemy" load_steps=6 format=3 uid="uid://btudmfd7wfwec"]
[gd_resource type="Resource" script_class="Enemy" load_steps=7 format=3 uid="uid://btudmfd7wfwec"]
[ext_resource type="Texture2D" uid="uid://bl16mvx4xaxeb" path="res://Assets/Textures/dead_leapfrog.png" id="1_aa1x4"]
[ext_resource type="Texture2D" uid="uid://3ywtwfpuuknr" path="res://Assets/Textures/leapfrog.png" id="2_pj3v3"]
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="3_i5ry5"]
[ext_resource type="PackedScene" uid="uid://cmneu5o0m02l8" path="res://Worlds/GreenPlanet/Enemies/leaping_enemy.tscn" id="3_pj3v3"]
[ext_resource type="Texture2D" uid="uid://cb66pspr16scy" path="res://Assets/Textures/leapfrog_2.png" id="4_i5ry5"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n6kdu"]
@ -15,6 +16,7 @@ resource_local_to_scene = true
script = ExtResource("3_i5ry5")
title = "Leapdog"
target_type = 1
scene = ExtResource("3_pj3v3")
icon = ExtResource("2_pj3v3")
death_sprite = ExtResource("1_aa1x4")
sprite = SubResource("AtlasTexture_n6kdu")

View File

@ -1,91 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://24x6dxeyp6q"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_mq1d3"]
[sub_resource type="InputEventKey" id="InputEventKey_x2tr7"]
device = -1
keycode = 65
unicode = 97
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_5s7xv"]
button_index = 1
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_l3f8p"]
button_index = 2
[sub_resource type="InputEventKey" id="InputEventKey_km24n"]
device = -1
keycode = 69
unicode = 101
[sub_resource type="InputEventKey" id="InputEventKey_k7imb"]
device = -1
keycode = 32
unicode = 32
[sub_resource type="InputEventKey" id="InputEventKey_bkkdp"]
device = -1
keycode = 83
unicode = 115
[sub_resource type="InputEventKey" id="InputEventKey_sflgv"]
device = -1
keycode = 90
unicode = 122
[sub_resource type="InputEventKey" id="InputEventKey_gpfw7"]
device = -1
keycode = 81
unicode = 113
[sub_resource type="InputEventKey" id="InputEventKey_h2ivp"]
device = -1
keycode = 68
unicode = 100
[sub_resource type="InputEventKey" id="InputEventKey_tghoj"]
device = -1
keycode = 4194309
[sub_resource type="InputEventKey" id="InputEventKey_wow3c"]
device = -1
keycode = 4194305
[sub_resource type="InputEventKey" id="InputEventKey_wge4x"]
device = -1
keycode = 70
unicode = 102
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_fgwoe"]
button_index = 5
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_3ljja"]
button_index = 4
[sub_resource type="InputEventKey" id="InputEventKey_08u8b"]
device = -1
keycode = 4194325
[sub_resource type="InputEventKey" id="InputEventKey_jtv7p"]
device = -1
keycode = 4194306
[resource]
script = ExtResource("1_mq1d3")
title = "AZERTY"
move_forward = SubResource("InputEventKey_sflgv")
move_backward = SubResource("InputEventKey_bkkdp")
move_left = SubResource("InputEventKey_gpfw7")
move_right = SubResource("InputEventKey_h2ivp")
jump = SubResource("InputEventKey_k7imb")
sprint = SubResource("InputEventKey_08u8b")
interact = SubResource("InputEventKey_km24n")
open_text_chat = SubResource("InputEventKey_tghoj")
ready = SubResource("InputEventKey_wge4x")
pause = SubResource("InputEventKey_wow3c")
equip_card_in_gauntlet = SubResource("InputEventKey_x2tr7")
view_map = SubResource("InputEventKey_jtv7p")
fire1 = SubResource("InputEventMouseButton_5s7xv")
fire2 = SubResource("InputEventMouseButton_l3f8p")
select_next_card = SubResource("InputEventMouseButton_fgwoe")
select_prev_card = SubResource("InputEventMouseButton_3ljja")

View File

@ -1,91 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://bimicdfsvbsfe"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_ea4lr"]
[sub_resource type="InputEventKey" id="InputEventKey_vtcll"]
device = -1
keycode = 81
unicode = 113
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_jdiqn"]
button_index = 1
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_x1yto"]
button_index = 2
[sub_resource type="InputEventKey" id="InputEventKey_43xjm"]
device = -1
keycode = 70
unicode = 102
[sub_resource type="InputEventKey" id="InputEventKey_yuctl"]
device = -1
keycode = 32
unicode = 32
[sub_resource type="InputEventKey" id="InputEventKey_73pxv"]
device = -1
keycode = 82
unicode = 114
[sub_resource type="InputEventKey" id="InputEventKey_nvtcc"]
device = -1
keycode = 87
unicode = 119
[sub_resource type="InputEventKey" id="InputEventKey_h2yjp"]
device = -1
keycode = 65
unicode = 97
[sub_resource type="InputEventKey" id="InputEventKey_xvv7x"]
device = -1
keycode = 83
unicode = 115
[sub_resource type="InputEventKey" id="InputEventKey_ksd1d"]
device = -1
keycode = 4194309
[sub_resource type="InputEventKey" id="InputEventKey_7ynrb"]
device = -1
keycode = 4194305
[sub_resource type="InputEventKey" id="InputEventKey_0pbgp"]
device = -1
keycode = 84
unicode = 116
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_flrjb"]
button_index = 5
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_ah2mb"]
button_index = 4
[sub_resource type="InputEventKey" id="InputEventKey_opngu"]
device = -1
keycode = 4194325
[sub_resource type="InputEventKey" id="InputEventKey_f1w6s"]
device = -1
keycode = 4194306
[resource]
script = ExtResource("1_ea4lr")
title = "COLEMAK"
move_forward = SubResource("InputEventKey_nvtcc")
move_backward = SubResource("InputEventKey_73pxv")
move_left = SubResource("InputEventKey_h2yjp")
move_right = SubResource("InputEventKey_xvv7x")
jump = SubResource("InputEventKey_yuctl")
sprint = SubResource("InputEventKey_opngu")
interact = SubResource("InputEventKey_43xjm")
open_text_chat = SubResource("InputEventKey_ksd1d")
ready = SubResource("InputEventKey_0pbgp")
pause = SubResource("InputEventKey_7ynrb")
equip_card_in_gauntlet = SubResource("InputEventKey_vtcll")
view_map = SubResource("InputEventKey_f1w6s")
fire1 = SubResource("InputEventMouseButton_jdiqn")
fire2 = SubResource("InputEventMouseButton_x1yto")
select_next_card = SubResource("InputEventMouseButton_flrjb")
select_prev_card = SubResource("InputEventMouseButton_ah2mb")

View File

@ -1,83 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://ciy3467h2g8fi"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_tfpk7"]
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_wcd5e"]
button_index = 9
pressed = true
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_u2vjr"]
axis = 5
axis_value = 1.0
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_t6w8w"]
axis = 4
axis_value = 1.0
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_cmg03"]
button_index = 2
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_u1s05"]
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_rkpws"]
axis = 1
axis_value = 1.0
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_hfod6"]
axis = 1
axis_value = -1.0
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_8v3ji"]
axis_value = -1.0
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_mdo5n"]
axis_value = 1.0
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_g0awx"]
button_index = 11
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_rdp3w"]
button_index = 6
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_pt0da"]
button_index = 1
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_1ppnc"]
button_index = 14
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_ntg7n"]
button_index = 13
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_0ju3o"]
button_index = 7
pressed = true
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_171bh"]
button_index = 4
pressed = true
[resource]
script = ExtResource("1_tfpk7")
title = "Controller"
move_forward = SubResource("InputEventJoypadMotion_hfod6")
move_backward = SubResource("InputEventJoypadMotion_rkpws")
move_left = SubResource("InputEventJoypadMotion_8v3ji")
move_right = SubResource("InputEventJoypadMotion_mdo5n")
jump = SubResource("InputEventJoypadButton_u1s05")
sprint = SubResource("InputEventJoypadButton_0ju3o")
interact = SubResource("InputEventJoypadButton_cmg03")
open_text_chat = SubResource("InputEventJoypadButton_g0awx")
ready = SubResource("InputEventJoypadButton_pt0da")
pause = SubResource("InputEventJoypadButton_rdp3w")
equip_card_in_gauntlet = SubResource("InputEventJoypadButton_wcd5e")
view_map = SubResource("InputEventJoypadButton_171bh")
fire1 = SubResource("InputEventJoypadMotion_u2vjr")
fire2 = SubResource("InputEventJoypadMotion_t6w8w")
select_next_card = SubResource("InputEventJoypadButton_1ppnc")
select_prev_card = SubResource("InputEventJoypadButton_ntg7n")

View File

@ -1,91 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://qgpkrp08tx5l"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_e3tjt"]
[sub_resource type="InputEventKey" id="InputEventKey_62tdh"]
device = -1
keycode = 39
unicode = 39
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_gd1dk"]
button_index = 1
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_eqrpb"]
button_index = 2
[sub_resource type="InputEventKey" id="InputEventKey_x2isa"]
device = -1
keycode = 46
unicode = 46
[sub_resource type="InputEventKey" id="InputEventKey_sjxn8"]
device = -1
keycode = 32
unicode = 32
[sub_resource type="InputEventKey" id="InputEventKey_kjw4x"]
device = -1
keycode = 79
unicode = 111
[sub_resource type="InputEventKey" id="InputEventKey_61m8q"]
device = -1
keycode = 44
unicode = 44
[sub_resource type="InputEventKey" id="InputEventKey_tdkec"]
device = -1
keycode = 65
unicode = 97
[sub_resource type="InputEventKey" id="InputEventKey_flmuc"]
device = -1
keycode = 69
unicode = 101
[sub_resource type="InputEventKey" id="InputEventKey_8xqt1"]
device = -1
keycode = 4194309
[sub_resource type="InputEventKey" id="InputEventKey_itl5r"]
device = -1
keycode = 4194305
[sub_resource type="InputEventKey" id="InputEventKey_drnpm"]
device = -1
keycode = 85
unicode = 117
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_tu87m"]
button_index = 5
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_3ufg1"]
button_index = 4
[sub_resource type="InputEventKey" id="InputEventKey_3m66q"]
device = -1
keycode = 4194325
[sub_resource type="InputEventKey" id="InputEventKey_docp6"]
device = -1
keycode = 4194306
[resource]
script = ExtResource("1_e3tjt")
title = "DVORAK"
move_forward = SubResource("InputEventKey_61m8q")
move_backward = SubResource("InputEventKey_kjw4x")
move_left = SubResource("InputEventKey_tdkec")
move_right = SubResource("InputEventKey_flmuc")
jump = SubResource("InputEventKey_sjxn8")
sprint = SubResource("InputEventKey_3m66q")
interact = SubResource("InputEventKey_x2isa")
open_text_chat = SubResource("InputEventKey_8xqt1")
ready = SubResource("InputEventKey_drnpm")
pause = SubResource("InputEventKey_itl5r")
equip_card_in_gauntlet = SubResource("InputEventKey_62tdh")
view_map = SubResource("InputEventKey_docp6")
fire1 = SubResource("InputEventMouseButton_gd1dk")
fire2 = SubResource("InputEventMouseButton_eqrpb")
select_next_card = SubResource("InputEventMouseButton_tu87m")
select_prev_card = SubResource("InputEventMouseButton_3ufg1")

View File

@ -1,91 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://dml3iwhpttdat"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_6xs82"]
[sub_resource type="InputEventKey" id="InputEventKey_g7iw8"]
device = -1
keycode = 81
unicode = 113
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_32lj4"]
button_index = 1
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_d3xef"]
button_index = 2
[sub_resource type="InputEventKey" id="InputEventKey_brup3"]
device = -1
keycode = 69
unicode = 101
[sub_resource type="InputEventKey" id="InputEventKey_p6g50"]
device = -1
keycode = 32
unicode = 32
[sub_resource type="InputEventKey" id="InputEventKey_cavx6"]
device = -1
keycode = 83
unicode = 115
[sub_resource type="InputEventKey" id="InputEventKey_e7m41"]
device = -1
keycode = 87
unicode = 119
[sub_resource type="InputEventKey" id="InputEventKey_5ut3l"]
device = -1
keycode = 65
unicode = 97
[sub_resource type="InputEventKey" id="InputEventKey_3uioy"]
device = -1
keycode = 68
unicode = 100
[sub_resource type="InputEventKey" id="InputEventKey_6mykw"]
device = -1
keycode = 4194309
[sub_resource type="InputEventKey" id="InputEventKey_ujdbv"]
device = -1
keycode = 4194305
[sub_resource type="InputEventKey" id="InputEventKey_kiqcj"]
device = -1
keycode = 70
unicode = 102
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_e8eut"]
button_index = 5
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_ntdkp"]
button_index = 4
[sub_resource type="InputEventKey" id="InputEventKey_tmf7l"]
device = -1
keycode = 4194325
[sub_resource type="InputEventKey" id="InputEventKey_a3okn"]
device = -1
keycode = 4194306
[resource]
script = ExtResource("1_6xs82")
title = "QWERTY"
move_forward = SubResource("InputEventKey_e7m41")
move_backward = SubResource("InputEventKey_cavx6")
move_left = SubResource("InputEventKey_5ut3l")
move_right = SubResource("InputEventKey_3uioy")
jump = SubResource("InputEventKey_p6g50")
sprint = SubResource("InputEventKey_tmf7l")
interact = SubResource("InputEventKey_brup3")
open_text_chat = SubResource("InputEventKey_6mykw")
ready = SubResource("InputEventKey_kiqcj")
pause = SubResource("InputEventKey_ujdbv")
equip_card_in_gauntlet = SubResource("InputEventKey_g7iw8")
view_map = SubResource("InputEventKey_a3okn")
fire1 = SubResource("InputEventMouseButton_32lj4")
fire2 = SubResource("InputEventMouseButton_d3xef")
select_next_card = SubResource("InputEventMouseButton_e8eut")
select_prev_card = SubResource("InputEventMouseButton_ntdkp")

View File

@ -1,91 +0,0 @@
[gd_resource type="Resource" script_class="PlayerKeymap" load_steps=18 format=3 uid="uid://g02ll7a7urwl"]
[ext_resource type="Script" uid="uid://vkthiwr3vq4g" path="res://Scripts/Resources/player_keymap.gd" id="1_pf0gk"]
[sub_resource type="InputEventKey" id="InputEventKey_ikcft"]
device = -1
keycode = 81
unicode = 113
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_x77eo"]
button_index = 1
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_uiqw0"]
button_index = 2
[sub_resource type="InputEventKey" id="InputEventKey_bg51j"]
device = -1
keycode = 82
unicode = 114
[sub_resource type="InputEventKey" id="InputEventKey_2hgt5"]
device = -1
keycode = 32
unicode = 32
[sub_resource type="InputEventKey" id="InputEventKey_lc0ss"]
device = -1
keycode = 83
unicode = 115
[sub_resource type="InputEventKey" id="InputEventKey_lei27"]
device = -1
keycode = 68
unicode = 100
[sub_resource type="InputEventKey" id="InputEventKey_7juwk"]
device = -1
keycode = 65
unicode = 97
[sub_resource type="InputEventKey" id="InputEventKey_qfke7"]
device = -1
keycode = 72
unicode = 104
[sub_resource type="InputEventKey" id="InputEventKey_tbuvp"]
device = -1
keycode = 4194309
[sub_resource type="InputEventKey" id="InputEventKey_tm5f1"]
device = -1
keycode = 4194305
[sub_resource type="InputEventKey" id="InputEventKey_krad3"]
device = -1
keycode = 84
unicode = 116
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_xu2iv"]
button_index = 5
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_crqmx"]
button_index = 4
[sub_resource type="InputEventKey" id="InputEventKey_bnnig"]
device = -1
keycode = 4194325
[sub_resource type="InputEventKey" id="InputEventKey_tajfr"]
device = -1
keycode = 4194306
[resource]
script = ExtResource("1_pf0gk")
title = "WORKMAN"
move_forward = SubResource("InputEventKey_lei27")
move_backward = SubResource("InputEventKey_lc0ss")
move_left = SubResource("InputEventKey_7juwk")
move_right = SubResource("InputEventKey_qfke7")
jump = SubResource("InputEventKey_2hgt5")
sprint = SubResource("InputEventKey_bnnig")
interact = SubResource("InputEventKey_bg51j")
open_text_chat = SubResource("InputEventKey_tbuvp")
ready = SubResource("InputEventKey_krad3")
pause = SubResource("InputEventKey_tm5f1")
equip_card_in_gauntlet = SubResource("InputEventKey_ikcft")
view_map = SubResource("InputEventKey_tajfr")
fire1 = SubResource("InputEventMouseButton_x77eo")
fire2 = SubResource("InputEventMouseButton_uiqw0")
select_next_card = SubResource("InputEventMouseButton_xu2iv")
select_prev_card = SubResource("InputEventMouseButton_crqmx")

View File

@ -1,8 +1,6 @@
class_name CardPrinter extends StaticBody3D
@export var item_card_scene: PackedScene
@export var button_collider: CollisionShape3D
@export var button_box: Node3D
#TODO: use faction enum
var base_faction: int = 1
@ -24,7 +22,7 @@ func generate_rarity() -> int:
for rarity: String in Data.Rarity:
weight_total += Data.rarity_weights[rarity]
var generated_rarity: int = Game.randi_in_range(4 * cards_generated, 0, weight_total)
var generated_rarity: int = NoiseRandom.randi_in_range(4 * cards_generated, 0, weight_total)
cards_generated += 1
var decided_rarity: int = 0
@ -38,6 +36,7 @@ func generate_rarity() -> int:
func randomize_cards(faction: Card.Faction) -> void:
#TODO: no magic numbers, asshole! 3 = cards to spawn
var pos_x: float = 0.0
for x: int in 3:
var decided_rarity: int = generate_rarity()
var card_choices: Array[Card] = get_faction_cards(faction)
@ -48,18 +47,21 @@ func randomize_cards(faction: Card.Faction) -> void:
if card.rarity == decided_rarity:
card_array.append(card)
cards_chosen = true
decided_rarity -= 1
if decided_rarity < 0:
card_array.append(Data.cards[0])
cards_chosen = true
decided_rarity -= 1
var card: Card
if card_array.size() > 0:
card = card_array[Game.randi_in_range(132 * cards_generated, 0, card_array.size() - 1)]
card = card_array[NoiseRandom.randi_in_range(132 * cards_generated, 0, card_array.size() - 1)]
cards_generated += 1
card_array.erase(card)
var item: CardItem = item_card_scene.instantiate() as CardItem
var item: CardItem = reply_player.hero_class.card_item.instantiate() as CardItem
item.set_card(card)
item.position = Vector3(x, 1, 2)
item.position = Vector3(pos_x, 2, 0)
pos_x *= -1
if pos_x >= 0:
pos_x += 1.25
item.pressed.connect(card_picked_up)
spawned_cards.append(item)
add_child(item)
@ -72,13 +74,11 @@ func card_picked_up(card_item: CardItem) -> void:
spawned_card.queue_free()
spawned_cards = []
button_collider.disabled = false
button_box.position = Vector3(0,0,0)
$StaticBody3D/AudioStreamPlayer3D.play()
func _on_static_body_3d_button_interacted(_value: int, reply: Hero) -> void:
reply_player = reply
button_collider.disabled = true
button_box.position = Vector3(0,0,-0.2)
$StaticBody3D/AudioStreamPlayer3D.play()
randomize_cards(reply.hero_class.faction)

View File

@ -1,37 +1,27 @@
[gd_scene load_steps=9 format=3 uid="uid://1b2ikdanl66b"]
[gd_scene load_steps=8 format=3 uid="uid://1b2ikdanl66b"]
[ext_resource type="Script" uid="uid://bivtfdl3p1brv" path="res://Scenes/CardPrinter/card_printer.gd" id="1_qft15"]
[ext_resource type="PackedScene" uid="uid://dq8v5e11rvyi6" path="res://plan.tscn" id="2_8jpsw"]
[ext_resource type="Script" uid="uid://dkfswql8ui0bt" path="res://Scripts/interact_button.gd" id="4_eavi1"]
[ext_resource type="PackedScene" uid="uid://b6i5w3mowcfcs" path="res://drafting_table.glb" id="4_kpujb"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="5_m033a"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s02au"]
albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
size = Vector3(2, 2.1, 1)
size = Vector3(2.17, 1.55307, 1.12)
[sub_resource type="BoxShape3D" id="BoxShape3D_ikdwj"]
size = Vector3(1.29447, 0.342125, 0.277604)
size = Vector3(2.20033, 0.260753, 1.27008)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_73g2w"]
random_pitch = 1.1
streams_count = 1
stream_0/stream = ExtResource("5_m033a")
[node name="CardPrinter" type="StaticBody3D" node_paths=PackedStringArray("button_collider", "button_box")]
[node name="CardPrinter" type="StaticBody3D" node_paths=PackedStringArray("button_collider")]
script = ExtResource("1_qft15")
item_card_scene = ExtResource("2_8jpsw")
button_collider = NodePath("StaticBody3D/CollisionShape3D2")
button_box = NodePath("StaticBody3D/CollisionShape3D2/CSGBox3D")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.05, 0)
size = Vector3(2, 2.1, 1)
material = SubResource("StandardMaterial3D_s02au")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.05, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.776539, 0.0332634)
shape = SubResource("BoxShape3D_0ebt5")
[node name="StaticBody3D" type="StaticBody3D" parent="."]
@ -40,17 +30,18 @@ collision_layer = 16
collision_mask = 0
script = ExtResource("4_eavi1")
press_cost = 15
hover_text = "[center]#Interact# to spend $15 on random card"
hover_text = "[center]#Interact# draft a card for $15"
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, -6.55949e-05, 0.349496, -0.579584)
shape = SubResource("BoxShape3D_ikdwj")
[node name="CSGBox3D" type="CSGBox3D" parent="StaticBody3D/CollisionShape3D2"]
size = Vector3(1.29447, 0.342125, 0.277604)
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.010989, -0.086501)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.578748, -0.587001)
stream = SubResource("AudioStreamRandomizer_73g2w")
bus = &"SFX"
[node name="drafting_table" parent="." instance=ExtResource("4_kpujb")]
transform = Transform3D(0.06, 0, 0, 0, 0.06, 0, 0, 0, 0.06, 0, 0.385809, 0)
[connection signal="button_interacted" from="StaticBody3D" to="." method="_on_static_body_3d_button_interacted"]

View File

@ -1,3 +1,7 @@
class_name CharacterPodium extends Node3D
@export var text: String = ""
func show_content() -> void:
$Base/Content.visible = true

Some files were not shown because too many files have changed in this diff Show More