-
Notifications
You must be signed in to change notification settings - Fork 72
Description
In X2CharacterTemplate.GetPawnArchetypeString, the final pawn archetype is resolved and returned with no way to override the string at runtime.
Right now, no mods can override this at runtime; instead, they typically erase the template’s strPawnArchetypes array and replace it with a single entry from within an OPTC to force a specific choice, which is heavy-handed and does not allow mods to interact. You can’t roll dice, can’t occasionally swap variants, and can’t combine rules from multiple mods; it’s a single forced pick via OPTC with winner-takes-all conflicts.
The suggestion is to broadcast a Tuple from GetPawnArchetypeString that listeners can mutate, which is then used to influence the string returned by the function. This adds a cooperative, per-spawn runtime decision point rather than a one-time, winner-takes-all override via OPTC. The result is that more varied, dynamic, and potentially interesting outcomes become easy to implement.