babylon.engine.actions.reproduce

REPRODUCE verb resolver (verb-dispatch engine).

Organizational expansion (ActionType.RECRUIT) via two modes selected by params["mode"]:

  • cadre_training (default): raises cadre_level and cohesion.

  • mass_recruitment: spends budget and dilutes cohesion.

Only round-trip Organization model fields are written (cadre_level, cohesion, budget); the sympathizer/cadre pool bookkeeping from the original spec-048 pseudo-code is recorded in direct_effects (there is no ReproduceDefines, so the increments are module constants).

Functions

resolve_reproduce(action, org_attrs, graph, ...)

Resolve a player REPRODUCE action (cadre training or mass recruitment).

babylon.engine.actions.reproduce.resolve_reproduce(action, org_attrs, graph, services)[source]

Resolve a player REPRODUCE action (cadre training or mass recruitment).

Parameters:
  • action (Action) – The REPRODUCE action (action_type == ActionType.RECRUIT).

  • org_attrs (dict[str, Any]) – Acting organization’s node attributes.

  • graph (BabylonGraph) – World graph (mutated in place on the acting org node).

  • services (ServicesProtocol) – ServicesProtocol (unused; no ReproduceDefines exist yet).

Return type:

ActionResult

Returns:

ActionResult; success=False when the org node is missing or mass recruitment cannot afford its budget cost.