Skip to content

Netclient cannot fire, so no player-damages-bot behaviour can be verified headless #259

Description

@saworbit

The lab netclient can connect, walk, and fire impulses. It cannot pull the trigger. That gap blocks verification of an entire class of behaviour.

What it blocks

The co-op friendly fire fix cannot be tested headless at all. Its main path, Argus_Pain retaliation, requires a player to damage a bot. A co-op botmatch runs one bot; adding more with impulse 101 does not help, because Argus_Perceive returns before its player scan whenever coop > 0, so bots never shoot each other in co-op regardless. Two attempts at an ally test came back null for exactly that reason, on e1m2 and on a monster free dm4 co-op.

More generally, nothing that begins with "the bot takes damage from a player" can be exercised: retaliation, the vendetta ledger, retreat entry thresholds, the pain flinch on aim, knockback response, and the shove economy.

What is needed

clc_move already carries the button bits, and the client already sends move packets at 20 Hz. Adding attack means setting the button0 bit for a number of frames.

argus-mcp client attack [secs] [host] [port]
argus-mcp client aim

Aim matters as much as fire. Firing without control over the view angle only produces stray shots, and the interesting cases need the puppet pointed at a specific bot.

Caveat worth designing around

Argus_CanSee refuses netname "labprobe" so the puppet stays an instrument rather than a target. That courtesy is correct for probe sweeps and wrong for this: a puppet that shoots a bot needs the bot to react. Either an opt in name, or a flag the harness sets, so the same client can be invisible for link probing and visible for combat tests.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrust-mcpRust lab MCP server, Web GUI, and NetClienttoolingPython tools, telemetry scripts, and CLI utilities

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions