diff --git a/Animations/Alegreya-Regular.ttf b/Animations/Alegreya-Regular.ttf new file mode 100644 index 0000000..d429c1e Binary files /dev/null and b/Animations/Alegreya-Regular.ttf differ diff --git a/Animations/Alegreya-Regular.ttf.import b/Animations/Alegreya-Regular.ttf.import new file mode 100644 index 0000000..069ac06 --- /dev/null +++ b/Animations/Alegreya-Regular.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://bu2j6b01rdsf6" +path="res://.godot/imported/Alegreya-Regular.ttf-2cd913ccea05a4852bcc67731f6ca49e.fontdata" + +[deps] + +source_file="res://Animations/Alegreya-Regular.ttf" +dest_files=["res://.godot/imported/Alegreya-Regular.ttf-2cd913ccea05a4852bcc67731f6ca49e.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Animations/GameEnding.res b/Animations/GameEnding.res new file mode 100644 index 0000000..c58dc6f Binary files /dev/null and b/Animations/GameEnding.res differ diff --git a/Audio/BGM/An-Imitation-of-Heaven.ogg b/Audio/BGM/An-Imitation-of-Heaven.ogg new file mode 100644 index 0000000..290797d Binary files /dev/null and b/Audio/BGM/An-Imitation-of-Heaven.ogg differ diff --git a/Audio/BGM/An-Imitation-of-Heaven.ogg.import b/Audio/BGM/An-Imitation-of-Heaven.ogg.import new file mode 100644 index 0000000..fd60de8 --- /dev/null +++ b/Audio/BGM/An-Imitation-of-Heaven.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://i80n0wsjidwy" +path="res://.godot/imported/An-Imitation-of-Heaven.ogg-12654ddfdf5a8cd77d3da6d43ce88131.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/An-Imitation-of-Heaven.ogg" +dest_files=["res://.godot/imported/An-Imitation-of-Heaven.ogg-12654ddfdf5a8cd77d3da6d43ce88131.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/GameEnding.ogg b/Audio/BGM/GameEnding.ogg new file mode 100644 index 0000000..a791273 Binary files /dev/null and b/Audio/BGM/GameEnding.ogg differ diff --git a/Audio/BGM/GameEnding.ogg.import b/Audio/BGM/GameEnding.ogg.import new file mode 100644 index 0000000..c0ecaa3 --- /dev/null +++ b/Audio/BGM/GameEnding.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bjr3v62ssdsg8" +path="res://.godot/imported/GameEnding.ogg-2b922cb2ed68cfb8198d59aa5e820136.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/GameEnding.ogg" +dest_files=["res://.godot/imported/GameEnding.ogg-2b922cb2ed68cfb8198d59aa5e820136.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Enemies/GodCircuit.tscn b/Enemies/GodCircuit.tscn index 851ed94..0950ad9 100644 --- a/Enemies/GodCircuit.tscn +++ b/Enemies/GodCircuit.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=16 format=3 uid="uid://brbshysbgd47q"] +[gd_scene load_steps=18 format=3 uid="uid://brbshysbgd47q"] [ext_resource type="Script" path="res://Enemies/Scripts/GodCircuit.cs" id="1_gyfww"] [ext_resource type="Texture2D" uid="uid://b41ur7kyd8vdl" path="res://Levels/Models/Stage10/god circuit stage 1_image.png" id="2_2fhjk"] [ext_resource type="Shader" path="res://Levels/Scenes/Door.gdshader" id="3_05w5o"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_yengs"] [ext_resource type="AudioStream" uid="uid://crto2nljfvqnm" path="res://Audio/SFX/midboss hurt.wav" id="4_kc3iq"] [ext_resource type="Script" path="res://Enemies/Attacks/GodCircuitAttacks/GodCircuitAttacks.cs" id="5_hp00m"] [ext_resource type="PackedScene" uid="uid://uwia12i7yykb" path="res://Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn" id="6_frlsw"] @@ -47,6 +48,18 @@ tracks/2/keys = { "update": 1, "values": [true] } +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("AudioStreamPlayer:stream") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("4_kc3iq")] +} [sub_resource type="Animation" id="Animation_47f75"] length = 0.001 @@ -86,9 +99,98 @@ tracks/2/keys = { "update": 1, "values": [true] } +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("AudioStreamPlayer:stream") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_yengs")] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("StaticBody3D/god circuit stage 1/Cube2:transparency") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_qiplh"] +resource_name = "OnDeath" +length = 6.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("StaticBody3D/god circuit stage 1/Cube:layers") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [1, 0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("StaticBody3D/god circuit stage 1/Cube2:layers") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("AudioStreamPlayer:playing") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("AudioStreamPlayer:stream") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_yengs")] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("StaticBody3D/god circuit stage 1/Cube2:transparency") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.1, 6.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_qiwcq"] _data = { +"OnDeath": SubResource("Animation_qiplh"), "OnHit": SubResource("Animation_n85p2"), "RESET": SubResource("Animation_47f75") } @@ -136,10 +238,11 @@ shadow_mesh = SubResource("ArrayMesh_f3cka") render_priority = 0 shader = ExtResource("3_05w5o") -[node name="God Circuit" type="Node3D" node_paths=PackedStringArray("_animationPlayer")] +[node name="God Circuit" type="Node3D" node_paths=PackedStringArray("_animationPlayer", "_attackTimer")] transform = Transform3D(1, 0, 0, 0, 0.877012, 0.480468, 0, -0.480468, 0.877012, 0, 1.29734, 0) script = ExtResource("1_gyfww") _animationPlayer = NodePath("AnimationPlayer") +_attackTimer = NodePath("StaticBody3D/Timer") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { @@ -183,7 +286,7 @@ mesh = SubResource("ArrayMesh_vv6dc") skeleton = NodePath("") [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = ExtResource("4_kc3iq") +stream = ExtResource("3_yengs") [connection signal="body_entered" from="StaticBody3D" to="." method="OnHit"] [connection signal="timeout" from="StaticBody3D/Timer" to="StaticBody3D/Timer" method="OnTimeout"] diff --git a/Enemies/MeleeEnemy.tscn b/Enemies/MeleeEnemy.tscn index 60946c5..6a82f41 100644 --- a/Enemies/MeleeEnemy.tscn +++ b/Enemies/MeleeEnemy.tscn @@ -1192,7 +1192,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0840461, 0.475385, 0.143401 shape = SubResource("BoxShape3D_1nq5h") [node name="MeleeEnemy" type="Node3D" parent="CollisionShape3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0840461, -0.612543, -0.143401) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0840461, -0.0397255, -0.143401) [node name="Icosphere001" type="MeshInstance3D" parent="CollisionShape3D/MeleeEnemy"] transform = Transform3D(0.850843, 0, 0, 0, 0.850843, 0, 0, 0, 0.850843, 0.0805536, 0.468312, 0.158035) diff --git a/Enemies/Scripts/GodCircuit.cs b/Enemies/Scripts/GodCircuit.cs index c176103..be8368a 100644 --- a/Enemies/Scripts/GodCircuit.cs +++ b/Enemies/Scripts/GodCircuit.cs @@ -4,10 +4,18 @@ public partial class GodCircuit : Node3D { [Export] private AnimationPlayer _animationPlayer; + [Export] + private Timer _attackTimer; [Signal] public delegate void OnEnemyBossHitEventHandler(long damage); + [Signal] + public delegate void OnGameEndingEventHandler(); + + [Signal] + public delegate void DestroyRemainingOrbsEventHandler(); + private void OnHit(Node3D node) { if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) @@ -17,14 +25,22 @@ public partial class GodCircuit : Node3D } else { - GD.Print("Hit"); - _animationPlayer.Play("OnHit"); var hpComponent = GetNode("HP Component"); - hpComponent.TakeDamage(800000); - EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); + if (hpComponent.CurrentHP > 0) + { + GD.Print("Hit"); + _animationPlayer.Play("OnHit"); + hpComponent.TakeDamage(800000); + EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); - if (hpComponent.CurrentHP <= 0) - QueueFree(); + if (hpComponent.CurrentHP <= 0) + { + _attackTimer.Stop(); + EmitSignal(SignalName.DestroyRemainingOrbs); + _animationPlayer.Play("OnDeath"); + _animationPlayer.AnimationFinished += OnGameFinished; + } + } } } @@ -38,4 +54,10 @@ public partial class GodCircuit : Node3D if (hpComponent.CurrentHP <= 0) hpComponent.CurrentHP = 1; } + + private void OnGameFinished(StringName animationName) + { + QueueFree(); + EmitSignal(SignalName.OnGameEnding); + } } diff --git a/GameLogic/GameManager.tscn b/GameLogic/GameManager.tscn index 40583b6..080b268 100644 --- a/GameLogic/GameManager.tscn +++ b/GameLogic/GameManager.tscn @@ -17,23 +17,6 @@ script = ExtResource("1_ya2kt") PlayerScenes = Array[PackedScene]([ExtResource("4_3fl70"), ExtResource("3_y1wkr")]) -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -0.504317, 0.863519, 0, -0.863519, -0.504317, 0, 19.9508, 0) -visible = false -shadow_enabled = true -shadow_bias = 0.0 -shadow_normal_bias = 0.0 -directional_shadow_mode = 0 -sky_mode = 1 - -[node name="DirectionalLight3D2" type="DirectionalLight3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.993572, 0.113203, 0, -0.113203, 0.993572, 0, 6.22805, 0) -shadow_enabled = true -shadow_bias = 0.0 -shadow_normal_bias = 0.0 -directional_shadow_mode = 0 -sky_mode = 1 - [node name="StageGUI" type="Control" parent="."] process_mode = 3 layout_mode = 3 diff --git a/GameLogic/Main.cs b/GameLogic/Main.cs index 32230be..5bbeb55 100644 --- a/GameLogic/Main.cs +++ b/GameLogic/Main.cs @@ -31,7 +31,7 @@ public partial class Main : Node var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); bgmPlayer.ProcessMode = ProcessModeEnum.Always; - bgmPlayer.SetBGMFromFilepath("Audio/BGM/LevelTheme.ogg"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg"); bgmPlayer.PlayBGM(); var animationNode = GetNode("SceneTransition/AnimationPlayer"); diff --git a/GameLogic/Main.tscn b/GameLogic/Main.tscn index f6f4717..e62eede 100644 --- a/GameLogic/Main.tscn +++ b/GameLogic/Main.tscn @@ -23,7 +23,7 @@ font_color = Color(0, 1, 0, 1) [node name="Main" type="Node3D" node_paths=PackedStringArray("_fpsCounter")] script = ExtResource("1_g4hua") -Levels = Array[PackedScene]([ExtResource("11_o275c"), ExtResource("6_xmedq"), ExtResource("2_jq3qe"), ExtResource("3_nhrqr"), ExtResource("5_xj47l"), ExtResource("2_0yhby"), ExtResource("7_58n7x"), ExtResource("8_pcp3p"), ExtResource("9_n1hja"), ExtResource("10_rs7ve")]) +Levels = Array[PackedScene]([ExtResource("2_jq3qe"), ExtResource("3_nhrqr"), ExtResource("5_xj47l"), ExtResource("2_0yhby"), ExtResource("7_58n7x"), ExtResource("8_pcp3p"), ExtResource("6_xmedq"), ExtResource("9_n1hja"), ExtResource("10_rs7ve"), ExtResource("11_o275c")]) GameManager = ExtResource("11_wiyvp") _fpsCounter = NodePath("FPS Counter") @@ -54,3 +54,8 @@ transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, projection = 1 current = true size = 10.8546 + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19.1134, 0) +light_energy = 0.0 +light_indirect_energy = 0.0 diff --git a/Levels/Scenes/BossOrbs.cs b/Levels/Scenes/BossOrbs.cs index a49397f..f6d7228 100644 --- a/Levels/Scenes/BossOrbs.cs +++ b/Levels/Scenes/BossOrbs.cs @@ -25,4 +25,9 @@ public partial class BossOrbs : RigidBody3D QueueFree(); } } + + public void DestroySelf() + { + QueueFree(); + } } diff --git a/Levels/Scenes/GameEnding.cs b/Levels/Scenes/GameEnding.cs new file mode 100644 index 0000000..4d94410 --- /dev/null +++ b/Levels/Scenes/GameEnding.cs @@ -0,0 +1,15 @@ +using Godot; + +public partial class GameEnding : Node3D +{ + public void OnGameEnding() + { + var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); + bgmPlayer.ProcessMode = ProcessModeEnum.Always; + bgmPlayer.SetBGMFromFilepath("Audio/BGM/GameEnding.ogg"); + bgmPlayer.PlayBGM(); + + var animationPlayer = GetNode("AnimationPlayer"); + animationPlayer.Play("GameEnding"); + } +} diff --git a/Levels/Scenes/Level10.tscn b/Levels/Scenes/Level10.tscn index 4da152a..0d77b6f 100644 --- a/Levels/Scenes/Level10.tscn +++ b/Levels/Scenes/Level10.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://0hdnmilwrsq6"] +[gd_scene load_steps=27 format=3 uid="uid://0hdnmilwrsq6"] [ext_resource type="Script" path="res://Levels/Scripts/FinalLevel.cs" id="1_sy7dk"] [ext_resource type="Script" path="res://Enemies/HealthbarProgress.cs" id="2_53ar2"] @@ -11,6 +11,9 @@ [ext_resource type="Script" path="res://Levels/Scenes/BossOrbs.cs" id="8_7itwt"] [ext_resource type="Texture2D" uid="uid://uatt2w2jsoan" path="res://Textures/Projectiles/LB HEDRON.png" id="9_rv0g1"] [ext_resource type="Texture2D" uid="uid://cqbortt0hksns" path="res://Textures/Projectiles/LB PYRAMID.png" id="10_dusre"] +[ext_resource type="Script" path="res://Levels/Scenes/GameEnding.cs" id="12_kefc8"] +[ext_resource type="Animation" uid="uid://bcprf755m753" path="res://Animations/GameEnding.res" id="13_plu01"] +[ext_resource type="FontFile" uid="uid://bu2j6b01rdsf6" path="res://Animations/Alegreya-Regular.ttf" id="14_fcfkf"] [sub_resource type="BoxShape3D" id="BoxShape3D_43mih"] size = Vector3(5, 20, 27.822) @@ -57,6 +60,18 @@ tracks/0/keys = { "update": 0, "values": [0.0] } +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../GameEnding/ColorRect:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_nvs18"] _data = { @@ -64,9 +79,46 @@ _data = { "RESET": SubResource("Animation_wy7s8") } -[sub_resource type="CylinderShape3D" id="CylinderShape3D_3l1g5"] +[sub_resource type="Animation" id="Animation_iincs"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ColorRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Label:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_l1ojm"] +_data = { +"GameEnding": ExtResource("13_plu01"), +"RESET": SubResource("Animation_iincs") +} + +[sub_resource type="LabelSettings" id="LabelSettings_gphy5"] +font = ExtResource("14_fcfkf") +font_size = 125 + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_los3u"] height = 3.85738 -radius = 0.511049 +radius = 0.412024 [node name="Level10" type="Node3D" groups=["Level"]] process_mode = 3 @@ -142,15 +194,51 @@ libraries = { [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="Boss GUI"] stream = ExtResource("7_gnuti") -autoplay = true + +[node name="GameEnding" type="Node3D" parent="."] +script = ExtResource("12_kefc8") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="GameEnding"] +libraries = { +"": SubResource("AnimationLibrary_l1ojm") +} + +[node name="ColorRect" type="ColorRect" parent="GameEnding"] +modulate = Color(1, 1, 1, 0) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -1.0 +offset_bottom = 2.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 1) + +[node name="Label" type="Label" parent="GameEnding"] +modulate = Color(1, 1, 1, 0) +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -959.0 +offset_top = -538.5 +offset_right = 959.0 +offset_bottom = 538.5 +grow_horizontal = 2 +grow_vertical = 2 +text = "The End" +label_settings = SubResource("LabelSettings_gphy5") +horizontal_alignment = 1 +vertical_alignment = 1 [node name="Pivot" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.260435, 0, -1.52945) [node name="Pyramid" type="RigidBody3D" parent="Pivot" node_paths=PackedStringArray("_hp")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.064761, 0.75105, -3.23007) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.064761, 0.75105, -2.67492) collision_layer = 0 -collision_mask = 69 +collision_mask = 68 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 10 @@ -162,21 +250,21 @@ _rotationSpeed = 0.1 _hp = NodePath("HP Component") [node name="PyramidSprite" type="Sprite3D" parent="Pivot/Pyramid"] -transform = Transform3D(0.12, 0, 0, 0, 0.12, 0, 0, 0, 0.12, 0, 0, 0) +transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, 0, 0, 0) axis = 1 texture = ExtResource("10_dusre") [node name="CollisionShape3D2" type="CollisionShape3D" parent="Pivot/Pyramid"] transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0.0513983, 0, 0) -shape = SubResource("CylinderShape3D_3l1g5") +shape = SubResource("CylinderShape3D_los3u") [node name="HP Component" parent="Pivot/Pyramid" instance=ExtResource("7_nvq88")] MaximumHP = 1 [node name="Orb" type="RigidBody3D" parent="Pivot" node_paths=PackedStringArray("_hp")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.69215, 0.241416, 1.28096) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.75045, 0.241416, 1.28096) collision_layer = 0 -collision_mask = 69 +collision_mask = 68 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 10 @@ -188,11 +276,11 @@ _rotationSpeed = 0.1 _hp = NodePath("HP Component") [node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Orb"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.459897, 0, 0.538185) -shape = SubResource("CylinderShape3D_3l1g5") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.473554, 0, 0.565499) +shape = SubResource("CylinderShape3D_los3u") [node name="OrbSprite" type="Sprite3D" parent="Pivot/Orb"] -transform = Transform3D(0.12, 0, 0, 0, 0.12, 0, 0, 0, 0.12, -0.47522, 0, 0.577053) +transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, -0.47522, 0, 0.577053) axis = 1 texture = ExtResource("8_2yfol") @@ -200,9 +288,9 @@ texture = ExtResource("8_2yfol") MaximumHP = 1 [node name="Hedron" type="RigidBody3D" parent="Pivot" node_paths=PackedStringArray("_hp")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.29263, 0.704458, 1.45723) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.88775, 0.704458, 1.45723) collision_layer = 0 -collision_mask = 69 +collision_mask = 68 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 10 @@ -214,17 +302,22 @@ _rotationSpeed = 0.1 _hp = NodePath("HP Component") [node name="HedronSprite" type="Sprite3D" parent="Pivot/Hedron"] -transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, 0) +transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) axis = 1 texture = ExtResource("9_rv0g1") [node name="CollisionShape3D2" type="CollisionShape3D" parent="Pivot/Hedron"] -shape = SubResource("CylinderShape3D_3l1g5") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0136576, 0, 0) +shape = SubResource("CylinderShape3D_los3u") [node name="HP Component" parent="Pivot/Hedron" instance=ExtResource("7_nvq88")] MaximumHP = 1 +[connection signal="DestroyRemainingOrbs" from="God Circuit" to="Pivot/Pyramid" method="DestroySelf"] +[connection signal="DestroyRemainingOrbs" from="God Circuit" to="Pivot/Orb" method="DestroySelf"] +[connection signal="DestroyRemainingOrbs" from="God Circuit" to="Pivot/Hedron" method="DestroySelf"] [connection signal="OnEnemyBossHit" from="God Circuit" to="Boss GUI/TextureProgressBar" method="UpdateBar"] +[connection signal="OnGameEnding" from="God Circuit" to="GameEnding" method="OnGameEnding"] [connection signal="OnBossOrbExploded" from="Pivot/Pyramid" to="God Circuit" method="OnBossOrbDestroyed"] [connection signal="body_entered" from="Pivot/Pyramid" to="Pivot/Pyramid" method="OnOrbHit"] [connection signal="OnBossOrbExploded" from="Pivot/Orb" to="God Circuit" method="OnBossOrbDestroyed"] diff --git a/Textures/Portraits/fish witch.png b/Textures/Portraits/fish witch.png new file mode 100644 index 0000000..2e21be6 Binary files /dev/null and b/Textures/Portraits/fish witch.png differ diff --git a/Textures/Portraits/fish witch.png.import b/Textures/Portraits/fish witch.png.import new file mode 100644 index 0000000..0c3bbc4 --- /dev/null +++ b/Textures/Portraits/fish witch.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d5wrt7aijify" +path="res://.godot/imported/fish witch.png-df540b478adeef271e56a32007d61748.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/Portraits/fish witch.png" +dest_files=["res://.godot/imported/fish witch.png-df540b478adeef271e56a32007d61748.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Textures/Portraits/fish witch.png.jpeg.import b/Textures/Portraits/fish witch.png.jpeg.import new file mode 100644 index 0000000..f822919 --- /dev/null +++ b/Textures/Portraits/fish witch.png.jpeg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqk5al5nsu081" +path="res://.godot/imported/fish witch.png.jpeg-f61123392ccd7722cf39b287b98eee83.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/Portraits/fish witch.png.jpeg" +dest_files=["res://.godot/imported/fish witch.png.jpeg-f61123392ccd7722cf39b287b98eee83.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 7a9854b..a83bafb 100644 --- a/project.godot +++ b/project.godot @@ -13,6 +13,8 @@ config_version=5 config/name="GameJam2023" run/main_scene="res://GameLogic/Main.tscn" config/features=PackedStringArray("4.1", "C#", "Forward Plus") +boot_splash/show_image=false +config/icon="res://Textures/Portraits/fish witch.png" run/physics_ticks_per_second=60 [autoload]