engine-c: Survivor forward HQ + faction BT_BASE identity in SHOT

Forward twin CC near clash, stronger hx camera weight, Survivors
corner-tower mast vs Evolved organic lobes in draw_bld/sprites.
This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 16:10:03 +02:00
parent 41d0b89948
commit 9cc0aec229
No known key found for this signature in database
5 changed files with 107 additions and 31 deletions

View file

@ -236,6 +236,33 @@ static void place_showcase(Game *g, Faction human, Faction enemy) {
bld_spawn(g, BT_WALL, human, ftx + 3, fty - 1);
bld_spawn(g, BT_POWER, human, ftx - 4, fty + 2);
bld_force_complete(g); /* complete any partial builds from spawn */
/* Survivor forward HQ cluster (SW of clash) — visible in combat crop
* alongside Evolved twin BT_BASE; pad clear before place. */
{
int hqx = ftx - 6, hqy = fty + 3;
for (int dy = -1; dy <= 4; dy++) {
for (int dx = -1; dx <= 5; dx++) {
int tx = hqx + dx, ty = hqy + dy;
if (!map_in_bounds(&g->map, tx, ty)) continue;
Tile *t = map_tile(&g->map, tx, ty);
if (!t || t->occupied) continue;
t->terrain = T_WASTELAND;
t->walkable = 1;
t->scrap = 0;
}
}
bld_spawn(g, BT_BASE, human, hqx, hqy);
bld_spawn(g, BT_BASE, human, hqx + 3, hqy);
bld_spawn(g, BT_POWER, human, hqx - 1, hqy + 2);
bld_spawn(g, BT_WARFACTORY, human, hqx + 1, hqy + 3);
bld_spawn(g, BT_TURRET, human, hqx + 2, hqy - 1);
bld_spawn(g, BT_TURRET, human, hqx + 5, hqy + 1);
bld_spawn(g, BT_WALL, human, hqx - 1, hqy);
bld_spawn(g, BT_WALL, human, hqx - 1, hqy + 1);
bld_spawn(g, BT_WALL, human, hqx + 5, hqy);
bld_force_complete(g);
}
}
/* denser clash scars: road core + rubble ring + scrap flecks (arid fight plate) */