5c1e881a53
Bull charge damage: - Tunnel-proof swept detection (prev→now segment) for matador gore and bear ram, so a 66 m/s dash no longer skips clean over the thin HitArea. - Horns-first cone (bull_gore_arc): running into an enemy only wounds it when charging roughly at it, not a sideways brush. - Dash is a committed lunge: bypasses the horns cone AND the survival roll, so a dash connect is a guaranteed kill. Cruise charges keep a speed-scaled roll (mat_charge_pierce). Roll ability defers to its own pop (is_rolling guard). Bear: - Horns-first swept ram detection (edge-triggered: one charge = one wound); a tunnelling or point-blank charge now lands where body_entered wouldn't. - Overhead smash lane extends faster (0.1s) and further (20 m). - Leap slam launches the bull from anywhere in the circle (ring_frac 0). - Removed stray-quote syntax errors that broke the script. Matador: - Collider-driven stab (BladeHitbox) with recovery beat + taunt-after-hit so it stops machine-gunning the bull. - A taunting matador answers a charge: spear from range, sword up close. Spear projectile masks the BULL layer so throws connect. Tests: matador_charge/stab/spear/taunt_react, bear_ram/hitbox/fx (+ unified _fake_bull stand-in). Trimmed verbose comments. Note: bear claw-emitter/death work is still WIP (3 bear_boss_test failures). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
[gd_scene format=3]
|
|
|
|
[ext_resource type="Script" path="res://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")
|