09d4a60f43
Move every script and scene into role-based directories (actors/, systems/, ui/, levels/, props/) and all raw art under art/ (grouped by role, snake_case, Extract-Textures GLBs), dropping Blender version-suffix noise. Filenames are snake_case (PascalCase reserved for class_name) to avoid case-insensitive filesystem aliasing on the web/macOS targets. Routes the bull's hits through the typed DamageEvent pipeline and wires the bull's abilities to the Fx library. Updates CLAUDE.md's folder-layout overview to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCyaJPTHCH9EDthpf4A5Sj
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
[gd_scene format=3]
|
|
|
|
[ext_resource type="Script" path="res://systems/combat/hitbox.gd" id="1_qxn4a"]
|
|
|
|
[sub_resource type="CylinderShape3D" id="CylinderShape3D_6dow8"]
|
|
height = 3.0
|
|
radius = 4.0
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_tmmfg"]
|
|
size = Vector3(2.6, 2.5, 20)
|
|
|
|
[sub_resource type="Animation" id="Animation_wcwtv"]
|
|
length = 0.25
|
|
tracks/0/type = "scale_3d"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("LeapSlamHitbox/CollisionShape3D")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = PackedFloat32Array(0, 1, 0.12, 1, 0.12, 0.06, 1, 1, 1, 1, 0.25, 1, 1, 1, 1)
|
|
|
|
[sub_resource type="Animation" id="Animation_bg5u7"]
|
|
length = 0.3
|
|
tracks/0/type = "scale_3d"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("SmashHitbox/CollisionShape3D")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = PackedFloat32Array(0, 1, 1, 1, 0.02, 0.1, 1, 1, 1, 1, 0.3, 1, 1, 1, 1)
|
|
tracks/1/type = "position_3d"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("SmashHitbox/CollisionShape3D")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0.9, 0.2, 0.1, 1, 0, 0.9, 10, 0.3, 1, 0, 0.9, 10)
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_u1id2"]
|
|
_data = {
|
|
&"leap_slam": SubResource("Animation_wcwtv"),
|
|
&"smash_travel": SubResource("Animation_bg5u7")
|
|
}
|
|
|
|
[node name="AttackHitboxes" type="Node3D" unique_id=2010404706]
|
|
|
|
[node name="LeapSlamHitbox" type="Area3D" parent="." unique_id=1751893032]
|
|
collision_layer = 0
|
|
collision_mask = 2
|
|
monitoring = false
|
|
monitorable = false
|
|
script = ExtResource("1_qxn4a")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="LeapSlamHitbox" unique_id=1320172052]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
|
shape = SubResource("CylinderShape3D_6dow8")
|
|
|
|
[node name="SmashHitbox" type="Area3D" parent="." unique_id=1579648726]
|
|
collision_layer = 0
|
|
collision_mask = 2
|
|
monitoring = false
|
|
monitorable = false
|
|
script = ExtResource("1_qxn4a")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="SmashHitbox" unique_id=528637962]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 10)
|
|
shape = SubResource("BoxShape3D_tmmfg")
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=2139876757]
|
|
libraries/ = SubResource("AnimationLibrary_u1id2")
|