This commit is contained in:
Marco 2025-06-23 17:47:58 +02:00
commit b89043cd8c
11 changed files with 789 additions and 648 deletions

File diff suppressed because one or more lines are too long

View file

@ -3760,3 +3760,28 @@
"origin" "112 -992 0"
"angles" "90 0 0"
}
// entity 198
{
"classname" "actor_barrel_1"
"origin" "432 -216 64"
}
// entity 199
{
"classname" "actor_barrel_1"
"origin" "432 -200 64"
}
// entity 200
{
"classname" "actor_barrel_1"
"origin" "424 -384 64"
}
// entity 201
{
"classname" "actor_barrel_1"
"origin" "408 -384 64"
}
// entity 202
{
"classname" "actor_barrel_1"
"origin" "424 -368 64"
}

View file

@ -1,16 +1,29 @@
[gd_scene load_steps=3 format=3 uid="uid://dyi4ji0t3ryi4"]
[gd_scene load_steps=5 format=3 uid="uid://dyi4ji0t3ryi4"]
[ext_resource type="Script" uid="uid://fm00gyh0hgmj" path="res://Scripts/Components/Actors/3D/Chest3D.cs" id="1_rpeec"]
[ext_resource type="PackedScene" uid="uid://b5yq3ibbfoo0" path="res://3D/BlockbenchModels/Chest/Chest.gltf" id="1_sxwrc"]
[sub_resource type="BoxShape3D" id="BoxShape3D_sefe4"]
size = Vector3(0.633301, 0.449463, 0.509521)
size = Vector3(0.633301, 0.449646, 0.509521)
[node name="Chest" type="StaticBody3D"]
[sub_resource type="SphereShape3D" id="SphereShape3D_sxwrc"]
radius = 0.467832
[node name="Chest" type="Area3D" groups=["Interactable"]]
collision_layer = 32
collision_mask = 0
script = ExtResource("1_rpeec")
[node name="SolidChest" type="StaticBody3D" parent="."]
collision_layer = 16
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00463867, -0.022522, 0.0032959)
[node name="CollisionShape3D" type="CollisionShape3D" parent="SolidChest"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00463867, -0.279144, 0.0032959)
shape = SubResource("BoxShape3D_sefe4")
[node name="blockbench_export" parent="." instance=ExtResource("1_sxwrc")]
[node name="blockbench_export" parent="SolidChest" instance=ExtResource("1_sxwrc")]
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.271027, 0)
shape = SubResource("SphereShape3D_sxwrc")

View file

@ -1,21 +1,11 @@
[gd_scene load_steps=7 format=3 uid="uid://d28e1t2c0lwbp"]
[gd_scene load_steps=4 format=3 uid="uid://d28e1t2c0lwbp"]
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_xnqcl"]
[ext_resource type="Texture2D" uid="uid://cfldr7l7dearo" path="res://Sprites/Bullets/mid_bullet_red.png" id="2_xnqcl"]
[ext_resource type="Script" uid="uid://dvln1783wvvuw" path="res://Scripts/Components/Actors/ShadowProvider.cs" id="3_xyes7"]
[sub_resource type="SphereShape3D" id="SphereShape3D_pklkt"]
radius = 0.172059
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2kukh"]
transparency = 1
depth_draw_mode = 2
shading_mode = 0
albedo_color = Color(0, 0, 0, 0.235294)
[sub_resource type="QuadMesh" id="QuadMesh_t5ure"]
material = SubResource("StandardMaterial3D_2kukh")
[node name="Bullet" type="Area3D" groups=["bullets"]]
collision_layer = 128
collision_mask = 23
@ -34,14 +24,6 @@ shape = SubResource("SphereShape3D_pklkt")
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
[node name="Shadow" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.29, 0)
mesh = SubResource("QuadMesh_t5ure")
script = ExtResource("3_xyes7")
MaxShadowScale = 0.2
MinShadowScale = 0.05
CollisionMask = 1
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="screen_exited" from="VisibleOnScreenNotifier" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]

View file

@ -1,21 +1,11 @@
[gd_scene load_steps=7 format=3 uid="uid://c133312rx63ps"]
[gd_scene load_steps=4 format=3 uid="uid://c133312rx63ps"]
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_ojpd6"]
[ext_resource type="Texture2D" uid="uid://bdyd0bht18n47" path="res://Sprites/EnemyProjectile.png" id="2_ojpd6"]
[ext_resource type="Script" uid="uid://dvln1783wvvuw" path="res://Scripts/Components/Actors/ShadowProvider.cs" id="3_7vcns"]
[sub_resource type="SphereShape3D" id="SphereShape3D_pklkt"]
radius = 0.083358
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7vcns"]
transparency = 1
depth_draw_mode = 2
shading_mode = 0
albedo_color = Color(0, 0, 0, 0.235294)
[sub_resource type="QuadMesh" id="QuadMesh_vbda4"]
material = SubResource("StandardMaterial3D_7vcns")
[node name="Bullet" type="Area3D" groups=["bullets"]]
collision_layer = 128
collision_mask = 23
@ -34,14 +24,6 @@ shape = SubResource("SphereShape3D_pklkt")
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
[node name="Shadow" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.29, 0)
mesh = SubResource("QuadMesh_vbda4")
script = ExtResource("3_7vcns")
MaxShadowScale = 0.2
MinShadowScale = 0.05
CollisionMask = 1
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="screen_exited" from="VisibleOnScreenNotifier" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]

View file

@ -43,11 +43,4 @@ public partial class Chest : Interactable
return State == ChestState.Closed;
}
}
public enum ChestState
{
Closed,
Open,
Destroyed
}

8
Scripts/ChestState.cs Normal file
View file

@ -0,0 +1,8 @@
namespace Cirno.Scripts;
public enum ChestState
{
Closed,
Open,
Destroyed
}

View file

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

View file

@ -0,0 +1,43 @@
using Cirno.Scripts.Interactables;
using Cirno.Scripts.Resources;
using Godot;
using Godot.Collections;
namespace Cirno.Scripts.Components.Actors._3D;
public partial class Chest3D : Interactable3D
{
[Export] public Array<LootItem> LootTable = [];
[Export] public ChestState State = ChestState.Closed;
public override bool Activate(ActivationType activationType = ActivationType.Toggle)
{
GD.Print("Attempting to open chest");
if (State != ChestState.Closed) return false;
if (!MeetsRequirements()) return false;
foreach (var item in LootTable)
{
InventoryManager.Instance.AddItem(item);
}
//_sprite.Play("Opening");
State = ChestState.Open;
return true;
}
public override void _Ready()
{
base._Ready();
//_sprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
}
public override bool CanActivate()
{
return State == ChestState.Closed;
}
}

View file

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

View file

@ -3,25 +3,26 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b2vmpi57d7vwy"
path="res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.ctex"
path.s3tc="res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.s3tc.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Sprites/Items/Shield_Extend.png"
dest_files=["res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.ctex"]
dest_files=["res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.s3tc.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0