initial commit
|
After Width: | Height: | Size: 341 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ds15hhsmjp3wc"
|
||||
path="res://.godot/imported/stopwatch.png-b73c158978363763d92060f75a79b335.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/collectables/stopwatch.png"
|
||||
dest_files=["res://.godot/imported/stopwatch.png-b73c158978363763d92060f75a79b335.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,8 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="8" y="10" width="16" height="16" rx="8" stroke="black" stroke-width="2"/>
|
||||
<rect x="13" y="5" width="6" height="2" rx="1" fill="black"/>
|
||||
<rect x="15" y="7" width="2" height="3" fill="black" fill-opacity="0.5"/>
|
||||
<rect x="15" y="12" width="2" height="7" rx="1" fill="black"/>
|
||||
<path d="M25.5 6C26.0523 6 26.5 6.44772 26.5 7V8.5H28C28.5523 8.5 29 8.94772 29 9.5C29 10.0523 28.5523 10.5 28 10.5H26.5V12C26.5 12.5523 26.0523 13 25.5 13C24.9477 13 24.5 12.5523 24.5 12V10.5H23C22.4477 10.5 22 10.0523 22 9.5C22 8.94772 22.4477 8.5 23 8.5H24.5V7C24.5 6.44772 24.9477 6 25.5 6Z" fill="black" fill-opacity="0.5"/>
|
||||
<rect x="18.9623" y="15.135" width="2" height="4.99976" rx="1" transform="rotate(60 18.9623 15.135)" fill="black" fill-opacity="0.5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 850 B |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://desgj7lpexej7"
|
||||
path="res://.godot/imported/stopwatch.svg-d39e3bbf3360b8ba0da7f6682c867797.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/collectables/stopwatch.svg"
|
||||
dest_files=["res://.godot/imported/stopwatch.svg-d39e3bbf3360b8ba0da7f6682c867797.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -0,0 +1,11 @@
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_16_2)">
|
||||
<path d="M0 0L24 24L0 48V0Z" fill="white"/>
|
||||
<path d="M24 0L48 24L24 48V0Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_16_2">
|
||||
<rect width="48" height="48" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 329 B |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://jscv4dmprutv"
|
||||
path="res://.godot/imported/fastforward.svg-776e438727ff9eb49cd6794099a316cc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/fastforward.svg"
|
||||
dest_files=["res://.godot/imported/fastforward.svg-776e438727ff9eb49cd6794099a316cc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dbhwfxaqgogb3"
|
||||
path="res://.godot/imported/gmtk-big.png-e7f9d1fe32a9dff7a88ad795779254e5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/gmtk-big.png"
|
||||
dest_files=["res://.godot/imported/gmtk-big.png-e7f9d1fe32a9dff7a88ad795779254e5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bt1fcckct5jax"
|
||||
path="res://.godot/imported/gmtk.png-4143279bc1d6229b2e928421b7571d76.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/gmtk.png"
|
||||
dest_files=["res://.godot/imported/gmtk.png-4143279bc1d6229b2e928421b7571d76.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cs35h4es4e6p"
|
||||
path="res://.godot/imported/gun1.png-bcc67654ab25c4fcc7aa1feec09a7a23.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/gun1.png"
|
||||
dest_files=["res://.godot/imported/gun1.png-bcc67654ab25c4fcc7aa1feec09a7a23.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 177 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c3o7a2w3qyl4o"
|
||||
path="res://.godot/imported/tile.png-4df97e3230f905e3df311a6634fd05fa.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/tile.png"
|
||||
dest_files=["res://.godot/imported/tile.png-4df97e3230f905e3df311a6634fd05fa.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 296 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chofj1gn6jmyo"
|
||||
path="res://.godot/imported/dashMachine.png-4142366c59d759e31ffe1366516e3ec0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/dashMachine.png"
|
||||
dest_files=["res://.godot/imported/dashMachine.png-4142366c59d759e31ffe1366516e3ec0.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bigxhnmrmsg45"
|
||||
path="res://.godot/imported/dumbbell.png-98fb91e608348a61cf93c5a7ae31c0f9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/dumbbell.png"
|
||||
dest_files=["res://.godot/imported/dumbbell.png-98fb91e608348a61cf93c5a7ae31c0f9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 570 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cos44i12og7um"
|
||||
path="res://.godot/imported/fasterFaster.png-298b6d01ba61ae4d886203968f54bd8f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/fasterFaster.png"
|
||||
dest_files=["res://.godot/imported/fasterFaster.png-298b6d01ba61ae4d886203968f54bd8f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 249 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtagaj8hyg6jd"
|
||||
path="res://.godot/imported/firstAidKit.png-86f212f827658f2a63efa6133d4fd802.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/firstAidKit.png"
|
||||
dest_files=["res://.godot/imported/firstAidKit.png-86f212f827658f2a63efa6133d4fd802.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 369 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c3ltcwyo4wyml"
|
||||
path="res://.godot/imported/rollback.png-fdeb88a75bb46b60d2a7e4f7908d1408.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/rollback.png"
|
||||
dest_files=["res://.godot/imported/rollback.png-fdeb88a75bb46b60d2a7e4f7908d1408.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://pb14cjjw7aa8"
|
||||
path="res://.godot/imported/shotgun.png-576d03dc02854eb9a3e096114794bd2d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/shotgun.png"
|
||||
dest_files=["res://.godot/imported/shotgun.png-576d03dc02854eb9a3e096114794bd2d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 784 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bo1pub5cp7i6"
|
||||
path="res://.godot/imported/speedMayhem.png-f15c5bd3653d92af6a0b24ee98d2a75e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/speedMayhem.png"
|
||||
dest_files=["res://.godot/imported/speedMayhem.png-f15c5bd3653d92af6a0b24ee98d2a75e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 285 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dx77bwsgen5o3"
|
||||
path="res://.godot/imported/thoseWereTheDays.png-d1a0fcf468b867a6098b247d6eb71447.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/images/upgrades/thoseWereTheDays.png"
|
||||
dest_files=["res://.godot/imported/thoseWereTheDays.png-d1a0fcf468b867a6098b247d6eb71447.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,33 @@
|
||||
[gd_scene format=3 uid="uid://d1ta1nxbedqad"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca8an62xpl0e4" path="res://assets/scripts/disposableParticles.gd" id="1_16fqk"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_xyegg"]
|
||||
_data = [Vector2(0.49822062, 0.99999994), 0.0, 0.0, 0, 0, Vector2(0.99644125, 0), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_pymst"]
|
||||
offsets = PackedFloat32Array(0, 0.68235296, 0.9882353)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0.6, 0.6, 0.6, 1, 1, 1, 1, 0)
|
||||
|
||||
[node name="Blood" type="CPUParticles2D" unique_id=1387158673]
|
||||
z_index = -1
|
||||
emitting = false
|
||||
amount = 10
|
||||
lifetime = 5.0
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 20.0
|
||||
initial_velocity_max = 50.0
|
||||
linear_accel_min = -50.0
|
||||
linear_accel_max = -20.0
|
||||
angle_min = -180.0
|
||||
angle_max = 180.0
|
||||
scale_amount_min = 4.0
|
||||
scale_amount_max = 6.0
|
||||
scale_amount_curve = SubResource("Curve_xyegg")
|
||||
color = Color(0.89, 0, 0, 1)
|
||||
color_ramp = SubResource("Gradient_pymst")
|
||||
script = ExtResource("1_16fqk")
|
||||
@@ -0,0 +1,56 @@
|
||||
[gd_scene format=3 uid="uid://crv0gs7xtegi4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://iwxi6s8i6j81" path="res://assets/scripts/enemy.gd" id="1_5q6ol"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kvq5h"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Polygon2D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kbpvo"]
|
||||
resource_name = "shoot"
|
||||
length = 0.4
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Polygon2D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.4),
|
||||
"transitions": PackedFloat32Array(0.13869622, 2, 0.73204285),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(0.5, 1.2), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_55kjn"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_kvq5h"),
|
||||
&"shoot": SubResource("Animation_kbpvo")
|
||||
}
|
||||
|
||||
[node name="Enemy" type="CharacterBody2D" unique_id=1421049985]
|
||||
script = ExtResource("1_5q6ol")
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="." unique_id=274914633]
|
||||
position = Vector2(-13, 0)
|
||||
rotation = 1.5707964
|
||||
color = Color(0, 0.3333335, 1, 1)
|
||||
polygon = PackedVector2Array(-15, 0, 15, 0, 0, -30)
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." unique_id=1346650607]
|
||||
visible = false
|
||||
polygon = PackedVector2Array(-16, 15, -16, -15, 14, 0)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1072188506]
|
||||
libraries/ = SubResource("AnimationLibrary_55kjn")
|
||||
@@ -0,0 +1,30 @@
|
||||
[gd_scene format=3 uid="uid://etjisg8welsn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bemc80xgvtkd4" path="res://assets/scripts/enemy_bullet.gd" id="1_ptxui"]
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_xyegg"]
|
||||
radius = 5.0
|
||||
height = 10.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_c3msa"]
|
||||
radius = 5.0
|
||||
|
||||
[node name="EnemyBullet" type="CharacterBody2D" unique_id=822797430]
|
||||
z_index = 1
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_ptxui")
|
||||
|
||||
[node name="MeshInstance2D" type="MeshInstance2D" parent="." unique_id=903508644]
|
||||
modulate = Color(0.6156863, 0, 1, 1)
|
||||
mesh = SubResource("SphereMesh_xyegg")
|
||||
|
||||
[node name="hitme" type="Area2D" parent="." unique_id=194049910]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="hitme" unique_id=711740605]
|
||||
shape = SubResource("CircleShape2D_c3msa")
|
||||
|
||||
[connection signal="area_entered" from="hitme" to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="hitme" to="." method="_on_body_entered"]
|
||||
@@ -0,0 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://bjrqlhik55h8o"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://b7gupw3d7sfho" path="res://assets/sounds/explosion.wav" id="1_7lrd8"]
|
||||
[ext_resource type="Script" uid="uid://ctjyxuafayafk" path="res://assets/scripts/explosionsfx.gd" id="2_458cp"]
|
||||
|
||||
[node name="ExplosionSFX" type="AudioStreamPlayer2D" unique_id=427221510]
|
||||
stream = ExtResource("1_7lrd8")
|
||||
autoplay = true
|
||||
script = ExtResource("2_458cp")
|
||||
@@ -0,0 +1,39 @@
|
||||
[gd_scene format=3 uid="uid://dfwhpkgf77e5y"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xyegg"]
|
||||
size = Vector2(30, 30)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_xyegg"]
|
||||
size = Vector3(24, 24, 1)
|
||||
|
||||
[sub_resource type="Curve" id="Curve_xyegg"]
|
||||
_data = [Vector2(0.41992885, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.038095236), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[node name="Pickupable" type="Area2D" unique_id=448556835]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=2069397373]
|
||||
shape = SubResource("RectangleShape2D_xyegg")
|
||||
|
||||
[node name="mainmesh" type="MeshInstance2D" parent="." unique_id=1578928066]
|
||||
modulate = Color(4.415934, 4.415934, 4.415934, 1)
|
||||
mesh = SubResource("BoxMesh_xyegg")
|
||||
|
||||
[node name="particles" type="CPUParticles2D" parent="." unique_id=871258801]
|
||||
z_index = -1
|
||||
emitting = false
|
||||
amount = 30
|
||||
lifetime = 10.0
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 50.0
|
||||
initial_velocity_max = 100.0
|
||||
linear_accel_min = -100.0
|
||||
linear_accel_max = -100.0
|
||||
scale_amount_min = 3.0
|
||||
scale_amount_max = 6.0
|
||||
scale_amount_curve = SubResource("Curve_xyegg")
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene format=3 uid="uid://bqla58648mj8x"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dfwhpkgf77e5y" path="res://assets/scenes/pickupable.tscn" id="1_paivl"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds15hhsmjp3wc" path="res://assets/images/collectables/stopwatch.png" id="2_g8182"]
|
||||
[ext_resource type="Texture2D" uid="uid://desgj7lpexej7" path="res://assets/images/collectables/stopwatch.svg" id="3_fb1sx"]
|
||||
|
||||
[node name="Pickupable" unique_id=448556835 instance=ExtResource("1_paivl")]
|
||||
metadata/pickup = 1
|
||||
|
||||
[node name="mainmesh" parent="." index="1" unique_id=1578928066]
|
||||
modulate = Color(0.53800005, 1, 0.16000003, 1)
|
||||
|
||||
[node name="Stopwatch" type="Sprite2D" parent="." index="2" unique_id=1633947504]
|
||||
visible = false
|
||||
texture = ExtResource("2_g8182")
|
||||
|
||||
[node name="particles" parent="." index="3" unique_id=871258801]
|
||||
color = Color(0.5372549, 1, 0.16078432, 1)
|
||||
|
||||
[node name="Stopwatch2" type="Sprite2D" parent="." index="4" unique_id=2549464]
|
||||
scale = Vector2(0.75, 0.75)
|
||||
texture = ExtResource("3_fb1sx")
|
||||
@@ -0,0 +1,175 @@
|
||||
[gd_scene format=3 uid="uid://bwlwbahelcq52"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dbofvk7fso8po" path="res://assets/scripts/player.gd" id="1_rwm0n"]
|
||||
[ext_resource type="Texture2D" uid="uid://cs35h4es4e6p" path="res://assets/images/gun1.png" id="2_s027a"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3o7a2w3qyl4o" path="res://assets/images/tile.png" id="3_14505"]
|
||||
[ext_resource type="AudioStream" uid="uid://de4sr2qpjr1w2" path="res://assets/sounds/shoot.wav" id="4_4wcc8"]
|
||||
[ext_resource type="AudioStream" uid="uid://5b7eonllfufp" path="res://assets/sounds/hitHurt.wav" id="5_8sknh"]
|
||||
[ext_resource type="Script" uid="uid://ca8an62xpl0e4" path="res://assets/scripts/disposableParticles.gd" id="6_0gfpk"]
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_0gfpk"]
|
||||
light_mode = 1
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_xyegg"]
|
||||
size = Vector3(31, 31, 1)
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_14505"]
|
||||
light_mode = 1
|
||||
|
||||
[sub_resource type="Animation" id="Animation_s027a"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("gun:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_14505"]
|
||||
resource_name = "shoot"
|
||||
length = 0.4
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("gun:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.4),
|
||||
"transitions": PackedFloat32Array(0.13869628, 2.0000021, 0.7320437),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(1.2, 0.5), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4wcc8"]
|
||||
resource_name = "shoot_flip"
|
||||
length = 0.4
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("gun:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.4),
|
||||
"transitions": PackedFloat32Array(0.13869628, 2.0000021, 0.7320437),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, -1), Vector2(1.2, -0.5), Vector2(1, -1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_4wcc8"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_s027a"),
|
||||
&"shoot": SubResource("Animation_14505"),
|
||||
&"shoot_flip": SubResource("Animation_4wcc8")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xyegg"]
|
||||
size = Vector2(31, 31)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pymst"]
|
||||
size = Vector2(24, 24)
|
||||
|
||||
[sub_resource type="Curve" id="Curve_14505"]
|
||||
_data = [Vector2(0.66548043, 0.9809523), 0.0, 0.0, 0, 0, Vector2(1, 0.009523869), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_4wcc8"]
|
||||
offsets = PackedFloat32Array(0.8745098, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[node name="Player" type="CharacterBody2D" unique_id=1190467346]
|
||||
script = ExtResource("1_rwm0n")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=1343075480]
|
||||
visible = false
|
||||
offset_left = -16.0
|
||||
offset_top = -16.0
|
||||
offset_right = 15.0
|
||||
offset_bottom = 15.0
|
||||
color = Color(1, 0, 0, 1)
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="." unique_id=982630085]
|
||||
material = SubResource("CanvasItemMaterial_0gfpk")
|
||||
position = Vector2(-0.5, -0.5)
|
||||
color = Color(1, 0, 0, 1)
|
||||
polygon = PackedVector2Array(-15, -15, 16, -15, 16, 16, -15, 16)
|
||||
|
||||
[node name="MeshInstance2D" type="MeshInstance2D" parent="." unique_id=1817854395]
|
||||
modulate = Color(0, 0, 0, 0.2509804)
|
||||
mesh = SubResource("BoxMesh_xyegg")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=641690279]
|
||||
position_smoothing_enabled = true
|
||||
|
||||
[node name="gun" type="Node2D" parent="." unique_id=1991256638]
|
||||
|
||||
[node name="sprite" type="Sprite2D" parent="gun" unique_id=404962107]
|
||||
material = SubResource("CanvasItemMaterial_14505")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_s027a")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 112, 16, 16)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=993544515]
|
||||
libraries/ = SubResource("AnimationLibrary_4wcc8")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=266552910]
|
||||
visible = false
|
||||
shape = SubResource("RectangleShape2D_xyegg")
|
||||
|
||||
[node name="hitbox" type="Area2D" parent="." unique_id=1769955622 groups=["playerHitbox"]]
|
||||
visible = false
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
metadata/playerHitbox = 1
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox" unique_id=929455950]
|
||||
shape = SubResource("RectangleShape2D_pymst")
|
||||
debug_color = Color(0.37601954, 0.6145431, 0, 0.41960785)
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="." unique_id=1388686543]
|
||||
scale = Vector2(50, 50)
|
||||
shadow_enabled = true
|
||||
shadow_color = Color(0, 0, 0, 1)
|
||||
texture = ExtResource("3_14505")
|
||||
|
||||
[node name="Timer" type="Timer" parent="." unique_id=1120887048]
|
||||
wait_time = 0.05
|
||||
autostart = true
|
||||
ignore_time_scale = true
|
||||
|
||||
[node name="explode" type="CPUParticles2D" parent="." unique_id=1217002006]
|
||||
z_index = -3
|
||||
emitting = false
|
||||
amount = 20
|
||||
lifetime = 10.0
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 20.0
|
||||
initial_velocity_max = 50.0
|
||||
linear_accel_min = -25.0
|
||||
linear_accel_max = -25.0
|
||||
scale_amount_min = 8.0
|
||||
scale_amount_max = 16.0
|
||||
scale_amount_curve = SubResource("Curve_14505")
|
||||
color = Color(1, 0, 0, 1)
|
||||
color_ramp = SubResource("Gradient_4wcc8")
|
||||
script = ExtResource("6_0gfpk")
|
||||
|
||||
[node name="shootsfx" type="AudioStreamPlayer2D" parent="." unique_id=853884099]
|
||||
stream = ExtResource("4_4wcc8")
|
||||
|
||||
[node name="hitsfx" type="AudioStreamPlayer2D" parent="." unique_id=640571283]
|
||||
stream = ExtResource("5_8sknh")
|
||||
|
||||
[connection signal="area_entered" from="hitbox" to="." method="_on_hitbox_area_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_framesave_timeout"]
|
||||
@@ -0,0 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://7d67o6b6fcut"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://etjisg8welsn" path="res://assets/scenes/enemyBullet.tscn" id="1_3t5k8"]
|
||||
[ext_resource type="Script" uid="uid://dnxmn06yejksk" path="res://assets/scripts/player_bullet.gd" id="2_qweep"]
|
||||
|
||||
[node name="EnemyBullet" unique_id=822797430 instance=ExtResource("1_3t5k8")]
|
||||
z_index = 1
|
||||
script = ExtResource("2_qweep")
|
||||
|
||||
[node name="MeshInstance2D" parent="." index="0" unique_id=903508644]
|
||||
modulate = Color(1, 0, 0, 1)
|
||||
|
||||
[node name="hitme" parent="." index="1" unique_id=194049910]
|
||||
z_index = 1
|
||||
collision_layer = 16
|
||||
collision_mask = 16
|
||||
@@ -0,0 +1,213 @@
|
||||
[gd_scene format=3 uid="uid://bjptrvvfk00r"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://iwxi6s8i6j81" path="res://assets/scripts/enemy.gd" id="1_kvq5h"]
|
||||
[ext_resource type="Script" uid="uid://ca8an62xpl0e4" path="res://assets/scripts/disposableParticles.gd" id="2_7yqym"]
|
||||
[ext_resource type="AudioStream" uid="uid://5b7eonllfufp" path="res://assets/sounds/hitHurt.wav" id="2_ag6wx"]
|
||||
[ext_resource type="AudioStream" uid="uid://d3ok8rhcq4kmr" path="res://assets/sounds/shootEnemy.wav" id="3_yw082"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xyegg"]
|
||||
size = Vector2(30, 30)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kvq5h"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Polygon2D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Polygon2D:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.5707964]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Polygon2D:color")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(0.6166668, 0, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ag6wx"]
|
||||
resource_name = "flash"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = false
|
||||
tracks/0/path = NodePath("Polygon2D:color")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.06666667, 0.16666667, 0.3),
|
||||
"transitions": PackedFloat32Array(3.605001, 3.732124, 1),
|
||||
"update": 0,
|
||||
"values": [Color(0.6166668, 0, 1, 1), Color(1, 1, 1, 1), Color(0.6156863, 0, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Polygon2D:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.13333334, 0.5),
|
||||
"transitions": PackedFloat32Array(4.1410594, 0.34151012, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(0.3, 0.3), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kbpvo"]
|
||||
resource_name = "shoot"
|
||||
length = 0.4
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Polygon2D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.4),
|
||||
"transitions": PackedFloat32Array(0.13869622, 2, 0.73204285),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(1.2, 0.5), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_fg8cn"]
|
||||
resource_name = "spawn"
|
||||
length = 0.8
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Polygon2D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.33333334, 0.8),
|
||||
"transitions": PackedFloat32Array(0.36602157, 1.0352651, 3.1383355),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(1.25, 1.25), Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Polygon2D:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.6),
|
||||
"transitions": PackedFloat32Array(1.8025008, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.5707963267948966]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_55kjn"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_kvq5h"),
|
||||
&"flash": SubResource("Animation_ag6wx"),
|
||||
&"shoot": SubResource("Animation_kbpvo"),
|
||||
&"spawn": SubResource("Animation_fg8cn")
|
||||
}
|
||||
|
||||
[sub_resource type="Curve" id="Curve_xyegg"]
|
||||
_data = [Vector2(0.66548043, 0.9809523), 0.0, 0.0, 0, 0, Vector2(1, 0.009523869), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_pymst"]
|
||||
offsets = PackedFloat32Array(0, 0.69411767, 0.69803923, 0.8745098, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0.48555556, 0.48555556, 0.48555556, 1, 0.46, 0.46, 0.46, 1, 0.51, 0.51, 0.51, 1, 1, 1, 1, 0)
|
||||
|
||||
[node name="Enemy" type="CharacterBody2D" unique_id=1421049985]
|
||||
collision_layer = 16
|
||||
collision_mask = 16
|
||||
script = ExtResource("1_kvq5h")
|
||||
metadata/enemy = 1
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1723115153]
|
||||
visible = false
|
||||
shape = SubResource("RectangleShape2D_xyegg")
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="." unique_id=274914633]
|
||||
rotation = 1.5707964
|
||||
color = Color(0.6166668, 0, 1, 1)
|
||||
polygon = PackedVector2Array(-14.999999, 15.000001, -14.999999, 15.000001, -15.000001, -14.999999, 14.999999, -15.000001, 15.000001, 14.999999)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1072188506]
|
||||
libraries/ = SubResource("AnimationLibrary_55kjn")
|
||||
|
||||
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="." unique_id=1305506168]
|
||||
|
||||
[node name="Timer" type="Timer" parent="." unique_id=437715343]
|
||||
wait_time = 0.1
|
||||
autostart = true
|
||||
|
||||
[node name="RayCast2D" type="RayCast2D" parent="." unique_id=957428599]
|
||||
target_position = Vector2(400, 0)
|
||||
collision_mask = 512
|
||||
|
||||
[node name="explode" type="CPUParticles2D" parent="." unique_id=1638487851]
|
||||
z_index = -3
|
||||
emitting = false
|
||||
amount = 20
|
||||
lifetime = 10.0
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 20.0
|
||||
initial_velocity_max = 50.0
|
||||
linear_accel_min = -25.0
|
||||
linear_accel_max = -25.0
|
||||
scale_amount_min = 8.0
|
||||
scale_amount_max = 16.0
|
||||
scale_amount_curve = SubResource("Curve_xyegg")
|
||||
color = Color(0.45342964, 0.0022321118, 0.7445152, 1)
|
||||
color_ramp = SubResource("Gradient_pymst")
|
||||
script = ExtResource("2_7yqym")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=1205892242]
|
||||
offset_left = -15.0
|
||||
offset_top = -21.0
|
||||
offset_right = 15.0
|
||||
offset_bottom = -18.0
|
||||
color = Color(1, 1, 1, 0.2509804)
|
||||
|
||||
[node name="health" type="ColorRect" parent="." unique_id=1962272317]
|
||||
offset_left = -15.0
|
||||
offset_top = -21.0
|
||||
offset_right = 15.0
|
||||
offset_bottom = -18.0
|
||||
color = Color(0.8124417, 0, 0.111754455, 1)
|
||||
|
||||
[node name="hitsfx" type="AudioStreamPlayer2D" parent="." unique_id=2128530763]
|
||||
stream = ExtResource("2_ag6wx")
|
||||
|
||||
[node name="shootsfx" type="AudioStreamPlayer2D" parent="." unique_id=408136521]
|
||||
stream = ExtResource("3_yw082")
|
||||
volume_db = -10.0
|
||||
|
||||
[node name="snappie" type="Timer" parent="." unique_id=807725500]
|
||||
wait_time = 0.05
|
||||
autostart = true
|
||||
ignore_time_scale = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_new_path"]
|
||||
[connection signal="timeout" from="snappie" to="." method="_on_snappie_timeout"]
|
||||
@@ -0,0 +1,72 @@
|
||||
[gd_scene format=3 uid="uid://dixc62oses4hl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://chofj1gn6jmyo" path="res://assets/images/upgrades/dashMachine.png" id="1_efxjv"]
|
||||
[ext_resource type="Script" uid="uid://b3rft2lmj60k0" path="res://assets/scripts/upgrade_ui.gd" id="1_v2t1u"]
|
||||
[ext_resource type="AudioStream" uid="uid://dt154t2aall5d" path="res://assets/sounds/break.wav" id="3_64vnu"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_xyegg"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_xyegg"]
|
||||
_data = [Vector2(0.5017794, 0.99047613), 0.0, 0.0, 0, 0, Vector2(1, 0.019047618), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[node name="Control2" type="Control" unique_id=1424148917]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 48.0
|
||||
offset_bottom = 48.0
|
||||
script = ExtResource("1_v2t1u")
|
||||
|
||||
[node name="goldrect" type="ColorRect" parent="." unique_id=140383699]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_right = 48.0
|
||||
offset_bottom = 48.0
|
||||
color = Color(0.8, 0.6, 0, 1)
|
||||
|
||||
[node name="texture" type="TextureRect" parent="." unique_id=1844486601]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 0
|
||||
offset_right = 48.0
|
||||
offset_bottom = 48.0
|
||||
scale = Vector2(0.3, 0.3)
|
||||
pivot_offset_ratio = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("1_efxjv")
|
||||
|
||||
[node name="progress" type="ColorRect" parent="." unique_id=1719328911]
|
||||
layout_mode = 0
|
||||
offset_left = 48.0
|
||||
offset_right = 48.0
|
||||
offset_bottom = 48.0
|
||||
pivot_offset_ratio = Vector2(1, 0)
|
||||
color = Color(0, 0, 0, 0.2509804)
|
||||
|
||||
[node name="Label" type="Label" parent="." unique_id=568341339]
|
||||
layout_mode = 1
|
||||
offset_top = 25.0
|
||||
offset_right = 48.0
|
||||
offset_bottom = 48.0
|
||||
pivot_offset_ratio = Vector2(1, 0)
|
||||
text = "x1"
|
||||
label_settings = SubResource("LabelSettings_xyegg")
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="particles" type="CPUParticles2D" parent="." unique_id=1967275328]
|
||||
position = Vector2(24, 24)
|
||||
emitting = false
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 300.0
|
||||
initial_velocity_max = 500.0
|
||||
linear_accel_min = -500.0
|
||||
linear_accel_max = -300.0
|
||||
scale_amount_min = 4.0
|
||||
scale_amount_max = 8.0
|
||||
scale_amount_curve = SubResource("Curve_xyegg")
|
||||
color = Color(1, 1, 1, 0.5019608)
|
||||
|
||||
[node name="breaksfx" type="AudioStreamPlayer2D" parent="." unique_id=1024345853]
|
||||
stream = ExtResource("3_64vnu")
|
||||
volume_db = -10.0
|
||||
@@ -0,0 +1,7 @@
|
||||
extends CPUParticles2D
|
||||
|
||||
var unlock := false
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if unlock and not emitting:
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://ca8an62xpl0e4
|
||||
@@ -0,0 +1,176 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
@onready var bullet = preload("res://assets/scenes/enemyBullet.tscn")
|
||||
@onready var explosionSFX = preload("res://assets/scenes/explosionsfx.tscn")
|
||||
|
||||
@onready var player = $"../../Player"
|
||||
@onready var poly = $"Polygon2D"
|
||||
@onready var animations = $AnimationPlayer
|
||||
@onready var healthBar = $health
|
||||
@onready var healthBg = $ColorRect
|
||||
@onready var nav_agent: NavigationAgent2D = $NavigationAgent2D
|
||||
@onready var ray:= $RayCast2D
|
||||
@onready var hitsfx = $hitsfx
|
||||
@onready var shootsfx = $shootsfx
|
||||
const RANGE = 400.0
|
||||
|
||||
var curShootVal := 1.0
|
||||
var lock := true
|
||||
@export var shootDelay := 1.0
|
||||
|
||||
var health := 100.0
|
||||
var maxHealth := 100.0
|
||||
|
||||
var wave := 1
|
||||
|
||||
var flash := 0.0
|
||||
|
||||
var knockback := Vector2.ZERO
|
||||
|
||||
var frameData = {}
|
||||
|
||||
var transitioning := false
|
||||
var transitionState = [false, false, false]
|
||||
var targetState = []
|
||||
|
||||
var ticks = 0
|
||||
var tickToDel = 0
|
||||
|
||||
func moveback(seconds):
|
||||
if ticks < 5: return
|
||||
|
||||
print("lets go")
|
||||
targetState = frameData[max(tickToDel, ticks - (int(floor(seconds)) * 20))]
|
||||
transitioning = true
|
||||
|
||||
func _ready():
|
||||
animations.play("spawn")
|
||||
|
||||
await get_tree().create_timer(0.7).timeout
|
||||
lock = false
|
||||
|
||||
call_deferred("actor_setup")
|
||||
|
||||
func actor_setup() -> void:
|
||||
await get_tree().physics_frame
|
||||
if player:
|
||||
nav_agent.target_position = player.global_position
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
healthBar.size.x += ((health / maxHealth) * healthBg.size.x - healthBar.size.x) * 5 * delta
|
||||
|
||||
if health < 0:
|
||||
if player:
|
||||
|
||||
if Globals.unlockedUpgrades.get("firstAidKit", 0) > 0:
|
||||
player.heal(randf_range(3,5))
|
||||
else:
|
||||
player.heal(randf_range(2,3))
|
||||
|
||||
get_node("explode").emitting = true
|
||||
get_node("explode").unlock = true
|
||||
get_node("explode").reparent(get_parent().get_parent())
|
||||
|
||||
var exlopsion = explosionSFX.instantiate()
|
||||
get_parent().get_parent().add_child(exlopsion)
|
||||
|
||||
queue_free()
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if lock:
|
||||
return
|
||||
|
||||
|
||||
if transitioning:
|
||||
|
||||
position += (targetState[0] - position) * 5 * delta / Engine.time_scale
|
||||
rotation += (targetState[1] - rotation) * 5 * delta / Engine.time_scale
|
||||
velocity += (targetState[2] - velocity) * 5 * delta / Engine.time_scale
|
||||
|
||||
#
|
||||
#position = position.round()
|
||||
#rotation = round(rotation)
|
||||
#velocity = velocity.round()
|
||||
|
||||
#print((position - targetState[0]).length(), " ", abs(rotation - targetState[1]), " ", (velocity - targetState[2]).length())
|
||||
|
||||
if (position - targetState[0]).length() < 2:
|
||||
position = targetState[0]
|
||||
transitionState[0] = true
|
||||
if abs(rotation - targetState[1]) < 0.05:
|
||||
rotation = targetState[1]
|
||||
transitionState[1] = true
|
||||
if (velocity - targetState[2]).length() < 2:
|
||||
velocity = targetState[2]
|
||||
transitionState[2] = true
|
||||
|
||||
if transitionState.count(true) == len(transitionState):
|
||||
transitioning = false
|
||||
transitionState = [false, false, false]
|
||||
targetState = []
|
||||
|
||||
return
|
||||
|
||||
var nextpos := nav_agent.get_next_path_position()
|
||||
|
||||
ray.rotation += ray.get_angle_to(player.global_position)
|
||||
|
||||
var distance = global_position.distance_to(player.global_position)
|
||||
ray.target_position.x = min(distance, 400)
|
||||
if distance > RANGE and not ray.is_colliding():
|
||||
poly.rotation += poly.get_angle_to(player.global_position) * 5 * delta
|
||||
|
||||
velocity.x += (cos(poly.rotation) * 200 - velocity.x) * 5 * delta
|
||||
velocity.y += (sin(poly.rotation) * 200 - velocity.y) * 5 * delta
|
||||
elif ray.is_colliding():
|
||||
var newvel := (nextpos - global_position).normalized() * 200
|
||||
poly.rotation += poly.get_angle_to(nextpos) * 5 * delta
|
||||
velocity = newvel
|
||||
|
||||
#velocity += (newvel - velocity) * 5 * delta
|
||||
|
||||
#velocity.x += (cos(rotation) * 200 - velocity.x) * 5 * delta
|
||||
#velocity.y += (sin(rotation) * 200 - velocity.y) * 5 * delta
|
||||
else:
|
||||
poly.rotation += poly.get_angle_to(player.global_position) * 5 * delta
|
||||
#ray.rotation += ray.get_angle_to(player.global_position) * 5 * delta
|
||||
|
||||
curShootVal -= delta
|
||||
|
||||
if curShootVal <= 0:
|
||||
var instantiated = bullet.instantiate()
|
||||
instantiated.global_position = global_position
|
||||
instantiated.rotation = poly.rotation
|
||||
instantiated.velocity.x = cos(poly.rotation) * 500
|
||||
instantiated.velocity.y = sin(poly.rotation) * 500
|
||||
instantiated.dealtScale = 1.5 * pow(wave, 0.2)
|
||||
get_parent().get_parent().add_child(instantiated)
|
||||
|
||||
animations.play("shoot")
|
||||
shootsfx.play()
|
||||
curShootVal = shootDelay
|
||||
|
||||
#velocity.x += (-cos(rotation) * 50 - velocity.x) / 5 * delta
|
||||
#velocity.y += (-sin(rotation) * 50 - velocity.y) / 5 * delta
|
||||
velocity.x += (-velocity.x) * 2 * delta
|
||||
velocity.y += (-velocity.y) * 2 * delta
|
||||
|
||||
knockback += -knockback * 5 * delta
|
||||
|
||||
move_and_collide((velocity + knockback) * delta)
|
||||
|
||||
|
||||
|
||||
|
||||
func _on_new_path() -> void:
|
||||
if player:
|
||||
nav_agent.target_position = player.global_position - Vector2(16, 16)
|
||||
|
||||
|
||||
func _on_snappie_timeout() -> void:
|
||||
frameData[ticks] = [position, rotation, velocity]
|
||||
ticks += 1
|
||||
|
||||
if ticks > 240:
|
||||
frameData.erase(tickToDel)
|
||||
tickToDel += 1
|
||||
@@ -0,0 +1 @@
|
||||
uid://iwxi6s8i6j81
|
||||
@@ -0,0 +1,32 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
@onready var playerP = $"../Player"
|
||||
var max_collisions = 0
|
||||
|
||||
var dealtScale := 1.5
|
||||
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if playerP.transitioning: return
|
||||
move_and_collide(velocity * delta)
|
||||
|
||||
|
||||
func _on_area_entered(area: Area2D) -> void:
|
||||
if area.get_meta("playerHitbox", 0) != 0:
|
||||
var player = area.get_parent()
|
||||
|
||||
player.speedScale = dealtScale * pow(0.8, Globals.unlockedUpgrades.get("rollback", 0))
|
||||
player.speedUp = 0.5
|
||||
player.damageScale += dealtScale * pow(0.8, Globals.unlockedUpgrades.get("rollback", 0))
|
||||
player.knockback = Vector2(sin(rotation) * 500 * [0.5, -0.5].pick_random(), cos(rotation) * 500 * [0.5, -0.5].pick_random())
|
||||
|
||||
player.hitsfx.play()
|
||||
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bemc80xgvtkd4
|
||||
@@ -0,0 +1,6 @@
|
||||
extends AudioStreamPlayer2D
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if not playing:
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://ctjyxuafayafk
|
||||
@@ -0,0 +1,30 @@
|
||||
extends Node
|
||||
|
||||
var availableUpgrades := ["dumbbell","firstAidKit", "rollback", "fasterFaster", "speedMayhem", "thoseWereTheDays", "dashMachine", "shotgun"]
|
||||
|
||||
var upgradeDescriptions := {
|
||||
"firstAidKit": "+50% time back",
|
||||
"dumbbell": "+20% damage",
|
||||
"rollback": "-20% speed up when taking damage",
|
||||
"fasterFaster": "+15% speed",
|
||||
"speedMayhem": "deal more damage with more speed",
|
||||
"thoseWereTheDays": "every rollback, gain +10% damage",
|
||||
"dashMachine": "just a better dash.",
|
||||
"shotgun": "a shotgun. literally just a fricking shotgun."
|
||||
}
|
||||
|
||||
var goldUpgradeDescriptionOverrides := {
|
||||
"shotgun": "still a shotgun, but now shiny ooo",
|
||||
"dashMachine": "dash everywhere, go wild.",
|
||||
"stopwatch": "countdowns are 50% slower. its cool isn't it?",
|
||||
"adrenaline": "when 5 seconds left on the health countdown, recieve a 75% buff on EVERYTHING.",
|
||||
"threeWaves": "something is coming in three waves."
|
||||
}
|
||||
|
||||
var unlockedUpgrades = {}
|
||||
|
||||
var DASH_WAIT := 3.0
|
||||
var DASH_LENGTH := 1000.0
|
||||
|
||||
var UPGRADE_ORIG := 30.0
|
||||
var UPGRADE_TIMERSTART := 30.0
|
||||
@@ -0,0 +1 @@
|
||||
uid://ce6cecb4wunfi
|
||||
@@ -0,0 +1,199 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
|
||||
const SPEED := 300.0
|
||||
var health := 30.0 # represented in seconds
|
||||
var newHealth := -1.0
|
||||
|
||||
@onready var bullet = preload("res://assets/scenes/playerBullet.tscn")
|
||||
@onready var gun = $gun
|
||||
@onready var gunSprite = $gun/sprite
|
||||
@onready var animations = $AnimationPlayer
|
||||
@onready var shootsfx = $shootsfx
|
||||
@onready var hitsfx = $hitsfx
|
||||
@onready var dashRect = $MeshInstance2D
|
||||
@onready var poly = $Polygon2D
|
||||
|
||||
signal transitionStart(seconds)
|
||||
|
||||
var speedUp := 0.0
|
||||
var speedScale := 2.0
|
||||
var damageScale := 1.0
|
||||
var minDamageScale := 1.0
|
||||
|
||||
var dashTimer := 0.0
|
||||
|
||||
var dashVel := Vector2.ZERO
|
||||
var knockback := Vector2.ZERO
|
||||
|
||||
var flip := false
|
||||
var ticks = 0
|
||||
var tickToDel = 0
|
||||
|
||||
var frameData = {} # keep position, rotation and velocity for now
|
||||
|
||||
var amountTransition := 0.0
|
||||
var transitioning := false
|
||||
var transitionState = [false, false, false]
|
||||
var targetState = []
|
||||
|
||||
var dead := false
|
||||
|
||||
func heal(seconds):
|
||||
newHealth = health + seconds
|
||||
transitionStart.emit(seconds)
|
||||
#print(frameData)
|
||||
targetState = frameData[max(tickToDel, ticks - (int(floor(seconds)) * 20))]
|
||||
transitioning = true
|
||||
|
||||
func healNoMove(seconds):
|
||||
newHealth = health + seconds
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if damageScale > minDamageScale: damageScale -= delta
|
||||
damageScale = max(damageScale, minDamageScale)
|
||||
|
||||
#ticks += 1
|
||||
|
||||
dashRect.position.y = 31 * dashTimer / Globals.DASH_WAIT / 2 - 31.0 / 2
|
||||
dashRect.scale.y = dashTimer / Globals.DASH_WAIT
|
||||
|
||||
if health < 10:
|
||||
poly.position = Vector2(randi_range(-(10 - health) / 5,(10 - health) / 5), randi_range(-(10 - health) / 5,(10 - health) / 5))
|
||||
|
||||
if health <= 0 and not dead:
|
||||
$explode.emitting = true
|
||||
$explode.unlock = true
|
||||
$explode.reparent(get_parent())
|
||||
$PointLight2D.reparent(get_parent())
|
||||
dead = true
|
||||
hide()
|
||||
|
||||
var grayscaleVal := 1.0
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if dead: return
|
||||
|
||||
if newHealth != -1:
|
||||
health += (newHealth - health) * 3 * delta
|
||||
|
||||
if abs(health - newHealth) < 1:
|
||||
health = newHealth
|
||||
newHealth = -1
|
||||
|
||||
if transitioning:
|
||||
|
||||
grayscaleVal += - grayscaleVal * 10 * delta
|
||||
|
||||
position += (targetState[0] - position) * 5 * delta / Engine.time_scale
|
||||
rotation += (targetState[1] - rotation) * 5 * delta / Engine.time_scale
|
||||
velocity += (targetState[2] - velocity) * 5 * delta / Engine.time_scale
|
||||
|
||||
Engine.time_scale += (0.5 - Engine.time_scale) * 5 * delta / Engine.time_scale
|
||||
|
||||
#
|
||||
#position = position.round()
|
||||
#rotation = round(rotation)
|
||||
#velocity = velocity.round()
|
||||
|
||||
#print((position - targetState[0]).length(), " ", abs(rotation - targetState[1]), " ", (velocity - targetState[2]).length())
|
||||
|
||||
if (position - targetState[0]).length() < 2:
|
||||
position = targetState[0]
|
||||
transitionState[0] = true
|
||||
if abs(rotation - targetState[1]) < 0.05:
|
||||
rotation = targetState[1]
|
||||
transitionState[1] = true
|
||||
if (velocity - targetState[2]).length() < 2:
|
||||
velocity = targetState[2]
|
||||
transitionState[2] = true
|
||||
|
||||
if transitionState.count(true) == len(transitionState):
|
||||
transitioning = false
|
||||
transitionState = [false, false, false]
|
||||
targetState = []
|
||||
health = ceil(health)
|
||||
amountTransition = 0
|
||||
|
||||
return
|
||||
|
||||
grayscaleVal += (1-grayscaleVal) * 2 * delta
|
||||
|
||||
var direction := Input.get_vector("moveLeft", "moveRight", "moveUp", "moveDown")
|
||||
velocity = direction * SPEED
|
||||
|
||||
if Globals.unlockedUpgrades.get("fasterFaster", 0) > 0:
|
||||
velocity *= pow(1.15, Globals.unlockedUpgrades["fasterFaster"])
|
||||
|
||||
gun.rotation += gun.get_angle_to(get_global_mouse_position()) * 7 * delta
|
||||
#print(fposmod(gun.rotation + PI, PI * 2) - PI)
|
||||
var truerot = fposmod(gun.rotation + PI, PI * 2) - PI
|
||||
if truerot < -PI / 2 or truerot > PI / 2:
|
||||
gun.scale.y += (-1 - gun.scale.y) * 10 * delta
|
||||
flip = true
|
||||
else:
|
||||
gun.scale.y += (1 - gun.scale.y) * 10 * delta
|
||||
flip = false
|
||||
|
||||
|
||||
var ang = gun.rotation + gun.get_angle_to(get_global_mouse_position())
|
||||
if Input.is_action_just_pressed("dash") and dashTimer == 0:
|
||||
dashVel = Vector2(cos(ang), sin(ang)) * Globals.DASH_LENGTH
|
||||
dashTimer = Globals.DASH_WAIT
|
||||
|
||||
if dashTimer > 0: dashTimer -= delta
|
||||
else: dashTimer = 0
|
||||
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
if not animations.is_playing():
|
||||
#var ang = gun.rotation + gun.get_angle_to(get_global_mouse_position())
|
||||
var instantiated = bullet.instantiate()
|
||||
instantiated.global_position = global_position
|
||||
instantiated.velocity.x = cos(ang) * 700
|
||||
instantiated.velocity.y = sin(ang) * 700
|
||||
get_parent().add_child(instantiated)
|
||||
|
||||
shootsfx.play()
|
||||
|
||||
if flip: animations.play("shoot_flip")
|
||||
else: animations.play("shoot")
|
||||
|
||||
#if Input.is_action_just_pressed("debugKey"):
|
||||
#targetState = frameData[ticks - 40]
|
||||
#transitioning = true
|
||||
|
||||
if speedUp > 0:
|
||||
Engine.time_scale += (speedScale - Engine.time_scale) * delta / Engine.time_scale
|
||||
speedUp -= delta / speedScale
|
||||
else:
|
||||
speedScale = 1
|
||||
Engine.time_scale += (1 - Engine.time_scale) * 2 * delta / Engine.time_scale
|
||||
|
||||
velocity += knockback
|
||||
velocity += dashVel
|
||||
knockback += -knockback * 5 * delta
|
||||
dashVel += -dashVel * 5 * delta
|
||||
|
||||
move_and_slide()
|
||||
|
||||
|
||||
func _on_framesave_timeout() -> void:
|
||||
frameData[ticks] = [position, rotation, velocity]
|
||||
ticks += 1
|
||||
|
||||
if ticks > 240:
|
||||
frameData.erase(tickToDel)
|
||||
tickToDel += 1
|
||||
|
||||
|
||||
func _on_hitbox_area_entered(area: Area2D) -> void:
|
||||
var themeta = area.get_meta("pickup", 0)
|
||||
#print("floyd")
|
||||
#
|
||||
if themeta != 0:
|
||||
area.get_node("particles").emitting = true
|
||||
area.get_node("particles").reparent(get_parent())
|
||||
healNoMove(3)
|
||||
area.queue_free()
|
||||
|
||||
$"../hud/AnimationPlayer2".play("global/popItUp")
|
||||
@@ -0,0 +1 @@
|
||||
uid://dbofvk7fso8po
|
||||
@@ -0,0 +1,50 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
@onready var player = $"../Player"
|
||||
@onready var bloodParticles = preload("res://assets/scenes/blood.tscn")
|
||||
|
||||
var dmgtotal := float(randi_range(20,40))
|
||||
|
||||
func _ready() -> void:
|
||||
print(dmgtotal)
|
||||
|
||||
if Globals.unlockedUpgrades.get("dumbbell", 0) > 0:
|
||||
dmgtotal *= pow(1.5, Globals.unlockedUpgrades["dumbbell"])
|
||||
if Globals.unlockedUpgrades.get("speedMayhem", 0) > 0:
|
||||
dmgtotal *= pow(1 + (player.velocity.length() + player.dashVel.length()) / 400, Globals.unlockedUpgrades["speedMayhem"])
|
||||
|
||||
print(dmgtotal)
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if player.transitioning: return
|
||||
|
||||
move_and_collide(velocity * delta)
|
||||
|
||||
func _on_area_entered(area: Area2D) -> void:
|
||||
print("yes")
|
||||
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body.get_meta("enemy", 0) == 1:
|
||||
#body.get_node("explode").emitting = true
|
||||
#body.get_node("explode").reparent(body.geat_parent())
|
||||
|
||||
body.health -= dmgtotal
|
||||
body.knockback = Vector2(velocity.x * 0.5, velocity.y * 0.5)
|
||||
body.hitsfx.play()
|
||||
#AnimationPlayer.new().stop()
|
||||
body.get_node("AnimationPlayer").stop()
|
||||
body.get_node("AnimationPlayer").play("flash")
|
||||
|
||||
var bloodInsta = bloodParticles.instantiate()
|
||||
bloodInsta.emitting = true
|
||||
bloodInsta.unlock = true
|
||||
bloodInsta.global_position = body.global_position
|
||||
get_parent().add_child(bloodInsta)
|
||||
|
||||
#player.heal(randi_range(3,5))
|
||||
|
||||
#body.queue_free()
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://dnxmn06yejksk
|
||||
@@ -0,0 +1,39 @@
|
||||
extends Control
|
||||
|
||||
@onready var texture = $texture
|
||||
@onready var amountLabel = $Label
|
||||
@onready var progressRect = $progress
|
||||
|
||||
@export var imDead := false
|
||||
|
||||
var upgradeID := ""
|
||||
#var amount := 1
|
||||
var timer := Globals.UPGRADE_TIMERSTART
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if imDead and not $particles.emitting:
|
||||
queue_free()
|
||||
|
||||
timer -= delta * Engine.time_scale
|
||||
|
||||
texture.scale += (Vector2(1, 1) - texture.scale) * 7 * delta
|
||||
texture.modulate.a += (1 - texture.modulate.a) * 7 * delta
|
||||
|
||||
progressRect.position.x += (timer / Globals.UPGRADE_TIMERSTART * 48 - progressRect.position.x) * 5 * delta
|
||||
progressRect.size.x += (48 - timer / Globals.UPGRADE_TIMERSTART * 48 - progressRect.size.x) * 5 * delta
|
||||
|
||||
amountLabel.text = str("x", Globals.unlockedUpgrades.get(upgradeID, -1))
|
||||
|
||||
if timer < 0 and not imDead:
|
||||
Globals.unlockedUpgrades[upgradeID] -= 1
|
||||
timer = Globals.UPGRADE_TIMERSTART
|
||||
if Globals.unlockedUpgrades[upgradeID] == 0:
|
||||
Globals.unlockedUpgrades.erase(upgradeID)
|
||||
imDead = true
|
||||
$texture.hide()
|
||||
$progress.hide()
|
||||
$Label.hide()
|
||||
$goldrect.hide()
|
||||
|
||||
$breaksfx.play()
|
||||
$particles.emitting = true
|
||||
@@ -0,0 +1 @@
|
||||
uid://b3rft2lmj60k0
|
||||
@@ -0,0 +1,30 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform sampler2D t0 : hint_screen_texture;
|
||||
uniform float bloom_spread = 1;
|
||||
uniform float bloom_intensity = 2;
|
||||
|
||||
void fragment() {
|
||||
ivec2 size = textureSize(t0, 0);
|
||||
|
||||
float uv_x = SCREEN_UV.x * float(size.x);
|
||||
float uv_y = SCREEN_UV.y * float(size.y);
|
||||
|
||||
vec4 sum = vec4(0.0);
|
||||
for (int n = 0; n < 9; ++n) {
|
||||
uv_y = (SCREEN_UV.y * float(size.y)) + float(bloom_spread * float(n - 4));
|
||||
vec4 h_sum = vec4(0.0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) - int(4.0 * bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) - int(3.0 * bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) - int(2.0 * bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) - int(bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) + int(bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) + int(2.0 * bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) + int(3.0 * bloom_spread), int(uv_y)), 0);
|
||||
h_sum += texelFetch(t0, ivec2(int(uv_x) + int(4.0 * bloom_spread), int(uv_y)), 0);
|
||||
sum += h_sum / 9.0;
|
||||
}
|
||||
|
||||
COLOR = texture(t0, SCREEN_UV) + ((sum / 9.0) * bloom_intensity);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://c8ew170obieqd
|
||||
@@ -0,0 +1,11 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform sampler2D screen_texture : hint_screen_texture, repeat_disable;
|
||||
uniform float saturation : hint_range(0.0, 1.0) = 1.0; // 0 = grayscale, 1 = full color
|
||||
|
||||
void fragment() {
|
||||
vec4 tex = texture(screen_texture, SCREEN_UV);
|
||||
float gray = dot(tex.rgb, vec3(0.299, 0.587, 0.114)); // luminance weights
|
||||
vec3 result = mix(vec3(gray), tex.rgb, saturation);
|
||||
COLOR = vec4(result, tex.a);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://iv65e2k0fx0e
|
||||
@@ -0,0 +1,168 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
|
||||
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
|
||||
|
||||
|
||||
uniform bool overlay = false;
|
||||
|
||||
uniform float scanlines_opacity : hint_range(0.0, 1.0) = 0.4;
|
||||
uniform float scanlines_width : hint_range(0.0, 0.5) = 0.25;
|
||||
uniform float grille_opacity : hint_range(0.0, 1.0) = 0.3;
|
||||
uniform vec2 resolution = vec2(640.0, 480.0);
|
||||
|
||||
uniform bool pixelate = true;
|
||||
|
||||
uniform bool roll = true;
|
||||
uniform float roll_speed = 8.0;
|
||||
uniform float roll_size : hint_range(0.0, 100.0) = 15.0;
|
||||
uniform float roll_variation : hint_range(0.1, 5.0) = 1.8;
|
||||
uniform float distort_intensity : hint_range(0.0, 0.2) = 0.05;
|
||||
|
||||
uniform float noise_opacity : hint_range(0.0, 1.0) = 0.4;
|
||||
uniform float noise_speed = 5.0;
|
||||
|
||||
uniform float static_noise_intensity : hint_range(0.0, 1.0) = 0.06;
|
||||
|
||||
uniform float aberration : hint_range(-1.0, 1.0) = 0.03;
|
||||
uniform float brightness = 1.4;
|
||||
uniform bool discolor = true;
|
||||
|
||||
uniform float warp_amount : hint_range(0.0, 5.0) = 1.0;
|
||||
uniform bool clip_warp = false;
|
||||
|
||||
uniform float vignette_intensity = 0.4;
|
||||
uniform float vignette_opacity : hint_range(0.0, 1.0) = 0.5;
|
||||
|
||||
|
||||
|
||||
vec2 random(vec2 uv){
|
||||
uv = vec2(dot(uv, vec2(127.1,311.7)), dot(uv, vec2(269.5,183.3)));
|
||||
return -1.0 + 2.0 * fract(sin(uv) * 43758.5453123);
|
||||
}
|
||||
|
||||
float noise(vec2 uv) {
|
||||
vec2 uv_index = floor(uv);
|
||||
vec2 uv_fract = fract(uv);
|
||||
vec2 blur = smoothstep(0.0, 1.0, uv_fract);
|
||||
|
||||
return mix(
|
||||
mix(dot(random(uv_index + vec2(0.0,0.0)), uv_fract - vec2(0.0,0.0)),
|
||||
dot(random(uv_index + vec2(1.0,0.0)), uv_fract - vec2(1.0,0.0)), blur.x),
|
||||
mix(dot(random(uv_index + vec2(0.0,1.0)), uv_fract - vec2(0.0,1.0)),
|
||||
dot(random(uv_index + vec2(1.0,1.0)), uv_fract - vec2(1.0,1.0)), blur.x),
|
||||
blur.y
|
||||
) * 0.5 + 0.5;
|
||||
}
|
||||
|
||||
vec2 warp(vec2 uv){
|
||||
vec2 delta = uv - 0.5;
|
||||
float delta2 = dot(delta.xy, delta.xy);
|
||||
float delta4 = delta2 * delta2;
|
||||
float delta_offset = delta4 * warp_amount;
|
||||
return uv + delta * delta_offset;
|
||||
}
|
||||
|
||||
float border (vec2 uv){
|
||||
float radius = min(warp_amount, 0.08);
|
||||
radius = max(min(min(abs(radius * 2.0), abs(1.0)), abs(1.0)), 1e-5);
|
||||
vec2 abs_uv = abs(uv * 2.0 - 1.0) - vec2(1.0, 1.0) + radius;
|
||||
float dist = length(max(vec2(0.0), abs_uv)) / radius;
|
||||
float square = smoothstep(0.96, 1.0, dist);
|
||||
return clamp(1.0 - square, 0.0, 1.0);
|
||||
}
|
||||
|
||||
float vignette(vec2 uv){
|
||||
uv *= 1.0 - uv.xy;
|
||||
float vignette = uv.x * uv.y * 15.0;
|
||||
return pow(vignette, vignette_intensity * vignette_opacity);
|
||||
}
|
||||
|
||||
|
||||
void fragment()
|
||||
{
|
||||
vec2 uv = overlay ? warp(SCREEN_UV) : warp(UV);
|
||||
vec2 text_uv = uv;
|
||||
vec2 roll_uv = vec2(0.0);
|
||||
float time = roll ? TIME : 0.0;
|
||||
|
||||
if (pixelate){
|
||||
text_uv = ceil(uv * resolution) / resolution;
|
||||
}
|
||||
|
||||
float roll_line = 0.0;
|
||||
if (roll || noise_opacity > 0.0){
|
||||
roll_line = smoothstep(0.3, 0.9, sin(uv.y * roll_size - (time * roll_speed)));
|
||||
roll_line *= roll_line * smoothstep(0.3, 0.9, sin(uv.y * roll_size * roll_variation - (time * roll_speed * roll_variation)));
|
||||
roll_uv = vec2((roll_line * distort_intensity * (1.-UV.x)), 0.0);
|
||||
}
|
||||
|
||||
vec4 text;
|
||||
if (roll){
|
||||
text.r = texture(SCREEN_TEXTURE, text_uv + roll_uv * 0.8 + vec2(aberration, 0.0) * .1).r;
|
||||
text.g = texture(SCREEN_TEXTURE, text_uv + roll_uv * 1.2 - vec2(aberration, 0.0) * .1).g;
|
||||
text.b = texture(SCREEN_TEXTURE, text_uv + roll_uv).b;
|
||||
text.a = 1.0;
|
||||
} else {
|
||||
text.r = texture(SCREEN_TEXTURE, text_uv + vec2(aberration, 0.0) * .1).r;
|
||||
text.g = texture(SCREEN_TEXTURE, text_uv - vec2(aberration, 0.0) * .1).g;
|
||||
text.b = texture(SCREEN_TEXTURE, text_uv).b;
|
||||
text.a = 1.0;
|
||||
}
|
||||
|
||||
float r = text.r;
|
||||
float g = text.g;
|
||||
float b = text.b;
|
||||
|
||||
uv = warp(UV);
|
||||
|
||||
if (grille_opacity > 0.0){
|
||||
float g_r = smoothstep(0.85, 0.95, abs(sin(uv.x * (resolution.x * 3.14159265))));
|
||||
r = mix(r, r * g_r, grille_opacity);
|
||||
|
||||
float g_g = smoothstep(0.85, 0.95, abs(sin(1.05 + uv.x * (resolution.x * 3.14159265))));
|
||||
g = mix(g, g * g_g, grille_opacity);
|
||||
|
||||
float b_b = smoothstep(0.85, 0.95, abs(sin(2.1 + uv.x * (resolution.x * 3.14159265))));
|
||||
b = mix(b, b * b_b, grille_opacity);
|
||||
}
|
||||
|
||||
text.r = clamp(r * brightness, 0.0, 1.0);
|
||||
text.g = clamp(g * brightness, 0.0, 1.0);
|
||||
text.b = clamp(b * brightness, 0.0, 1.0);
|
||||
|
||||
float scanlines = 0.5;
|
||||
if (scanlines_opacity > 0.0){
|
||||
scanlines = smoothstep(scanlines_width, scanlines_width + 0.5, abs(sin(uv.y * (resolution.y * 3.14159265))));
|
||||
text.rgb = mix(text.rgb, text.rgb * vec3(scanlines), scanlines_opacity);
|
||||
}
|
||||
|
||||
if (noise_opacity > 0.0){
|
||||
float n = smoothstep(0.4, 0.5, noise(uv * vec2(2.0, 200.0) + vec2(10.0, (TIME * (noise_speed)))));
|
||||
roll_line *= n * scanlines * clamp(random((ceil(uv * resolution) / resolution) + vec2(TIME * 0.8, 0.0)).x + 0.8, 0.0, 1.0);
|
||||
text.rgb = clamp(mix(text.rgb, text.rgb + roll_line, noise_opacity), vec3(0.0), vec3(1.0));
|
||||
}
|
||||
|
||||
if (static_noise_intensity > 0.0){
|
||||
text.rgb += clamp(random((ceil(uv * resolution) / resolution) + fract(TIME)).x, 0.0, 1.0) * static_noise_intensity;
|
||||
}
|
||||
|
||||
text.rgb *= border(uv);
|
||||
text.rgb *= vignette(uv);
|
||||
|
||||
if (clip_warp){
|
||||
text.a = border(uv);
|
||||
}
|
||||
|
||||
if (discolor){
|
||||
float saturation = 0.5;
|
||||
float contrast = 1.2;
|
||||
vec3 greyscale = vec3(text.r + text.g + text.b) / 3.;
|
||||
text.rgb = mix(text.rgb, greyscale, saturation);
|
||||
|
||||
float midpoint = pow(0.5, 2.2);
|
||||
text.rgb = (text.rgb - vec3(midpoint)) * contrast + midpoint;
|
||||
}
|
||||
|
||||
COLOR = text;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://mbnolbvkgv2e
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://c74t2je247tit"
|
||||
path="res://.godot/imported/blipSelect.wav-de258546cfca554e7f4e9bacf8531c7c.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/blipSelect.wav"
|
||||
dest_files=["res://.godot/imported/blipSelect.wav-de258546cfca554e7f4e9bacf8531c7c.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dt154t2aall5d"
|
||||
path="res://.godot/imported/break.wav-db0dc963ca187eba995ad2567e0eabb2.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/break.wav"
|
||||
dest_files=["res://.godot/imported/break.wav-db0dc963ca187eba995ad2567e0eabb2.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b7gupw3d7sfho"
|
||||
path="res://.godot/imported/explosion.wav-52e05e8d4b6600106c8dde082c90f915.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/explosion.wav"
|
||||
dest_files=["res://.godot/imported/explosion.wav-52e05e8d4b6600106c8dde082c90f915.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://5b7eonllfufp"
|
||||
path="res://.godot/imported/hitHurt.wav-f5c862522ab53cfcebe43a49f03467c5.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/hitHurt.wav"
|
||||
dest_files=["res://.godot/imported/hitHurt.wav-f5c862522ab53cfcebe43a49f03467c5.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cxub0psx0jhru"
|
||||
path="res://.godot/imported/powerUp.wav-c3616ba4a45e0da0d67ac257bc645e97.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/powerUp.wav"
|
||||
dest_files=["res://.godot/imported/powerUp.wav-c3616ba4a45e0da0d67ac257bc645e97.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://de4sr2qpjr1w2"
|
||||
path="res://.godot/imported/shoot.wav-05f65b79fd05091fd1b8b7ddc844694a.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/shoot.wav"
|
||||
dest_files=["res://.godot/imported/shoot.wav-05f65b79fd05091fd1b8b7ddc844694a.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://d3ok8rhcq4kmr"
|
||||
path="res://.godot/imported/shootEnemy.wav-3f5ba9a06b9c4c7d11d05380df3970ab.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/shootEnemy.wav"
|
||||
dest_files=["res://.godot/imported/shootEnemy.wav-3f5ba9a06b9c4c7d11d05380df3970ab.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||