#!/usr/bin/env bash # #52 SKATE PROVOCATION 3 -- the LEG-GIMP transition family (#82 history: # where replicant legs break). A walks on autodrive; B CHASES (goto stop 60) # and servo-shoots A's SIX LEG ZONES (zone-walk, leg filter) until the gimp # engages -- master gait swaps normal->gimp (and back on respawn), the # transitions the light bench never exercised. [skate] watches on both; # BT_GIMPFEED on B prints the replicant's gimp level + demand 1 Hz. # NOVICE egg: crits off -- sustained leg-zone damage without subsystem kills. set -x . /c/git/bt411/scratchpad/night6/bench_common.sh cd /c/git/bt411/content || exit 1 taskkill //F //IM btl4.exe > /dev/null 2>&1 sleep 2 rm -f sg2_a.log sg2_b.log bt_novice_egg MP.EGG SG2.EGG sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG2.EGG # A = wandering victim (walks, gets leg-shot, gimps, keeps walking) BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=8 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ bt_launch sg2_a.log SG2.EGG 0x0C -net 1601 sleep 2 # B = chasing leg-shooter + observer of A's replicant BT_GIMPFEED=1 \ BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ bt_launch sg2_b.log SG2.EGG 0x03 -net 1501 sleep 5 python ../tools/btconsole.py SG2.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg2_relay.log 2>&1 & RELAY=$! sleep 330 kill $RELAY 2>/dev/null taskkill //F //IM btl4.exe > /dev/null 2>&1 sleep 3 echo "=== A leg damage (its own master view):" grep -a "dmghit" sg2_a.log | grep -coE "zone=(2|3|7|9|10|18)" ; true echo "=== A gimp state changes:" grep -aiE "gimp" sg2_a.log | grep -va gimpfeed | head -8 echo "=== B replicant gimp feed (last 6):" grep -a "replgimp" sg2_b.log | tail -6 echo "=== SKATE hits (B watching A):" grep -a "\[skate\]" sg2_b.log | head -10 echo "=== SKATE count A-side:" grep -ac "\[skate\]" sg2_a.log