Implement boss room

This commit is contained in:
2024-09-16 02:48:14 -07:00
parent 55c521db3a
commit d0c78e54a7
119 changed files with 795 additions and 2080 deletions

View File

@@ -1,16 +0,0 @@
shader_type spatial;
render_mode unshaded, depth_draw_never;
uniform vec4 shine_color : source_color = vec4( 1.0, 1.0, 1.0, 1.0 );
uniform float cycle_interval : hint_range(0.5, 5.0) = 1.0;
uniform float shine_speed : hint_range(1.0, 5.0) = 3.0;
uniform float shine_width : hint_range(1.0, 100.0) = 3.0;
void fragment( )
{
vec3 vertex = ( INV_VIEW_MATRIX * vec4( VERTEX, 1.0 ) ).xyz;
float width = shine_width * 0.001 * cycle_interval;
float frequency = floor( sin( vertex.z * cycle_interval + TIME * shine_speed * cycle_interval ) + width );
ALBEDO = shine_color.rgb;
ALPHA = clamp( ( 1.0 - dot( NORMAL, VIEW ) ) * frequency * shine_color.a, 0.0, 1.0 );
}

View File

@@ -7,6 +7,7 @@ size = Vector3(0.778381, 0.929947, 0.731567)
[node name="Armor" type="Node3D"]
script = ExtResource("1_cmjpq")
ArmorStats = null
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true

View File

@@ -1,16 +1,15 @@
[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://dns281deffo6q"]
[gd_resource type="Resource" load_steps=3 format=3 uid="uid://dns281deffo6q"]
[ext_resource type="Texture2D" uid="uid://bg47n2tmintm0" path="res://src/items/consumable/textures/past self remnant.PNG" id="1_rc8t1"]
[ext_resource type="Script" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_e61q8"]
[resource]
script = ExtResource("2_e61q8")
HealHPAmount = 30
RaiseHPAmount = 8
HealHPAmount = 1000
RaiseHPAmount = 25
HealVTAmount = 0
RaiseVTAmount = 0
Name = "Ydunic Shard"
Description = "A fragment of the divine fruit, frozen in time.
Restores 30 HP. If HP full, raises MAX HP by 8."
Name = "Past Self's Fragment"
Description = "Restores all HP. If HP full, raises MAX HP by 25."
Texture = ExtResource("1_rc8t1")
SpawnRate = 0.5

View File

@@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://bnec53frgyue8"]
[gd_resource type="Resource" load_steps=3 format=3 uid="uid://bnec53frgyue8"]
[ext_resource type="Texture2D" uid="uid://cj0x1u7rknrvy" path="res://src/items/consumable/textures/past self spirit.PNG" id="1_jx43p"]
[ext_resource type="Script" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_wmtl1"]
@@ -8,7 +8,7 @@ script = ExtResource("2_wmtl1")
HealHPAmount = 0
RaiseHPAmount = 0
HealVTAmount = 1000
RaiseVTAmount = 25
RaiseVTAmount = 20
Name = "Past Self's Spirit"
Description = "Restores all VT. If VT full, raises MAX VT by 20."
Texture = ExtResource("1_jx43p")

View File

@@ -1,15 +1,16 @@
[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://lu0ddu3538p6"]
[gd_resource type="Resource" load_steps=3 format=3 uid="uid://lu0ddu3538p6"]
[ext_resource type="Texture2D" uid="uid://dw06kkltgk3sv" path="res://src/items/consumable/textures/ydunic fragment.PNG" id="1_4llax"]
[ext_resource type="Script" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_q4pyq"]
[resource]
script = ExtResource("2_q4pyq")
HealHPAmount = 1000
RaiseHPAmount = 25
HealHPAmount = 30
RaiseHPAmount = 8
HealVTAmount = 0
RaiseVTAmount = 0
Name = "Ydunic Shard"
Description = "Restores all HP. If HP full, raises MAX HP by 8."
Description = "A fragment of the divine fruit, frozen in time.
Restores 30 HP. If HP full, raises MAX HP by 8."
Texture = ExtResource("1_4llax")
SpawnRate = 0.5

View File

@@ -1,10 +1,8 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using GameJamDungeon;
using Godot;
using System;
using System.Linq;
[Meta(typeof(IAutoNode))]
public partial class ThrowableItem : Node3D, IInventoryItem
@@ -13,8 +11,6 @@ public partial class ThrowableItem : Node3D, IInventoryItem
[Dependency] public IGameRepo GameRepo => this.DependOn<IGameRepo>();
[Node] public IAnimationPlayer AnimationPlayer { get; set; } = default!;
[Node] public IHitbox Hitbox { get; set; } = default!;
public InventoryItemStats Info => ThrowableItemInfo;
@@ -32,7 +28,6 @@ public partial class ThrowableItem : Node3D, IInventoryItem
public void OnReady()
{
AnimationPlayer.AnimationFinished += OnAnimationFinished;
Sprite.Texture = ThrowableItemInfo.Texture;
Pickup.BodyEntered += OnEntered;
}

View File

@@ -8,6 +8,7 @@ radius = 0.470016
[node name="Weapon" type="Node3D"]
script = ExtResource("1_7pkyf")
WeaponStats = null
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true