This commit is contained in:
2025-10-04 21:33:59 +02:00
34 changed files with 617 additions and 18 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdw10u7lrsy7r"
path="res://.godot/imported/Card_template_grey.png-a0b6355fb02a44ccb50fd381d903a48f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Card_template_grey.png"
dest_files=["res://.godot/imported/Card_template_grey.png-a0b6355fb02a44ccb50fd381d903a48f.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dpd4hnlfynh0i"
path="res://.godot/imported/Cursor_projectile_symbol.png-b2a3a12cd6a24a0bf633018d13f2ad50.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Cursor_projectile_symbol.png"
dest_files=["res://.godot/imported/Cursor_projectile_symbol.png-b2a3a12cd6a24a0bf633018d13f2ad50.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3l101ce44jv7"
path="res://.godot/imported/Defenestration_logo.png-e248238540bc309f75acdaa20a9bf641.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Defenestration_logo.png"
dest_files=["res://.godot/imported/Defenestration_logo.png-e248238540bc309f75acdaa20a9bf641.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://blsytdrvmuylq"
path="res://.godot/imported/Double_arrow_symbol.png-59af0818466fd107eff909514f263d1e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Double_arrow_symbol.png"
dest_files=["res://.godot/imported/Double_arrow_symbol.png-59af0818466fd107eff909514f263d1e.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://binpnf3e537h2"
path="res://.godot/imported/Firewall_symbol.png-f756bab2f89b9738f8563509514984ef.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Firewall_symbol.png"
dest_files=["res://.godot/imported/Firewall_symbol.png-f756bab2f89b9738f8563509514984ef.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctlagn5hjsvh"
path="res://.godot/imported/Malwarebites_logo.png-f8a6eb63fb5f40c5a5aeda8c8525e22b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Malwarebites_logo.png"
dest_files=["res://.godot/imported/Malwarebites_logo.png-f8a6eb63fb5f40c5a5aeda8c8525e22b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmq8shsoq55dx"
path="res://.godot/imported/Mine_symbol.png-c09274fe6cec909b0735f9912f0a2b07.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Mine_symbol.png"
dest_files=["res://.godot/imported/Mine_symbol.png-c09274fe6cec909b0735f9912f0a2b07.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dcvpult8xfit6"
path="res://.godot/imported/Nortoff_logo.png-314f669a556e686cd6d4f765cd643c54.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Nortoff_logo.png"
dest_files=["res://.godot/imported/Nortoff_logo.png-314f669a556e686cd6d4f765cd643c54.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://sucbvkchv81a"
path="res://.godot/imported/Piercing_shot_symbol.png-5a00b075768c3e1ea245cf5cfc418931.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Piercing_shot_symbol.png"
dest_files=["res://.godot/imported/Piercing_shot_symbol.png-5a00b075768c3e1ea245cf5cfc418931.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cylh1eapxj2of"
path="res://.godot/imported/Rocket_launcher_symbol.png-6125523cbd637e40c406d002ff105322.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/Rocket_launcher_symbol.png"
dest_files=["res://.godot/imported/Rocket_launcher_symbol.png-6125523cbd637e40c406d002ff105322.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3y6mg4kulohd"
path="res://.godot/imported/The_Katana_2_symbol.png-48cd9337ea310dd2fb62e21c2cfad952.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/The_Katana_2_symbol.png"
dest_files=["res://.godot/imported/The_Katana_2_symbol.png-48cd9337ea310dd2fb62e21c2cfad952.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bs8s32docswao"
path="res://.godot/imported/WackAfee_logo.png-48c7ca79950299ed9dc4ce87e8250339.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/WackAfee_logo.png"
dest_files=["res://.godot/imported/WackAfee_logo.png-48c7ca79950299ed9dc4ce87e8250339.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

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://3uk0hyhq2i4y"
path="res://.godot/imported/module-krypton-synthwave-cyberpunk-370784.mp3-404ff8d4e45a1543db4b6caca3283a79.mp3str"
[deps]
source_file="res://assets/music/module-krypton-synthwave-cyberpunk-370784.mp3"
dest_files=["res://.godot/imported/module-krypton-synthwave-cyberpunk-370784.mp3-404ff8d4e45a1543db4b6caca3283a79.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dtojrcxtfvk4e"
path="res://.godot/imported/workout-cyberpunk-music-348203.mp3-56ec222456acb6eda4dd3152118fe1a4.mp3str"
[deps]
source_file="res://assets/music/workout-cyberpunk-music-348203.mp3"
dest_files=["res://.godot/imported/workout-cyberpunk-music-348203.mp3-56ec222456acb6eda4dd3152118fe1a4.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -1,12 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://c5qbqj52kr0aw"]
[gd_scene load_steps=4 format=3 uid="uid://c5qbqj52kr0aw"]
[ext_resource type="PackedScene" uid="uid://dhhnr3xkxbxlu" path="res://player.tscn" id="1_vonw3"]
[ext_resource type="PackedScene" uid="uid://bsv3h2lpv7h77" path="res://virus.tscn" id="2_oi3di"]
[ext_resource type="PackedScene" uid="uid://bldi3fw0vmlu3" path="res://music.tscn" id="3_oi3di"]
[node name="Level" type="Node2D"]
[node name="Player" parent="." instance=ExtResource("1_vonw3")]
position = Vector2(349, 283)
[node name="Virus" parent="." instance=ExtResource("2_oi3di")]
position = Vector2(969, 289)
position = Vector2(468, -3)
[node name="MusicMixer" parent="." instance=ExtResource("3_oi3di")]

49
growth/music.tscn Normal file
View File

@@ -0,0 +1,49 @@
[gd_scene load_steps=6 format=3 uid="uid://bldi3fw0vmlu3"]
[ext_resource type="AudioStream" uid="uid://3uk0hyhq2i4y" path="res://assets/music/module-krypton-synthwave-cyberpunk-370784.mp3" id="1_5vxup"]
[ext_resource type="Script" uid="uid://b3y321qsrrrdw" path="res://music_mixer.gd" id="1_w5q55"]
[ext_resource type="AudioStream" uid="uid://dtojrcxtfvk4e" path="res://assets/music/workout-cyberpunk-music-348203.mp3" id="2_w5q55"]
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_lr66j"]
clip_count = 2
clip_0/name = &"Base"
clip_0/stream = ExtResource("1_5vxup")
clip_0/auto_advance = 1
clip_0/next_clip = 0
clip_1/name = &"Boss"
clip_1/stream = ExtResource("2_w5q55")
clip_1/auto_advance = 1
clip_1/next_clip = 1
_transitions = {
Vector2i(-1, -1): {
"fade_beats": 2.0,
"fade_mode": 3,
"from_time": 2,
"to_time": 2
},
Vector2i(1, 1): {
"fade_beats": 2.0,
"fade_mode": 3,
"from_time": 2,
"to_time": 2
}
}
[sub_resource type="CircleShape2D" id="CircleShape2D_khlsn"]
[node name="MusicMixer" type="Node2D"]
script = ExtResource("1_w5q55")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamInteractive_lr66j")
[node name="BossArea" type="Area2D" parent="."]
collision_layer = 31
collision_mask = 31
[node name="CollisionShape2D" type="CollisionShape2D" parent="BossArea"]
scale = Vector2(50, 50)
shape = SubResource("CircleShape2D_khlsn")
[connection signal="body_entered" from="BossArea" to="." method="_on_boss_area_body_entered"]
[connection signal="body_exited" from="BossArea" to="." method="_on_boss_area_body_exited"]

12
growth/music_mixer.gd Normal file
View File

@@ -0,0 +1,12 @@
extends Node
func _ready() -> void:
$AudioStreamPlayer.play()
func _on_boss_area_body_entered(_body: Node2D) -> void:
$AudioStreamPlayer.get_stream_playback().switch_to_clip_by_name("Boss")
func _on_boss_area_body_exited(_body: Node2D) -> void:
$AudioStreamPlayer.get_stream_playback().switch_to_clip_by_name("Base")

View File

@@ -0,0 +1 @@
uid://b3y321qsrrrdw

View File

@@ -1,4 +1,4 @@
extends Node2D
extends CharacterBody2D
# ActionState should probably be expandable to
enum ActionState {None, Cycling, Firing, Charging}
@@ -8,9 +8,11 @@ enum MoveState {Still, Moving, Dashing, Knockback}
@export var dash_cooldown = 0.3
@export var hand_size = 3
@onready var camera: Camera2D = %PlayerCamera
@onready var sprite: AnimatedSprite2D = $PlayerSprite
var shield_active = true;
var move_direction = Vector2.ZERO;
var velocity = Vector2.ZERO # The player's movement vector.
var target = Vector2.ZERO # The position of the player's cursor.
const drawpile = [];
@@ -43,6 +45,13 @@ func update_move_direction():
func update_target_coords():
target = get_viewport().get_mouse_position()
sprite.look_at(get_global_mouse_position())
func update_camera_position():
if not camera:
return;
var camera_target = (target - screen_size / 2) / 4
camera.position = camera.position.lerp(camera_target, 0.1)
func charge():
# Charge attack
@@ -106,6 +115,7 @@ func _ready():
func _process(delta):
update_target_coords();
update_camera_position();
if (move_state != MoveState.Dashing):
update_move_direction();
@@ -126,9 +136,8 @@ func _process(delta):
move_state = MoveState.Moving;
else:
move_state = MoveState.Still;
position += velocity * delta
position = position.clamp(Vector2.ZERO, screen_size)
move_and_slide();
# Handle action_state
if Input.is_action_pressed("play_card"):

View File

@@ -1,9 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://dhhnr3xkxbxlu"]
[ext_resource type="Script" uid="uid://b6lfgkrbmr8ee" path="res://player.gd" id="1_4flbx"]
[ext_resource type="Texture2D" uid="uid://c764pu231ki6l" path="res://icon.svg" id="2_onrkg"]
[ext_resource type="Texture2D" uid="uid://dcvpult8xfit6" path="res://assets/icons/Nortoff_logo.png" id="2_onrkg"]
[sub_resource type="SpriteFrames" id="SpriteFrames_i3pqv"]
[sub_resource type="SpriteFrames" id="SpriteFrames_onrkg"]
animations = [{
"frames": [{
"duration": 1.0,
@@ -14,18 +14,26 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_onrkg"]
size = Vector2(126, 128)
[sub_resource type="CircleShape2D" id="CircleShape2D_i3pqv"]
[node name="Player" type="Node2D"]
[node name="Player" type="CharacterBody2D"]
collision_layer = 21
collision_mask = 31
motion_mode = 1
script = ExtResource("1_4flbx")
metadata/_edit_group_ = true
metadata/_edit_lock_ = true
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_i3pqv")
[node name="PlayerSprite" type="AnimatedSprite2D" parent="."]
unique_name_in_owner = true
scale = Vector2(0.1, 0.1)
sprite_frames = SubResource("SpriteFrames_onrkg")
[node name="Area2D" type="Area2D" parent="."]
collision_layer = 2
[node name="Hurtbox" type="CollisionShape2D" parent="."]
scale = Vector2(2.5, 2.5)
shape = SubResource("CircleShape2D_i3pqv")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("RectangleShape2D_onrkg")
[node name="PlayerCamera" type="Camera2D" parent="."]
unique_name_in_owner = true
position_smoothing_enabled = true