Skip to content

convert/subprocessor: derive train/research location name from head unit id#1814

Open
lugt wants to merge 1 commit into
SFTtech:masterfrom
lugt:feature/train-location-name-from-head-id
Open

convert/subprocessor: derive train/research location name from head unit id#1814
lugt wants to merge 1 commit into
SFTtech:masterfrom
lugt:feature/train-location-name-from-head-id

Conversation

@lugt

@lugt lugt commented Jul 17, 2026

Copy link
Copy Markdown

…nit id

The name used for locating a CreatableGameEntity or ResearchableTech's nested object inside its train_location's / research_location's ability is currently derived from train_location_id / research_location_id.

However, that id is not necessarily the head unit of the resolved location group: it may be a non-head member of a line, or it may resolve to a group (via fallback) whose head has a different identifier.

In all such cases, the id-based lookup produces a game-entity name that does not match the train_location / research_location group's actual game entity, leaving the nested object stranded without a host ability.

Derive the name from train_location.get_head_unit_id() (or research_location.get_head_unit_id()) instead, matching the convention already used for the train_location variable assignment itself.

Affected:

  • AoCAuxiliarySubprocessor.get_creatable_game_entity
  • AoCAuxiliarySubprocessor.get_researchable_game_entity
  • AoCCivSubprocessor.setup_unique_units

…nit id

The name used for locating a CreatableGameEntity or ResearchableTech's
nested object inside its train_location's / research_location's ability
is currently derived from train_location_id / research_location_id.

However, that id is not necessarily the head unit of the resolved
location group: it may be a non-head member of a line, or it may resolve
to a group (via fallback) whose head has a different identifier.

In all such cases, the id-based lookup produces a game-entity name that
does not match the train_location / research_location group's actual
game entity, leaving the nested object stranded without a host ability.

Derive the name from train_location.get_head_unit_id() (or
research_location.get_head_unit_id()) instead, matching the convention
already used for the train_location variable assignment itself.

Affected:
- AoCAuxiliarySubprocessor.get_creatable_game_entity
- AoCAuxiliarySubprocessor.get_researchable_game_entity
- AoCCivSubprocessor.setup_unique_units

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant