#!/usr/bin/env bash # #110 FIELD-COMPOSITION test: no self-damage anywhere. A grinds B with real # cross-pod fire from a stand-off distance; the cylinder hit tables route a # share of every burst into B's arm wedges; when an arm zone crosses 1.0 the # cascade must fire ON B (sourced purely from A's damage), kill the arm's # weapons, and replicate to A ([zone-repl]). set -x . /c/git/bt411/scratchpad/night6/bench_common.sh cd /c/git/bt411/content || exit 1 # stale nodes poison the lobby (a third instance joins the pair) -- clear first taskkill //F //IM btl4.exe > /dev/null 2>&1 sleep 3 bt_assert_player_env rm -f mpg_a.log mpg_b.log bt_expert_egg MP.EGG MPG.EGG # B: sparse return fire (observable weapons, loses the grind), stands its ground BT_MP_LOG=1 BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_PROJ_LOG=1 \ BT_GOTO=enemy BT_GOTO_STOP=180 BT_AUTOFIRE=1 BT_AF_PERIOD=9 \ bt_launch mpg_b.log MPG.EGG 0x0C -net 1601 sleep 2 # A: dense fire with missiles BT_MP_LOG=1 BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_PROJ_LOG=1 \ BT_GOTO=enemy BT_GOTO_STOP=180 BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=3 \ bt_launch mpg_a.log MPG.EGG 0x03 -net 1501 sleep 5 python ../tools/btconsole.py MPG.EGG 127.0.0.1:1501 127.0.0.1:1601 & PC=$! sleep 360 kill $PC 2>/dev/null bt_kill_ours rm -f MPG.EGG echo DONE