diff --git a/src/camp/engine/rules/base_engine.py b/src/camp/engine/rules/base_engine.py index eb25c91..35951c1 100644 --- a/src/camp/engine/rules/base_engine.py +++ b/src/camp/engine/rules/base_engine.py @@ -1252,7 +1252,10 @@ def new_character(self, **data) -> CharacterController: ) def load_character( - self, data: dict, metadata: base_models.CharacterMetadata | None = None + self, + data: dict, + metadata: base_models.CharacterMetadata | None = None, + flags: dict[str, Any] | None = None, ) -> CharacterController: """Load the given character data with this ruleset. @@ -1268,6 +1271,8 @@ def load_character( model = self.sheet_type(**updated_data) if metadata: model.metadata = metadata + if flags: + model.metadata.flags.update(flags) c = self.character_controller(self, model) c.reconcile() return c