feat: KINETIC+HEAT chemistry row + self-heating burster — greybox build complete
Chemistry row *Spread* (canon CONCEPT.md § tag grammar): a heated enemy slammed into another (knockback impact >= threshold, not a walking bump) spreads its heat on contact and passes momentum, so chains cascade with decaying force — chemistry feeding chemistry. Authorship-loud feedback stack per canon: ~80ms hitstop (owned by the hand, capped so chain procs can't lock the world; rides on top of freeze/thaw states), the two tag hues meeting at the point of impact (oriented fx, no proc text), and a per-pair audio sting (procedural placeholder, _ph-marked per asset policy). Burster: second enemy type, HEAT-tagged walking bomb (orange base, literal tag mirror) — self-heats ~0.5/s toward threshold, big detonation. Every 4th spawn. Detonations are now symmetric: they damage enemies AND the mech in radius (one grammar on both sides; heat play prices standing close). Grunt scene exports drive both enemy types — no subclass. Smoke gate extended: burster self-heat observed (retry-tolerant), deterministic staged chemistry proc (heated striker slammed into cold neighbor outside weapon range -> proc counter, heat spread). 3/3 green on nh3-dev headless 4.7.1. Known cosmetic: 2 ObjectDB instances reported leaked at exit (constant, exit-order artifact — audio stream alive at quit), not a runtime leak.
This commit is contained in:
+6
-1
@@ -1,10 +1,11 @@
|
||||
[gd_scene load_steps=8 format=3]
|
||||
[gd_scene load_steps=9 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/arena.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/mech.tscn" id="2"]
|
||||
[ext_resource type="Script" path="res://scripts/spawner.gd" id="3"]
|
||||
[ext_resource type="Script" path="res://scripts/hand.gd" id="4"]
|
||||
[ext_resource type="Script" path="res://scripts/hand_hud.gd" id="5"]
|
||||
[ext_resource type="AudioStream" path="res://assets/audio/chem_sting_kinetic_heat_ph.wav" id="6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="wall_h"]
|
||||
size = Vector2(640, 16)
|
||||
@@ -53,6 +54,10 @@ position = Vector2(320, 180)
|
||||
[node name="Spawner" type="Node2D" parent="."]
|
||||
script = ExtResource("3")
|
||||
|
||||
[node name="Sting" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6")
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="HUD" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="HullBack" type="ColorRect" parent="HUD"]
|
||||
|
||||
Reference in New Issue
Block a user