engine-c: lasting death RUBBLE/SCRAP scars + denser scorch

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 11:50:41 +02:00
parent 3fb17411dc
commit bab388723f
No known key found for this signature in database
4 changed files with 96 additions and 9 deletions

View file

@ -73,14 +73,18 @@ void bld_apply_damage(Game *g, Building *b, float dmg) {
(float)(b->ty*TILE+b->h*TILE/2), 2, 2, 255, 200, 80);
if (b->hp <= 0 && !b->dead) {
b->dead = 1;
particle_burst(g, (float)(b->tx*TILE+b->w*TILE/2),
(float)(b->ty*TILE+b->h*TILE/2), 20, 1, 255, 140, 40);
particle_burst(g, (float)(b->tx*TILE+b->w*TILE/2),
(float)(b->ty*TILE+b->h*TILE/2), 12, 3, 90, 80, 70);
float cx = (float)(b->tx*TILE+b->w*TILE/2);
float cy = (float)(b->ty*TILE+b->h*TILE/2);
particle_burst(g, cx, cy, 28, 1, 255, 140, 40);
particle_burst(g, cx, cy, 16, 3, 90, 80, 70);
particle_burst(g, cx + 10, cy - 8, 10, 0, 100, 90, 80);
particle_burst(g, cx - 8, cy + 10, 8, 1, 55, 45, 40); /* scorch */
audio_sfx(2);
if (g->cam.shake < 9) g->cam.shake = 9;
if (b->faction == g->human)
game_log(g, "Structure lost: %s", bld_def(b->type)->name);
/* lasting rubble under footprint; occupied cleared later by bld_remove */
map_scar_bld_death(&g->map, b->tx, b->ty, b->w, b->h);
}
}