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>
21 lines
727 B
Plaintext
21 lines
727 B
Plaintext
[gd_scene format=3 uid="uid://c8swordwrap01"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://xyvank512l5n" path="res://Assets/sword.glb" id="1_swordglb"]
|
|
[ext_resource type="Script" path="res://hitbox.gd" id="2_hitbox"]
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_blade"]
|
|
radius = 0.18
|
|
height = 1.3
|
|
|
|
[node name="Sword" type="Node3D"]
|
|
|
|
[node name="sword" parent="." instance=ExtResource("1_swordglb")]
|
|
|
|
[node name="BladeHitbox" type="Area3D" parent="."]
|
|
script = ExtResource("2_hitbox")
|
|
damage_cause = "gored"
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="BladeHitbox"]
|
|
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0.8)
|
|
shape = SubResource("CapsuleShape3D_blade")
|