engine-c: denser Evolved heavies + harvester cargo bed

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 13:27:48 +02:00
parent 88631a5be6
commit c3fd57f86c
No known key found for this signature in database
3 changed files with 49 additions and 12 deletions

View file

@ -359,7 +359,7 @@ static void place_showcase(Game *g, Faction human, Faction enemy) {
}
}
int raid[40];
int raid[56];
int rn = 0;
for (int i = 0; i < 8; i++)
raid[rn++] = unit_spawn(g, UT_MUTANT, enemy,
@ -369,17 +369,41 @@ static void place_showcase(Game *g, Faction human, Faction enemy) {
raid[rn++] = unit_spawn(g, UT_BUGGY, enemy, rx + 8, ry - 28);
raid[rn++] = unit_spawn(g, UT_BUGGY, enemy, rx + 28, ry - 34);
raid[rn++] = unit_spawn(g, UT_BUGGY, enemy, rx + 48, ry - 22);
raid[rn++] = unit_spawn(g, UT_JEEP, enemy, rx + 16, ry + 18);
raid[rn++] = unit_spawn(g, UT_JEEP, enemy, rx + 36, ry + 8);
raid[rn++] = unit_spawn(g, UT_TANK, enemy, rx + 52, ry + 4);
raid[rn++] = unit_spawn(g, UT_TANK, enemy, rx + 68, ry - 12);
raid[rn++] = unit_spawn(g, UT_TANK, enemy, rx + 80, ry + 18);
raid[rn++] = unit_spawn(g, UT_RAVAGER, enemy, rx + 58, ry - 36);
raid[rn++] = unit_spawn(g, UT_RAVAGER, enemy, rx + 74, ry - 24);
raid[rn++] = unit_spawn(g, UT_RAVAGER, enemy, rx + 42, ry - 44);
raid[rn++] = unit_spawn(g, UT_FLAME, enemy, rx + 22, ry + 28);
raid[rn++] = unit_spawn(g, UT_FLAME, enemy, rx + 40, ry + 34);
raid[rn++] = unit_spawn(g, UT_FLAME, enemy, rx + 8, ry + 40);
raid[rn++] = unit_spawn(g, UT_MISSILE, enemy, rx + 62, ry - 28);
raid[rn++] = unit_spawn(g, UT_MISSILE, enemy, rx + 78, ry - 8);
raid[rn++] = unit_spawn(g, UT_MISSILE, enemy, rx + 94, ry + 6);
raid[rn++] = unit_spawn(g, UT_ARTILLERY, enemy, rx + 85, ry + 10);
raid[rn++] = unit_spawn(g, UT_ARTILLERY, enemy, rx + 98, ry - 18);
for (int i = 0; i < 8; i++)
raid[rn++] = unit_spawn(g, UT_INFANTRY, enemy,
rx - 28 + (i % 4) * 14, ry - 8 + (i / 4) * 14);
/* seed Survivor harvester beds so cargo silhouette is visible in shot */
{
int hi = 0;
for (int i = 0; i < g->unit_count; i++) {
Unit *u = &g->units[i];
if (u->dead || u->type != UT_HARVESTER || u->faction != human) continue;
float cap = (float)unit_def(u->type, u->faction)->cargo;
/* stagger: empty-ish / mid / full across harvesters */
float fracs[] = { 0.25f, 0.70f, 1.0f, 0.45f };
u->cargo = cap * fracs[hi % 4];
hi++;
}
}
/* pre-damage for HP-bar variety (sim may add more) */
for (int i = 0; i < g->unit_count; i++) {
Unit *u = &g->units[i];