From 53c3bc13e7b223d8f75ce2bedf768c82c696a1a0 Mon Sep 17 00:00:00 2001 From: Robert Janetzko Date: Mon, 18 Apr 2022 10:13:38 +0000 Subject: [PATCH] progress bar, enums --- analyze/.gitignore | 2 +- analyze/analyze.json | 10392 +++++++++++++++++++++++++----------- analyze/df/analyze.go | 34 +- analyze/df/structure.go | 59 +- analyze/go.mod | 15 +- analyze/go.sum | 19 + backend/go.mod | 11 + backend/go.sum | 19 + backend/model/events.go | 54 +- backend/model/model.go | 4741 +++++++++++++--- backend/model/parse.go | 41 +- backend/same.json | 27 +- frontend/src/app/types.ts | 236 +- 13 files changed, 11717 insertions(+), 3933 deletions(-) diff --git a/analyze/.gitignore b/analyze/.gitignore index b44fbdc..0f6fe5a 100644 --- a/analyze/.gitignore +++ b/analyze/.gitignore @@ -1,2 +1,2 @@ -*.json +model.json analyze \ No newline at end of file diff --git a/analyze/analyze.json b/analyze/analyze.json index d002511..c2697a4 100644 --- a/analyze/analyze.json +++ b/analyze/analyze.json @@ -5,10828 +5,14556 @@ "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "The Cyclopean Domain": true, + "The Enchanted Planets": true, + "The Legendary Plane": true, + "The Windy Dimension": true + }, + "Enum": true }, "df_world|artifacts": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|abs_tile_x": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|abs_tile_y": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|abs_tile_z": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|holder_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|item": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|item_description": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|item_subtype": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|item_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|item|name_string": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|item|page_number": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|item|page_written_content_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|item|writing_written_content_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|mat": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|artifacts|artifact|page_count": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|structure_local_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|artifacts|artifact|writing": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|all_castes_alive": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|artificial_hiveable": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_desert_badland": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_desert_rock": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_desert_sand": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_taiga": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_temperate_broadleaf": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_temperate_conifer": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_tropical_conifer": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_tropical_dry_broadleaf": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_forest_tropical_moist_broadleaf": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_glacier": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_grassland_temperate": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_grassland_tropical": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_temperate_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_temperate_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_temperate_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_tropical_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_tropical_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_lake_tropical_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_marsh_temperate_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_marsh_temperate_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_marsh_tropical_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_marsh_tropical_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_mountain": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_ocean_arctic": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_ocean_temperate": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_ocean_tropical": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_temperate_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_temperate_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_temperate_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_tropical_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_tropical_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_pool_tropical_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_temperate_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_temperate_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_temperate_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_tropical_brackishwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_tropical_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_river_tropical_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_savanna_temperate": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_savanna_tropical": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_shrubland_temperate": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_shrubland_tropical": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_subterranean_chasm": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_subterranean_lava": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_subterranean_water": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_swamp_mangrove": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_swamp_temperate_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_swamp_temperate_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_swamp_tropical_freshwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_swamp_tropical_saltwater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|biome_tundra": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|creature_id": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|creature_raw|creature|does_not_exist": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|equipment": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|equipment_wagon": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|evil": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|fanciful": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|generated": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|good": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_benign": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_can_swim": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_cannot_breathe_air": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_cannot_breathe_water": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_carnivore": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_common_domestic": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_curious_beast": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_demon": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_feature_beast": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_flier": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_fly_race_gait": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_grasp": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_grazer": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_has_blood": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_immobile": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_intelligent_learns": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_intelligent_speaks": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_large_predator": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_local_pops_controllable": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_local_pops_produce_heroes": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_megabeast": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_mischievous": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_natural_animal": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_night_creature": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_night_creature_bogeyman": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_night_creature_hunter": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_night_creature_nightmare": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_not_fireimmune": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_not_living": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_outsider_controllable": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_race_gait": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_semimegabeast": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_slow_learner": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_supernatural": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_titan": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_unique_demon": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_utterances": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_vermin_hateable": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_any_vermin_micro": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_female": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|has_male": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|large_roaming": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|loose_clusters": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|mates_to_breed": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|mundane": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|name_plural": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|creature_raw|creature|name_singular": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|creature_raw|creature|occurs_as_entity_race": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|savage": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|small_race": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|two_genders": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|ubiquitous": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_eater": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_fish": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_grounder": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_rotter": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_soil": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|creature_raw|creature|vermin_soil_colony": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|dance_forms": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|dance_forms|dance_form": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|dance_forms|dance_form|description": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|dance_forms|dance_form|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|dance_forms|dance_form|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|entities": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entities|entity": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|child": { + "df_world|entities|entity|child": { "IsString": false, "NoBool": true, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|claims": { + "df_world|entities|entity|claims": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, - "df_world|entities|entity+|entity_link": { + "df_world|entities|entity|entity_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_link+CHILD|strength": { + "df_world|entities|entity|entity_link|strength": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_link+CHILD|target": { + "df_world|entities|entity|entity_link|target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_link+PARENT|strength": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|entity_link+PARENT|target": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|entity_link+RELIGIOUS|strength": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|entity_link+RELIGIOUS|target": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|entity_link|type": { + "df_world|entities|entity|entity_link|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "CHILD": true, + "PARENT": true, + "RELIGIOUS": true + }, + "Enum": true }, - "df_world|entities|entity+|entity_position": { + "df_world|entities|entity|entity_position": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position_assignment": { + "df_world|entities|entity|entity_position_assignment": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position_assignment|histfig": { + "df_world|entities|entity|entity_position_assignment|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position_assignment|id": { + "df_world|entities|entity|entity_position_assignment|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position_assignment|position_id": { + "df_world|entities|entity|entity_position_assignment|position_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position_assignment|squad_id": { + "df_world|entities|entity|entity_position_assignment|squad_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position|id": { + "df_world|entities|entity|entity_position|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|entities|entity+|entity_position|name": { + "df_world|entities|entity|entity_position|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, - "df_world|entities|entity+|entity_position|name_female": { + "df_world|entities|entity|entity_position|name_female": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "baroness": true, + "chieftess": true, + "countess": true, + "doyenne": true, + "duchess": true, + "lady": true, + "queen": true + }, + "Enum": true }, - "df_world|entities|entity+|entity_position|name_male": { + "df_world|entities|entity|entity_position|name_male": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "baron": true, + "chief": true, + "chieftain": true, + "count": true, + "doyen": true, + "duke": true, + "king": true, + "lord": true + }, + "Enum": true }, - "df_world|entities|entity+|entity_position|spouse": { + "df_world|entities|entity|entity_position|spouse": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "baron consort": true, + "count consort": true, + "duke consort": true, + "king consort": true, + "lord consort": true + }, + "Enum": true }, - "df_world|entities|entity+|entity_position|spouse_female": { + "df_world|entities|entity|entity_position|spouse_female": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "baroness consort": true, + "countess consort": true, + "duchess consort": true, + "lady consort": true, + "queen consort": true + }, + "Enum": true }, - "df_world|entities|entity+|entity_position|spouse_male": { + "df_world|entities|entity|entity_position|spouse_male": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "baron consort": true, + "count consort": true, + "duke consort": true, + "king consort": true, + "lord consort": true + }, + "Enum": true }, - "df_world|entities|entity+|histfig_id": { + "df_world|entities|entity|histfig_id": { "IsString": false, "NoBool": true, "Multiple": true, "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|event": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Acrobats|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Banners|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Candles|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Costumes|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+CriersInFront|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+DancePerformance|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Images|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+IncenseBurning|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+MusicalPerformance|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+OrderOfPrecedence|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+PoetryRecital|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+Storytelling|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+TheGivingOfItems|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature+TheSacrificeOfItems|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|feature|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|item_subtype": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|item_type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|reference": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule+|reference2": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|occasion|schedule|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|profession": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|weapon": { - "IsString": true, - "NoBool": true, - "Multiple": true, - "Base": false, - "Plus": true - }, - "df_world|entities|entity+|worship_id": { - "IsString": false, - "NoBool": true, - "Multiple": true, - "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|exempt_epid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|exempt_former_epid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|gives_precedence": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|granted_to_everybody": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|entities|entity|honor|required_battles": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|required_kills": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|required_skill": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "AXE": true, + "CROSSBOW": true, + "HAMMER": true, + "MACE": true, + "SPEAR": true, + "SWORD": true + }, + "Enum": true }, "df_world|entities|entity|honor|required_skill_ip_total": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|required_years": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|honor|requires_any_melee_or_ranged_skill": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|entities|entity|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entities|entity|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false + }, + "df_world|entities|entity|occasion": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|event": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|name": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": false + }, + "df_world|entities|entity|occasion|schedule": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|feature": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|feature|reference": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|feature|type": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "acrobats": true, + "banners": true, + "candles": true, + "costumes": true, + "criers_in_front": true, + "dance_performance": true, + "images": true, + "incense_burning": true, + "musical_performance": true, + "order_of_precedence": true, + "poetry_recital": true, + "storytelling": true, + "the_giving_of_items": true, + "the_sacrifice_of_items": true + }, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|item_subtype": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "astod stand": true, + "battle axe": true, + "bow": true, + "crossbow": true, + "flail": true, + "great axe": true, + "long sword": true, + "mace": true, + "maul": true, + "rohir body": true, + "scimitar": true, + "short sword": true, + "spear": true, + "two-handed sword": true, + "war hammer": true, + "whip": true + }, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|item_type": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "tool": true, + "weapon": true + }, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|reference": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|reference2": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|entities|entity|occasion|schedule|type": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "ceremony": true, + "dance_competition": true, + "dance_performance": true, + "foot_race": true, + "gladiatory_competition": true, + "musical_competition": true, + "musical_performance": true, + "poetry_competition": true, + "poetry_recital": true, + "procession": true, + "storytelling": true, + "throwing_competition": true, + "wrestling_competition": true + }, + "Enum": true + }, + "df_world|entities|entity|profession": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "armorer": true, + "blacksmith": true, + "bone_carver": true, + "bowyer": true, + "carpenter": true, + "clothier": true, + "craftsman": true, + "gem_cutter": true, + "mason": true, + "metalcrafter": true, + "weaponsmith": true, + "weaver": true + }, + "Enum": true }, "df_world|entities|entity|race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "amphibian_man": true, + "ant_man": true, + "bat_man": true, + "cave_fish_man": true, + "cave_swallow_man": true, + "dwarf": true, + "elf": true, + "goblin": true, + "human": true, + "kobold": true, + "olm_man": true, + "reptile_man": true, + "rodent man": true, + "serpent_man": true + }, + "Enum": true }, "df_world|entities|entity|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "civilization": true, + "guild": true, + "merchantcompany": true, + "migratinggroup": true, + "militaryunit": true, + "nomadicgroup": true, + "outcast": true, + "performancetroupe": true, + "religion": true, + "sitegovernment": true + }, + "Enum": true + }, + "df_world|entities|entity|weapon": { + "IsString": true, + "NoBool": true, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": { + "battle axe": true, + "bow": true, + "crossbow": true, + "dagger": true, + "flail": true, + "great axe": true, + "halberd": true, + "long sword": true, + "mace": true, + "maul": true, + "morningstar": true, + "pike": true, + "scimitar": true, + "scourge": true, + "short sword": true, + "spear": true, + "two-handed sword": true, + "war hammer": true, + "whip": true + }, + "Enum": true + }, + "df_world|entities|entity|worship_id": { + "IsString": false, + "NoBool": true, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entity_populations": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entity_populations|entity_population": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entity_populations|entity_population|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entity_populations|entity_population|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|entity_populations|entity_population|race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_eras": { "IsString": true, - "NoBool": true, + "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_eras|historical_era": { "IsString": false, "NoBool": false, - "Multiple": false, + "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_eras|historical_era|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "Age of Heroes": true, + "Age of Legends": true, + "Age of Myth": true, + "Golden Age": true + }, + "Enum": true }, "df_world|historical_eras|historical_era|start_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections": { "IsString": true, - "NoBool": true, + "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|attacking_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Abduction|defending_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|parent_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Abduction|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|a_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|a_support_merc_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_animated": { "IsString": true, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_deaths": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_entity_pop": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_number": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_race": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Battle|attacking_squad_site": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|company_merc": { "IsString": true, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Battle|d_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|d_support_merc_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_animated": { "IsString": true, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_deaths": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_entity_pop": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_number": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_race": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Battle|defending_squad_site": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|individual_merc": { "IsString": true, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Battle|noncom_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|outcome": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "attacker won": true, + "defender won": true + }, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Battle|war_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|defending_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|parent_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+BeastAttack|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Ceremony|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Competition|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|attacking_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Duel|defending_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|parent_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Duel|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+EntityOverthrown|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+EntityOverthrown|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+EntityOverthrown|target_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Insurrection|ordinal": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Insurrection|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Insurrection|target_enid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Journey|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Occasion|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Occasion|occasion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Occasion|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Performance|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Persecution|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Persecution|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Persecution|target_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Procession|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Purge|adjective": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "Vampire": true + }, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Purge|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Purge|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|attacking_enid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|coords": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "15,22": true, + "15,99": true, + "16,25": true, + "17,100": true, + "23,2": true, + "23,27": true, + "26,137": true, + "28,27": true, + "31,39": true, + "34,145": true, + "34,67": true, + "35,144": true, + "37,113": true, + "37,209": true, + "38,36": true, + "40,182": true, + "44,126": true, + "44,209": true, + "54,81": true, + "8,145": true + }, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|defending_enid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|feature_layer_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|ordinal": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|parent_eventcol": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_event_collections|historical_event_collection+Raid|subregion_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+SiteConquered|attacking_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+SiteConquered|defending_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+SiteConquered|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+SiteConquered|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+SiteConquered|war_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|attacking_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection+Theft|defending_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|ordinal": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|parent_eventcol": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+Theft|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+War|aggressor_ent_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+War|defender_ent_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection+War|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_event_collections|historical_event_collection|end_seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|end_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|event": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|eventcol": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|start_seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|start_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_event_collections|historical_event_collection|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "abduction": true, + "battle": true, + "beast attack": true, + "ceremony": true, + "competition": true, + "duel": true, + "entity overthrown": true, + "insurrection": true, + "journey": true, + "occasion": true, + "performance": true, + "persecution": true, + "procession": true, + "purge": true, + "raid": true, + "site conquered": true, + "theft": true, + "war": true + }, + "Enum": true }, "df_world|historical_event_relationship_supplements": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationship_supplements|historical_event_relationship_supplement": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationship_supplements|historical_event_relationship_supplement|event": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationship_supplements|historical_event_relationship_supplement|occasion_type": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationship_supplements|historical_event_relationship_supplement|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationship_supplements|historical_event_relationship_supplement|unk_1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship|event": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship|relationship": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "artistic_buddy": true, + "atheletic_rival": true, + "athlete_buddy": true, + "business_rival": true, + "childhood_friend": true, + "former_lover": true, + "grudge": true, + "jealous_obsession": true, + "jealous_relationship_grudge": true, + "lieutenant": true, + "lover": true, + "persecution_grudge": true, + "religious_persecution_grudge": true, + "scholar_buddy": true, + "supernatural_grudge": true, + "war_buddy": true + }, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship|source_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship|target_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_event_relationships|historical_event_relationship|year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityHonor|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityHonor|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityHonor|honor_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|appointer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|link": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "enemy": true, + "member": true, + "position": true, + "prisoner": true, + "slave": true, + "squad": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "enemy": true, + "member": true, + "position": true, + "prisoner": true, + "slave": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|position": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+AddHfEntityLink|position_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfEntityLink|promise_to_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfHfLink|hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfHfLink|hf_target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfHfLink|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfHfLink|hfid_target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfHfLink|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "apprentice": true, + "deity": true, + "former_master": true, + "lover": true, + "master": true, + "pet_owner": true, + "prisoner": true, + "spouse": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "home_site_abstract_building": true, + "occupation": true, + "seat_of_power": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AddHfSiteLink|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "bribe official": true, + "induce to embezzle": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|agreement_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+AgreementFormed|agreement_subject_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|ally_defense_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|coconspirator_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+AgreementFormed|concluder_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|delegated": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|failed_judgment_test": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|method": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "blackmail over embezzlement": true, + "bribe": true, + "flatter": true, + "intimidate": true, + "offer immortality": true, + "precedence": true, + "religious sympathy": true, + "revenge on grudge": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+AgreementFormed|reason": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "reunited with loved one": true, + "violent disagreement": true, + "whim": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|relevant_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|relevant_id_for_method": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|relevant_position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|successful": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_facet": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "ambition": true, + "anxiety propensity": true, + "confidence": true, + "envy propensity": true, + "fearlessness": true, + "greed": true, + "hope": true, + "pride": true, + "stress vulnerability": true, + "swayable": true, + "vanity": true, + "vengeful": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_facet_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_facet_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_relationship_factor": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "fear": true, + "love": true, + "respect": true, + "trust": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_relationship_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_relationship_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_value": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "law": true, + "power": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_value_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AgreementFormed|top_value_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+AgreementMade|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+AgreementRejected|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "during an infiltration mission": true, + "from afar": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|claim": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "heirloom": true, + "symbol": true, + "treasure": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactClaimFormed|position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|dest_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|dest_site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|dest_structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|from_original": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|source_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|source_site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCopied|source_structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|circumstance": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|historical_events|historical_event+ArtifactCreated|circumstance+Defeated|defeated": { + "df_world|historical_events|historical_event+ArtifactCreated|circumstance|defeated": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|circumstance|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "defeated": true, + "favoritepossession": true, + "preservebody": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|creator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|creator_unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|name_only": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "sanctify_hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|sanctify_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactCreated|unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactDestroyed|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactDestroyed|destroyer_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactDestroyed|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactFound|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactFound|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactFound|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactFound|unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactGiven|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactGiven|giver_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactGiven|giver_hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactGiven|reason": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "part of trade negotiation": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactGiven|receiver_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactGiven|receiver_hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactLost|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactLost|feature_layer_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactLost|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactLost|site_property_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactLost|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "hf is dead": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "artifact is heirloom of family hfid": true, + "artifact is symbol of entity position": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|reason_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactPossessed|unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactRecovered|unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactStored|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactStored|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactStored|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ArtifactStored|unit_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactTransformed|hist_figure_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactTransformed|new_artifact_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactTransformed|old_artifact_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactTransformed|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ArtifactTransformed|unit_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|identity_caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "female": true, + "male": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|identity_histfig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|identity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|identity_name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+AssumeIdentity|identity_nemesis_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|identity_race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "dwarf": true, + "elf": true, + "goblin": true, + "hamster_man": true, + "human": true + }, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|target_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|trickster": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AssumeIdentity|trickster_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|a_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|attacker_general_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|attacker_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|d_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|defender_general_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|defender_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+AttackedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|abuse_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "animated": true, + "flayed": true, + "hung": true, + "impaled": true, + "mutilated": true, + "piled": true + }, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|bodies": { "IsString": false, "NoBool": true, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+BodyAbused|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|interaction": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|item_mat": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+BodyAbused|item_subtype": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "pike": true, + "spear": true + }, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|item_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "weapon": true + }, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|pile_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "grislymound": true, + "grotesquepillar": true, + "gruesomesculpture": true + }, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|tree": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BodyAbused|victim_entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|acquirer_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|acquirer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|building_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|inherited": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|last_owner_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|purchased_unowned": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|rebuilt_ruined": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+BuildingProfileAcquired|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|occasion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|schedule_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Ceremony|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|body_state": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "entombed at site": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ChangeHfBodyState|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfBodyState|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfJob|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfJob|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfJob|new_job": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ChangeHfJob|old_job": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ChangeHfJob|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfJob|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfJob|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ChangeHfState|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|mood": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "berserk": true, + "fell": true, + "fey": true, + "insane": true, + "macabre": true, + "melancholy": true, + "possessed": true, + "secretive": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "be with master": true, + "be_with_master": true, + "conviction_exile": true, + "exiled after conviction": true, + "failed mood": true, + "flight": true, + "gather information": true, + "gather_information": true, + "great deal of stress": true, + "lack of sleep": true, + "none": true, + "on a pilgrimage": true, + "on_a_pilgrimage": true, + "scholarship": true, + "unable to leave location": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|state": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "refugee": true, + "settled": true, + "visiting": true, + "wandering": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangeHfState|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|changee": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|changee_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|changer": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|changer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|new_caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "DEFAULT": true, + "FEMALE": true, + "MALE": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|new_race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ChangedCreatureType|old_caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "FEMALE": true, + "MALE": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ChangedCreatureType|old_race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "AMPHIBIAN_MAN": true, + "DWARF": true, + "ELF": true, + "GOBLIN": true, + "HUMAN": true, + "dwarf": true, + "elf": true, + "goblin": true, + "human": true + }, + "Enum": true }, "df_world|historical_events|historical_event+Competition|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|competitor_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|occasion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|schedule_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Competition|winner_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreateEntityPosition|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreateEntityPosition|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreateEntityPosition|position": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+CreateEntityPosition|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "as_a_matter_of_course": true, + "collaboration": true, + "force_of_argument": true, + "threat_of_violence": true, + "wave_of_popular_support": true + }, + "Enum": true }, "df_world|historical_events|historical_event+CreateEntityPosition|site_civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedSite|builder_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedSite|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedSite|resident_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|builder_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|builder_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|rebuild": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "false": true, + "true": true + }, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|rebuilt": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|site_civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedStructure|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|master_wcid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|site_id1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|site_id2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatedWorldConstruction|wcid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "default": true, + "female": true, + "male": true + }, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|eater": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+CreatureDevoured|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+CreatureDevoured|victim": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "dream": true, + "dream about hf": true, + "nightmare": true, + "pray to hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|form_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "glorify hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|reason_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DanceFormCreated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DestroyedSite|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DestroyedSite|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+DestroyedSite|no_defeat_mention": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DestroyedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+DestroyedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+DiplomatLost|entity": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+DiplomatLost|involved": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+DiplomatLost|site": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+DiplomatLost|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityAllianceFormed|initiating_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityAllianceFormed|joining_enid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityBreachFeatureLayer|civ_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityBreachFeatureLayer|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityBreachFeatureLayer|site_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityBreachFeatureLayer|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityCreated|creator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityCreated|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityCreated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityCreated|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityDissolved|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityDissolved|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "heavy losses in battle": true, + "lack of funds": true + }, + "Enum": true }, "df_world|historical_events|historical_event+EntityEquipmentPurchase|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityEquipmentPurchase|hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityEquipmentPurchase|new_equipment_level": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityExpelsHf|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityExpelsHf|hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityExpelsHf|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityFledSite|fled_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityFledSite|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityIncorporated|joined_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityIncorporated|joiner_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityIncorporated|leader_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityIncorporated|partial_incorporation": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityIncorporated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityLaw|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityLaw|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityLaw|law_add": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "harsh": true + }, + "Enum": true }, "df_world|historical_events|historical_event+EntityLaw|law_remove": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "harsh": true + }, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|conspirator_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|instigator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|overthrown_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|pos_taker_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityOverthrown|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|destroyed_structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|expelled_creature": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|expelled_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|expelled_number": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|expelled_pop_id": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|persecutor_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|persecutor_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|property_confiscated_from_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|shrine_amount_destroyed": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPersecuted|target_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "entity_primary_criminals": true + }, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityPrimaryCriminals|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityRampagedInSite|rampage_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntityRampagedInSite|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "entity_relocate": true + }, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+EntityRelocate|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntitySearchedSite|result": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "found nothing": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+EntitySearchedSite|searcher_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+EntitySearchedSite|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|convicter_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|crime": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "treason": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|fooled_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|framer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|plotter_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedFrameAttempt|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "bribe official": true, + "bring into network": true, + "corrupt in place": true, + "induce to embezzle": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|ally_defense_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|coconspirator_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|corruptor_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|corruptor_identity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|failed_judgment_test": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|lure_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|method": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "blackmail over embezzlement": true, + "bribe": true, + "flatter": true, + "intimidate": true, + "offer immortality": true, + "precedence": true, + "religious sympathy": true, + "revenge on grudge": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|relevant_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|relevant_id_for_method": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|relevant_position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|target_identity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_facet": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "ambition": true, + "anxiety propensity": true, + "confidence": true, + "envy propensity": true, + "fearlessness": true, + "greed": true, + "hope": true, + "pride": true, + "stress vulnerability": true, + "swayable": true, + "vanity": true, + "vengeful": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_facet_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_facet_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_relationship_factor": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "fear": true, + "love": true, + "respect": true, + "trust": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_relationship_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_relationship_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_value": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "law": true, + "power": true + }, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_value_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FailedIntrigueCorruption|top_value_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|a_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|attacker_general_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|attacker_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+FieldBattle|d_support_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|defender_general_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|defender_merc_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+FieldBattle|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+FirstContact|contacted_enid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+FirstContact|contactor_enid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+FirstContact|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Gamble|gambler_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Gamble|new_account": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Gamble|old_account": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Gamble|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Gamble|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAbducted|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAbducted|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAbducted|snatcher_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAbducted|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAbducted|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAttackedSite|attacker_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAttackedSite|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAttackedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfAttackedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfConfronted|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|reason": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "ageless": true, + "murder": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|situation": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "general suspicion": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfConfronted|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfConvicted|beating": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|coconspirator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|confessed_after_apb_arrest_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|contact_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|convict_is_contact": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|convicted_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|convicter_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|corrupt_convicter_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|crime": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "attempted kidnapping": true, + "attempted murder": true, + "attempted theft": true, + "bribery": true, + "building destruction": true, + "disorderly conduct": true, + "embezzlement": true, + "espionage": true, + "murder": true, + "theft": true, + "treason": true, + "vandalism": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|death_penalty": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|did_not_reveal_all_in_interrogation": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|exiled": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|fooled_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|framer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfConvicted|hammerstrokes": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|held_firm_in_interrogation": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|implicated_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|interrogator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfConvicted|no_prison_available": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|plotter_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|prison_months": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|surveiled_coconspirator": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|surveiled_contact": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|surveiled_convicted": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|surveiled_target": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfConvicted|wrongful_conviction": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDestroyedSite|attacker_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDestroyedSite|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDestroyedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDestroyedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|cause": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfDied|death_cause": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "behead": true, + "bleed": true, + "burn_alive": true, + "bury_alive": true, + "cavein": true, + "crucify": true, + "drown": true, + "drown_alt": true, + "drown_alt2": true, + "execution_generic": true, + "feed_to_beasts": true, + "hack_to_pieces": true, + "heat": true, + "infection": true, + "leapt_from_height": true, + "memorialize": true, + "murder": true, + "old_age": true, + "shot": true, + "struck_down": true, + "suffocate": true, + "thirst": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|item": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|item_subtype": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "battle axe": true, + "buckler": true, + "pick": true, + "shield": true, + "spear": true, + "war hammer": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|item_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "none": true, + "shield": true, + "weapon": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|mat": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "bronze": true, + "copper": true, + "silver": true, + "spore tree": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|slayer_caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": { + "DEFAULT": true, + "FEMALE": true, + "MALE": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|slayer_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|slayer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|slayer_item_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|slayer_race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfDied|slayer_shooter_item_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDied|victim_hf": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "disturb": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|hist_fig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDisturbedStructure|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|doer": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|doer_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|interaction": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfDoesInteraction|interaction_action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "bit, passing on the bull monster curse": true, + "bit, passing on the chameleon monster curse": true, + "bit, passing on the elephant monster curse": true, + "bit, passing on the gila monster monster curse": true, + "bit, passing on the panther monster curse": true, + "cursed to assume the form of a ape-like monster every full moon": true, + "cursed to assume the form of a bull-like monster every full moon": true, + "cursed to assume the form of a capybara-like monster every full moon": true, + "cursed to assume the form of a chameleon-like monster every full moon": true, + "cursed to assume the form of a elephant-like monster every full moon": true, + "cursed to assume the form of a gecko-like monster every full moon": true, + "cursed to assume the form of a gila monster-like monster every full moon": true, + "cursed to assume the form of a iguana-like monster every full moon": true, + "cursed to assume the form of a lizard-like monster every full moon": true, + "cursed to assume the form of a mongoose-like monster every full moon": true, + "cursed to assume the form of a monitor-like monster every full moon": true, + "cursed to assume the form of a panther-like monster every full moon": true, + "cursed to assume the form of a skink-like monster every full moon": true, + "cursed to assume the form of a sloth-like monster every full moon": true, + "cursed to assume the form of a tortoise-like monster every full moon": true, + "cursed to assume the form of a wombat-like monster every full moon": true, + "cursed to assume the form of a zebra-like monster every full moon": true, + "cursed to prowl the night in search of blood": true, + "infected with a contagious ghoulish condition": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|region": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|source": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfDoesInteraction|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEnslaved|enslaved_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEnslaved|moved_to_site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEnslaved|payer_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEnslaved|seller_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|group_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|quality": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfEquipmentPurchase|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfFreed|freeing_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfFreed|holding_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfFreed|rescued_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfFreed|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfFreed|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfGainsSecretGoal|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfGainsSecretGoal|secret_goal": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "immortality": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfInterrogated|arresting_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfInterrogated|held_firm_in_interrogation": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfInterrogated|implicated_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfInterrogated|interrogator_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfInterrogated|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfInterrogated|wanted_and_recognized": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|artifact": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|interaction": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfLearnsSecret|secret_text": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "the secrets of life and death": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|student": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|student_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|teacher": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfLearnsSecret|teacher_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "-1,-1": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|group": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|group_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|pets": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfNewPet|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfNewPet|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPerformedHorribleExperiments|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPerformedHorribleExperiments|group_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPerformedHorribleExperiments|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPerformedHorribleExperiments|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPerformedHorribleExperiments|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "prayedinside": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|hist_fig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPrayedInsideStructure|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPreach|entity_1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPreach|entity_2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPreach|site_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPreach|speaker_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfPreach|topic": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "entity 1 should love entity 2": true, + "set entity 1 against entity 2": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "profane": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|hist_fig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfProfanedStructure|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRansomed|moved_to_site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRansomed|payer_entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRansomed|payer_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRansomed|ransomed_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRansomed|ransomer_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfReachSummit|coords": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "15,119": true, + "15,51": true, + "3,145": true, + "3,152": true, + "4,143": true, + "4,205": true, + "40,145": true, + "49,28": true, + "49,38": true, + "52,232": true, + "58,54": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+HfReachSummit|feature_layer_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfReachSummit|group_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfReachSummit|subregion_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRecruitedUnitTypeForEntity|unit_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "monk": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "jealousy": true, + "prefers working alone": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|reason_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|relationship": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "apprentice": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|seeker_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRelationshipDenied|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfReunion|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfReunion|group_1_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfReunion|group_2_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfReunion|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfReunion|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|actor_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|disturbance": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRevived|ghost": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "angry ghost": true, + "energetic poltergeist": true, + "forlorn haunt": true, + "howling spirit": true, + "moaning spirit": true, + "murderous ghost": true, + "restless haunt": true, + "secretive poltergeist": true, + "troublesome poltergeist": true, + "violent ghost": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfRevived|raised_before": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfRevived|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|group_1_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|group_2_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfSimpleBattleEvent|subtype": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "2 lost after giving wounds": true, + "2 lost after mutual wounds": true, + "2 lost after receiving wounds": true, + "ambushed": true, + "attacked": true, + "confront": true, + "corner": true, + "got into a brawl": true, + "happen upon": true, + "scuffle": true, + "subdued": true, + "surprised": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfTravel|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+HfTravel|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfTravel|group_hfid": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfTravel|return": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfTravel|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfTravel|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfViewedArtifact|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfViewedArtifact|hist_fig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfViewedArtifact|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfViewedArtifact|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|body_part": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|injury_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "rip": true, + "slash": true, + "smash": true, + "stab": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|part_lost": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "false": true, + "true": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+HfWounded|was_torture": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|woundee": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|woundee_caste": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|woundee_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|woundee_race": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|wounder": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfWounded|wounder_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|action": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "bring into network": true, + "corrupt in place": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|ally_defense_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "is entity subordinate": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|coconspirator_bonus": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|corruptor_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|corruptor_identity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|corruptor_seen_as": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "master": true, + "possibly unknown director": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|failed_judgment_test": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|lure_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|method": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "blackmail over embezzlement": true, + "bribe": true, + "flatter": true, + "intimidate": true, + "offer immortality": true, + "precedence": true, + "religious sympathy": true, + "revenge on grudge": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|relevant_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|relevant_id_for_method": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|relevant_position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|successful": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|target_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|target_identity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|target_seen_as": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "compromised position holder": true, + "general purpose asset": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_facet": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "ambition": true, + "confidence": true, + "envy propensity": true, + "fearlessness": true, + "greed": true, + "hope": true, + "pride": true, + "stress vulnerability": true, + "swayable": true, + "vanity": true, + "vengeful": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_facet_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_facet_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_relationship_factor": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "fear": true, + "love": true, + "loyalty": true, + "trust": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_relationship_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_relationship_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_value": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "law": true, + "power": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_value_modifier": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedIntrigueRelationship|top_value_rating": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|hf_rep_1_of_2": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "information source": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|hf_rep_2_of_1": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "friendly": true, + "information source": true + }, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|hfid1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|hfid2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|identity_id1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|identity_id2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HfsFormedReputationRelationship|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HolyCityDeclaration|religion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+HolyCityDeclaration|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+InsurrectionStarted|outcome": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "leadership overthrown": true, + "population gone": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+InsurrectionStarted|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+InsurrectionStarted|target_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true - }, - "df_world|historical_events|historical_event+ItemStolen|circumstance+Defeated|defeated": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|historical_events|historical_event+ItemStolen|circumstance+Histeventcollection|hist_event_collection": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|historical_events|historical_event+ItemStolen|circumstance+Murdered|murdered": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true + "Plus": true, + "Values": { + "defeated hf": true, + "historical event collection": true, + "murdered hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ItemStolen|circumstance|defeated": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ItemStolen|circumstance|hist_event_collection": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ItemStolen|circumstance|murdered": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|circumstance|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "defeated": true, + "histeventcollection": true, + "murdered": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|item": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|item_subtype": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ItemStolen|item_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ItemStolen|mat": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+ItemStolen|matindex": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|mattype": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|stash_site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ItemStolen|theft_method": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "confiscated": true, + "looted": true, + "recovered": true, + "theft": true + }, + "Enum": true }, "df_world|historical_events|historical_event+KnowledgeDiscovered|first": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+KnowledgeDiscovered|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+KnowledgeDiscovered|knowledge": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|building_custom": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|building_subtype": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "magmasmelter": true, + "woodfurnace": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|building_type": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "bridge": true, + "furnace": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|maker": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|maker_entity": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|site": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|skill_at_time": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": true, + "Values": { + "accomplished": true, + "master": true, + "professional": true, + "unknown 21": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceArchConstructed|unk_2": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|art_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|art_subid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|maker": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|maker_entity": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|site": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceEngraving|skill_at_time": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": true, + "Values": { + "accomplished": true, + "expert": true, + "grandmaster": true, + "great": true, + "highmaster": true, + "legendary": true, + "legendary4": true, + "master": true, + "professional": true, + "proficient": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceFood|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceFood|hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceFood|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceFood|skill_at_time": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceItemImprovement|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceItemImprovement|hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceItemImprovement|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceItemImprovement|skill_at_time": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|item_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceItem|item_subtype": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "bookcase": true, + "breastplate": true, + "cap": true, + "cloak": true, + "coat": true, + "corkscrew": true, + "gauntlet": true, + "glove": true, + "greaves": true, + "helm": true, + "high boot": true, + "hood": true, + "leggings": true, + "mail shirt": true, + "mitten": true, + "robe": true, + "scroll rollers": true, + "shield": true, + "shirt": true, + "shoe": true, + "sock": true, + "trousers": true + }, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|item_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "armor": true, + "armorstand": true, + "backpack": true, + "barrel": true, + "bed": true, + "box": true, + "bucket": true, + "cabinet": true, + "chair": true, + "cloth": true, + "coffin": true, + "crown": true, + "door": true, + "figurine": true, + "flask": true, + "floodgate": true, + "gloves": true, + "helm": true, + "pants": true, + "shield": true, + "shoes": true, + "slab": true, + "table": true, + "tool": true, + "totem": true, + "trapcomp": true + }, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|maker": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|maker_entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|mat": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+MasterpieceItem|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MasterpieceItem|skill_at_time": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false + }, + "df_world|historical_events|historical_event+MasterpieceLost|creation_event": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceLost|histfig": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceLost|method": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": { + "melt": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+MasterpieceLost|site": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|depot_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|destination": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+Merchant|hardship": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+Merchant|lost_value": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|source": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Merchant|trader_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ModifiedBuilding|modification": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "dungeon": true, + "feast hall": true, + "gated courtyard": true, + "improved fortifications": true + }, + "Enum": true }, "df_world|historical_events|historical_event+ModifiedBuilding|modifier_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ModifiedBuilding|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ModifiedBuilding|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "dream": true, + "dream about hf": true, + "nightmare": true, + "pray to hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|form_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "glorify hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|reason_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+MusicalFormCreated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|new_leader_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|new_site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+NewSiteLeader|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceAccepted|destination": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceAccepted|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceAccepted|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceAccepted|source": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceAccepted|topic": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "requestpeace": true + }, + "Enum": true }, "df_world|historical_events|historical_event+PeaceRejected|destination": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceRejected|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceRejected|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceRejected|source": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PeaceRejected|topic": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "requestpeace": true + }, + "Enum": true }, "df_world|historical_events|historical_event+Performance|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Performance|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Performance|occasion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Performance|schedule_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Performance|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Performance|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PlunderedSite|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PlunderedSite|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PlunderedSite|detected": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+PlunderedSite|no_defeat_mention": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PlunderedSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PlunderedSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+PlunderedSite|took_items": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+PlunderedSite|took_livestock": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+PlunderedSite|was_raid": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PoeticFormCreated|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "dream": true, + "nightmare": true + }, + "Enum": true }, "df_world|historical_events|historical_event+PoeticFormCreated|form_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PoeticFormCreated|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+PoeticFormCreated|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|occasion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|schedule_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Procession|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RazedStructure|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RazedStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RazedStructure|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReclaimSite|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReclaimSite|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReclaimSite|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+ReclaimSite|unretire": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|join_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|pop_flid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|pop_number_moved": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|pop_race": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|pop_srid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RegionpopIncorporatedIntoEntity|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|link": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "member": true, + "position": true, + "prisoner": true, + "slave": true + }, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "member": true, + "position": true, + "prisoner": true, + "slave": true + }, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfEntityLink|position": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event+RemoveHfEntityLink|position_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfHfLink|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfHfLink|hfid_target": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|histfig": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "home_site_abstract_building": true, + "occupation": true, + "seat_of_power": true + }, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+RemoveHfSiteLink|structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|new_ab_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|new_structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|old_ab_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|old_structure": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|site": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|site_civ": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+ReplacedStructure|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteDied|abandoned": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteDied|civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteDied|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteDied|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteDispute|dispute": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "fishing rights": true, + "grazing rights": true, + "livestock ownership": true, + "rights-of-way": true, + "territory": true, + "water rights": true + }, + "Enum": true }, "df_world|historical_events|historical_event+SiteDispute|entity_id_1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteDispute|entity_id_2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteDispute|site_id_1": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteDispute|site_id_2": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteRetired|civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteRetired|first": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteRetired|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteRetired|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteSurrendered|attacker_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteSurrendered|defender_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteSurrendered|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteSurrendered|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteTakenOver|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteTakenOver|defender_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteTakenOver|new_site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteTakenOver|site_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SiteTakenOver|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_events|historical_event+SquadVsSquad|a_hfid": { + "df_world|historical_events|historical_event+SiteTributeForced|attacker_civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteTributeForced|defender_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteTributeForced|season": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "Autumn": true, + "Summer": true + }, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteTributeForced|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SiteTributeForced|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SneakIntoSite|attacker_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SneakIntoSite|defender_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SneakIntoSite|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SneakIntoSite|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SpottedLeavingSite|leaver_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SpottedLeavingSite|site_civ_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SpottedLeavingSite|site_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SpottedLeavingSite|spotter_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|a_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|a_leader_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|a_leadership_roll": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|a_squad_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_effect": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|d_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_interaction": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|d_leader_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_events|historical_event+SquadVsSquad|d_leadership_roll": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_number": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_race": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_slain": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|d_squad_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+SquadVsSquad|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|a_tactician_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|a_tactics_roll": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|d_tactician_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|d_tactics_roll": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|feature_layer_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|situation": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "a favored": true, + "a slightly favored": true, + "a strongly favored": true, + "d slightly favored": true, + "d strongly favored": true, + "neither favored": true + }, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|start": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|structure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+TacticalSituation|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|account_shift": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|allotment": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|allotment_index": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|dest_site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|production_zone_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|source_site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|trader_entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+Trade|trader_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|circumstance": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "dream": true, + "dream about hf": true, + "nightmare": true, + "pray to hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|circumstance_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|hist_figure_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|reason": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "glorify hf": true + }, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|reason_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|subregion_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event+WrittenContentComposed|wc_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event|seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_events|historical_event|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_events|historical_event|year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|active_interaction": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false + }, + "df_world|historical_figures|historical_figure|adventurer": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|animated": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|animated_string": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|appeared": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|associated_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|birth_seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|birth_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|breed_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "DEFAULT": true, + "FEMALE": true, + "KING": true, + "MALE": true, + "QUEEN": true, + "SOLDIER": true, + "WORKER": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|current_identity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|death_seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|death_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|deity": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|ent_pop_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_former_position_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_former_position_link|end_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_former_position_link|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_former_position_link|position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_former_position_link|start_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_former_squad_link": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_former_squad_link|end_year": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_former_squad_link|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_former_squad_link|squad_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_former_squad_link|start_year": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_link|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_link|link_strength": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_link|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "criminal": true, + "enemy": true, + "former member": true, + "former prisoner": true, + "former slave": true, + "member": true, + "prisoner": true, + "slave": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_position_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_position_link|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_position_link|position_profile_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_position_link|start_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_reputation": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_reputation|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_reputation|first_ageless_season_count": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_reputation|first_ageless_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_bard": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_enemy_fighter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_hero": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_hunter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_killer": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_knowledge_preserver": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_poet": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_protector_of_weak": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_storyteller": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_thief": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|entity_reputation|rep_treasure_hunter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_reputation|unsolved_murders": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_squad_link": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_squad_link|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_squad_link|squad_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_squad_link|squad_position": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|entity_squad_link|start_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|force": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|ghost": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|goal": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "attain rank in society": true, + "bathe world in chaos": true, + "become a legendary warrior": true, + "bring peace to the world": true, + "craft a masterwork": true, + "create a great work of art": true, + "fall in love": true, + "immortality": true, + "maintain entity status": true, + "make a great discovery": true, + "master a skill": true, + "rule the world": true, + "see the great natural sites": true, + "start a family": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_link|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_link|link_strength": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_link|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "apprentice": true, + "child": true, + "companion": true, + "deceased spouse": true, + "deity": true, + "father": true, + "former apprentice": true, + "former master": true, + "former spouse": true, + "lover": true, + "master": true, + "mother": true, + "pet owner": true, + "spouse": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_skill": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|hf_skill|skill": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|hf_skill|total_ip": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|holds_artifact": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|honor_entity": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|honor_entity|battles": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|honor_entity|entity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|honor_entity|honor_id": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|honor_entity|kills": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|interaction_knowledge": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|intrigue_actor": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|handle_actor_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|local_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|promised_actor_immortality": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|promised_me_immortality": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|role": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "asset": true, + "corrupt position holder": true, + "delivery target": true, + "enemy": true, + "handler": true, + "lieutenant": true, + "master": true, + "possible threat": true, + "possibly unknown director": true, + "potential employer": true, + "rebuffed": true, + "source of funds": true, + "source of funds for master": true, + "suspected criminal": true, + "underworld contact": true, + "usable assassin": true, + "usable snatcher": true, + "usable thief": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|strategy": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "avoid": true, + "corrupt and pacify": true, + "monitor": true, + "neutralize": true, + "obey": true, + "tax": true, + "torment": true, + "use": true, + "work if suited": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|strategy_enid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_actor|strategy_eppid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_plot": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_figures|historical_figure|intrigue_plot+AcquireArtifact|artifact_id": { + "df_world|historical_figures|historical_figure|intrigue_plot|actor_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_figures|historical_figure|intrigue_plot+AcquireArtifact|delegated_plot_hfid": { + "df_world|historical_figures|historical_figure|intrigue_plot|artifact_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_figures|historical_figure|intrigue_plot+AcquireArtifact|delegated_plot_id": { + "df_world|historical_figures|historical_figure|intrigue_plot|delegated_plot_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_figures|historical_figure|intrigue_plot+AcquireArtifact|parent_plot_hfid": { + "df_world|historical_figures|historical_figure|intrigue_plot|delegated_plot_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|historical_figures|historical_figure|intrigue_plot+AcquireArtifact|parent_plot_id": { + "df_world|historical_figures|historical_figure|intrigue_plot|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|delegated_plot_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|delegated_plot_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|parent_plot_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|parent_plot_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|plot_actor": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|plot_actor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|plot_actor|agreement_has_messenger": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|plot_actor|agreement_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AssassinateActor|plot_actor|plot_role": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+AttainRank|on_hold": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+CorruptActorsGovernment|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+Counterintelligence|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+DirectWarToActor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+FrameActor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowCorruptionNetwork|on_hold": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowFundingNetwork|plot_actor": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowFundingNetwork|plot_actor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowFundingNetwork|plot_actor|agreement_has_messenger": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowFundingNetwork|plot_actor|agreement_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+GrowFundingNetwork|plot_actor|plot_role": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+InfiltrateSociety|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+KidnapActor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+KidnapActor|delegated_plot_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+KidnapActor|delegated_plot_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+UndeadWorldConquest|on_hold": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+|on_hold": { - "IsString": true, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+|plot_actor": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+|plot_actor|actor_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+|plot_actor|agreement_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|historical_figures|historical_figure|intrigue_plot+|plot_actor|plot_role": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_plot|local_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|on_hold": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|parent_plot_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|parent_plot_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|plot_actor": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|plot_actor|actor_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|plot_actor|agreement_has_messenger": { + "IsString": true, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|plot_actor|agreement_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|intrigue_plot|plot_actor|plot_role": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "assassin": true, + "source of funds": true, + "thief": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|intrigue_plot|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "acquire artifact": true, + "assassinate actor": true, + "attain rank": true, + "become immortal": true, + "corrupt actor's government": true, + "counterintelligence": true, + "direct war to actor": true, + "frame actor": true, + "grow asset network": true, + "grow corruption network": true, + "grow funding network": true, + "infiltrate society": true, + "kidnap actor": true, + "sabotage actor": true, + "undead world conquest": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|journey_pet": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|fear": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|hf_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|love": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|loyalty": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_enemy_fighter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_hero": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_hunter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_killer": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_psychopath": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_storyteller": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|rep_violent": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|respect": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_historical|trust": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|fear": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|love": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|loyalty": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|rep_psychopath": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|respect": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_identity|trust": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|fear": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|hf_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|known_identity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|last_meet_seconds72": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|last_meet_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|love": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|loyalty": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|meet_count": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_bonded": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_comrade": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_flatterer": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_friendly": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_hero": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_hunter": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_information_source": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_killer": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_psychopath": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_quarreler": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|rep_trade_partner": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|respect": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|relationship_profile_hf_visual|trust": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|sex": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link|link_type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "hangout": true, + "home saved zone": true, + "home site building": true, + "home site underground": true, + "home structure": true, + "lair": true, + "occupation": true, + "seat of power": true + }, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link|occupation_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_link|sub_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_property": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_property|property_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|site_property|site_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|sphere": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|historical_figures|historical_figure|used_identity_id": { "IsString": false, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|artistic_buddy": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|atheletic_rival": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|athlete_buddy": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|business_rival": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|childhood_friend": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|grudge": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|jealous_obsession": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|jealous_relationship_grudge": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|persecution_grudge": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|religious_persecution_grudge": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|scholar_buddy": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|supernatural_grudge": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|historical_figures|historical_figure|vague_relationship|war_buddy": { "IsString": true, "NoBool": false, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|identities": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|birth_second": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|birth_year": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|caste": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "female": true, + "male": true + }, + "Enum": true }, "df_world|identities|identity|entity_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|histfig_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|identities|identity|nemesis_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|identities|identity|profession": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "bard": true, + "beast_hunter": true, + "criminal": true, + "dancer": true, + "mercenary": true, + "merchant": true, + "monk": true, + "monster_slayer": true, + "peddler": true, + "pilgrim": true, + "poet": true, + "prophet": true, + "scholar": true, + "snatcher": true + }, + "Enum": true }, "df_world|identities|identity|race": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "dwarf": true, + "elf": true, + "goblin": true, + "hamster_man": true, + "human": true + }, + "Enum": true }, "df_world|landmasses": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|landmasses|landmass": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|landmasses|landmass|coord_1": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|landmasses|landmass|coord_2": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|landmasses|landmass|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|landmasses|landmass|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|mountain_peaks": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|mountain_peaks|mountain_peak": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|mountain_peaks|mountain_peak|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|mountain_peaks|mountain_peak|height": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|mountain_peaks|mountain_peak|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|mountain_peaks|mountain_peak|is_volcano": { "IsString": true, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|mountain_peaks|mountain_peak|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|musical_forms": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|musical_forms|musical_form": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|musical_forms|musical_form|description": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|musical_forms|musical_form|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|musical_forms|musical_form|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "Boldoludon": true, + "Gomathsil": true, + "Minbaznitom": true, + "Ospazosmlo": true + }, + "Enum": true }, "df_world|poetic_forms": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|poetic_forms|poetic_form": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|poetic_forms|poetic_form|description": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|poetic_forms|poetic_form|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|poetic_forms|poetic_form|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|regions": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|regions|region": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|regions|region|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|regions|region|evilness": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "evil": true, + "good": true, + "neutral": true + }, + "Enum": true }, "df_world|regions|region|force_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|regions|region|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|regions|region|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|regions|region|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "Desert": true, + "Forest": true, + "Glacier": true, + "Grassland": true, + "Hills": true, + "Lake": true, + "Mountains": true, + "Ocean": true, + "Tundra": true, + "Wetland": true + }, + "Enum": true }, "df_world|rivers": { "IsString": false, "NoBool": false, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|rivers|river": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|rivers|river|end_pos": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|rivers|river|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|rivers|river|path": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|sites": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|sites|site": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true - }, - "df_world|sites|site+Camp|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Camp|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Camp|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Castle|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Castle|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Castle|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Cave|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|site_properties": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|site_properties|site_property": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|site_properties|site_property|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|site_properties|site_property|structure_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+CountingHouse|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Dungeon|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Dungeon|subtype": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+InnTavern|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Keep|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure+UnderworldSpire|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkFortress|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|structures|structure+MeadHall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+DarkPits|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|site_properties": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|site_properties|site_property": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|site_properties|site_property|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|site_properties|site_property|structure_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+CountingHouse|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Dungeon|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Dungeon|subtype": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+InnTavern|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Keep|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+MeadHall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+ForestRetreat|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|site_properties": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|site_properties|site_property": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|site_properties|site_property|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|site_properties|site_property|structure_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+CountingHouse|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Dungeon|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Dungeon|subtype": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Guildhall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+InnTavern|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Keep|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Library|copied_artifact_id": { - "IsString": false, - "NoBool": true, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Library|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fortress|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure+Temple|worship_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Fort|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties|site_property": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties|site_property+House|owner_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties|site_property|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties|site_property|structure_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|site_properties|site_property|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures|structure+CountingHouse|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures|structure+MeadHall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hamlet|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures|structure+MeadHall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Hillocks|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Labyrinth|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Labyrinth|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Labyrinth|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Lair|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Lair|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Lair|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Monastery|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+MountainHalls|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+MountainHalls|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+MountainHalls|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Shrine|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Shrine|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Shrine|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|structures|structure+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tomb|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tower|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tower|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Tower|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property+House|owner_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property|owner_hfid": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property|structure_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|site_properties|site_property|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures": { - "IsString": false, - "NoBool": false, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure": { - "IsString": false, - "NoBool": false, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+CountingHouse|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Dungeon|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Dungeon|subtype": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Guildhall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+InnTavern|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Keep|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Library|copied_artifact_id": { - "IsString": false, - "NoBool": true, - "Multiple": true, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Library|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Market|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+MeadHall|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Temple|entity_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Temple|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Tomb|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure+Tower|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure|local_id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Town|structures|structure|type": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Vault|coords": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Vault|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|sites|site+Vault|rectangle": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|sites|site|civ_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|coords": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": false }, "df_world|sites|site|cur_owner_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|sites|site|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|name": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": false + }, + "df_world|sites|site|rectangle": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": false + }, + "df_world|sites|site|site_properties": { + "IsString": false, + "NoBool": false, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|site_properties|site_property": { + "IsString": false, + "NoBool": false, + "Multiple": true, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|site_properties|site_property|id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|site_properties|site_property|owner_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|site_properties|site_property|structure_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|site_properties|site_property|type": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "house": true + }, + "Enum": true }, "df_world|sites|site|structures": { "IsString": false, "NoBool": false, "Multiple": false, - "Base": false, - "Plus": true + "Base": true, + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|sites|site|structures|structure": { "IsString": false, "NoBool": false, "Multiple": true, - "Base": false, - "Plus": true + "Base": true, + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|sites|site|structures|structure+|deity": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|sites|site|structures|structure+|deity_type": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|sites|site|structures|structure+|dungeon_type": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|sites|site|structures|structure+|inhabitant": { + "df_world|sites|site|structures|structure|copied_artifact_id": { "IsString": false, "NoBool": true, "Multiple": true, - "Base": false, - "Plus": true + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, - "df_world|sites|site|structures|structure+|name": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|sites|site|structures|structure+|name2": { - "IsString": true, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|sites|site|structures|structure+|religion": { + "df_world|sites|site|structures|structure|deity": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|deity_type": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|dungeon_type": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|entity_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|sites|site|structures|structure|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|inhabitant": { + "IsString": false, + "NoBool": true, + "Multiple": true, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|local_id": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|name": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": true, + "Values": {}, + "Enum": false + }, + "df_world|sites|site|structures|structure|name2": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": false + }, + "df_world|sites|site|structures|structure|religion": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": false, + "Plus": true, + "Values": {}, + "Enum": true + }, + "df_world|sites|site|structures|structure|subtype": { + "IsString": true, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": { + "catacombs": true, + "sewers": true + }, + "Enum": true }, "df_world|sites|site|structures|structure|type": { "IsString": true, "NoBool": true, "Multiple": false, - "Base": false, - "Plus": true + "Base": true, + "Plus": true, + "Values": { + "counting house": true, + "counting_house": true, + "dungeon": true, + "guildhall": true, + "inn tavern": true, + "inn_tavern": true, + "keep": true, + "library": true, + "market": true, + "mead hall": true, + "mead_hall": true, + "temple": true, + "tomb": true, + "tower": true, + "underworld spire": true, + "underworld_spire": true + }, + "Enum": true + }, + "df_world|sites|site|structures|structure|worship_hfid": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|sites|site|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "camp": true, + "castle": true, + "cave": true, + "dark fortress": true, + "dark pits": true, + "forest retreat": true, + "fort": true, + "fortress": true, + "hamlet": true, + "hillocks": true, + "important location": true, + "labyrinth": true, + "lair": true, + "monastery": true, + "mountain halls": true, + "shrine": true, + "tomb": true, + "tower": true, + "town": true, + "vault": true + }, + "Enum": true }, "df_world|underground_regions": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|underground_regions|underground_region": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true - }, - "df_world|underground_regions|underground_region+Cavern|depth": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|underground_regions|underground_region+Magma|depth": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false - }, - "df_world|underground_regions|underground_region+Underworld|depth": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": true, - "Plus": false + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|underground_regions|underground_region|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false + }, + "df_world|underground_regions|underground_region|depth": { + "IsString": false, + "NoBool": true, + "Multiple": false, + "Base": true, + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|underground_regions|underground_region|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|underground_regions|underground_region|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "cavern": true, + "magma": true, + "underworld": true + }, + "Enum": true }, "df_world|world_constructions": { "IsString": true, - "NoBool": true, + "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|world_constructions|world_construction": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|world_constructions|world_construction+|coords": { + "df_world|world_constructions|world_construction|coords": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|world_constructions|world_construction|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|world_constructions|world_construction|name": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|world_constructions|world_construction|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "bridge": true, + "road": true, + "tunnel": true + }, + "Enum": true }, "df_world|written_contents": { "IsString": false, "NoBool": false, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content": { "IsString": false, "NoBool": false, "Multiple": true, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|written_contents|written_content+|author": { + "df_world|written_contents|written_content|author": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content+|style": { - "IsString": true, - "NoBool": true, - "Multiple": true, - "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|author_hfid": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|author_roll": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|form": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": { + "alternate history": true, + "atlas": true, + "autobiography": true, + "biography": true, + "choreography": true, + "chronicle": true, + "comparative biography": true, + "cultural comparison": true, + "cultural history": true, + "dialog": true, + "dictionary": true, + "encyclopedia": true, + "essay": true, + "genealogy": true, + "guide": true, + "letter": true, + "manual": true, + "musical composition": true, + "novel": true, + "play": true, + "poem": true, + "short story": true, + "star catalogue": true, + "star chart": true, + "treatise on technological evolution": true + }, + "Enum": true }, "df_world|written_contents|written_content|form_id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": false + "Plus": false, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|page_end": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|page_start": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|reference": { "IsString": false, "NoBool": false, "Multiple": true, "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, - "df_world|written_contents|written_content|reference+ARTIFACT|id": { + "df_world|written_contents|written_content|reference|id": { "IsString": false, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+DANCEFORM|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+ENTITY|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+HISTORICALEVENT|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+HISTORICALFIGURE|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+MUSICALFORM|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+POETICFORM|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+SITE|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+SUBREGION|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true - }, - "df_world|written_contents|written_content|reference+WRITTENCONTENT|id": { - "IsString": false, - "NoBool": true, - "Multiple": false, - "Base": false, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": true }, "df_world|written_contents|written_content|reference|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "ABSTRACT_BUILDING": true, + "ARTIFACT": true, + "DANCE_FORM": true, + "ENTITY": true, + "HISTORICAL_EVENT": true, + "HISTORICAL_FIGURE": true, + "INTERACTION": true, + "KNOWLEDGE_SCHOLAR_FLAG": true, + "LANGUAGE": true, + "MUSICAL_FORM": true, + "POETIC_FORM": true, + "SITE": true, + "SUBREGION": true, + "VALUE_LEVEL": true, + "WRITTEN_CONTENT": true + }, + "Enum": true }, "df_world|written_contents|written_content|style": { "IsString": true, "NoBool": true, "Multiple": true, "Base": true, - "Plus": false + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|written_contents|written_content|title": { "IsString": true, "NoBool": true, "Multiple": false, "Base": true, - "Plus": true + "Plus": true, + "Values": {}, + "Enum": false }, "df_world|written_contents|written_content|type": { "IsString": true, "NoBool": true, "Multiple": false, "Base": false, - "Plus": true + "Plus": true, + "Values": { + "AlternateHistory": true, + "Atlas": true, + "Autobiography": true, + "Biography": true, + "Choreography": true, + "Chronicle": true, + "ComparativeBiography": true, + "CulturalComparison": true, + "CulturalHistory": true, + "Dialog": true, + "Dictionary": true, + "Encyclopedia": true, + "Essay": true, + "Genealogy": true, + "Guide": true, + "Letter": true, + "Manual": true, + "MusicalComposition": true, + "Novel": true, + "Play": true, + "Poem": true, + "ShortStory": true, + "StarCatalogue": true, + "StarChart": true, + "TreatiseOnTechnologicalEvolution": true + }, + "Enum": true } }, "SubTypes": { "df_world|entities|entity": { - "Ceremony": { - "name": "Ceremony", - "base": "", - "plus": "ceremony" - }, "Civilization": { "name": "Civilization", "base": "", "plus": "civilization" }, - "DanceCompetition": { - "name": "DanceCompetition", - "base": "", - "plus": "dance_competition" - }, - "DancePerformance": { - "name": "DancePerformance", - "base": "", - "plus": "dance_performance" - }, - "FootRace": { - "name": "FootRace", - "base": "", - "plus": "foot_race" - }, - "GladiatoryCompetition": { - "name": "GladiatoryCompetition", - "base": "", - "plus": "gladiatory_competition" - }, "Guild": { "name": "Guild", "base": "", @@ -10847,16 +14575,6 @@ "base": "", "plus": "militaryunit" }, - "MusicalCompetition": { - "name": "MusicalCompetition", - "base": "", - "plus": "musical_competition" - }, - "MusicalPerformance": { - "name": "MusicalPerformance", - "base": "", - "plus": "musical_performance" - }, "Nomadicgroup": { "name": "Nomadicgroup", "base": "", @@ -10872,6 +14590,53 @@ "base": "", "plus": "performancetroupe" }, + "Religion": { + "name": "Religion", + "base": "", + "plus": "religion" + }, + "Sitegovernment": { + "name": "Sitegovernment", + "base": "", + "plus": "sitegovernment" + } + }, + "df_world|entities|entity|occasion|schedule": { + "Ceremony": { + "name": "Ceremony", + "base": "", + "plus": "ceremony" + }, + "DanceCompetition": { + "name": "DanceCompetition", + "base": "", + "plus": "dance_competition" + }, + "DancePerformance": { + "name": "DancePerformance", + "base": "", + "plus": "dance_performance" + }, + "FootRace": { + "name": "FootRace", + "base": "", + "plus": "foot_race" + }, + "GladiatoryCompetition": { + "name": "GladiatoryCompetition", + "base": "", + "plus": "gladiatory_competition" + }, + "MusicalCompetition": { + "name": "MusicalCompetition", + "base": "", + "plus": "musical_competition" + }, + "MusicalPerformance": { + "name": "MusicalPerformance", + "base": "", + "plus": "musical_performance" + }, "PoetryCompetition": { "name": "PoetryCompetition", "base": "", @@ -10887,16 +14652,6 @@ "base": "", "plus": "procession" }, - "Religion": { - "name": "Religion", - "base": "", - "plus": "religion" - }, - "Sitegovernment": { - "name": "Sitegovernment", - "base": "", - "plus": "sitegovernment" - }, "Storytelling": { "name": "Storytelling", "base": "", @@ -10949,6 +14704,11 @@ "base": "entity overthrown", "plus": "" }, + "Insurrection": { + "name": "Insurrection", + "base": "insurrection", + "plus": "" + }, "Journey": { "name": "Journey", "base": "journey", @@ -10979,6 +14739,11 @@ "base": "purge", "plus": "" }, + "Raid": { + "name": "Raid", + "base": "raid", + "plus": "" + }, "SiteConquered": { "name": "SiteConquered", "base": "site conquered", @@ -11021,6 +14786,16 @@ "base": "agreement formed", "plus": "" }, + "AgreementMade": { + "name": "AgreementMade", + "base": "agreement made", + "plus": "" + }, + "AgreementRejected": { + "name": "AgreementRejected", + "base": "agreement rejected", + "plus": "" + }, "ArtifactClaimFormed": { "name": "ArtifactClaimFormed", "base": "artifact claim formed", @@ -11071,6 +14846,11 @@ "base": "artifact stored", "plus": "" }, + "ArtifactTransformed": { + "name": "ArtifactTransformed", + "base": "artifact transformed", + "plus": "" + }, "AssumeIdentity": { "name": "AssumeIdentity", "base": "assume identity", @@ -11156,6 +14936,11 @@ "base": "destroyed site", "plus": "" }, + "DiplomatLost": { + "name": "DiplomatLost", + "base": "diplomat lost", + "plus": "diplomat_lost" + }, "EntityAllianceFormed": { "name": "EntityAllianceFormed", "base": "entity alliance formed", @@ -11181,6 +14966,16 @@ "base": "entity equipment purchase", "plus": "" }, + "EntityExpelsHf": { + "name": "EntityExpelsHf", + "base": "entity expels hf", + "plus": "" + }, + "EntityFledSite": { + "name": "EntityFledSite", + "base": "entity fled site", + "plus": "" + }, "EntityIncorporated": { "name": "EntityIncorporated", "base": "entity incorporated", @@ -11206,11 +15001,21 @@ "base": "entity primary criminals", "plus": "entity_action" }, + "EntityRampagedInSite": { + "name": "EntityRampagedInSite", + "base": "entity rampaged in site", + "plus": "" + }, "EntityRelocate": { "name": "EntityRelocate", "base": "entity relocate", "plus": "entity_action" }, + "EntitySearchedSite": { + "name": "EntitySearchedSite", + "base": "entity searched site", + "plus": "" + }, "FailedFrameAttempt": { "name": "FailedFrameAttempt", "base": "failed frame attempt", @@ -11226,6 +15031,11 @@ "base": "field battle", "plus": "" }, + "FirstContact": { + "name": "FirstContact", + "base": "first contact", + "plus": "" + }, "Gamble": { "name": "Gamble", "base": "gamble", @@ -11281,6 +15091,11 @@ "base": "hf equipment purchase", "plus": "" }, + "HfFreed": { + "name": "HfFreed", + "base": "hf freed", + "plus": "" + }, "HfGainsSecretGoal": { "name": "HfGainsSecretGoal", "base": "hf gains secret goal", @@ -11321,6 +15136,16 @@ "base": "hf profaned structure", "plus": "hf_act_on_building" }, + "HfRansomed": { + "name": "HfRansomed", + "base": "hf ransomed", + "plus": "" + }, + "HfReachSummit": { + "name": "HfReachSummit", + "base": "hf reach summit", + "plus": "" + }, "HfRecruitedUnitTypeForEntity": { "name": "HfRecruitedUnitTypeForEntity", "base": "hf recruited unit type for entity", @@ -11376,6 +15201,11 @@ "base": "holy city declaration", "plus": "" }, + "InsurrectionStarted": { + "name": "InsurrectionStarted", + "base": "insurrection started", + "plus": "" + }, "ItemStolen": { "name": "ItemStolen", "base": "item stolen", @@ -11386,11 +15216,36 @@ "base": "knowledge discovered", "plus": "" }, + "MasterpieceArchConstructed": { + "name": "MasterpieceArchConstructed", + "base": "masterpiece arch constructed", + "plus": "masterpiece_created_arch_construct" + }, + "MasterpieceEngraving": { + "name": "MasterpieceEngraving", + "base": "masterpiece engraving", + "plus": "masterpiece_created_engraving" + }, + "MasterpieceFood": { + "name": "MasterpieceFood", + "base": "masterpiece food", + "plus": "" + }, "MasterpieceItem": { "name": "MasterpieceItem", "base": "masterpiece item", "plus": "masterpiece_created_item" }, + "MasterpieceItemImprovement": { + "name": "MasterpieceItemImprovement", + "base": "masterpiece item improvement", + "plus": "" + }, + "MasterpieceLost": { + "name": "MasterpieceLost", + "base": "masterpiece lost", + "plus": "masterpiece_lost" + }, "Merchant": { "name": "Merchant", "base": "merchant", @@ -11476,16 +15331,46 @@ "base": "replaced structure", "plus": "replaced_building" }, + "SiteDied": { + "name": "SiteDied", + "base": "site died", + "plus": "" + }, "SiteDispute": { "name": "SiteDispute", "base": "site dispute", "plus": "" }, + "SiteRetired": { + "name": "SiteRetired", + "base": "site retired", + "plus": "" + }, + "SiteSurrendered": { + "name": "SiteSurrendered", + "base": "site surrendered", + "plus": "" + }, "SiteTakenOver": { "name": "SiteTakenOver", "base": "site taken over", "plus": "" }, + "SiteTributeForced": { + "name": "SiteTributeForced", + "base": "site tribute forced", + "plus": "" + }, + "SneakIntoSite": { + "name": "SneakIntoSite", + "base": "sneak into site", + "plus": "" + }, + "SpottedLeavingSite": { + "name": "SpottedLeavingSite", + "base": "spotted leaving site", + "plus": "" + }, "SquadVsSquad": { "name": "SquadVsSquad", "base": "squad vs squad", @@ -11610,9 +15495,9 @@ "base": "hillocks", "plus": "" }, - "House": { - "name": "House", - "base": "house", + "ImportantLocation": { + "name": "ImportantLocation", + "base": "important location", "plus": "" }, "Labyrinth": { @@ -11661,6 +15546,13 @@ "plus": "" } }, + "df_world|sites|site|site_properties|site_property": { + "House": { + "name": "House", + "base": "house", + "plus": "" + } + }, "df_world|sites|site|structures|structure": { "CountingHouse": { "name": "CountingHouse", diff --git a/analyze/df/analyze.go b/analyze/df/analyze.go index fd10461..61c0b64 100644 --- a/analyze/df/analyze.go +++ b/analyze/df/analyze.go @@ -15,6 +15,8 @@ func Generate() error { return err } + listEnumCandidates(a) + m, err := createMetadata(a) if err != nil { return err @@ -24,9 +26,9 @@ func Generate() error { return err } - // if err := generateEventsCode(m); err != nil { - // return err - // } + if err := generateEventsCode(m); err != nil { + return err + } if err := generateFrontendCode(m); err != nil { return err @@ -245,3 +247,29 @@ func isObject(typ string, types []string) (bool, string) { } return fc > 0, typ } + +func listEnumCandidates(a *AnalyzeData) { + keys := util.Keys(a.Fields) + sort.Strings(keys) + + for _, k := range keys { + f := a.Fields[k] + if !f.Enum { + continue + } + f.Enum = false + n := k[strings.LastIndex(k, PATH_SEPARATOR)+1:] + if n == "name" || n == "altname" || strings.Contains(n, "name_") || strings.Contains(n, "spouse") || n == "coords" || n == "rectangle" || n == "interaction_action" || strings.Contains(n, "race") || strings.Contains(n, "caste") || strings.Contains(n, "_mat") { + continue + } + if f.IsString { + v := util.Keys(f.Values) + sort.Strings(v) + if len(v) == 0 { + continue + } + fmt.Println(k, ":", strings.Join(v, ", ")) + f.Enum = true + } + } +} diff --git a/analyze/df/structure.go b/analyze/df/structure.go index e335f05..7fdda7f 100644 --- a/analyze/df/structure.go +++ b/analyze/df/structure.go @@ -11,6 +11,7 @@ import ( "strconv" "strings" + "github.com/cheggaaa/pb/v3" "github.com/iancoleman/strcase" "github.com/robertjanetzko/LegendsBrowser2/backend/util" ) @@ -38,10 +39,15 @@ type FieldData struct { Multiple bool Base bool Plus bool + Values map[string]bool + Enum bool } func NewFieldData() *FieldData { - return &FieldData{} + return &FieldData{ + Enum: true, + Values: make(map[string]bool), + } } type AnalyzeData struct { @@ -79,7 +85,7 @@ func (a *AnalyzeData) GetField(s string) *FieldData { if f, ok := a.Fields[s]; ok { return f } else { - f := &FieldData{} + f := NewFieldData() a.Fields[s] = f return f } @@ -123,32 +129,57 @@ func analyze(file string, a *AnalyzeData) error { // base file + fi, err := os.Stat(file) + if err != nil { + return err + } + size := fi.Size() + bar := pb.Full.Start64(size) + xmlFile, err := os.Open(file) if err != nil { return err } - fmt.Println("Successfully Opened", file) + fmt.Println("\nAnalyzing", file) defer xmlFile.Close() - _, err = analyzeElement(xml.NewDecoder(util.NewConvertReader(xmlFile)), a, make([]string, 0), &ctx) + converter := util.NewConvertReader(xmlFile) + barReader := bar.NewProxyReader(converter) + + _, err = analyzeElement(xml.NewDecoder(barReader), a, make([]string, 0), &ctx) if err != nil { return err } + bar.Finish() + // plus file ctx.plus = true file = strings.Replace(file, "-legends.xml", "-legends_plus.xml", 1) + + fi, err = os.Stat(file) + if err != nil { + return err + } + size = fi.Size() + bar = pb.Full.Start64(size) + xmlFile, err = os.Open(file) if err != nil { return err } - fmt.Println("Successfully Opened", file) + fmt.Println("\nAnalyzing", file) defer xmlFile.Close() - _, err = analyzeElement(xml.NewDecoder(util.NewConvertReader(xmlFile)), a, make([]string, 0), &ctx) + converter = util.NewConvertReader(xmlFile) + barReader = bar.NewProxyReader(converter) + + _, err = analyzeElement(xml.NewDecoder(barReader), a, make([]string, 0), &ctx) + + bar.Finish() return err } @@ -241,7 +272,9 @@ Loop: } } - path[len(path)-1] = path[len(path)-1] + "+" + strcase.ToCamel(subtype) + if allowedTyped[strings.Join(path, PATH_SEPARATOR)] { + path[len(path)-1] = path[len(path)-1] + "+" + strcase.ToCamel(subtype) + } } } @@ -250,9 +283,17 @@ Loop: case xml.EndElement: if value { - s := string(data) + s := strings.TrimSpace(string(data)) if _, err := strconv.Atoi(s); err != nil { - a.GetField(strings.Join(path, PATH_SEPARATOR)).IsString = true + f := a.GetField(strings.Join(path, PATH_SEPARATOR)) + f.IsString = true + if s != "" && f.Enum { + f.Values[s] = true + } + if len(f.Values) > 30 { + f.Values = make(map[string]bool) + f.Enum = false + } } if len(s) > 0 { a.GetField(strings.Join(path, PATH_SEPARATOR)).NoBool = true diff --git a/analyze/go.mod b/analyze/go.mod index d0621b8..7dc590b 100644 --- a/analyze/go.mod +++ b/analyze/go.mod @@ -4,4 +4,17 @@ go 1.18 require github.com/iancoleman/strcase v0.2.0 -require github.com/robertjanetzko/LegendsBrowser2/backend v0.0.0-20220414135947-77b720f8d215 +require ( + github.com/cheggaaa/pb/v3 v3.0.8 + github.com/robertjanetzko/LegendsBrowser2/backend v0.0.0-20220414135947-77b720f8d215 +) + +require ( + github.com/VividCortex/ewma v1.1.1 // indirect + github.com/fatih/color v1.10.0 // indirect + github.com/mattn/go-colorable v0.1.8 // indirect + github.com/mattn/go-isatty v0.0.12 // indirect + github.com/mattn/go-runewidth v0.0.12 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 // indirect +) diff --git a/analyze/go.sum b/analyze/go.sum index e0580c8..ee6a5fd 100644 --- a/analyze/go.sum +++ b/analyze/go.sum @@ -1,4 +1,23 @@ +github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= +github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= +github.com/cheggaaa/pb/v3 v3.0.8 h1:bC8oemdChbke2FHIIGy9mn4DPJ2caZYQnfbRqwmdCoA= +github.com/cheggaaa/pb/v3 v3.0.8/go.mod h1:UICbiLec/XO6Hw6k+BHEtHeQFzzBH4i2/qk/ow1EJTA= +github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.12 h1:Y41i/hVW3Pgwr8gV+J23B9YEY0zxjptBuCWEaxmAOow= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/robertjanetzko/LegendsBrowser2/backend v0.0.0-20220414135947-77b720f8d215 h1:i23QGS93i7zoDyarU2dQLYDYxSo8MkatzhISsRQuljM= github.com/robertjanetzko/LegendsBrowser2/backend v0.0.0-20220414135947-77b720f8d215/go.mod h1:b6NU94RVWS7nz92lGiifeWN1cLV2EeNSzx0Oop+Ma54= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/backend/go.mod b/backend/go.mod index 8e81a77..a819c5d 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -3,6 +3,17 @@ module github.com/robertjanetzko/LegendsBrowser2/backend go 1.18 require ( + github.com/cheggaaa/pb/v3 v3.0.8 github.com/gorilla/mux v1.8.0 github.com/pkg/profile v1.6.0 ) + +require ( + github.com/VividCortex/ewma v1.1.1 // indirect + github.com/fatih/color v1.10.0 // indirect + github.com/mattn/go-colorable v0.1.8 // indirect + github.com/mattn/go-isatty v0.0.12 // indirect + github.com/mattn/go-runewidth v0.0.12 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 // indirect +) diff --git a/backend/go.sum b/backend/go.sum index f561cef..a4df44b 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,4 +1,23 @@ +github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= +github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= +github.com/cheggaaa/pb/v3 v3.0.8 h1:bC8oemdChbke2FHIIGy9mn4DPJ2caZYQnfbRqwmdCoA= +github.com/cheggaaa/pb/v3 v3.0.8/go.mod h1:UICbiLec/XO6Hw6k+BHEtHeQFzzBH4i2/qk/ow1EJTA= +github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.12 h1:Y41i/hVW3Pgwr8gV+J23B9YEY0zxjptBuCWEaxmAOow= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/backend/model/events.go b/backend/model/events.go index 7452551..7207c04 100644 --- a/backend/model/events.go +++ b/backend/model/events.go @@ -12,6 +12,10 @@ func (x *HistoricalEventAddHfSiteLink) Html() string { return "UNKNWON Historica func (x *HistoricalEventAgreementFormed) Html() string { return "UNKNWON HistoricalEventAgreementFormed" } +func (x *HistoricalEventAgreementMade) Html() string { return "UNKNWON HistoricalEventAgreementMade" } +func (x *HistoricalEventAgreementRejected) Html() string { + return "UNKNWON HistoricalEventAgreementRejected" +} func (x *HistoricalEventArtifactClaimFormed) Html() string { return "UNKNWON HistoricalEventArtifactClaimFormed" } @@ -32,6 +36,9 @@ func (x *HistoricalEventArtifactRecovered) Html() string { return "UNKNWON HistoricalEventArtifactRecovered" } func (x *HistoricalEventArtifactStored) Html() string { return "UNKNWON HistoricalEventArtifactStored" } +func (x *HistoricalEventArtifactTransformed) Html() string { + return "UNKNWON HistoricalEventArtifactTransformed" +} func (x *HistoricalEventAssumeIdentity) Html() string { return "UNKNWON HistoricalEventAssumeIdentity" } func (x *HistoricalEventAttackedSite) Html() string { return "UNKNWON HistoricalEventAttackedSite" } func (x *HistoricalEventBodyAbused) Html() string { return "UNKNWON HistoricalEventBodyAbused" } @@ -65,6 +72,7 @@ func (x *HistoricalEventDanceFormCreated) Html() string { return "UNKNWON HistoricalEventDanceFormCreated" } func (x *HistoricalEventDestroyedSite) Html() string { return "UNKNWON HistoricalEventDestroyedSite" } +func (x *HistoricalEventDiplomatLost) Html() string { return "UNKNWON HistoricalEventDiplomatLost" } func (x *HistoricalEventEntityAllianceFormed) Html() string { return "UNKNWON HistoricalEventEntityAllianceFormed" } @@ -78,6 +86,8 @@ func (x *HistoricalEventEntityDissolved) Html() string { func (x *HistoricalEventEntityEquipmentPurchase) Html() string { return "UNKNWON HistoricalEventEntityEquipmentPurchase" } +func (x *HistoricalEventEntityExpelsHf) Html() string { return "UNKNWON HistoricalEventEntityExpelsHf" } +func (x *HistoricalEventEntityFledSite) Html() string { return "UNKNWON HistoricalEventEntityFledSite" } func (x *HistoricalEventEntityIncorporated) Html() string { return "UNKNWON HistoricalEventEntityIncorporated" } @@ -91,7 +101,13 @@ func (x *HistoricalEventEntityPersecuted) Html() string { func (x *HistoricalEventEntityPrimaryCriminals) Html() string { return "UNKNWON HistoricalEventEntityPrimaryCriminals" } +func (x *HistoricalEventEntityRampagedInSite) Html() string { + return "UNKNWON HistoricalEventEntityRampagedInSite" +} func (x *HistoricalEventEntityRelocate) Html() string { return "UNKNWON HistoricalEventEntityRelocate" } +func (x *HistoricalEventEntitySearchedSite) Html() string { + return "UNKNWON HistoricalEventEntitySearchedSite" +} func (x *HistoricalEventFailedFrameAttempt) Html() string { return "UNKNWON HistoricalEventFailedFrameAttempt" } @@ -99,6 +115,7 @@ func (x *HistoricalEventFailedIntrigueCorruption) Html() string { return "UNKNWON HistoricalEventFailedIntrigueCorruption" } func (x *HistoricalEventFieldBattle) Html() string { return "UNKNWON HistoricalEventFieldBattle" } +func (x *HistoricalEventFirstContact) Html() string { return "UNKNWON HistoricalEventFirstContact" } func (x *HistoricalEventGamble) Html() string { return "UNKNWON HistoricalEventGamble" } func (x *HistoricalEventHfAbducted) Html() string { return "UNKNWON HistoricalEventHfAbducted" } func (x *HistoricalEventHfAttackedSite) Html() string { return "UNKNWON HistoricalEventHfAttackedSite" } @@ -118,6 +135,7 @@ func (x *HistoricalEventHfEnslaved) Html() string { return "UNKNWON HistoricalEv func (x *HistoricalEventHfEquipmentPurchase) Html() string { return "UNKNWON HistoricalEventHfEquipmentPurchase" } +func (x *HistoricalEventHfFreed) Html() string { return "UNKNWON HistoricalEventHfFreed" } func (x *HistoricalEventHfGainsSecretGoal) Html() string { return "UNKNWON HistoricalEventHfGainsSecretGoal" } @@ -134,6 +152,8 @@ func (x *HistoricalEventHfPreach) Html() string { return "UNKNWON HistoricalEven func (x *HistoricalEventHfProfanedStructure) Html() string { return "UNKNWON HistoricalEventHfProfanedStructure" } +func (x *HistoricalEventHfRansomed) Html() string { return "UNKNWON HistoricalEventHfRansomed" } +func (x *HistoricalEventHfReachSummit) Html() string { return "UNKNWON HistoricalEventHfReachSummit" } func (x *HistoricalEventHfRecruitedUnitTypeForEntity) Html() string { return "UNKNWON HistoricalEventHfRecruitedUnitTypeForEntity" } @@ -159,13 +179,31 @@ func (x *HistoricalEventHfsFormedReputationRelationship) Html() string { func (x *HistoricalEventHolyCityDeclaration) Html() string { return "UNKNWON HistoricalEventHolyCityDeclaration" } +func (x *HistoricalEventInsurrectionStarted) Html() string { + return "UNKNWON HistoricalEventInsurrectionStarted" +} func (x *HistoricalEventItemStolen) Html() string { return "UNKNWON HistoricalEventItemStolen" } func (x *HistoricalEventKnowledgeDiscovered) Html() string { return "UNKNWON HistoricalEventKnowledgeDiscovered" } +func (x *HistoricalEventMasterpieceArchConstructed) Html() string { + return "UNKNWON HistoricalEventMasterpieceArchConstructed" +} +func (x *HistoricalEventMasterpieceEngraving) Html() string { + return "UNKNWON HistoricalEventMasterpieceEngraving" +} +func (x *HistoricalEventMasterpieceFood) Html() string { + return "UNKNWON HistoricalEventMasterpieceFood" +} func (x *HistoricalEventMasterpieceItem) Html() string { return "UNKNWON HistoricalEventMasterpieceItem" } +func (x *HistoricalEventMasterpieceItemImprovement) Html() string { + return "UNKNWON HistoricalEventMasterpieceItemImprovement" +} +func (x *HistoricalEventMasterpieceLost) Html() string { + return "UNKNWON HistoricalEventMasterpieceLost" +} func (x *HistoricalEventMerchant) Html() string { return "UNKNWON HistoricalEventMerchant" } func (x *HistoricalEventModifiedBuilding) Html() string { return "UNKNWON HistoricalEventModifiedBuilding" @@ -197,9 +235,21 @@ func (x *HistoricalEventRemoveHfSiteLink) Html() string { func (x *HistoricalEventReplacedStructure) Html() string { return "UNKNWON HistoricalEventReplacedStructure" } -func (x *HistoricalEventSiteDispute) Html() string { return "UNKNWON HistoricalEventSiteDispute" } +func (x *HistoricalEventSiteDied) Html() string { return "UNKNWON HistoricalEventSiteDied" } +func (x *HistoricalEventSiteDispute) Html() string { return "UNKNWON HistoricalEventSiteDispute" } +func (x *HistoricalEventSiteRetired) Html() string { return "UNKNWON HistoricalEventSiteRetired" } +func (x *HistoricalEventSiteSurrendered) Html() string { + return "UNKNWON HistoricalEventSiteSurrendered" +} func (x *HistoricalEventSiteTakenOver) Html() string { return "UNKNWON HistoricalEventSiteTakenOver" } -func (x *HistoricalEventSquadVsSquad) Html() string { return "UNKNWON HistoricalEventSquadVsSquad" } +func (x *HistoricalEventSiteTributeForced) Html() string { + return "UNKNWON HistoricalEventSiteTributeForced" +} +func (x *HistoricalEventSneakIntoSite) Html() string { return "UNKNWON HistoricalEventSneakIntoSite" } +func (x *HistoricalEventSpottedLeavingSite) Html() string { + return "UNKNWON HistoricalEventSpottedLeavingSite" +} +func (x *HistoricalEventSquadVsSquad) Html() string { return "UNKNWON HistoricalEventSquadVsSquad" } func (x *HistoricalEventTacticalSituation) Html() string { return "UNKNWON HistoricalEventTacticalSituation" } diff --git a/backend/model/model.go b/backend/model/model.go index 45165ac..fc368e7 100644 --- a/backend/model/model.go +++ b/backend/model/model.go @@ -10,27 +10,27 @@ import ( func InitSameFields() { sameFields = map[string]map[string]map[string]bool{ "Artifact": { - "ItemSubtype": {}, - "ItemType": {}, + "Mat": {}, + "ItemType": {}, "PageCount": { - "StructureLocalId": true, "AbsTileY": true, - "HolderHfid": true, - "AbsTileX": true, - "SubregionId": true, - "AbsTileZ": true, "SiteId": true, + "AbsTileZ": true, + "SubregionId": true, + "HolderHfid": true, + "StructureLocalId": true, + "AbsTileX": true, }, - "Mat": {}, "ItemDescription": {}, + "ItemSubtype": {}, "Writing": { - "StructureLocalId": true, "AbsTileY": true, - "HolderHfid": true, - "SubregionId": true, - "AbsTileX": true, - "AbsTileZ": true, "SiteId": true, + "AbsTileZ": true, + "SubregionId": true, + "HolderHfid": true, + "StructureLocalId": true, + "AbsTileX": true, }, }, "Creature": {}, @@ -39,6 +39,7 @@ func InitSameFields() { "Entity": {}, "EntityEntityLink": {}, "EntityFormerPositionLink": {}, + "EntityFormerSquadLink": {}, "EntityPopulation": {}, "EntityPosition": {}, "EntityPositionAssignment": {}, @@ -52,30 +53,30 @@ func InitSameFields() { "HistoricalEvent": {}, "HistoricalEventAddHfEntityHonor": {}, "HistoricalEventAddHfEntityLink": { - "Histfig": { + "Civ": { "CivId": true, - "PositionId": true, "Hfid": true, + "PositionId": true, }, "LinkType": { "Link": true, }, + "Histfig": { + "Hfid": true, + "PositionId": true, + "CivId": true, + }, "Position": { "Link": true, }, - "Civ": { - "Hfid": true, - "CivId": true, - "PositionId": true, - }, }, "HistoricalEventAddHfHfLink": { - "LinkType": {}, - "Hf": { + "HfTarget": { "Hfid": true, "HfidTarget": true, }, - "HfTarget": { + "LinkType": {}, + "Hf": { "HfidTarget": true, "Hfid": true, }, @@ -96,30 +97,32 @@ func InitSameFields() { }, }, "HistoricalEventAgreementFormed": {}, + "HistoricalEventAgreementMade": {}, + "HistoricalEventAgreementRejected": {}, "HistoricalEventArtifactClaimFormed": {}, "HistoricalEventArtifactCopied": {}, "HistoricalEventArtifactCreated": { - "CreatorHfid": { - "HistFigureId": true, + "SanctifyHf": { "SiteId": true, + "HistFigureId": true, "UnitId": true, }, + "Site": { + "UnitId": true, + "SiteId": true, + "HistFigureId": true, + }, + "CreatorHfid": { + "UnitId": true, + "HistFigureId": true, + "SiteId": true, + }, + "Reason": {}, "CreatorUnitId": { "HistFigureId": true, "SiteId": true, "UnitId": true, }, - "Reason": {}, - "Site": { - "HistFigureId": true, - "SiteId": true, - "UnitId": true, - }, - "SanctifyHf": { - "SiteId": true, - "UnitId": true, - "HistFigureId": true, - }, }, "HistoricalEventArtifactCreatedCircumstance": {}, "HistoricalEventArtifactDestroyed": {}, @@ -129,109 +132,110 @@ func InitSameFields() { "HistoricalEventArtifactPossessed": {}, "HistoricalEventArtifactRecovered": {}, "HistoricalEventArtifactStored": {}, + "HistoricalEventArtifactTransformed": {}, "HistoricalEventAssumeIdentity": { + "IdentityRace": {}, "Trickster": { - "IdentityId": true, "TargetEnid": true, "TricksterHfid": true, + "IdentityId": true, }, "IdentityCaste": {}, - "IdentityRace": {}, - "Target": { - "IdentityId": true, - "TargetEnid": true, - "TricksterHfid": true, - }, "IdentityHistfigId": { + "TricksterHfid": true, "IdentityId": true, "TargetEnid": true, - "TricksterHfid": true, }, "IdentityName": {}, "IdentityNemesisId": { "IdentityId": true, + "TricksterHfid": true, + "TargetEnid": true, + }, + "Target": { "TargetEnid": true, "TricksterHfid": true, + "IdentityId": true, }, }, "HistoricalEventAttackedSite": {}, "HistoricalEventBodyAbused": { "Site": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - }, - "Histfig": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - }, - "Interaction": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - }, - "Civ": { "SiteId": true, "SubregionId": true, "FeatureLayerId": true, }, - "ItemType": { - "Coords": true, - }, "Structure": { "SiteId": true, "SubregionId": true, "FeatureLayerId": true, }, - "Tree": { - "FeatureLayerId": true, + "VictimEntity": { "SiteId": true, "SubregionId": true, + "FeatureLayerId": true, }, - "AbuseType": { - "Coords": true, + "Civ": { + "SiteId": true, + "SubregionId": true, + "FeatureLayerId": true, }, - "ItemSubtype": { - "Coords": true, + "Histfig": { + "SiteId": true, + "SubregionId": true, + "FeatureLayerId": true, }, - "ItemMat": { - "Coords": true, + "Interaction": { + "SubregionId": true, + "FeatureLayerId": true, + "SiteId": true, }, "PileType": { "Coords": true, }, - "VictimEntity": { - "FeatureLayerId": true, + "AbuseType": { + "Coords": true, + }, + "ItemType": { + "Coords": true, + }, + "Tree": { "SiteId": true, "SubregionId": true, + "FeatureLayerId": true, + }, + "ItemMat": { + "Coords": true, + }, + "ItemSubtype": { + "Coords": true, }, }, "HistoricalEventBuildingProfileAcquired": {}, "HistoricalEventCeremony": {}, "HistoricalEventChangeHfBodyState": {}, "HistoricalEventChangeHfJob": { + "NewJob": {}, "OldJob": {}, "Site": { + "SiteId": true, "SubregionId": true, "FeatureLayerId": true, - "SiteId": true, }, - "NewJob": {}, }, "HistoricalEventChangeHfState": { "Site": { "FeatureLayerId": true, - "SubregionId": true, "SiteId": true, + "SubregionId": true, }, }, "HistoricalEventChangedCreatureType": { - "Changee": { + "Changer": { "ChangerHfid": true, "ChangeeHfid": true, }, - "Changer": { + "Changee": { "ChangeeHfid": true, "ChangerHfid": true, }, @@ -244,12 +248,14 @@ func InitSameFields() { "HistoricalEventCollectionCompetition": {}, "HistoricalEventCollectionDuel": {}, "HistoricalEventCollectionEntityOverthrown": {}, + "HistoricalEventCollectionInsurrection": {}, "HistoricalEventCollectionJourney": {}, "HistoricalEventCollectionOccasion": {}, "HistoricalEventCollectionPerformance": {}, "HistoricalEventCollectionPersecution": {}, "HistoricalEventCollectionProcession": {}, "HistoricalEventCollectionPurge": {}, + "HistoricalEventCollectionRaid": {}, "HistoricalEventCollectionSiteConquered": {}, "HistoricalEventCollectionTheft": {}, "HistoricalEventCollectionWar": {}, @@ -257,75 +263,88 @@ func InitSameFields() { "HistoricalEventCreateEntityPosition": {}, "HistoricalEventCreatedSite": {}, "HistoricalEventCreatedStructure": { - "BuilderHf": { - "BuilderHfid": true, - "StructureId": true, - "SiteId": true, - "CivId": true, - "SiteCivId": true, - }, - "Rebuild": {}, "Site": { - "StructureId": true, - "BuilderHfid": true, - "SiteCivId": true, "SiteId": true, - "CivId": true, - }, - "Structure": { "StructureId": true, - "BuilderHfid": true, "SiteCivId": true, - "SiteId": true, - "CivId": true, - }, - "Civ": { - "StructureId": true, "BuilderHfid": true, - "SiteCivId": true, - "SiteId": true, "CivId": true, }, "SiteCiv": { - "SiteId": true, - "CivId": true, "SiteCivId": true, - "BuilderHfid": true, + "SiteId": true, "StructureId": true, + "BuilderHfid": true, + "CivId": true, }, + "BuilderHf": { + "StructureId": true, + "SiteCivId": true, + "SiteId": true, + "BuilderHfid": true, + "CivId": true, + }, + "Structure": { + "SiteCivId": true, + "SiteId": true, + "StructureId": true, + "BuilderHfid": true, + "CivId": true, + }, + "Civ": { + "BuilderHfid": true, + "CivId": true, + "SiteId": true, + "StructureId": true, + "SiteCivId": true, + }, + "Rebuild": {}, }, "HistoricalEventCreatedWorldConstruction": {}, "HistoricalEventCreatureDevoured": { - "Entity": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - }, - "Race": {}, - "Victim": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - }, "Caste": {}, + "Race": {}, + "Victim": { + "SubregionId": true, + "FeatureLayerId": true, + "SiteId": true, + }, "Eater": { "FeatureLayerId": true, "SiteId": true, "SubregionId": true, }, + "Entity": { + "SubregionId": true, + "FeatureLayerId": true, + "SiteId": true, + }, "Site": { "FeatureLayerId": true, "SiteId": true, "SubregionId": true, }, }, - "HistoricalEventDanceFormCreated": {}, - "HistoricalEventDestroyedSite": {}, + "HistoricalEventDanceFormCreated": {}, + "HistoricalEventDestroyedSite": {}, + "HistoricalEventDiplomatLost": { + "Site": { + "SiteId": true, + }, + "Entity": { + "SiteId": true, + }, + "Involved": { + "SiteId": true, + }, + }, "HistoricalEventEntityAllianceFormed": {}, "HistoricalEventEntityBreachFeatureLayer": {}, "HistoricalEventEntityCreated": {}, "HistoricalEventEntityDissolved": {}, "HistoricalEventEntityEquipmentPurchase": {}, + "HistoricalEventEntityExpelsHf": {}, + "HistoricalEventEntityFledSite": {}, "HistoricalEventEntityIncorporated": {}, "HistoricalEventEntityLaw": {}, "HistoricalEventEntityOverthrown": {}, @@ -348,27 +367,30 @@ func InitSameFields() { "StructureId": true, }, }, + "HistoricalEventEntityRampagedInSite": {}, "HistoricalEventEntityRelocate": { + "Action": {}, + "Entity": { + "StructureId": true, + "EntityId": true, + "SiteId": true, + }, "Site": { "EntityId": true, "SiteId": true, "StructureId": true, }, "Structure": { - "StructureId": true, - "EntityId": true, - "SiteId": true, - }, - "Action": {}, - "Entity": { - "EntityId": true, "SiteId": true, "StructureId": true, + "EntityId": true, }, }, + "HistoricalEventEntitySearchedSite": {}, "HistoricalEventFailedFrameAttempt": {}, "HistoricalEventFailedIntrigueCorruption": {}, "HistoricalEventFieldBattle": {}, + "HistoricalEventFirstContact": {}, "HistoricalEventGamble": {}, "HistoricalEventHfAbducted": {}, "HistoricalEventHfAttackedSite": {}, @@ -376,109 +398,110 @@ func InitSameFields() { "HistoricalEventHfConvicted": {}, "HistoricalEventHfDestroyedSite": {}, "HistoricalEventHfDied": { - "Site": { - "SlayerShooterItemId": true, + "VictimHf": { + "SubregionId": true, "FeatureLayerId": true, - "SiteId": true, + "Hfid": true, "SlayerHfid": true, "SlayerItemId": true, - "Hfid": true, - "SubregionId": true, + "SiteId": true, + "SlayerShooterItemId": true, }, - "ArtifactId": { - "FeatureLayerId": true, - "SiteId": true, - "Hfid": true, - "SlayerHfid": true, - "SlayerItemId": true, - "SubregionId": true, - "SlayerShooterItemId": true, + "ItemSubtype": { + "Cause": true, }, "DeathCause": { "Cause": true, }, "Item": { - "FeatureLayerId": true, - "SiteId": true, - "SlayerItemId": true, "Hfid": true, "SlayerHfid": true, - "SubregionId": true, - "SlayerShooterItemId": true, - }, - "Mat": { - "Cause": true, - }, - "ItemSubtype": { - "Cause": true, - }, - "VictimHf": { + "SlayerItemId": true, "FeatureLayerId": true, "SiteId": true, + "SlayerShooterItemId": true, + "SubregionId": true, + }, + "ArtifactId": { + "FeatureLayerId": true, + "Hfid": true, "SlayerHfid": true, "SlayerItemId": true, - "Hfid": true, - "SubregionId": true, + "SiteId": true, "SlayerShooterItemId": true, + "SubregionId": true, }, "ItemType": { "Cause": true, }, - "SlayerHf": { - "SubregionId": true, - "SlayerShooterItemId": true, - "SiteId": true, + "Mat": { + "Cause": true, + }, + "Site": { "FeatureLayerId": true, + "Hfid": true, "SlayerHfid": true, "SlayerItemId": true, + "SiteId": true, + "SlayerShooterItemId": true, + "SubregionId": true, + }, + "SlayerHf": { + "SubregionId": true, + "FeatureLayerId": true, "Hfid": true, + "SlayerHfid": true, + "SlayerItemId": true, + "SiteId": true, + "SlayerShooterItemId": true, }, }, "HistoricalEventHfDisturbedStructure": { - "Structure": { - "StructureId": true, - "HistFigId": true, - "SiteId": true, - }, - "Action": {}, "Histfig": { "StructureId": true, "HistFigId": true, "SiteId": true, }, "Site": { + "StructureId": true, + "HistFigId": true, + "SiteId": true, + }, + "Structure": { "SiteId": true, "StructureId": true, "HistFigId": true, }, + "Action": {}, }, "HistoricalEventHfDoesInteraction": { - "Region": { + "Doer": { "TargetHfid": true, "DoerHfid": true, }, "InteractionAction": { "Interaction": true, }, - "Site": { - "TargetHfid": true, - "DoerHfid": true, - }, - "Source": { - "TargetHfid": true, - "DoerHfid": true, - }, "Target": { "DoerHfid": true, "TargetHfid": true, }, - "Doer": { + "Region": { + "DoerHfid": true, + "TargetHfid": true, + }, + "Site": { + "DoerHfid": true, + "TargetHfid": true, + }, + "Source": { "DoerHfid": true, "TargetHfid": true, }, }, "HistoricalEventHfEnslaved": {}, "HistoricalEventHfEquipmentPurchase": {}, + "HistoricalEventHfFreed": {}, "HistoricalEventHfGainsSecretGoal": {}, "HistoricalEventHfInterrogated": {}, "HistoricalEventHfLearnsSecret": { @@ -486,14 +509,14 @@ func InitSameFields() { "Interaction": true, }, "Student": { - "ArtifactId": true, "StudentHfid": true, "TeacherHfid": true, + "ArtifactId": true, }, "Teacher": { + "StudentHfid": true, "TeacherHfid": true, "ArtifactId": true, - "StudentHfid": true, }, "Artifact": { "StudentHfid": true, @@ -502,36 +525,36 @@ func InitSameFields() { }, }, "HistoricalEventHfNewPet": { - "Group": { - "GroupHfid": true, - "SiteId": true, - "SubregionId": true, - "FeatureLayerId": true, - }, "Pets": { "Coords": true, }, "Site": { - "SiteId": true, - "SubregionId": true, "FeatureLayerId": true, "GroupHfid": true, + "SiteId": true, + "SubregionId": true, + }, + "Group": { + "FeatureLayerId": true, + "GroupHfid": true, + "SiteId": true, + "SubregionId": true, }, }, "HistoricalEventHfPerformedHorribleExperiments": {}, "HistoricalEventHfPrayedInsideStructure": { + "Structure": { + "HistFigId": true, + "SiteId": true, + "StructureId": true, + }, "Action": {}, "Histfig": { + "HistFigId": true, "SiteId": true, "StructureId": true, - "HistFigId": true, }, "Site": { - "StructureId": true, - "HistFigId": true, - "SiteId": true, - }, - "Structure": { "HistFigId": true, "SiteId": true, "StructureId": true, @@ -541,9 +564,9 @@ func InitSameFields() { "HistoricalEventHfProfanedStructure": { "Action": {}, "Histfig": { + "HistFigId": true, "SiteId": true, "StructureId": true, - "HistFigId": true, }, "Site": { "SiteId": true, @@ -551,11 +574,13 @@ func InitSameFields() { "HistFigId": true, }, "Structure": { + "SiteId": true, "StructureId": true, "HistFigId": true, - "SiteId": true, }, }, + "HistoricalEventHfRansomed": {}, + "HistoricalEventHfReachSummit": {}, "HistoricalEventHfRecruitedUnitTypeForEntity": {}, "HistoricalEventHfRelationshipDenied": {}, "HistoricalEventHfReunion": {}, @@ -564,143 +589,207 @@ func InitSameFields() { "HistoricalEventHfTravel": {}, "HistoricalEventHfViewedArtifact": {}, "HistoricalEventHfWounded": { + "WoundeeCaste": { + "WoundeeHfid": true, + "SiteId": true, + "WounderHfid": true, + "FeatureLayerId": true, + "SubregionId": true, + }, + "Site": { + "SubregionId": true, + "FeatureLayerId": true, + "WoundeeHfid": true, + "WounderHfid": true, + "SiteId": true, + }, + "InjuryType": {}, "Woundee": { "FeatureLayerId": true, - "SiteId": true, "SubregionId": true, "WoundeeHfid": true, + "SiteId": true, "WounderHfid": true, }, "WoundeeRace": { - "WoundeeHfid": true, + "SiteId": true, "WounderHfid": true, "FeatureLayerId": true, - "SiteId": true, "SubregionId": true, + "WoundeeHfid": true, + }, + "PartLost": {}, + "Wounder": { + "WounderHfid": true, + "SiteId": true, + "FeatureLayerId": true, + "SubregionId": true, + "WoundeeHfid": true, }, "BodyPart": { "WoundeeHfid": true, "WounderHfid": true, "SiteId": true, - "SubregionId": true, "FeatureLayerId": true, - }, - "InjuryType": {}, - "PartLost": {}, - "Site": { - "WoundeeHfid": true, - "WounderHfid": true, - "SiteId": true, "SubregionId": true, - "FeatureLayerId": true, - }, - "WoundeeCaste": { - "SubregionId": true, - "FeatureLayerId": true, - "SiteId": true, - "WoundeeHfid": true, - "WounderHfid": true, - }, - "Wounder": { - "FeatureLayerId": true, - "SiteId": true, - "SubregionId": true, - "WoundeeHfid": true, - "WounderHfid": true, }, }, "HistoricalEventHfsFormedIntrigueRelationship": {}, "HistoricalEventHfsFormedReputationRelationship": {}, "HistoricalEventHolyCityDeclaration": {}, + "HistoricalEventInsurrectionStarted": {}, "HistoricalEventItemStolen": { + "Mat": {}, + "Structure": { + "CircumstanceId": true, + }, + "TheftMethod": {}, "Entity": { "CircumstanceId": true, }, - "Histfig": { - "CircumstanceId": true, - }, - "ItemType": {}, - "Site": { - "CircumstanceId": true, - }, - "Structure": { + "Matindex": { "CircumstanceId": true, }, "Item": { "CircumstanceId": true, }, - "Mat": {}, - "Matindex": { - "CircumstanceId": true, - }, - "TheftMethod": {}, "ItemSubtype": {}, - "Mattype": { + "ItemType": {}, + "Histfig": { "CircumstanceId": true, }, "StashSite": { "CircumstanceId": true, }, + "Mattype": { + "CircumstanceId": true, + }, + "Site": { + "CircumstanceId": true, + }, }, "HistoricalEventItemStolenCircumstance": {}, "HistoricalEventKnowledgeDiscovered": {}, - "HistoricalEventMasterpieceItem": { - "MakerEntity": { + "HistoricalEventMasterpieceArchConstructed": { + "Unk2": { + "Hfid": true, + "EntityId": true, + "SiteId": true, + }, + "BuildingCustom": { + "Hfid": true, + "EntityId": true, + "SiteId": true, + }, + "Maker": { "Hfid": true, "SiteId": true, "EntityId": true, }, + "MakerEntity": { + "Hfid": true, + "EntityId": true, + "SiteId": true, + }, + "BuildingSubtype": {}, + "BuildingType": {}, + "Site": { + "Hfid": true, + "EntityId": true, + "SiteId": true, + }, + }, + "HistoricalEventMasterpieceEngraving": { + "ArtId": { + "EntityId": true, + "SiteId": true, + "Hfid": true, + }, + "ArtSubid": { + "EntityId": true, + "Hfid": true, + "SiteId": true, + }, + "Site": { + "EntityId": true, + "Hfid": true, + "SiteId": true, + }, + "Maker": { + "EntityId": true, + "Hfid": true, + "SiteId": true, + }, + "MakerEntity": { + "EntityId": true, + "Hfid": true, + "SiteId": true, + }, + }, + "HistoricalEventMasterpieceFood": {}, + "HistoricalEventMasterpieceItem": { "ItemId": { "SiteId": true, "EntityId": true, "Hfid": true, }, - "ItemType": {}, "Maker": { "SiteId": true, "EntityId": true, "Hfid": true, }, - "Mat": {}, "Site": { + "EntityId": true, + "Hfid": true, + "SiteId": true, + }, + "ItemType": {}, + "MakerEntity": { "SiteId": true, "EntityId": true, "Hfid": true, }, + "Mat": {}, + "ItemSubtype": {}, }, + "HistoricalEventMasterpieceItemImprovement": {}, + "HistoricalEventMasterpieceLost": {}, "HistoricalEventMerchant": { "Destination": { + "DepotEntityId": true, "SiteId": true, "TraderEntityId": true, - "DepotEntityId": true, }, "Site": { + "DepotEntityId": true, "SiteId": true, "TraderEntityId": true, - "DepotEntityId": true, }, "Source": { - "SiteId": true, "TraderEntityId": true, "DepotEntityId": true, + "SiteId": true, }, }, "HistoricalEventModifiedBuilding": {}, "HistoricalEventMusicalFormCreated": {}, "HistoricalEventNewSiteLeader": {}, "HistoricalEventPeaceAccepted": { - "Source": { - "SiteId": true, - }, - "Topic": {}, "Destination": { "SiteId": true, }, "Site": { "SiteId": true, }, + "Source": { + "SiteId": true, + }, + "Topic": {}, }, "HistoricalEventPeaceRejected": { + "Site": { + "SiteId": true, + }, "Source": { "SiteId": true, }, @@ -708,9 +797,6 @@ func InitSameFields() { "Destination": { "SiteId": true, }, - "Site": { - "SiteId": true, - }, }, "HistoricalEventPerformance": {}, "HistoricalEventPlunderedSite": {}, @@ -722,31 +808,25 @@ func InitSameFields() { "HistoricalEventRelationship": {}, "HistoricalEventRelationshipSupplement": {}, "HistoricalEventRemoveHfEntityLink": { - "Position": { - "Link": true, - }, "Civ": { - "Hfid": true, "PositionId": true, "CivId": true, + "Hfid": true, }, "Histfig": { - "Hfid": true, "PositionId": true, "CivId": true, + "Hfid": true, }, "LinkType": { "Link": true, }, + "Position": { + "Link": true, + }, }, "HistoricalEventRemoveHfHfLink": {}, "HistoricalEventRemoveHfSiteLink": { - "Site": { - "SiteId": true, - }, - "Structure": { - "SiteId": true, - }, "Civ": { "SiteId": true, }, @@ -754,8 +834,42 @@ func InitSameFields() { "SiteId": true, }, "LinkType": {}, + "Site": { + "SiteId": true, + }, + "Structure": { + "SiteId": true, + }, }, "HistoricalEventReplacedStructure": { + "Civ": { + "CivId": true, + "OldAbId": true, + "SiteId": true, + "SiteCivId": true, + "NewAbId": true, + }, + "OldStructure": { + "SiteId": true, + "CivId": true, + "OldAbId": true, + "NewAbId": true, + "SiteCivId": true, + }, + "Site": { + "CivId": true, + "OldAbId": true, + "SiteId": true, + "NewAbId": true, + "SiteCivId": true, + }, + "SiteCiv": { + "NewAbId": true, + "SiteCivId": true, + "SiteId": true, + "CivId": true, + "OldAbId": true, + }, "NewStructure": { "NewAbId": true, "SiteCivId": true, @@ -763,49 +877,28 @@ func InitSameFields() { "CivId": true, "OldAbId": true, }, - "OldStructure": { - "NewAbId": true, - "CivId": true, - "OldAbId": true, - "SiteCivId": true, - "SiteId": true, - }, - "Civ": { - "NewAbId": true, - "SiteCivId": true, - "SiteId": true, - "CivId": true, - "OldAbId": true, - }, - "Site": { - "NewAbId": true, - "SiteId": true, - "CivId": true, - "OldAbId": true, - "SiteCivId": true, - }, - "SiteCiv": { - "OldAbId": true, - "SiteCivId": true, - "SiteId": true, - "CivId": true, - "NewAbId": true, - }, }, + "HistoricalEventSiteDied": {}, "HistoricalEventSiteDispute": {}, + "HistoricalEventSiteRetired": {}, + "HistoricalEventSiteSurrendered": {}, "HistoricalEventSiteTakenOver": {}, + "HistoricalEventSiteTributeForced": {}, + "HistoricalEventSneakIntoSite": {}, + "HistoricalEventSpottedLeavingSite": {}, "HistoricalEventSquadVsSquad": {}, "HistoricalEventTacticalSituation": {}, "HistoricalEventTrade": {}, "HistoricalEventWrittenContentComposed": {}, "HistoricalFigure": { "Sex": { - "BirthSeconds72": true, "DeathYear": true, + "BreedId": true, "EntPopId": true, - "BirthYear": true, "CurrentIdentityId": true, + "BirthSeconds72": true, "DeathSeconds72": true, + "BirthYear": true, "Appeared": true, }, }, @@ -826,6 +919,7 @@ func InitSameFields() { "Reference": {}, "Region": {}, "RelationshipProfileHfHistorical": {}, + "RelationshipProfileHfIdentity": {}, "RelationshipProfileHfVisual": {}, "River": {}, "Schedule": {}, @@ -836,29 +930,29 @@ func InitSameFields() { "SiteLink": {}, "SiteSiteProperty": {}, "Structure": { - "DeityType": { + "Deity": { "EntityId": true, + "LocalId": true, "WorshipHfid": true, + }, + "Religion": { + "LocalId": true, + "WorshipHfid": true, + "EntityId": true, + }, + "DeityType": { + "WorshipHfid": true, + "EntityId": true, + "LocalId": true, + }, + "DungeonType": { + "WorshipHfid": true, + "EntityId": true, "LocalId": true, }, "Name2": { "Subtype": true, }, - "Religion": { - "EntityId": true, - "WorshipHfid": true, - "LocalId": true, - }, - "Deity": { - "EntityId": true, - "WorshipHfid": true, - "LocalId": true, - }, - "DungeonType": { - "EntityId": true, - "WorshipHfid": true, - "LocalId": true, - }, }, "UndergroundRegion": { "Coords": {}, @@ -866,20 +960,20 @@ func InitSameFields() { "VagueRelationship": {}, "WorldConstruction": {}, "WrittenContent": { - "Author": { - "AuthorHfid": true, + "PageEnd": { "AuthorRoll": true, "FormId": true, + "AuthorHfid": true, }, - "PageEnd": { + "Author": { "AuthorHfid": true, "AuthorRoll": true, "FormId": true, }, "PageStart": { "FormId": true, - "AuthorHfid": true, "AuthorRoll": true, + "AuthorHfid": true, }, }, } @@ -910,29 +1004,8 @@ func (x *Artifact) RelatedToEntity(id int) bool { return false } func (x *Artifact) RelatedToHf(id int) bool { return x.HolderHfid == id } func (x *Artifact) CheckFields() { - if x.PageCount != x.AbsTileZ && x.PageCount != 0 && x.AbsTileZ != 0 { - sameFields["Artifact"]["PageCount"]["AbsTileZ"] = false - } - if x.PageCount != x.SiteId && x.PageCount != 0 && x.SiteId != 0 { - sameFields["Artifact"]["PageCount"]["SiteId"] = false - } - if x.PageCount != x.StructureLocalId && x.PageCount != 0 && x.StructureLocalId != 0 { - sameFields["Artifact"]["PageCount"]["StructureLocalId"] = false - } - if x.PageCount != x.AbsTileY && x.PageCount != 0 && x.AbsTileY != 0 { - sameFields["Artifact"]["PageCount"]["AbsTileY"] = false - } - if x.PageCount != x.HolderHfid && x.PageCount != 0 && x.HolderHfid != 0 { - sameFields["Artifact"]["PageCount"]["HolderHfid"] = false - } - if x.PageCount != x.SubregionId && x.PageCount != 0 && x.SubregionId != 0 { - sameFields["Artifact"]["PageCount"]["SubregionId"] = false - } - if x.PageCount != x.AbsTileX && x.PageCount != 0 && x.AbsTileX != 0 { - sameFields["Artifact"]["PageCount"]["AbsTileX"] = false - } - if x.Writing != x.AbsTileY && x.Writing != 0 && x.AbsTileY != 0 { - sameFields["Artifact"]["Writing"]["AbsTileY"] = false + if x.Writing != x.SubregionId && x.Writing != 0 && x.SubregionId != 0 { + sameFields["Artifact"]["Writing"]["SubregionId"] = false } if x.Writing != x.HolderHfid && x.Writing != 0 && x.HolderHfid != 0 { sameFields["Artifact"]["Writing"]["HolderHfid"] = false @@ -943,14 +1016,35 @@ func (x *Artifact) CheckFields() { if x.Writing != x.AbsTileX && x.Writing != 0 && x.AbsTileX != 0 { sameFields["Artifact"]["Writing"]["AbsTileX"] = false } - if x.Writing != x.SubregionId && x.Writing != 0 && x.SubregionId != 0 { - sameFields["Artifact"]["Writing"]["SubregionId"] = false + if x.Writing != x.AbsTileY && x.Writing != 0 && x.AbsTileY != 0 { + sameFields["Artifact"]["Writing"]["AbsTileY"] = false + } + if x.Writing != x.SiteId && x.Writing != 0 && x.SiteId != 0 { + sameFields["Artifact"]["Writing"]["SiteId"] = false } if x.Writing != x.AbsTileZ && x.Writing != 0 && x.AbsTileZ != 0 { sameFields["Artifact"]["Writing"]["AbsTileZ"] = false } - if x.Writing != x.SiteId && x.Writing != 0 && x.SiteId != 0 { - sameFields["Artifact"]["Writing"]["SiteId"] = false + if x.PageCount != x.AbsTileY && x.PageCount != 0 && x.AbsTileY != 0 { + sameFields["Artifact"]["PageCount"]["AbsTileY"] = false + } + if x.PageCount != x.AbsTileZ && x.PageCount != 0 && x.AbsTileZ != 0 { + sameFields["Artifact"]["PageCount"]["AbsTileZ"] = false + } + if x.PageCount != x.SiteId && x.PageCount != 0 && x.SiteId != 0 { + sameFields["Artifact"]["PageCount"]["SiteId"] = false + } + if x.PageCount != x.HolderHfid && x.PageCount != 0 && x.HolderHfid != 0 { + sameFields["Artifact"]["PageCount"]["HolderHfid"] = false + } + if x.PageCount != x.SubregionId && x.PageCount != 0 && x.SubregionId != 0 { + sameFields["Artifact"]["PageCount"]["SubregionId"] = false + } + if x.PageCount != x.AbsTileX && x.PageCount != 0 && x.AbsTileX != 0 { + sameFields["Artifact"]["PageCount"]["AbsTileX"] = false + } + if x.PageCount != x.StructureLocalId && x.PageCount != 0 && x.StructureLocalId != 0 { + sameFields["Artifact"]["PageCount"]["StructureLocalId"] = false } } @@ -1181,6 +1275,19 @@ func (x *EntityFormerPositionLink) RelatedToHf(id int) bool { return false } func (x *EntityFormerPositionLink) CheckFields() { } +type EntityFormerSquadLink struct { + EndYear int `json:"endYear" legend:"base"` // end_year + EntityId int `json:"entityId" legend:"base"` // entity_id + SquadId int `json:"squadId" legend:"base"` // squad_id + StartYear int `json:"startYear" legend:"base"` // start_year +} + +func (x *EntityFormerSquadLink) RelatedToEntity(id int) bool { return x.EntityId == id } +func (x *EntityFormerSquadLink) RelatedToHf(id int) bool { return false } + +func (x *EntityFormerSquadLink) CheckFields() { +} + type EntityPopulation struct { CivId int `json:"civId" legend:"plus"` // civ_id Id_ int `json:"id" legend:"both"` // id @@ -1242,6 +1349,17 @@ type EntityReputation struct { EntityId int `json:"entityId" legend:"base"` // entity_id FirstAgelessSeasonCount int `json:"firstAgelessSeasonCount" legend:"base"` // first_ageless_season_count FirstAgelessYear int `json:"firstAgelessYear" legend:"base"` // first_ageless_year + RepBard int `json:"repBard" legend:"base"` // rep_bard + RepEnemyFighter int `json:"repEnemyFighter" legend:"base"` // rep_enemy_fighter + RepHero int `json:"repHero" legend:"base"` // rep_hero + RepHunter int `json:"repHunter" legend:"base"` // rep_hunter + RepKiller int `json:"repKiller" legend:"base"` // rep_killer + RepKnowledgePreserver int `json:"repKnowledgePreserver" legend:"base"` // rep_knowledge_preserver + RepPoet int `json:"repPoet" legend:"base"` // rep_poet + RepProtectorOfWeak int `json:"repProtectorOfWeak" legend:"base"` // rep_protector_of_weak + RepStoryteller int `json:"repStoryteller" legend:"base"` // rep_storyteller + RepThief int `json:"repThief" legend:"base"` // rep_thief + RepTreasureHunter int `json:"repTreasureHunter" legend:"base"` // rep_treasure_hunter UnsolvedMurders int `json:"unsolvedMurders" legend:"base"` // unsolved_murders } @@ -1383,25 +1501,28 @@ func (x *HistoricalEventAddHfSiteLink) RelatedToEntity(id int) bool { return fal func (x *HistoricalEventAddHfSiteLink) RelatedToHf(id int) bool { return x.Histfig == id } func (x *HistoricalEventAddHfSiteLink) CheckFields() { - if x.Structure != x.SiteId && x.Structure != 0 && x.SiteId != 0 { - sameFields["HistoricalEventAddHfSiteLink"]["Structure"]["SiteId"] = false - } if x.Civ != x.SiteId && x.Civ != 0 && x.SiteId != 0 { sameFields["HistoricalEventAddHfSiteLink"]["Civ"]["SiteId"] = false } if x.Histfig != x.SiteId && x.Histfig != 0 && x.SiteId != 0 { sameFields["HistoricalEventAddHfSiteLink"]["Histfig"]["SiteId"] = false } + if x.Structure != x.SiteId && x.Structure != 0 && x.SiteId != 0 { + sameFields["HistoricalEventAddHfSiteLink"]["Structure"]["SiteId"] = false + } } type HistoricalEventAgreementFormed struct { Action string `json:"action" legend:"base"` // action AgreementId int `json:"agreementId" legend:"base"` // agreement_id + AgreementSubjectId int `json:"agreementSubjectId" legend:"base"` // agreement_subject_id AllyDefenseBonus int `json:"allyDefenseBonus" legend:"base"` // ally_defense_bonus CoconspiratorBonus int `json:"coconspiratorBonus" legend:"base"` // coconspirator_bonus + ConcluderHfid int `json:"concluderHfid" legend:"base"` // concluder_hfid Delegated bool `json:"delegated" legend:"base"` // delegated FailedJudgmentTest bool `json:"failedJudgmentTest" legend:"base"` // failed_judgment_test Method string `json:"method" legend:"base"` // method + Reason string `json:"reason" legend:"base"` // reason RelevantEntityId int `json:"relevantEntityId" legend:"base"` // relevant_entity_id RelevantIdForMethod int `json:"relevantIdForMethod" legend:"base"` // relevant_id_for_method RelevantPositionProfileId int `json:"relevantPositionProfileId" legend:"base"` // relevant_position_profile_id @@ -1420,11 +1541,31 @@ type HistoricalEventAgreementFormed struct { func (x *HistoricalEventAgreementFormed) RelatedToEntity(id int) bool { return x.RelevantEntityId == id } -func (x *HistoricalEventAgreementFormed) RelatedToHf(id int) bool { return false } +func (x *HistoricalEventAgreementFormed) RelatedToHf(id int) bool { return x.ConcluderHfid == id } func (x *HistoricalEventAgreementFormed) CheckFields() { } +type HistoricalEventAgreementMade struct { + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventAgreementMade) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventAgreementMade) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventAgreementMade) CheckFields() { +} + +type HistoricalEventAgreementRejected struct { + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventAgreementRejected) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventAgreementRejected) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventAgreementRejected) CheckFields() { +} + type HistoricalEventArtifactClaimFormed struct { ArtifactId int `json:"artifactId" legend:"base"` // artifact_id Circumstance string `json:"circumstance" legend:"base"` // circumstance @@ -1452,7 +1593,7 @@ type HistoricalEventArtifactCopied struct { } func (x *HistoricalEventArtifactCopied) RelatedToEntity(id int) bool { - return x.DestEntityId == id || x.SourceEntityId == id + return x.SourceEntityId == id || x.DestEntityId == id } func (x *HistoricalEventArtifactCopied) RelatedToHf(id int) bool { return false } @@ -1476,15 +1617,15 @@ func (x *HistoricalEventArtifactCreated) RelatedToHf(id int) bool { } func (x *HistoricalEventArtifactCreated) CheckFields() { + if x.SanctifyHf != x.HistFigureId && x.SanctifyHf != 0 && x.HistFigureId != 0 { + sameFields["HistoricalEventArtifactCreated"]["SanctifyHf"]["HistFigureId"] = false + } if x.SanctifyHf != x.SiteId && x.SanctifyHf != 0 && x.SiteId != 0 { sameFields["HistoricalEventArtifactCreated"]["SanctifyHf"]["SiteId"] = false } if x.SanctifyHf != x.UnitId && x.SanctifyHf != 0 && x.UnitId != 0 { sameFields["HistoricalEventArtifactCreated"]["SanctifyHf"]["UnitId"] = false } - if x.SanctifyHf != x.HistFigureId && x.SanctifyHf != 0 && x.HistFigureId != 0 { - sameFields["HistoricalEventArtifactCreated"]["SanctifyHf"]["HistFigureId"] = false - } } type HistoricalEventArtifactCreatedCircumstance struct { @@ -1524,18 +1665,19 @@ func (x *HistoricalEventArtifactFound) CheckFields() { } type HistoricalEventArtifactGiven struct { - ArtifactId int `json:"artifactId" legend:"base"` // artifact_id - GiverEntityId int `json:"giverEntityId" legend:"base"` // giver_entity_id - GiverHistFigureId int `json:"giverHistFigureId" legend:"base"` // giver_hist_figure_id - ReceiverEntityId int `json:"receiverEntityId" legend:"base"` // receiver_entity_id - ReceiverHistFigureId int `json:"receiverHistFigureId" legend:"base"` // receiver_hist_figure_id + ArtifactId int `json:"artifactId" legend:"base"` // artifact_id + GiverEntityId int `json:"giverEntityId" legend:"base"` // giver_entity_id + GiverHistFigureId int `json:"giverHistFigureId" legend:"base"` // giver_hist_figure_id + Reason string `json:"reason" legend:"base"` // reason + ReceiverEntityId int `json:"receiverEntityId" legend:"base"` // receiver_entity_id + ReceiverHistFigureId int `json:"receiverHistFigureId" legend:"base"` // receiver_hist_figure_id } func (x *HistoricalEventArtifactGiven) RelatedToEntity(id int) bool { - return x.GiverEntityId == id || x.ReceiverEntityId == id + return x.ReceiverEntityId == id || x.GiverEntityId == id } func (x *HistoricalEventArtifactGiven) RelatedToHf(id int) bool { - return x.GiverHistFigureId == id || x.ReceiverHistFigureId == id + return x.ReceiverHistFigureId == id || x.GiverHistFigureId == id } func (x *HistoricalEventArtifactGiven) CheckFields() { @@ -1543,6 +1685,7 @@ func (x *HistoricalEventArtifactGiven) CheckFields() { type HistoricalEventArtifactLost struct { ArtifactId int `json:"artifactId" legend:"base"` // artifact_id + FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id SiteId int `json:"siteId" legend:"base"` // site_id SitePropertyId int `json:"sitePropertyId" legend:"base"` // site_property_id SubregionId int `json:"subregionId" legend:"base"` // subregion_id @@ -1602,6 +1745,20 @@ func (x *HistoricalEventArtifactStored) RelatedToHf(id int) bool { return x. func (x *HistoricalEventArtifactStored) CheckFields() { } +type HistoricalEventArtifactTransformed struct { + HistFigureId int `json:"histFigureId" legend:"base"` // hist_figure_id + NewArtifactId int `json:"newArtifactId" legend:"base"` // new_artifact_id + OldArtifactId int `json:"oldArtifactId" legend:"base"` // old_artifact_id + SiteId int `json:"siteId" legend:"base"` // site_id + UnitId int `json:"unitId" legend:"base"` // unit_id +} + +func (x *HistoricalEventArtifactTransformed) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventArtifactTransformed) RelatedToHf(id int) bool { return x.HistFigureId == id } + +func (x *HistoricalEventArtifactTransformed) CheckFields() { +} + type HistoricalEventAssumeIdentity struct { IdentityCaste string `json:"identityCaste" legend:"plus"` // identity_caste IdentityId int `json:"identityId" legend:"base"` // identity_id @@ -1631,7 +1788,7 @@ type HistoricalEventAttackedSite struct { } func (x *HistoricalEventAttackedSite) RelatedToEntity(id int) bool { - return x.DefenderCivId == id || x.SiteCivId == id || x.AttackerCivId == id + return x.SiteCivId == id || x.AttackerCivId == id || x.DefenderCivId == id } func (x *HistoricalEventAttackedSite) RelatedToHf(id int) bool { return x.AttackerGeneralHfid == id || x.DefenderGeneralHfid == id @@ -1661,48 +1818,27 @@ type HistoricalEventBodyAbused struct { func (x *HistoricalEventBodyAbused) RelatedToEntity(id int) bool { return x.VictimEntity == id } func (x *HistoricalEventBodyAbused) RelatedToHf(id int) bool { - return x.Histfig == id || containsInt(x.Bodies, id) + return containsInt(x.Bodies, id) || x.Histfig == id } func (x *HistoricalEventBodyAbused) CheckFields() { - if x.AbuseType != x.Coords && x.AbuseType != "" && x.Coords != "" { - sameFields["HistoricalEventBodyAbused"]["AbuseType"]["Coords"] = false - } if x.ItemSubtype != x.Coords && x.ItemSubtype != "" && x.Coords != "" { sameFields["HistoricalEventBodyAbused"]["ItemSubtype"]["Coords"] = false } - if x.Tree != x.SiteId && x.Tree != 0 && x.SiteId != 0 { - sameFields["HistoricalEventBodyAbused"]["Tree"]["SiteId"] = false - } if x.Tree != x.SubregionId && x.Tree != 0 && x.SubregionId != 0 { sameFields["HistoricalEventBodyAbused"]["Tree"]["SubregionId"] = false } if x.Tree != x.FeatureLayerId && x.Tree != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventBodyAbused"]["Tree"]["FeatureLayerId"] = false } + if x.Tree != x.SiteId && x.Tree != 0 && x.SiteId != 0 { + sameFields["HistoricalEventBodyAbused"]["Tree"]["SiteId"] = false + } if x.ItemMat != x.Coords && x.ItemMat != "" && x.Coords != "" { sameFields["HistoricalEventBodyAbused"]["ItemMat"]["Coords"] = false } - if x.PileType != x.Coords && x.PileType != "" && x.Coords != "" { - sameFields["HistoricalEventBodyAbused"]["PileType"]["Coords"] = false - } - if x.VictimEntity != x.FeatureLayerId && x.VictimEntity != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["FeatureLayerId"] = false - } - if x.VictimEntity != x.SubregionId && x.VictimEntity != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["SubregionId"] = false - } - if x.VictimEntity != x.SiteId && x.VictimEntity != 0 && x.SiteId != 0 { - sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["SiteId"] = false - } - if x.Histfig != x.FeatureLayerId && x.Histfig != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventBodyAbused"]["Histfig"]["FeatureLayerId"] = false - } - if x.Histfig != x.SiteId && x.Histfig != 0 && x.SiteId != 0 { - sameFields["HistoricalEventBodyAbused"]["Histfig"]["SiteId"] = false - } - if x.Histfig != x.SubregionId && x.Histfig != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventBodyAbused"]["Histfig"]["SubregionId"] = false + if x.Interaction != x.SubregionId && x.Interaction != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventBodyAbused"]["Interaction"]["SubregionId"] = false } if x.Interaction != x.FeatureLayerId && x.Interaction != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventBodyAbused"]["Interaction"]["FeatureLayerId"] = false @@ -1710,23 +1846,8 @@ func (x *HistoricalEventBodyAbused) CheckFields() { if x.Interaction != x.SiteId && x.Interaction != 0 && x.SiteId != 0 { sameFields["HistoricalEventBodyAbused"]["Interaction"]["SiteId"] = false } - if x.Interaction != x.SubregionId && x.Interaction != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventBodyAbused"]["Interaction"]["SubregionId"] = false - } - if x.Civ != x.FeatureLayerId && x.Civ != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventBodyAbused"]["Civ"]["FeatureLayerId"] = false - } - if x.Civ != x.SubregionId && x.Civ != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventBodyAbused"]["Civ"]["SubregionId"] = false - } - if x.Civ != x.SiteId && x.Civ != 0 && x.SiteId != 0 { - sameFields["HistoricalEventBodyAbused"]["Civ"]["SiteId"] = false - } - if x.ItemType != x.Coords && x.ItemType != "" && x.Coords != "" { - sameFields["HistoricalEventBodyAbused"]["ItemType"]["Coords"] = false - } - if x.Structure != x.FeatureLayerId && x.Structure != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventBodyAbused"]["Structure"]["FeatureLayerId"] = false + if x.PileType != x.Coords && x.PileType != "" && x.Coords != "" { + sameFields["HistoricalEventBodyAbused"]["PileType"]["Coords"] = false } if x.Structure != x.SiteId && x.Structure != 0 && x.SiteId != 0 { sameFields["HistoricalEventBodyAbused"]["Structure"]["SiteId"] = false @@ -1734,6 +1855,42 @@ func (x *HistoricalEventBodyAbused) CheckFields() { if x.Structure != x.SubregionId && x.Structure != 0 && x.SubregionId != 0 { sameFields["HistoricalEventBodyAbused"]["Structure"]["SubregionId"] = false } + if x.Structure != x.FeatureLayerId && x.Structure != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventBodyAbused"]["Structure"]["FeatureLayerId"] = false + } + if x.VictimEntity != x.FeatureLayerId && x.VictimEntity != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["FeatureLayerId"] = false + } + if x.VictimEntity != x.SiteId && x.VictimEntity != 0 && x.SiteId != 0 { + sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["SiteId"] = false + } + if x.VictimEntity != x.SubregionId && x.VictimEntity != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventBodyAbused"]["VictimEntity"]["SubregionId"] = false + } + if x.Civ != x.SiteId && x.Civ != 0 && x.SiteId != 0 { + sameFields["HistoricalEventBodyAbused"]["Civ"]["SiteId"] = false + } + if x.Civ != x.SubregionId && x.Civ != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventBodyAbused"]["Civ"]["SubregionId"] = false + } + if x.Civ != x.FeatureLayerId && x.Civ != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventBodyAbused"]["Civ"]["FeatureLayerId"] = false + } + if x.Histfig != x.SubregionId && x.Histfig != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventBodyAbused"]["Histfig"]["SubregionId"] = false + } + if x.Histfig != x.FeatureLayerId && x.Histfig != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventBodyAbused"]["Histfig"]["FeatureLayerId"] = false + } + if x.Histfig != x.SiteId && x.Histfig != 0 && x.SiteId != 0 { + sameFields["HistoricalEventBodyAbused"]["Histfig"]["SiteId"] = false + } + if x.ItemType != x.Coords && x.ItemType != "" && x.Coords != "" { + sameFields["HistoricalEventBodyAbused"]["ItemType"]["Coords"] = false + } + if x.AbuseType != x.Coords && x.AbuseType != "" && x.Coords != "" { + sameFields["HistoricalEventBodyAbused"]["AbuseType"]["Coords"] = false + } } type HistoricalEventBuildingProfileAcquired struct { @@ -1908,7 +2065,7 @@ func (x *HistoricalEventCollectionBattle) RelatedToEntity(id int) bool { return containsInt(x.DefendingSquadEntityPop, id) || containsInt(x.AttackingSquadEntityPop, id) } func (x *HistoricalEventCollectionBattle) RelatedToHf(id int) bool { - return containsInt(x.ASupportMercHfid, id) || containsInt(x.DefendingHfid, id) || containsInt(x.DSupportMercHfid, id) || containsInt(x.AttackingHfid, id) || containsInt(x.NoncomHfid, id) + return containsInt(x.ASupportMercHfid, id) || containsInt(x.DSupportMercHfid, id) || containsInt(x.NoncomHfid, id) || containsInt(x.AttackingHfid, id) || containsInt(x.DefendingHfid, id) } func (x *HistoricalEventCollectionBattle) CheckFields() { @@ -1983,6 +2140,18 @@ func (x *HistoricalEventCollectionEntityOverthrown) RelatedToHf(id int) bool { r func (x *HistoricalEventCollectionEntityOverthrown) CheckFields() { } +type HistoricalEventCollectionInsurrection struct { + Ordinal int `json:"ordinal" legend:"base"` // ordinal + SiteId int `json:"siteId" legend:"base"` // site_id + TargetEnid int `json:"targetEnid" legend:"base"` // target_enid +} + +func (x *HistoricalEventCollectionInsurrection) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventCollectionInsurrection) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventCollectionInsurrection) CheckFields() { +} + type HistoricalEventCollectionJourney struct { Ordinal int `json:"ordinal" legend:"base"` // ordinal } @@ -2051,6 +2220,23 @@ func (x *HistoricalEventCollectionPurge) RelatedToHf(id int) bool { return f func (x *HistoricalEventCollectionPurge) CheckFields() { } +type HistoricalEventCollectionRaid struct { + AttackingEnid int `json:"attackingEnid" legend:"base"` // attacking_enid + Coords string `json:"coords" legend:"base"` // coords + DefendingEnid int `json:"defendingEnid" legend:"base"` // defending_enid + FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id + Ordinal int `json:"ordinal" legend:"base"` // ordinal + ParentEventcol int `json:"parentEventcol" legend:"base"` // parent_eventcol + SiteId int `json:"siteId" legend:"base"` // site_id + SubregionId int `json:"subregionId" legend:"base"` // subregion_id +} + +func (x *HistoricalEventCollectionRaid) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventCollectionRaid) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventCollectionRaid) CheckFields() { +} + type HistoricalEventCollectionSiteConquered struct { AttackingEnid int `json:"attackingEnid" legend:"base"` // attacking_enid DefendingEnid int `json:"defendingEnid" legend:"base"` // defending_enid @@ -2156,26 +2342,26 @@ type HistoricalEventCreatedStructure struct { } func (x *HistoricalEventCreatedStructure) RelatedToEntity(id int) bool { - return x.CivId == id || x.SiteCivId == id + return x.SiteCivId == id || x.CivId == id } func (x *HistoricalEventCreatedStructure) RelatedToHf(id int) bool { return x.BuilderHfid == id } func (x *HistoricalEventCreatedStructure) CheckFields() { + if x.Structure != x.BuilderHfid && x.Structure != 0 && x.BuilderHfid != 0 { + sameFields["HistoricalEventCreatedStructure"]["Structure"]["BuilderHfid"] = false + } + if x.Structure != x.CivId && x.Structure != 0 && x.CivId != 0 { + sameFields["HistoricalEventCreatedStructure"]["Structure"]["CivId"] = false + } if x.Structure != x.SiteCivId && x.Structure != 0 && x.SiteCivId != 0 { sameFields["HistoricalEventCreatedStructure"]["Structure"]["SiteCivId"] = false } if x.Structure != x.SiteId && x.Structure != 0 && x.SiteId != 0 { sameFields["HistoricalEventCreatedStructure"]["Structure"]["SiteId"] = false } - if x.Structure != x.CivId && x.Structure != 0 && x.CivId != 0 { - sameFields["HistoricalEventCreatedStructure"]["Structure"]["CivId"] = false - } if x.Structure != x.StructureId && x.Structure != 0 && x.StructureId != 0 { sameFields["HistoricalEventCreatedStructure"]["Structure"]["StructureId"] = false } - if x.Structure != x.BuilderHfid && x.Structure != 0 && x.BuilderHfid != 0 { - sameFields["HistoricalEventCreatedStructure"]["Structure"]["BuilderHfid"] = false - } } type HistoricalEventCreatedWorldConstruction struct { @@ -2188,7 +2374,7 @@ type HistoricalEventCreatedWorldConstruction struct { } func (x *HistoricalEventCreatedWorldConstruction) RelatedToEntity(id int) bool { - return x.CivId == id || x.SiteCivId == id + return x.SiteCivId == id || x.CivId == id } func (x *HistoricalEventCreatedWorldConstruction) RelatedToHf(id int) bool { return false } @@ -2210,33 +2396,33 @@ func (x *HistoricalEventCreatureDevoured) RelatedToEntity(id int) bool { return func (x *HistoricalEventCreatureDevoured) RelatedToHf(id int) bool { return false } func (x *HistoricalEventCreatureDevoured) CheckFields() { - if x.Eater != x.SiteId && x.Eater != 0 && x.SiteId != 0 { - sameFields["HistoricalEventCreatureDevoured"]["Eater"]["SiteId"] = false - } - if x.Eater != x.SubregionId && x.Eater != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventCreatureDevoured"]["Eater"]["SubregionId"] = false - } - if x.Eater != x.FeatureLayerId && x.Eater != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventCreatureDevoured"]["Eater"]["FeatureLayerId"] = false - } - if x.Entity != x.SubregionId && x.Entity != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventCreatureDevoured"]["Entity"]["SubregionId"] = false - } if x.Entity != x.FeatureLayerId && x.Entity != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventCreatureDevoured"]["Entity"]["FeatureLayerId"] = false } if x.Entity != x.SiteId && x.Entity != 0 && x.SiteId != 0 { sameFields["HistoricalEventCreatureDevoured"]["Entity"]["SiteId"] = false } + if x.Entity != x.SubregionId && x.Entity != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventCreatureDevoured"]["Entity"]["SubregionId"] = false + } + if x.Eater != x.FeatureLayerId && x.Eater != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventCreatureDevoured"]["Eater"]["FeatureLayerId"] = false + } + if x.Eater != x.SiteId && x.Eater != 0 && x.SiteId != 0 { + sameFields["HistoricalEventCreatureDevoured"]["Eater"]["SiteId"] = false + } + if x.Eater != x.SubregionId && x.Eater != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventCreatureDevoured"]["Eater"]["SubregionId"] = false + } + if x.Victim != x.SubregionId && x.Victim != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventCreatureDevoured"]["Victim"]["SubregionId"] = false + } if x.Victim != x.FeatureLayerId && x.Victim != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventCreatureDevoured"]["Victim"]["FeatureLayerId"] = false } if x.Victim != x.SiteId && x.Victim != 0 && x.SiteId != 0 { sameFields["HistoricalEventCreatureDevoured"]["Victim"]["SiteId"] = false } - if x.Victim != x.SubregionId && x.Victim != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventCreatureDevoured"]["Victim"]["SubregionId"] = false - } } type HistoricalEventDanceFormCreated struct { @@ -2256,20 +2442,43 @@ func (x *HistoricalEventDanceFormCreated) CheckFields() { } type HistoricalEventDestroyedSite struct { - AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id - DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id - SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id - SiteId int `json:"siteId" legend:"base"` // site_id + AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id + DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id + NoDefeatMention bool `json:"noDefeatMention" legend:"base"` // no_defeat_mention + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id } func (x *HistoricalEventDestroyedSite) RelatedToEntity(id int) bool { - return x.AttackerCivId == id || x.DefenderCivId == id || x.SiteCivId == id + return x.SiteCivId == id || x.AttackerCivId == id || x.DefenderCivId == id } func (x *HistoricalEventDestroyedSite) RelatedToHf(id int) bool { return false } func (x *HistoricalEventDestroyedSite) CheckFields() { } +type HistoricalEventDiplomatLost struct { + Entity int `json:"entity" legend:"plus"` // entity + Involved int `json:"involved" legend:"plus"` // involved + Site int `json:"site" legend:"plus"` // site + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventDiplomatLost) RelatedToEntity(id int) bool { return x.Entity == id } +func (x *HistoricalEventDiplomatLost) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventDiplomatLost) CheckFields() { + if x.Involved != x.SiteId && x.Involved != 0 && x.SiteId != 0 { + sameFields["HistoricalEventDiplomatLost"]["Involved"]["SiteId"] = false + } + if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { + sameFields["HistoricalEventDiplomatLost"]["Site"]["SiteId"] = false + } + if x.Entity != x.SiteId && x.Entity != 0 && x.SiteId != 0 { + sameFields["HistoricalEventDiplomatLost"]["Entity"]["SiteId"] = false + } +} + type HistoricalEventEntityAllianceFormed struct { InitiatingEnid int `json:"initiatingEnid" legend:"base"` // initiating_enid JoiningEnid []int `json:"joiningEnid" legend:"base"` // joining_enid @@ -2289,7 +2498,7 @@ type HistoricalEventEntityBreachFeatureLayer struct { } func (x *HistoricalEventEntityBreachFeatureLayer) RelatedToEntity(id int) bool { - return x.CivEntityId == id || x.SiteEntityId == id + return x.SiteEntityId == id || x.CivEntityId == id } func (x *HistoricalEventEntityBreachFeatureLayer) RelatedToHf(id int) bool { return false } @@ -2336,6 +2545,29 @@ func (x *HistoricalEventEntityEquipmentPurchase) RelatedToHf(id int) bool { func (x *HistoricalEventEntityEquipmentPurchase) CheckFields() { } +type HistoricalEventEntityExpelsHf struct { + EntityId int `json:"entityId" legend:"base"` // entity_id + Hfid int `json:"hfid" legend:"base"` // hfid + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventEntityExpelsHf) RelatedToEntity(id int) bool { return x.EntityId == id } +func (x *HistoricalEventEntityExpelsHf) RelatedToHf(id int) bool { return x.Hfid == id } + +func (x *HistoricalEventEntityExpelsHf) CheckFields() { +} + +type HistoricalEventEntityFledSite struct { + FledCivId int `json:"fledCivId" legend:"base"` // fled_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventEntityFledSite) RelatedToEntity(id int) bool { return x.FledCivId == id } +func (x *HistoricalEventEntityFledSite) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventEntityFledSite) CheckFields() { +} + type HistoricalEventEntityIncorporated struct { JoinedEntityId int `json:"joinedEntityId" legend:"base"` // joined_entity_id JoinerEntityId int `json:"joinerEntityId" legend:"base"` // joiner_entity_id @@ -2377,7 +2609,7 @@ type HistoricalEventEntityOverthrown struct { func (x *HistoricalEventEntityOverthrown) RelatedToEntity(id int) bool { return x.EntityId == id } func (x *HistoricalEventEntityOverthrown) RelatedToHf(id int) bool { - return containsInt(x.ConspiratorHfid, id) || x.InstigatorHfid == id || x.OverthrownHfid == id || x.PosTakerHfid == id + return x.PosTakerHfid == id || containsInt(x.ConspiratorHfid, id) || x.InstigatorHfid == id || x.OverthrownHfid == id } func (x *HistoricalEventEntityOverthrown) CheckFields() { @@ -2399,7 +2631,7 @@ type HistoricalEventEntityPersecuted struct { func (x *HistoricalEventEntityPersecuted) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventEntityPersecuted) RelatedToHf(id int) bool { - return containsInt(x.PropertyConfiscatedFromHfid, id) || x.PersecutorHfid == id || containsInt(x.ExpelledHfid, id) + return containsInt(x.PropertyConfiscatedFromHfid, id) || containsInt(x.ExpelledHfid, id) || x.PersecutorHfid == id } func (x *HistoricalEventEntityPersecuted) CheckFields() { @@ -2418,6 +2650,19 @@ func (x *HistoricalEventEntityPrimaryCriminals) RelatedToHf(id int) bool { r func (x *HistoricalEventEntityPrimaryCriminals) CheckFields() { } +type HistoricalEventEntityRampagedInSite struct { + RampageCivId int `json:"rampageCivId" legend:"base"` // rampage_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventEntityRampagedInSite) RelatedToEntity(id int) bool { + return x.RampageCivId == id +} +func (x *HistoricalEventEntityRampagedInSite) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventEntityRampagedInSite) CheckFields() { +} + type HistoricalEventEntityRelocate struct { Action string `json:"action" legend:"plus"` // action EntityId int `json:"entityId" legend:"base"` // entity_id @@ -2431,6 +2676,20 @@ func (x *HistoricalEventEntityRelocate) RelatedToHf(id int) bool { return fa func (x *HistoricalEventEntityRelocate) CheckFields() { } +type HistoricalEventEntitySearchedSite struct { + Result string `json:"result" legend:"base"` // result + SearcherCivId int `json:"searcherCivId" legend:"base"` // searcher_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventEntitySearchedSite) RelatedToEntity(id int) bool { + return x.SearcherCivId == id +} +func (x *HistoricalEventEntitySearchedSite) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventEntitySearchedSite) CheckFields() { +} + type HistoricalEventFailedFrameAttempt struct { ConvicterEnid int `json:"convicterEnid" legend:"base"` // convicter_enid Crime string `json:"crime" legend:"base"` // crime @@ -2442,7 +2701,7 @@ type HistoricalEventFailedFrameAttempt struct { func (x *HistoricalEventFailedFrameAttempt) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventFailedFrameAttempt) RelatedToHf(id int) bool { - return x.FooledHfid == id || x.FramerHfid == id || x.PlotterHfid == id || x.TargetHfid == id + return x.TargetHfid == id || x.FooledHfid == id || x.FramerHfid == id || x.PlotterHfid == id } func (x *HistoricalEventFailedFrameAttempt) CheckFields() { @@ -2477,10 +2736,10 @@ type HistoricalEventFailedIntrigueCorruption struct { } func (x *HistoricalEventFailedIntrigueCorruption) RelatedToEntity(id int) bool { - return x.CorruptorIdentity == id || x.RelevantEntityId == id || x.TargetIdentity == id + return x.RelevantEntityId == id || x.TargetIdentity == id || x.CorruptorIdentity == id } func (x *HistoricalEventFailedIntrigueCorruption) RelatedToHf(id int) bool { - return x.LureHfid == id || x.TargetHfid == id || x.CorruptorHfid == id + return x.CorruptorHfid == id || x.LureHfid == id || x.TargetHfid == id } func (x *HistoricalEventFailedIntrigueCorruption) CheckFields() { @@ -2501,15 +2760,27 @@ type HistoricalEventFieldBattle struct { } func (x *HistoricalEventFieldBattle) RelatedToEntity(id int) bool { - return x.DefenderCivId == id || x.AttackerCivId == id + return x.AttackerCivId == id || x.DefenderCivId == id } func (x *HistoricalEventFieldBattle) RelatedToHf(id int) bool { - return x.DefenderGeneralHfid == id || x.AttackerGeneralHfid == id + return x.AttackerGeneralHfid == id || x.DefenderGeneralHfid == id } func (x *HistoricalEventFieldBattle) CheckFields() { } +type HistoricalEventFirstContact struct { + ContactedEnid int `json:"contactedEnid" legend:"base"` // contacted_enid + ContactorEnid int `json:"contactorEnid" legend:"base"` // contactor_enid + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventFirstContact) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventFirstContact) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventFirstContact) CheckFields() { +} + type HistoricalEventGamble struct { GamblerHfid int `json:"gamblerHfid" legend:"base"` // gambler_hfid NewAccount int `json:"newAccount" legend:"base"` // new_account @@ -2534,7 +2805,7 @@ type HistoricalEventHfAbducted struct { func (x *HistoricalEventHfAbducted) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfAbducted) RelatedToHf(id int) bool { - return x.SnatcherHfid == id || x.TargetHfid == id + return x.TargetHfid == id || x.SnatcherHfid == id } func (x *HistoricalEventHfAbducted) CheckFields() { @@ -2548,7 +2819,7 @@ type HistoricalEventHfAttackedSite struct { } func (x *HistoricalEventHfAttackedSite) RelatedToEntity(id int) bool { - return x.SiteCivId == id || x.DefenderCivId == id + return x.DefenderCivId == id || x.SiteCivId == id } func (x *HistoricalEventHfAttackedSite) RelatedToHf(id int) bool { return x.AttackerHfid == id } @@ -2572,6 +2843,7 @@ func (x *HistoricalEventHfConfronted) CheckFields() { } type HistoricalEventHfConvicted struct { + Beating bool `json:"beating" legend:"base"` // beating CoconspiratorHfid int `json:"coconspiratorHfid" legend:"base"` // coconspirator_hfid ConfessedAfterApbArrestEnid int `json:"confessedAfterApbArrestEnid" legend:"base"` // confessed_after_apb_arrest_enid ContactHfid int `json:"contactHfid" legend:"base"` // contact_hfid @@ -2585,9 +2857,11 @@ type HistoricalEventHfConvicted struct { Exiled bool `json:"exiled" legend:"base"` // exiled FooledHfid int `json:"fooledHfid" legend:"base"` // fooled_hfid FramerHfid int `json:"framerHfid" legend:"base"` // framer_hfid + Hammerstrokes int `json:"hammerstrokes" legend:"base"` // hammerstrokes HeldFirmInInterrogation bool `json:"heldFirmInInterrogation" legend:"base"` // held_firm_in_interrogation ImplicatedHfid []int `json:"implicatedHfid" legend:"base"` // implicated_hfid InterrogatorHfid int `json:"interrogatorHfid" legend:"base"` // interrogator_hfid + NoPrisonAvailable bool `json:"noPrisonAvailable" legend:"base"` // no_prison_available PlotterHfid int `json:"plotterHfid" legend:"base"` // plotter_hfid PrisonMonths int `json:"prisonMonths" legend:"base"` // prison_months SurveiledCoconspirator bool `json:"surveiledCoconspirator" legend:"base"` // surveiled_coconspirator @@ -2600,7 +2874,7 @@ type HistoricalEventHfConvicted struct { func (x *HistoricalEventHfConvicted) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfConvicted) RelatedToHf(id int) bool { - return x.ConvictedHfid == id || containsInt(x.ImplicatedHfid, id) || x.ContactHfid == id || x.FooledHfid == id || x.FramerHfid == id || x.InterrogatorHfid == id || x.TargetHfid == id || x.CoconspiratorHfid == id || x.CorruptConvicterHfid == id || x.PlotterHfid == id + return x.InterrogatorHfid == id || x.FooledHfid == id || x.CorruptConvicterHfid == id || x.TargetHfid == id || x.FramerHfid == id || x.ConvictedHfid == id || x.CoconspiratorHfid == id || x.ContactHfid == id || containsInt(x.ImplicatedHfid, id) || x.PlotterHfid == id } func (x *HistoricalEventHfConvicted) CheckFields() { @@ -2640,12 +2914,12 @@ func (x *HistoricalEventHfDied) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfDied) RelatedToHf(id int) bool { return x.Hfid == id || x.SlayerHfid == id } func (x *HistoricalEventHfDied) CheckFields() { - if x.ItemType != x.Cause && x.ItemType != "" && x.Cause != "" { - sameFields["HistoricalEventHfDied"]["ItemType"]["Cause"] = false - } if x.DeathCause != x.Cause && x.DeathCause != "" && x.Cause != "" { sameFields["HistoricalEventHfDied"]["DeathCause"]["Cause"] = false } + if x.ItemType != x.Cause && x.ItemType != "" && x.Cause != "" { + sameFields["HistoricalEventHfDied"]["ItemType"]["Cause"] = false + } } type HistoricalEventHfDisturbedStructure struct { @@ -2673,31 +2947,31 @@ type HistoricalEventHfDoesInteraction struct { func (x *HistoricalEventHfDoesInteraction) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfDoesInteraction) RelatedToHf(id int) bool { - return x.DoerHfid == id || x.TargetHfid == id + return x.TargetHfid == id || x.DoerHfid == id } func (x *HistoricalEventHfDoesInteraction) CheckFields() { if x.InteractionAction != x.Interaction && x.InteractionAction != "" && x.Interaction != "" { sameFields["HistoricalEventHfDoesInteraction"]["InteractionAction"]["Interaction"] = false } - if x.Site != x.DoerHfid && x.Site != 0 && x.DoerHfid != 0 { - sameFields["HistoricalEventHfDoesInteraction"]["Site"]["DoerHfid"] = false + if x.Region != x.DoerHfid && x.Region != 0 && x.DoerHfid != 0 { + sameFields["HistoricalEventHfDoesInteraction"]["Region"]["DoerHfid"] = false + } + if x.Region != x.TargetHfid && x.Region != 0 && x.TargetHfid != 0 { + sameFields["HistoricalEventHfDoesInteraction"]["Region"]["TargetHfid"] = false } if x.Site != x.TargetHfid && x.Site != 0 && x.TargetHfid != 0 { sameFields["HistoricalEventHfDoesInteraction"]["Site"]["TargetHfid"] = false } + if x.Site != x.DoerHfid && x.Site != 0 && x.DoerHfid != 0 { + sameFields["HistoricalEventHfDoesInteraction"]["Site"]["DoerHfid"] = false + } if x.Source != x.TargetHfid && x.Source != 0 && x.TargetHfid != 0 { sameFields["HistoricalEventHfDoesInteraction"]["Source"]["TargetHfid"] = false } if x.Source != x.DoerHfid && x.Source != 0 && x.DoerHfid != 0 { sameFields["HistoricalEventHfDoesInteraction"]["Source"]["DoerHfid"] = false } - if x.Region != x.TargetHfid && x.Region != 0 && x.TargetHfid != 0 { - sameFields["HistoricalEventHfDoesInteraction"]["Region"]["TargetHfid"] = false - } - if x.Region != x.DoerHfid && x.Region != 0 && x.DoerHfid != 0 { - sameFields["HistoricalEventHfDoesInteraction"]["Region"]["DoerHfid"] = false - } } type HistoricalEventHfEnslaved struct { @@ -2730,6 +3004,24 @@ func (x *HistoricalEventHfEquipmentPurchase) RelatedToHf(id int) bool { retu func (x *HistoricalEventHfEquipmentPurchase) CheckFields() { } +type HistoricalEventHfFreed struct { + FreeingHfid int `json:"freeingHfid" legend:"base"` // freeing_hfid + HoldingCivId int `json:"holdingCivId" legend:"base"` // holding_civ_id + RescuedHfid int `json:"rescuedHfid" legend:"base"` // rescued_hfid + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventHfFreed) RelatedToEntity(id int) bool { + return x.HoldingCivId == id || x.SiteCivId == id +} +func (x *HistoricalEventHfFreed) RelatedToHf(id int) bool { + return x.FreeingHfid == id || x.RescuedHfid == id +} + +func (x *HistoricalEventHfFreed) CheckFields() { +} + type HistoricalEventHfGainsSecretGoal struct { Hfid int `json:"hfid" legend:"base"` // hfid SecretGoal string `json:"secretGoal" legend:"base"` // secret_goal @@ -2744,6 +3036,7 @@ func (x *HistoricalEventHfGainsSecretGoal) CheckFields() { type HistoricalEventHfInterrogated struct { ArrestingEnid int `json:"arrestingEnid" legend:"base"` // arresting_enid HeldFirmInInterrogation bool `json:"heldFirmInInterrogation" legend:"base"` // held_firm_in_interrogation + ImplicatedHfid int `json:"implicatedHfid" legend:"base"` // implicated_hfid InterrogatorHfid int `json:"interrogatorHfid" legend:"base"` // interrogator_hfid TargetHfid int `json:"targetHfid" legend:"base"` // target_hfid WantedAndRecognized bool `json:"wantedAndRecognized" legend:"base"` // wanted_and_recognized @@ -2751,7 +3044,7 @@ type HistoricalEventHfInterrogated struct { func (x *HistoricalEventHfInterrogated) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfInterrogated) RelatedToHf(id int) bool { - return x.InterrogatorHfid == id || x.TargetHfid == id + return x.InterrogatorHfid == id || x.TargetHfid == id || x.ImplicatedHfid == id } func (x *HistoricalEventHfInterrogated) CheckFields() { @@ -2767,7 +3060,7 @@ type HistoricalEventHfLearnsSecret struct { func (x *HistoricalEventHfLearnsSecret) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfLearnsSecret) RelatedToHf(id int) bool { - return x.TeacherHfid == id || x.StudentHfid == id + return x.StudentHfid == id || x.TeacherHfid == id } func (x *HistoricalEventHfLearnsSecret) CheckFields() { @@ -2854,6 +3147,35 @@ func (x *HistoricalEventHfProfanedStructure) RelatedToHf(id int) bool { retu func (x *HistoricalEventHfProfanedStructure) CheckFields() { } +type HistoricalEventHfRansomed struct { + MovedToSiteId int `json:"movedToSiteId" legend:"base"` // moved_to_site_id + PayerEntityId int `json:"payerEntityId" legend:"base"` // payer_entity_id + PayerHfid int `json:"payerHfid" legend:"base"` // payer_hfid + RansomedHfid int `json:"ransomedHfid" legend:"base"` // ransomed_hfid + RansomerHfid int `json:"ransomerHfid" legend:"base"` // ransomer_hfid +} + +func (x *HistoricalEventHfRansomed) RelatedToEntity(id int) bool { return x.PayerEntityId == id } +func (x *HistoricalEventHfRansomed) RelatedToHf(id int) bool { + return x.PayerHfid == id || x.RansomedHfid == id || x.RansomerHfid == id +} + +func (x *HistoricalEventHfRansomed) CheckFields() { +} + +type HistoricalEventHfReachSummit struct { + Coords string `json:"coords" legend:"base"` // coords + FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id + GroupHfid []int `json:"groupHfid" legend:"base"` // group_hfid + SubregionId int `json:"subregionId" legend:"base"` // subregion_id +} + +func (x *HistoricalEventHfReachSummit) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventHfReachSummit) RelatedToHf(id int) bool { return containsInt(x.GroupHfid, id) } + +func (x *HistoricalEventHfReachSummit) CheckFields() { +} + type HistoricalEventHfRecruitedUnitTypeForEntity struct { EntityId int `json:"entityId" legend:"base"` // entity_id FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id @@ -2884,7 +3206,7 @@ type HistoricalEventHfRelationshipDenied struct { func (x *HistoricalEventHfRelationshipDenied) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventHfRelationshipDenied) RelatedToHf(id int) bool { - return x.TargetHfid == id || x.SeekerHfid == id + return x.SeekerHfid == id || x.TargetHfid == id } func (x *HistoricalEventHfRelationshipDenied) CheckFields() { @@ -2907,12 +3229,14 @@ func (x *HistoricalEventHfReunion) CheckFields() { } type HistoricalEventHfRevived struct { - ActorHfid int `json:"actorHfid" legend:"base"` // actor_hfid - Disturbance bool `json:"disturbance" legend:"base"` // disturbance - FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id - Hfid int `json:"hfid" legend:"base"` // hfid - SiteId int `json:"siteId" legend:"base"` // site_id - SubregionId int `json:"subregionId" legend:"base"` // subregion_id + ActorHfid int `json:"actorHfid" legend:"base"` // actor_hfid + Disturbance bool `json:"disturbance" legend:"base"` // disturbance + FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id + Ghost string `json:"ghost" legend:"base"` // ghost + Hfid int `json:"hfid" legend:"base"` // hfid + RaisedBefore bool `json:"raisedBefore" legend:"base"` // raised_before + SiteId int `json:"siteId" legend:"base"` // site_id + SubregionId int `json:"subregionId" legend:"base"` // subregion_id } func (x *HistoricalEventHfRevived) RelatedToEntity(id int) bool { return false } @@ -2973,6 +3297,7 @@ type HistoricalEventHfWounded struct { PartLost string `json:"partLost" legend:"plus"` // part_lost SiteId int `json:"siteId" legend:"base"` // site_id SubregionId int `json:"subregionId" legend:"base"` // subregion_id + WasTorture bool `json:"wasTorture" legend:"base"` // was_torture WoundeeCaste int `json:"woundeeCaste" legend:"plus"` // woundee_caste WoundeeHfid int `json:"woundeeHfid" legend:"base"` // woundee_hfid WoundeeRace int `json:"woundeeRace" legend:"plus"` // woundee_race @@ -2988,48 +3313,48 @@ func (x *HistoricalEventHfWounded) CheckFields() { if x.WoundeeRace != x.WoundeeHfid && x.WoundeeRace != 0 && x.WoundeeHfid != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["WoundeeHfid"] = false } + if x.WoundeeRace != x.SiteId && x.WoundeeRace != 0 && x.SiteId != 0 { + sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["SiteId"] = false + } if x.WoundeeRace != x.WounderHfid && x.WoundeeRace != 0 && x.WounderHfid != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["WounderHfid"] = false } if x.WoundeeRace != x.FeatureLayerId && x.WoundeeRace != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["FeatureLayerId"] = false } - if x.WoundeeRace != x.SiteId && x.WoundeeRace != 0 && x.SiteId != 0 { - sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["SiteId"] = false - } if x.WoundeeRace != x.SubregionId && x.WoundeeRace != 0 && x.SubregionId != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeRace"]["SubregionId"] = false } - if x.BodyPart != x.WoundeeHfid && x.BodyPart != 0 && x.WoundeeHfid != 0 { - sameFields["HistoricalEventHfWounded"]["BodyPart"]["WoundeeHfid"] = false - } if x.BodyPart != x.WounderHfid && x.BodyPart != 0 && x.WounderHfid != 0 { sameFields["HistoricalEventHfWounded"]["BodyPart"]["WounderHfid"] = false } - if x.BodyPart != x.SubregionId && x.BodyPart != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventHfWounded"]["BodyPart"]["SubregionId"] = false + if x.BodyPart != x.SiteId && x.BodyPart != 0 && x.SiteId != 0 { + sameFields["HistoricalEventHfWounded"]["BodyPart"]["SiteId"] = false } if x.BodyPart != x.FeatureLayerId && x.BodyPart != 0 && x.FeatureLayerId != 0 { sameFields["HistoricalEventHfWounded"]["BodyPart"]["FeatureLayerId"] = false } - if x.BodyPart != x.SiteId && x.BodyPart != 0 && x.SiteId != 0 { - sameFields["HistoricalEventHfWounded"]["BodyPart"]["SiteId"] = false + if x.BodyPart != x.SubregionId && x.BodyPart != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventHfWounded"]["BodyPart"]["SubregionId"] = false } - if x.WoundeeCaste != x.FeatureLayerId && x.WoundeeCaste != 0 && x.FeatureLayerId != 0 { - sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["FeatureLayerId"] = false - } - if x.WoundeeCaste != x.SiteId && x.WoundeeCaste != 0 && x.SiteId != 0 { - sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["SiteId"] = false - } - if x.WoundeeCaste != x.SubregionId && x.WoundeeCaste != 0 && x.SubregionId != 0 { - sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["SubregionId"] = false + if x.BodyPart != x.WoundeeHfid && x.BodyPart != 0 && x.WoundeeHfid != 0 { + sameFields["HistoricalEventHfWounded"]["BodyPart"]["WoundeeHfid"] = false } if x.WoundeeCaste != x.WoundeeHfid && x.WoundeeCaste != 0 && x.WoundeeHfid != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["WoundeeHfid"] = false } + if x.WoundeeCaste != x.SiteId && x.WoundeeCaste != 0 && x.SiteId != 0 { + sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["SiteId"] = false + } if x.WoundeeCaste != x.WounderHfid && x.WoundeeCaste != 0 && x.WounderHfid != 0 { sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["WounderHfid"] = false } + if x.WoundeeCaste != x.FeatureLayerId && x.WoundeeCaste != 0 && x.FeatureLayerId != 0 { + sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["FeatureLayerId"] = false + } + if x.WoundeeCaste != x.SubregionId && x.WoundeeCaste != 0 && x.SubregionId != 0 { + sameFields["HistoricalEventHfWounded"]["WoundeeCaste"]["SubregionId"] = false + } } type HistoricalEventHfsFormedIntrigueRelationship struct { @@ -3066,10 +3391,10 @@ type HistoricalEventHfsFormedIntrigueRelationship struct { } func (x *HistoricalEventHfsFormedIntrigueRelationship) RelatedToEntity(id int) bool { - return x.RelevantEntityId == id || x.CorruptorIdentity == id || x.TargetIdentity == id + return x.RelevantEntityId == id || x.TargetIdentity == id || x.CorruptorIdentity == id } func (x *HistoricalEventHfsFormedIntrigueRelationship) RelatedToHf(id int) bool { - return x.TargetHfid == id || x.LureHfid == id || x.CorruptorHfid == id + return x.CorruptorHfid == id || x.LureHfid == id || x.TargetHfid == id } func (x *HistoricalEventHfsFormedIntrigueRelationship) CheckFields() { @@ -3108,6 +3433,18 @@ func (x *HistoricalEventHolyCityDeclaration) RelatedToHf(id int) bool { retu func (x *HistoricalEventHolyCityDeclaration) CheckFields() { } +type HistoricalEventInsurrectionStarted struct { + Outcome string `json:"outcome" legend:"base"` // outcome + SiteId int `json:"siteId" legend:"base"` // site_id + TargetCivId int `json:"targetCivId" legend:"base"` // target_civ_id +} + +func (x *HistoricalEventInsurrectionStarted) RelatedToEntity(id int) bool { return x.TargetCivId == id } +func (x *HistoricalEventInsurrectionStarted) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventInsurrectionStarted) CheckFields() { +} + type HistoricalEventItemStolen struct { Circumstance *HistoricalEventItemStolenCircumstance `json:"circumstance" legend:"both"` // circumstance CircumstanceId int `json:"circumstanceId" legend:"base"` // circumstance_id @@ -3129,11 +3466,20 @@ func (x *HistoricalEventItemStolen) RelatedToEntity(id int) bool { return x.Enti func (x *HistoricalEventItemStolen) RelatedToHf(id int) bool { return x.Histfig == id } func (x *HistoricalEventItemStolen) CheckFields() { + if x.Entity != x.CircumstanceId && x.Entity != 0 && x.CircumstanceId != 0 { + sameFields["HistoricalEventItemStolen"]["Entity"]["CircumstanceId"] = false + } + if x.Structure != x.CircumstanceId && x.Structure != 0 && x.CircumstanceId != 0 { + sameFields["HistoricalEventItemStolen"]["Structure"]["CircumstanceId"] = false + } + if x.Item != x.CircumstanceId && x.Item != 0 && x.CircumstanceId != 0 { + sameFields["HistoricalEventItemStolen"]["Item"]["CircumstanceId"] = false + } if x.Matindex != x.CircumstanceId && x.Matindex != 0 && x.CircumstanceId != 0 { sameFields["HistoricalEventItemStolen"]["Matindex"]["CircumstanceId"] = false } - if x.StashSite != x.CircumstanceId && x.StashSite != 0 && x.CircumstanceId != 0 { - sameFields["HistoricalEventItemStolen"]["StashSite"]["CircumstanceId"] = false + if x.Histfig != x.CircumstanceId && x.Histfig != 0 && x.CircumstanceId != 0 { + sameFields["HistoricalEventItemStolen"]["Histfig"]["CircumstanceId"] = false } if x.Mattype != x.CircumstanceId && x.Mattype != 0 && x.CircumstanceId != 0 { sameFields["HistoricalEventItemStolen"]["Mattype"]["CircumstanceId"] = false @@ -3141,17 +3487,8 @@ func (x *HistoricalEventItemStolen) CheckFields() { if x.Site != x.CircumstanceId && x.Site != 0 && x.CircumstanceId != 0 { sameFields["HistoricalEventItemStolen"]["Site"]["CircumstanceId"] = false } - if x.Structure != x.CircumstanceId && x.Structure != 0 && x.CircumstanceId != 0 { - sameFields["HistoricalEventItemStolen"]["Structure"]["CircumstanceId"] = false - } - if x.Entity != x.CircumstanceId && x.Entity != 0 && x.CircumstanceId != 0 { - sameFields["HistoricalEventItemStolen"]["Entity"]["CircumstanceId"] = false - } - if x.Histfig != x.CircumstanceId && x.Histfig != 0 && x.CircumstanceId != 0 { - sameFields["HistoricalEventItemStolen"]["Histfig"]["CircumstanceId"] = false - } - if x.Item != x.CircumstanceId && x.Item != 0 && x.CircumstanceId != 0 { - sameFields["HistoricalEventItemStolen"]["Item"]["CircumstanceId"] = false + if x.StashSite != x.CircumstanceId && x.StashSite != 0 && x.CircumstanceId != 0 { + sameFields["HistoricalEventItemStolen"]["StashSite"]["CircumstanceId"] = false } } @@ -3180,10 +3517,156 @@ func (x *HistoricalEventKnowledgeDiscovered) RelatedToHf(id int) bool { retu func (x *HistoricalEventKnowledgeDiscovered) CheckFields() { } +type HistoricalEventMasterpieceArchConstructed struct { + BuildingCustom int `json:"buildingCustom" legend:"plus"` // building_custom + BuildingSubtype string `json:"buildingSubtype" legend:"plus"` // building_subtype + BuildingType string `json:"buildingType" legend:"plus"` // building_type + EntityId int `json:"entityId" legend:"base"` // entity_id + Hfid int `json:"hfid" legend:"base"` // hfid + Maker int `json:"maker" legend:"plus"` // maker + MakerEntity int `json:"makerEntity" legend:"plus"` // maker_entity + Site int `json:"site" legend:"plus"` // site + SiteId int `json:"siteId" legend:"base"` // site_id + SkillAtTime string `json:"skillAtTime" legend:"both"` // skill_at_time + Unk2 int `json:"unk2" legend:"plus"` // unk_2 +} + +func (x *HistoricalEventMasterpieceArchConstructed) RelatedToEntity(id int) bool { + return x.EntityId == id || x.MakerEntity == id +} +func (x *HistoricalEventMasterpieceArchConstructed) RelatedToHf(id int) bool { return x.Hfid == id } + +func (x *HistoricalEventMasterpieceArchConstructed) CheckFields() { + if x.BuildingCustom != x.Hfid && x.BuildingCustom != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["BuildingCustom"]["Hfid"] = false + } + if x.BuildingCustom != x.EntityId && x.BuildingCustom != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["BuildingCustom"]["EntityId"] = false + } + if x.BuildingCustom != x.SiteId && x.BuildingCustom != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["BuildingCustom"]["SiteId"] = false + } + if x.Maker != x.EntityId && x.Maker != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Maker"]["EntityId"] = false + } + if x.Maker != x.SiteId && x.Maker != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Maker"]["SiteId"] = false + } + if x.Maker != x.Hfid && x.Maker != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Maker"]["Hfid"] = false + } + if x.MakerEntity != x.SiteId && x.MakerEntity != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["MakerEntity"]["SiteId"] = false + } + if x.MakerEntity != x.EntityId && x.MakerEntity != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["MakerEntity"]["EntityId"] = false + } + if x.MakerEntity != x.Hfid && x.MakerEntity != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["MakerEntity"]["Hfid"] = false + } + if x.Unk2 != x.Hfid && x.Unk2 != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Unk2"]["Hfid"] = false + } + if x.Unk2 != x.EntityId && x.Unk2 != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Unk2"]["EntityId"] = false + } + if x.Unk2 != x.SiteId && x.Unk2 != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Unk2"]["SiteId"] = false + } + if x.Site != x.EntityId && x.Site != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Site"]["EntityId"] = false + } + if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Site"]["SiteId"] = false + } + if x.Site != x.Hfid && x.Site != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceArchConstructed"]["Site"]["Hfid"] = false + } +} + +type HistoricalEventMasterpieceEngraving struct { + ArtId int `json:"artId" legend:"plus"` // art_id + ArtSubid int `json:"artSubid" legend:"plus"` // art_subid + EntityId int `json:"entityId" legend:"base"` // entity_id + Hfid int `json:"hfid" legend:"base"` // hfid + Maker int `json:"maker" legend:"plus"` // maker + MakerEntity int `json:"makerEntity" legend:"plus"` // maker_entity + Site int `json:"site" legend:"plus"` // site + SiteId int `json:"siteId" legend:"base"` // site_id + SkillAtTime string `json:"skillAtTime" legend:"both"` // skill_at_time +} + +func (x *HistoricalEventMasterpieceEngraving) RelatedToEntity(id int) bool { + return x.EntityId == id || x.MakerEntity == id +} +func (x *HistoricalEventMasterpieceEngraving) RelatedToHf(id int) bool { return x.Hfid == id } + +func (x *HistoricalEventMasterpieceEngraving) CheckFields() { + if x.ArtId != x.Hfid && x.ArtId != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtId"]["Hfid"] = false + } + if x.ArtId != x.SiteId && x.ArtId != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtId"]["SiteId"] = false + } + if x.ArtId != x.EntityId && x.ArtId != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtId"]["EntityId"] = false + } + if x.ArtSubid != x.EntityId && x.ArtSubid != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtSubid"]["EntityId"] = false + } + if x.ArtSubid != x.Hfid && x.ArtSubid != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtSubid"]["Hfid"] = false + } + if x.ArtSubid != x.SiteId && x.ArtSubid != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["ArtSubid"]["SiteId"] = false + } + if x.Site != x.EntityId && x.Site != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Site"]["EntityId"] = false + } + if x.Site != x.Hfid && x.Site != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Site"]["Hfid"] = false + } + if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Site"]["SiteId"] = false + } + if x.Maker != x.EntityId && x.Maker != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Maker"]["EntityId"] = false + } + if x.Maker != x.Hfid && x.Maker != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Maker"]["Hfid"] = false + } + if x.Maker != x.SiteId && x.Maker != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["Maker"]["SiteId"] = false + } + if x.MakerEntity != x.EntityId && x.MakerEntity != 0 && x.EntityId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["MakerEntity"]["EntityId"] = false + } + if x.MakerEntity != x.Hfid && x.MakerEntity != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["MakerEntity"]["Hfid"] = false + } + if x.MakerEntity != x.SiteId && x.MakerEntity != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceEngraving"]["MakerEntity"]["SiteId"] = false + } +} + +type HistoricalEventMasterpieceFood struct { + EntityId int `json:"entityId" legend:"base"` // entity_id + Hfid int `json:"hfid" legend:"base"` // hfid + SiteId int `json:"siteId" legend:"base"` // site_id + SkillAtTime int `json:"skillAtTime" legend:"base"` // skill_at_time +} + +func (x *HistoricalEventMasterpieceFood) RelatedToEntity(id int) bool { return x.EntityId == id } +func (x *HistoricalEventMasterpieceFood) RelatedToHf(id int) bool { return x.Hfid == id } + +func (x *HistoricalEventMasterpieceFood) CheckFields() { +} + type HistoricalEventMasterpieceItem struct { EntityId int `json:"entityId" legend:"base"` // entity_id Hfid int `json:"hfid" legend:"base"` // hfid ItemId int `json:"itemId" legend:"plus"` // item_id + ItemSubtype string `json:"itemSubtype" legend:"plus"` // item_subtype ItemType string `json:"itemType" legend:"plus"` // item_type Maker int `json:"maker" legend:"plus"` // maker MakerEntity int `json:"makerEntity" legend:"plus"` // maker_entity @@ -3199,24 +3682,24 @@ func (x *HistoricalEventMasterpieceItem) RelatedToEntity(id int) bool { func (x *HistoricalEventMasterpieceItem) RelatedToHf(id int) bool { return x.Hfid == id } func (x *HistoricalEventMasterpieceItem) CheckFields() { - if x.MakerEntity != x.Hfid && x.MakerEntity != 0 && x.Hfid != 0 { - sameFields["HistoricalEventMasterpieceItem"]["MakerEntity"]["Hfid"] = false - } if x.MakerEntity != x.SiteId && x.MakerEntity != 0 && x.SiteId != 0 { sameFields["HistoricalEventMasterpieceItem"]["MakerEntity"]["SiteId"] = false } if x.MakerEntity != x.EntityId && x.MakerEntity != 0 && x.EntityId != 0 { sameFields["HistoricalEventMasterpieceItem"]["MakerEntity"]["EntityId"] = false } + if x.MakerEntity != x.Hfid && x.MakerEntity != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceItem"]["MakerEntity"]["Hfid"] = false + } + if x.ItemId != x.Hfid && x.ItemId != 0 && x.Hfid != 0 { + sameFields["HistoricalEventMasterpieceItem"]["ItemId"]["Hfid"] = false + } if x.ItemId != x.SiteId && x.ItemId != 0 && x.SiteId != 0 { sameFields["HistoricalEventMasterpieceItem"]["ItemId"]["SiteId"] = false } if x.ItemId != x.EntityId && x.ItemId != 0 && x.EntityId != 0 { sameFields["HistoricalEventMasterpieceItem"]["ItemId"]["EntityId"] = false } - if x.ItemId != x.Hfid && x.ItemId != 0 && x.Hfid != 0 { - sameFields["HistoricalEventMasterpieceItem"]["ItemId"]["Hfid"] = false - } if x.Maker != x.SiteId && x.Maker != 0 && x.SiteId != 0 { sameFields["HistoricalEventMasterpieceItem"]["Maker"]["SiteId"] = false } @@ -3226,50 +3709,71 @@ func (x *HistoricalEventMasterpieceItem) CheckFields() { if x.Maker != x.Hfid && x.Maker != 0 && x.Hfid != 0 { sameFields["HistoricalEventMasterpieceItem"]["Maker"]["Hfid"] = false } - if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { - sameFields["HistoricalEventMasterpieceItem"]["Site"]["SiteId"] = false - } if x.Site != x.EntityId && x.Site != 0 && x.EntityId != 0 { sameFields["HistoricalEventMasterpieceItem"]["Site"]["EntityId"] = false } if x.Site != x.Hfid && x.Site != 0 && x.Hfid != 0 { sameFields["HistoricalEventMasterpieceItem"]["Site"]["Hfid"] = false } + if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMasterpieceItem"]["Site"]["SiteId"] = false + } +} + +type HistoricalEventMasterpieceItemImprovement struct { + EntityId int `json:"entityId" legend:"base"` // entity_id + Hfid int `json:"hfid" legend:"base"` // hfid + SiteId int `json:"siteId" legend:"base"` // site_id + SkillAtTime int `json:"skillAtTime" legend:"base"` // skill_at_time +} + +func (x *HistoricalEventMasterpieceItemImprovement) RelatedToEntity(id int) bool { + return x.EntityId == id +} +func (x *HistoricalEventMasterpieceItemImprovement) RelatedToHf(id int) bool { return x.Hfid == id } + +func (x *HistoricalEventMasterpieceItemImprovement) CheckFields() { +} + +type HistoricalEventMasterpieceLost struct { + CreationEvent int `json:"creationEvent" legend:"plus"` // creation_event + Histfig int `json:"histfig" legend:"plus"` // histfig + Method string `json:"method" legend:"plus"` // method + Site int `json:"site" legend:"plus"` // site +} + +func (x *HistoricalEventMasterpieceLost) RelatedToEntity(id int) bool { return false } +func (x *HistoricalEventMasterpieceLost) RelatedToHf(id int) bool { return x.Histfig == id } + +func (x *HistoricalEventMasterpieceLost) CheckFields() { } type HistoricalEventMerchant struct { - DepotEntityId int `json:"depotEntityId" legend:"base"` // depot_entity_id - Destination int `json:"destination" legend:"plus"` // destination - Site int `json:"site" legend:"plus"` // site - SiteId int `json:"siteId" legend:"base"` // site_id - Source int `json:"source" legend:"plus"` // source - TraderEntityId int `json:"traderEntityId" legend:"base"` // trader_entity_id + DepotEntityId int `json:"depotEntityId" legend:"base"` // depot_entity_id + Destination int `json:"destination" legend:"plus"` // destination + Hardship bool `json:"hardship" legend:"base"` // hardship + LostValue bool `json:"lostValue" legend:"base"` // lost_value + Site int `json:"site" legend:"plus"` // site + SiteId int `json:"siteId" legend:"base"` // site_id + Source int `json:"source" legend:"plus"` // source + TraderEntityId int `json:"traderEntityId" legend:"base"` // trader_entity_id } func (x *HistoricalEventMerchant) RelatedToEntity(id int) bool { - return x.DepotEntityId == id || x.TraderEntityId == id + return x.TraderEntityId == id || x.DepotEntityId == id } func (x *HistoricalEventMerchant) RelatedToHf(id int) bool { return false } func (x *HistoricalEventMerchant) CheckFields() { - if x.Destination != x.SiteId && x.Destination != 0 && x.SiteId != 0 { - sameFields["HistoricalEventMerchant"]["Destination"]["SiteId"] = false - } - if x.Destination != x.TraderEntityId && x.Destination != 0 && x.TraderEntityId != 0 { - sameFields["HistoricalEventMerchant"]["Destination"]["TraderEntityId"] = false - } - if x.Destination != x.DepotEntityId && x.Destination != 0 && x.DepotEntityId != 0 { - sameFields["HistoricalEventMerchant"]["Destination"]["DepotEntityId"] = false - } - if x.Site != x.DepotEntityId && x.Site != 0 && x.DepotEntityId != 0 { - sameFields["HistoricalEventMerchant"]["Site"]["DepotEntityId"] = false - } if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { sameFields["HistoricalEventMerchant"]["Site"]["SiteId"] = false } if x.Site != x.TraderEntityId && x.Site != 0 && x.TraderEntityId != 0 { sameFields["HistoricalEventMerchant"]["Site"]["TraderEntityId"] = false } + if x.Site != x.DepotEntityId && x.Site != 0 && x.DepotEntityId != 0 { + sameFields["HistoricalEventMerchant"]["Site"]["DepotEntityId"] = false + } if x.Source != x.SiteId && x.Source != 0 && x.SiteId != 0 { sameFields["HistoricalEventMerchant"]["Source"]["SiteId"] = false } @@ -3279,6 +3783,15 @@ func (x *HistoricalEventMerchant) CheckFields() { if x.Source != x.DepotEntityId && x.Source != 0 && x.DepotEntityId != 0 { sameFields["HistoricalEventMerchant"]["Source"]["DepotEntityId"] = false } + if x.Destination != x.SiteId && x.Destination != 0 && x.SiteId != 0 { + sameFields["HistoricalEventMerchant"]["Destination"]["SiteId"] = false + } + if x.Destination != x.TraderEntityId && x.Destination != 0 && x.TraderEntityId != 0 { + sameFields["HistoricalEventMerchant"]["Destination"]["TraderEntityId"] = false + } + if x.Destination != x.DepotEntityId && x.Destination != 0 && x.DepotEntityId != 0 { + sameFields["HistoricalEventMerchant"]["Destination"]["DepotEntityId"] = false + } } type HistoricalEventModifiedBuilding struct { @@ -3320,7 +3833,7 @@ type HistoricalEventNewSiteLeader struct { } func (x *HistoricalEventNewSiteLeader) RelatedToEntity(id int) bool { - return x.SiteCivId == id || x.AttackerCivId == id || x.DefenderCivId == id || x.NewSiteCivId == id + return x.NewSiteCivId == id || x.SiteCivId == id || x.AttackerCivId == id || x.DefenderCivId == id } func (x *HistoricalEventNewSiteLeader) RelatedToHf(id int) bool { return x.NewLeaderHfid == id } @@ -3338,12 +3851,12 @@ func (x *HistoricalEventPeaceAccepted) RelatedToEntity(id int) bool { return fal func (x *HistoricalEventPeaceAccepted) RelatedToHf(id int) bool { return false } func (x *HistoricalEventPeaceAccepted) CheckFields() { - if x.Destination != x.SiteId && x.Destination != 0 && x.SiteId != 0 { - sameFields["HistoricalEventPeaceAccepted"]["Destination"]["SiteId"] = false - } if x.Source != x.SiteId && x.Source != 0 && x.SiteId != 0 { sameFields["HistoricalEventPeaceAccepted"]["Source"]["SiteId"] = false } + if x.Destination != x.SiteId && x.Destination != 0 && x.SiteId != 0 { + sameFields["HistoricalEventPeaceAccepted"]["Destination"]["SiteId"] = false + } } type HistoricalEventPeaceRejected struct { @@ -3381,11 +3894,15 @@ func (x *HistoricalEventPerformance) CheckFields() { } type HistoricalEventPlunderedSite struct { - AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id - DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id - Detected bool `json:"detected" legend:"base"` // detected - SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id - SiteId int `json:"siteId" legend:"base"` // site_id + AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id + DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id + Detected bool `json:"detected" legend:"base"` // detected + NoDefeatMention bool `json:"noDefeatMention" legend:"base"` // no_defeat_mention + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id + TookItems bool `json:"tookItems" legend:"base"` // took_items + TookLivestock bool `json:"tookLivestock" legend:"base"` // took_livestock + WasRaid bool `json:"wasRaid" legend:"base"` // was_raid } func (x *HistoricalEventPlunderedSite) RelatedToEntity(id int) bool { @@ -3437,9 +3954,10 @@ func (x *HistoricalEventRazedStructure) CheckFields() { } type HistoricalEventReclaimSite struct { - CivId int `json:"civId" legend:"base"` // civ_id - SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id - SiteId int `json:"siteId" legend:"base"` // site_id + CivId int `json:"civId" legend:"base"` // civ_id + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id + Unretire bool `json:"unretire" legend:"base"` // unretire } func (x *HistoricalEventReclaimSite) RelatedToEntity(id int) bool { @@ -3477,7 +3995,7 @@ type HistoricalEventRelationship struct { func (x *HistoricalEventRelationship) RelatedToEntity(id int) bool { return false } func (x *HistoricalEventRelationship) RelatedToHf(id int) bool { - return x.SourceHf == id || x.TargetHf == id + return x.TargetHf == id || x.SourceHf == id } func (x *HistoricalEventRelationship) CheckFields() { @@ -3563,11 +4081,44 @@ type HistoricalEventReplacedStructure struct { } func (x *HistoricalEventReplacedStructure) RelatedToEntity(id int) bool { - return x.SiteCivId == id || x.CivId == id + return x.CivId == id || x.SiteCivId == id } func (x *HistoricalEventReplacedStructure) RelatedToHf(id int) bool { return false } func (x *HistoricalEventReplacedStructure) CheckFields() { + if x.NewStructure != x.OldAbId && x.NewStructure != 0 && x.OldAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["OldAbId"] = false + } + if x.NewStructure != x.SiteId && x.NewStructure != 0 && x.SiteId != 0 { + sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["SiteId"] = false + } + if x.NewStructure != x.CivId && x.NewStructure != 0 && x.CivId != 0 { + sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["CivId"] = false + } + if x.NewStructure != x.SiteCivId && x.NewStructure != 0 && x.SiteCivId != 0 { + sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["SiteCivId"] = false + } + if x.NewStructure != x.NewAbId && x.NewStructure != 0 && x.NewAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["NewAbId"] = false + } + if x.OldStructure != x.NewAbId && x.OldStructure != 0 && x.NewAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["NewAbId"] = false + } + if x.OldStructure != x.SiteCivId && x.OldStructure != 0 && x.SiteCivId != 0 { + sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["SiteCivId"] = false + } + if x.OldStructure != x.CivId && x.OldStructure != 0 && x.CivId != 0 { + sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["CivId"] = false + } + if x.OldStructure != x.OldAbId && x.OldStructure != 0 && x.OldAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["OldAbId"] = false + } + if x.OldStructure != x.SiteId && x.OldStructure != 0 && x.SiteId != 0 { + sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["SiteId"] = false + } + if x.Site != x.SiteCivId && x.Site != 0 && x.SiteCivId != 0 { + sameFields["HistoricalEventReplacedStructure"]["Site"]["SiteCivId"] = false + } if x.Site != x.NewAbId && x.Site != 0 && x.NewAbId != 0 { sameFields["HistoricalEventReplacedStructure"]["Site"]["NewAbId"] = false } @@ -3577,20 +4128,14 @@ func (x *HistoricalEventReplacedStructure) CheckFields() { if x.Site != x.OldAbId && x.Site != 0 && x.OldAbId != 0 { sameFields["HistoricalEventReplacedStructure"]["Site"]["OldAbId"] = false } - if x.Site != x.SiteCivId && x.Site != 0 && x.SiteCivId != 0 { - sameFields["HistoricalEventReplacedStructure"]["Site"]["SiteCivId"] = false - } if x.Site != x.SiteId && x.Site != 0 && x.SiteId != 0 { sameFields["HistoricalEventReplacedStructure"]["Site"]["SiteId"] = false } - if x.SiteCiv != x.NewAbId && x.SiteCiv != 0 && x.NewAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["NewAbId"] = false - } if x.SiteCiv != x.SiteCivId && x.SiteCiv != 0 && x.SiteCivId != 0 { sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["SiteCivId"] = false } - if x.SiteCiv != x.SiteId && x.SiteCiv != 0 && x.SiteId != 0 { - sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["SiteId"] = false + if x.SiteCiv != x.NewAbId && x.SiteCiv != 0 && x.NewAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["NewAbId"] = false } if x.SiteCiv != x.CivId && x.SiteCiv != 0 && x.CivId != 0 { sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["CivId"] = false @@ -3598,6 +4143,12 @@ func (x *HistoricalEventReplacedStructure) CheckFields() { if x.SiteCiv != x.OldAbId && x.SiteCiv != 0 && x.OldAbId != 0 { sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["OldAbId"] = false } + if x.SiteCiv != x.SiteId && x.SiteCiv != 0 && x.SiteId != 0 { + sameFields["HistoricalEventReplacedStructure"]["SiteCiv"]["SiteId"] = false + } + if x.Civ != x.NewAbId && x.Civ != 0 && x.NewAbId != 0 { + sameFields["HistoricalEventReplacedStructure"]["Civ"]["NewAbId"] = false + } if x.Civ != x.SiteCivId && x.Civ != 0 && x.SiteCivId != 0 { sameFields["HistoricalEventReplacedStructure"]["Civ"]["SiteCivId"] = false } @@ -3610,39 +4161,21 @@ func (x *HistoricalEventReplacedStructure) CheckFields() { if x.Civ != x.OldAbId && x.Civ != 0 && x.OldAbId != 0 { sameFields["HistoricalEventReplacedStructure"]["Civ"]["OldAbId"] = false } - if x.Civ != x.NewAbId && x.Civ != 0 && x.NewAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["Civ"]["NewAbId"] = false - } - if x.NewStructure != x.SiteId && x.NewStructure != 0 && x.SiteId != 0 { - sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["SiteId"] = false - } - if x.NewStructure != x.CivId && x.NewStructure != 0 && x.CivId != 0 { - sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["CivId"] = false - } - if x.NewStructure != x.OldAbId && x.NewStructure != 0 && x.OldAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["OldAbId"] = false - } - if x.NewStructure != x.SiteCivId && x.NewStructure != 0 && x.SiteCivId != 0 { - sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["SiteCivId"] = false - } - if x.NewStructure != x.NewAbId && x.NewStructure != 0 && x.NewAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["NewStructure"]["NewAbId"] = false - } - if x.OldStructure != x.NewAbId && x.OldStructure != 0 && x.NewAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["NewAbId"] = false - } - if x.OldStructure != x.SiteId && x.OldStructure != 0 && x.SiteId != 0 { - sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["SiteId"] = false - } - if x.OldStructure != x.CivId && x.OldStructure != 0 && x.CivId != 0 { - sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["CivId"] = false - } - if x.OldStructure != x.OldAbId && x.OldStructure != 0 && x.OldAbId != 0 { - sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["OldAbId"] = false - } - if x.OldStructure != x.SiteCivId && x.OldStructure != 0 && x.SiteCivId != 0 { - sameFields["HistoricalEventReplacedStructure"]["OldStructure"]["SiteCivId"] = false - } +} + +type HistoricalEventSiteDied struct { + Abandoned bool `json:"abandoned" legend:"base"` // abandoned + CivId int `json:"civId" legend:"base"` // civ_id + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventSiteDied) RelatedToEntity(id int) bool { + return x.CivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSiteDied) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventSiteDied) CheckFields() { } type HistoricalEventSiteDispute struct { @@ -3661,6 +4194,36 @@ func (x *HistoricalEventSiteDispute) RelatedToHf(id int) bool { return false } func (x *HistoricalEventSiteDispute) CheckFields() { } +type HistoricalEventSiteRetired struct { + CivId int `json:"civId" legend:"base"` // civ_id + First bool `json:"first" legend:"base"` // first + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventSiteRetired) RelatedToEntity(id int) bool { + return x.CivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSiteRetired) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventSiteRetired) CheckFields() { +} + +type HistoricalEventSiteSurrendered struct { + AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id + DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventSiteSurrendered) RelatedToEntity(id int) bool { + return x.AttackerCivId == id || x.DefenderCivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSiteSurrendered) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventSiteSurrendered) CheckFields() { +} + type HistoricalEventSiteTakenOver struct { AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id @@ -3677,23 +4240,76 @@ func (x *HistoricalEventSiteTakenOver) RelatedToHf(id int) bool { return false } func (x *HistoricalEventSiteTakenOver) CheckFields() { } +type HistoricalEventSiteTributeForced struct { + AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id + DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id + Season string `json:"season" legend:"base"` // season + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventSiteTributeForced) RelatedToEntity(id int) bool { + return x.AttackerCivId == id || x.DefenderCivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSiteTributeForced) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventSiteTributeForced) CheckFields() { +} + +type HistoricalEventSneakIntoSite struct { + AttackerCivId int `json:"attackerCivId" legend:"base"` // attacker_civ_id + DefenderCivId int `json:"defenderCivId" legend:"base"` // defender_civ_id + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id +} + +func (x *HistoricalEventSneakIntoSite) RelatedToEntity(id int) bool { + return x.AttackerCivId == id || x.DefenderCivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSneakIntoSite) RelatedToHf(id int) bool { return false } + +func (x *HistoricalEventSneakIntoSite) CheckFields() { +} + +type HistoricalEventSpottedLeavingSite struct { + LeaverCivId int `json:"leaverCivId" legend:"base"` // leaver_civ_id + SiteCivId int `json:"siteCivId" legend:"base"` // site_civ_id + SiteId int `json:"siteId" legend:"base"` // site_id + SpotterHfid int `json:"spotterHfid" legend:"base"` // spotter_hfid +} + +func (x *HistoricalEventSpottedLeavingSite) RelatedToEntity(id int) bool { + return x.LeaverCivId == id || x.SiteCivId == id +} +func (x *HistoricalEventSpottedLeavingSite) RelatedToHf(id int) bool { return x.SpotterHfid == id } + +func (x *HistoricalEventSpottedLeavingSite) CheckFields() { +} + type HistoricalEventSquadVsSquad struct { - AHfid int `json:"aHfid" legend:"base"` // a_hfid - ASquadId int `json:"aSquadId" legend:"base"` // a_squad_id - DEffect int `json:"dEffect" legend:"base"` // d_effect - DInteraction int `json:"dInteraction" legend:"base"` // d_interaction - DNumber int `json:"dNumber" legend:"base"` // d_number - DRace int `json:"dRace" legend:"base"` // d_race - DSlain int `json:"dSlain" legend:"base"` // d_slain - DSquadId int `json:"dSquadId" legend:"base"` // d_squad_id - FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id - SiteId int `json:"siteId" legend:"base"` // site_id - StructureId int `json:"structureId" legend:"base"` // structure_id - SubregionId int `json:"subregionId" legend:"base"` // subregion_id + AHfid []int `json:"aHfid" legend:"base"` // a_hfid + ALeaderHfid int `json:"aLeaderHfid" legend:"base"` // a_leader_hfid + ALeadershipRoll int `json:"aLeadershipRoll" legend:"base"` // a_leadership_roll + ASquadId int `json:"aSquadId" legend:"base"` // a_squad_id + DEffect int `json:"dEffect" legend:"base"` // d_effect + DHfid []int `json:"dHfid" legend:"base"` // d_hfid + DInteraction int `json:"dInteraction" legend:"base"` // d_interaction + DLeaderHfid int `json:"dLeaderHfid" legend:"base"` // d_leader_hfid + DLeadershipRoll int `json:"dLeadershipRoll" legend:"base"` // d_leadership_roll + DNumber int `json:"dNumber" legend:"base"` // d_number + DRace int `json:"dRace" legend:"base"` // d_race + DSlain int `json:"dSlain" legend:"base"` // d_slain + DSquadId int `json:"dSquadId" legend:"base"` // d_squad_id + FeatureLayerId int `json:"featureLayerId" legend:"base"` // feature_layer_id + SiteId int `json:"siteId" legend:"base"` // site_id + StructureId int `json:"structureId" legend:"base"` // structure_id + SubregionId int `json:"subregionId" legend:"base"` // subregion_id } func (x *HistoricalEventSquadVsSquad) RelatedToEntity(id int) bool { return false } -func (x *HistoricalEventSquadVsSquad) RelatedToHf(id int) bool { return x.AHfid == id } +func (x *HistoricalEventSquadVsSquad) RelatedToHf(id int) bool { + return containsInt(x.DHfid, id) || containsInt(x.AHfid, id) || x.ALeaderHfid == id || x.DLeaderHfid == id +} func (x *HistoricalEventSquadVsSquad) CheckFields() { } @@ -3755,12 +4371,14 @@ func (x *HistoricalEventWrittenContentComposed) CheckFields() { type HistoricalFigure struct { ActiveInteraction []string `json:"activeInteraction" legend:"base"` // active_interaction + Adventurer bool `json:"adventurer" legend:"base"` // adventurer Animated bool `json:"animated" legend:"base"` // animated AnimatedString string `json:"animatedString" legend:"base"` // animated_string Appeared int `json:"appeared" legend:"base"` // appeared AssociatedType string `json:"associatedType" legend:"base"` // associated_type BirthSeconds72 int `json:"birthSeconds72" legend:"base"` // birth_seconds72 BirthYear int `json:"birthYear" legend:"base"` // birth_year + BreedId int `json:"breedId" legend:"base"` // breed_id Caste string `json:"caste" legend:"base"` // caste CurrentIdentityId int `json:"currentIdentityId" legend:"base"` // current_identity_id DeathSeconds72 int `json:"deathSeconds72" legend:"base"` // death_seconds72 @@ -3768,11 +4386,13 @@ type HistoricalFigure struct { Deity bool `json:"deity" legend:"base"` // deity EntPopId int `json:"entPopId" legend:"base"` // ent_pop_id EntityFormerPositionLink []*EntityFormerPositionLink `json:"entityFormerPositionLink" legend:"base"` // entity_former_position_link + EntityFormerSquadLink []*EntityFormerSquadLink `json:"entityFormerSquadLink" legend:"base"` // entity_former_squad_link EntityLink []*HistoricalFigureEntityLink `json:"entityLink" legend:"base"` // entity_link EntityPositionLink []*EntityPositionLink `json:"entityPositionLink" legend:"base"` // entity_position_link EntityReputation []*EntityReputation `json:"entityReputation" legend:"base"` // entity_reputation EntitySquadLink *EntitySquadLink `json:"entitySquadLink" legend:"base"` // entity_squad_link Force bool `json:"force" legend:"base"` // force + Ghost bool `json:"ghost" legend:"base"` // ghost Goal []string `json:"goal" legend:"base"` // goal HfLink []*HfLink `json:"hfLink" legend:"base"` // hf_link HfSkill []*HfSkill `json:"hfSkill" legend:"base"` // hf_skill @@ -3786,6 +4406,7 @@ type HistoricalFigure struct { Name_ string `json:"name" legend:"base"` // name Race string `json:"race" legend:"both"` // race RelationshipProfileHfHistorical []*RelationshipProfileHfHistorical `json:"relationshipProfileHfHistorical" legend:"base"` // relationship_profile_hf_historical + RelationshipProfileHfIdentity []*RelationshipProfileHfIdentity `json:"relationshipProfileHfIdentity" legend:"base"` // relationship_profile_hf_identity RelationshipProfileHfVisual []*RelationshipProfileHfVisual `json:"relationshipProfileHfVisual" legend:"base"` // relationship_profile_hf_visual Sex int `json:"sex" legend:"plus"` // sex SiteLink []*SiteLink `json:"siteLink" legend:"base"` // site_link @@ -3798,32 +4419,35 @@ type HistoricalFigure struct { func (x *HistoricalFigure) Id() int { return x.Id_ } func (x *HistoricalFigure) Name() string { return x.Name_ } func (x *HistoricalFigure) RelatedToEntity(id int) bool { - return x.CurrentIdentityId == id || containsInt(x.UsedIdentityId, id) + return containsInt(x.UsedIdentityId, id) || x.CurrentIdentityId == id } func (x *HistoricalFigure) RelatedToHf(id int) bool { return false } func (x *HistoricalFigure) CheckFields() { - if x.Sex != x.DeathYear && x.Sex != 0 && x.DeathYear != 0 { - sameFields["HistoricalFigure"]["Sex"]["DeathYear"] = false - } - if x.Sex != x.EntPopId && x.Sex != 0 && x.EntPopId != 0 { - sameFields["HistoricalFigure"]["Sex"]["EntPopId"] = false - } if x.Sex != x.BirthYear && x.Sex != 0 && x.BirthYear != 0 { sameFields["HistoricalFigure"]["Sex"]["BirthYear"] = false } - if x.Sex != x.CurrentIdentityId && x.Sex != 0 && x.CurrentIdentityId != 0 { - sameFields["HistoricalFigure"]["Sex"]["CurrentIdentityId"] = false - } - if x.Sex != x.DeathSeconds72 && x.Sex != 0 && x.DeathSeconds72 != 0 { - sameFields["HistoricalFigure"]["Sex"]["DeathSeconds72"] = false - } if x.Sex != x.Appeared && x.Sex != 0 && x.Appeared != 0 { sameFields["HistoricalFigure"]["Sex"]["Appeared"] = false } + if x.Sex != x.DeathYear && x.Sex != 0 && x.DeathYear != 0 { + sameFields["HistoricalFigure"]["Sex"]["DeathYear"] = false + } + if x.Sex != x.BreedId && x.Sex != 0 && x.BreedId != 0 { + sameFields["HistoricalFigure"]["Sex"]["BreedId"] = false + } + if x.Sex != x.EntPopId && x.Sex != 0 && x.EntPopId != 0 { + sameFields["HistoricalFigure"]["Sex"]["EntPopId"] = false + } + if x.Sex != x.CurrentIdentityId && x.Sex != 0 && x.CurrentIdentityId != 0 { + sameFields["HistoricalFigure"]["Sex"]["CurrentIdentityId"] = false + } if x.Sex != x.BirthSeconds72 && x.Sex != 0 && x.BirthSeconds72 != 0 { sameFields["HistoricalFigure"]["Sex"]["BirthSeconds72"] = false } + if x.Sex != x.DeathSeconds72 && x.Sex != 0 && x.DeathSeconds72 != 0 { + sameFields["HistoricalFigure"]["Sex"]["DeathSeconds72"] = false + } } type HistoricalFigureEntityLink struct { @@ -3941,7 +4565,7 @@ type IntriguePlot struct { func (x *IntriguePlot) RelatedToEntity(id int) bool { return x.EntityId == id } func (x *IntriguePlot) RelatedToHf(id int) bool { - return x.ParentPlotHfid == id || x.DelegatedPlotHfid == id + return x.DelegatedPlotHfid == id || x.ParentPlotHfid == id } func (x *IntriguePlot) CheckFields() { @@ -4077,12 +4701,19 @@ func (x *Region) CheckFields() { } type RelationshipProfileHfHistorical struct { - Fear int `json:"fear" legend:"base"` // fear - HfId int `json:"hfId" legend:"base"` // hf_id - Love int `json:"love" legend:"base"` // love - Loyalty int `json:"loyalty" legend:"base"` // loyalty - Respect int `json:"respect" legend:"base"` // respect - Trust int `json:"trust" legend:"base"` // trust + Fear int `json:"fear" legend:"base"` // fear + HfId int `json:"hfId" legend:"base"` // hf_id + Love int `json:"love" legend:"base"` // love + Loyalty int `json:"loyalty" legend:"base"` // loyalty + RepEnemyFighter int `json:"repEnemyFighter" legend:"base"` // rep_enemy_fighter + RepHero int `json:"repHero" legend:"base"` // rep_hero + RepHunter int `json:"repHunter" legend:"base"` // rep_hunter + RepKiller int `json:"repKiller" legend:"base"` // rep_killer + RepPsychopath int `json:"repPsychopath" legend:"base"` // rep_psychopath + RepStoryteller int `json:"repStoryteller" legend:"base"` // rep_storyteller + RepViolent int `json:"repViolent" legend:"base"` // rep_violent + Respect int `json:"respect" legend:"base"` // respect + Trust int `json:"trust" legend:"base"` // trust } func (x *RelationshipProfileHfHistorical) RelatedToEntity(id int) bool { return false } @@ -4091,6 +4722,23 @@ func (x *RelationshipProfileHfHistorical) RelatedToHf(id int) bool { return func (x *RelationshipProfileHfHistorical) CheckFields() { } +type RelationshipProfileHfIdentity struct { + Fear int `json:"fear" legend:"base"` // fear + Id_ int `json:"id" legend:"base"` // id + Love int `json:"love" legend:"base"` // love + Loyalty int `json:"loyalty" legend:"base"` // loyalty + RepPsychopath int `json:"repPsychopath" legend:"base"` // rep_psychopath + Respect int `json:"respect" legend:"base"` // respect + Trust int `json:"trust" legend:"base"` // trust +} + +func (x *RelationshipProfileHfIdentity) Id() int { return x.Id_ } +func (x *RelationshipProfileHfIdentity) RelatedToEntity(id int) bool { return false } +func (x *RelationshipProfileHfIdentity) RelatedToHf(id int) bool { return false } + +func (x *RelationshipProfileHfIdentity) CheckFields() { +} + type RelationshipProfileHfVisual struct { Fear int `json:"fear" legend:"base"` // fear HfId int `json:"hfId" legend:"base"` // hf_id @@ -4100,8 +4748,17 @@ type RelationshipProfileHfVisual struct { Love int `json:"love" legend:"base"` // love Loyalty int `json:"loyalty" legend:"base"` // loyalty MeetCount int `json:"meetCount" legend:"base"` // meet_count + RepBonded int `json:"repBonded" legend:"base"` // rep_bonded + RepComrade int `json:"repComrade" legend:"base"` // rep_comrade + RepFlatterer int `json:"repFlatterer" legend:"base"` // rep_flatterer RepFriendly int `json:"repFriendly" legend:"base"` // rep_friendly + RepHero int `json:"repHero" legend:"base"` // rep_hero + RepHunter int `json:"repHunter" legend:"base"` // rep_hunter RepInformationSource int `json:"repInformationSource" legend:"base"` // rep_information_source + RepKiller int `json:"repKiller" legend:"base"` // rep_killer + RepPsychopath int `json:"repPsychopath" legend:"base"` // rep_psychopath + RepQuarreler int `json:"repQuarreler" legend:"base"` // rep_quarreler + RepTradePartner int `json:"repTradePartner" legend:"base"` // rep_trade_partner Respect int `json:"respect" legend:"base"` // respect Trust int `json:"trust" legend:"base"` // trust } @@ -4150,7 +4807,7 @@ type Site struct { Name_ string `json:"name" legend:"base"` // name Rectangle string `json:"rectangle" legend:"base"` // rectangle SiteProperties map[int]*SiteSiteProperty `json:"siteProperties" legend:"base"` // site_properties - Structures map[int]*Structure `json:"structures" legend:"base"` // structures + Structures map[int]*Structure `json:"structures" legend:"both"` // structures Type string `json:"type" legend:"base"` // type } @@ -4199,10 +4856,10 @@ type Structure struct { Id_ int `json:"id" legend:"plus"` // id Inhabitant []int `json:"inhabitant" legend:"plus"` // inhabitant LocalId int `json:"localId" legend:"base"` // local_id - Name_ string `json:"name" legend:"base"` // name + Name_ string `json:"name" legend:"both"` // name Religion int `json:"religion" legend:"plus"` // religion Subtype string `json:"subtype" legend:"base"` // subtype - Type string `json:"type" legend:"base"` // type + Type string `json:"type" legend:"both"` // type WorshipHfid int `json:"worshipHfid" legend:"base"` // worship_hfid } @@ -4212,12 +4869,21 @@ func (x *Structure) RelatedToEntity(id int) bool { return x.EntityId == id } func (x *Structure) RelatedToHf(id int) bool { return x.WorshipHfid == id } func (x *Structure) CheckFields() { - if x.DeityType != x.EntityId && x.DeityType != 0 && x.EntityId != 0 { - sameFields["Structure"]["DeityType"]["EntityId"] = false + if x.Deity != x.LocalId && x.Deity != 0 && x.LocalId != 0 { + sameFields["Structure"]["Deity"]["LocalId"] = false + } + if x.Deity != x.WorshipHfid && x.Deity != 0 && x.WorshipHfid != 0 { + sameFields["Structure"]["Deity"]["WorshipHfid"] = false + } + if x.Deity != x.EntityId && x.Deity != 0 && x.EntityId != 0 { + sameFields["Structure"]["Deity"]["EntityId"] = false } if x.DeityType != x.WorshipHfid && x.DeityType != 0 && x.WorshipHfid != 0 { sameFields["Structure"]["DeityType"]["WorshipHfid"] = false } + if x.DeityType != x.EntityId && x.DeityType != 0 && x.EntityId != 0 { + sameFields["Structure"]["DeityType"]["EntityId"] = false + } if x.DeityType != x.LocalId && x.DeityType != 0 && x.LocalId != 0 { sameFields["Structure"]["DeityType"]["LocalId"] = false } @@ -4230,24 +4896,15 @@ func (x *Structure) CheckFields() { if x.Religion != x.LocalId && x.Religion != 0 && x.LocalId != 0 { sameFields["Structure"]["Religion"]["LocalId"] = false } - if x.Deity != x.LocalId && x.Deity != 0 && x.LocalId != 0 { - sameFields["Structure"]["Deity"]["LocalId"] = false - } - if x.Deity != x.WorshipHfid && x.Deity != 0 && x.WorshipHfid != 0 { - sameFields["Structure"]["Deity"]["WorshipHfid"] = false - } - if x.Deity != x.EntityId && x.Deity != 0 && x.EntityId != 0 { - sameFields["Structure"]["Deity"]["EntityId"] = false - } if x.DungeonType != x.LocalId && x.DungeonType != 0 && x.LocalId != 0 { sameFields["Structure"]["DungeonType"]["LocalId"] = false } - if x.DungeonType != x.EntityId && x.DungeonType != 0 && x.EntityId != 0 { - sameFields["Structure"]["DungeonType"]["EntityId"] = false - } if x.DungeonType != x.WorshipHfid && x.DungeonType != 0 && x.WorshipHfid != 0 { sameFields["Structure"]["DungeonType"]["WorshipHfid"] = false } + if x.DungeonType != x.EntityId && x.DungeonType != 0 && x.EntityId != 0 { + sameFields["Structure"]["DungeonType"]["EntityId"] = false + } } type UndergroundRegion struct { @@ -4311,7 +4968,7 @@ type WrittenContent struct { PageEnd int `json:"pageEnd" legend:"plus"` // page_end PageStart int `json:"pageStart" legend:"plus"` // page_start Reference []*Reference `json:"reference" legend:"plus"` // reference - Style []string `json:"style" legend:"base"` // style + Style []string `json:"style" legend:"both"` // style Title string `json:"title" legend:"both"` // title Type string `json:"type" legend:"plus"` // type } @@ -4321,24 +4978,24 @@ func (x *WrittenContent) RelatedToEntity(id int) bool { return false } func (x *WrittenContent) RelatedToHf(id int) bool { return x.AuthorHfid == id } func (x *WrittenContent) CheckFields() { - if x.PageEnd != x.FormId && x.PageEnd != 0 && x.FormId != 0 { - sameFields["WrittenContent"]["PageEnd"]["FormId"] = false - } - if x.PageEnd != x.AuthorHfid && x.PageEnd != 0 && x.AuthorHfid != 0 { - sameFields["WrittenContent"]["PageEnd"]["AuthorHfid"] = false - } - if x.PageEnd != x.AuthorRoll && x.PageEnd != 0 && x.AuthorRoll != 0 { - sameFields["WrittenContent"]["PageEnd"]["AuthorRoll"] = false - } - if x.PageStart != x.AuthorHfid && x.PageStart != 0 && x.AuthorHfid != 0 { - sameFields["WrittenContent"]["PageStart"]["AuthorHfid"] = false - } if x.PageStart != x.AuthorRoll && x.PageStart != 0 && x.AuthorRoll != 0 { sameFields["WrittenContent"]["PageStart"]["AuthorRoll"] = false } if x.PageStart != x.FormId && x.PageStart != 0 && x.FormId != 0 { sameFields["WrittenContent"]["PageStart"]["FormId"] = false } + if x.PageStart != x.AuthorHfid && x.PageStart != 0 && x.AuthorHfid != 0 { + sameFields["WrittenContent"]["PageStart"]["AuthorHfid"] = false + } + if x.PageEnd != x.AuthorRoll && x.PageEnd != 0 && x.AuthorRoll != 0 { + sameFields["WrittenContent"]["PageEnd"]["AuthorRoll"] = false + } + if x.PageEnd != x.FormId && x.PageEnd != 0 && x.FormId != 0 { + sameFields["WrittenContent"]["PageEnd"]["FormId"] = false + } + if x.PageEnd != x.AuthorHfid && x.PageEnd != 0 && x.AuthorHfid != 0 { + sameFields["WrittenContent"]["PageEnd"]["AuthorHfid"] = false + } } // Parser @@ -5688,6 +6345,94 @@ func parseEntityFormerPositionLinkPlus(d *xml.Decoder, start *xml.StartElement, } } } +func parseEntityFormerSquadLink(d *xml.Decoder, start *xml.StartElement) (*EntityFormerSquadLink, error) { + var ( + obj = &EntityFormerSquadLink{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "end_year": + data = nil + case "entity_id": + data = nil + case "squad_id": + data = nil + case "start_year": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "end_year": + obj.EndYear = n(data) + case "entity_id": + obj.EntityId = n(data) + case "squad_id": + obj.SquadId = n(data) + case "start_year": + obj.StartYear = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseEntityFormerSquadLinkPlus(d *xml.Decoder, start *xml.StartElement, obj *EntityFormerSquadLink) (*EntityFormerSquadLink, error) { + var ( + data []byte + ) + if obj == nil { + obj = &EntityFormerSquadLink{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseEntityPopulation(d *xml.Decoder, start *xml.StartElement) (*EntityPopulation, error) { var ( obj = &EntityPopulation{} @@ -6068,6 +6813,28 @@ func parseEntityReputation(d *xml.Decoder, start *xml.StartElement) (*EntityRepu data = nil case "first_ageless_year": data = nil + case "rep_bard": + data = nil + case "rep_enemy_fighter": + data = nil + case "rep_hero": + data = nil + case "rep_hunter": + data = nil + case "rep_killer": + data = nil + case "rep_knowledge_preserver": + data = nil + case "rep_poet": + data = nil + case "rep_protector_of_weak": + data = nil + case "rep_storyteller": + data = nil + case "rep_thief": + data = nil + case "rep_treasure_hunter": + data = nil case "unsolved_murders": data = nil default: @@ -6091,6 +6858,28 @@ func parseEntityReputation(d *xml.Decoder, start *xml.StartElement) (*EntityRepu obj.FirstAgelessSeasonCount = n(data) case "first_ageless_year": obj.FirstAgelessYear = n(data) + case "rep_bard": + obj.RepBard = n(data) + case "rep_enemy_fighter": + obj.RepEnemyFighter = n(data) + case "rep_hero": + obj.RepHero = n(data) + case "rep_hunter": + obj.RepHunter = n(data) + case "rep_killer": + obj.RepKiller = n(data) + case "rep_knowledge_preserver": + obj.RepKnowledgePreserver = n(data) + case "rep_poet": + obj.RepPoet = n(data) + case "rep_protector_of_weak": + obj.RepProtectorOfWeak = n(data) + case "rep_storyteller": + obj.RepStoryteller = n(data) + case "rep_thief": + obj.RepThief = n(data) + case "rep_treasure_hunter": + obj.RepTreasureHunter = n(data) case "unsolved_murders": obj.UnsolvedMurders = n(data) default: @@ -6603,6 +7392,10 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventAddHfSiteLink(d, start) case "agreement formed": obj.Details, err = parseHistoricalEventAgreementFormed(d, start) + case "agreement made": + obj.Details, err = parseHistoricalEventAgreementMade(d, start) + case "agreement rejected": + obj.Details, err = parseHistoricalEventAgreementRejected(d, start) case "artifact claim formed": obj.Details, err = parseHistoricalEventArtifactClaimFormed(d, start) case "artifact copied": @@ -6623,6 +7416,8 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventArtifactRecovered(d, start) case "artifact stored": obj.Details, err = parseHistoricalEventArtifactStored(d, start) + case "artifact transformed": + obj.Details, err = parseHistoricalEventArtifactTransformed(d, start) case "assume identity": obj.Details, err = parseHistoricalEventAssumeIdentity(d, start) case "attacked site": @@ -6657,6 +7452,8 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventDanceFormCreated(d, start) case "destroyed site": obj.Details, err = parseHistoricalEventDestroyedSite(d, start) + case "diplomat lost": + obj.Details, err = parseHistoricalEventDiplomatLost(d, start) case "entity alliance formed": obj.Details, err = parseHistoricalEventEntityAllianceFormed(d, start) case "entity breach feature layer": @@ -6667,6 +7464,10 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventEntityDissolved(d, start) case "entity equipment purchase": obj.Details, err = parseHistoricalEventEntityEquipmentPurchase(d, start) + case "entity expels hf": + obj.Details, err = parseHistoricalEventEntityExpelsHf(d, start) + case "entity fled site": + obj.Details, err = parseHistoricalEventEntityFledSite(d, start) case "entity incorporated": obj.Details, err = parseHistoricalEventEntityIncorporated(d, start) case "entity law": @@ -6677,14 +7478,20 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventEntityPersecuted(d, start) case "entity primary criminals": obj.Details, err = parseHistoricalEventEntityPrimaryCriminals(d, start) + case "entity rampaged in site": + obj.Details, err = parseHistoricalEventEntityRampagedInSite(d, start) case "entity relocate": obj.Details, err = parseHistoricalEventEntityRelocate(d, start) + case "entity searched site": + obj.Details, err = parseHistoricalEventEntitySearchedSite(d, start) case "failed frame attempt": obj.Details, err = parseHistoricalEventFailedFrameAttempt(d, start) case "failed intrigue corruption": obj.Details, err = parseHistoricalEventFailedIntrigueCorruption(d, start) case "field battle": obj.Details, err = parseHistoricalEventFieldBattle(d, start) + case "first contact": + obj.Details, err = parseHistoricalEventFirstContact(d, start) case "gamble": obj.Details, err = parseHistoricalEventGamble(d, start) case "hf abducted": @@ -6707,6 +7514,8 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventHfEnslaved(d, start) case "hf equipment purchase": obj.Details, err = parseHistoricalEventHfEquipmentPurchase(d, start) + case "hf freed": + obj.Details, err = parseHistoricalEventHfFreed(d, start) case "hf gains secret goal": obj.Details, err = parseHistoricalEventHfGainsSecretGoal(d, start) case "hf interrogated": @@ -6723,6 +7532,10 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventHfPreach(d, start) case "hf profaned structure": obj.Details, err = parseHistoricalEventHfProfanedStructure(d, start) + case "hf ransomed": + obj.Details, err = parseHistoricalEventHfRansomed(d, start) + case "hf reach summit": + obj.Details, err = parseHistoricalEventHfReachSummit(d, start) case "hf recruited unit type for entity": obj.Details, err = parseHistoricalEventHfRecruitedUnitTypeForEntity(d, start) case "hf relationship denied": @@ -6745,12 +7558,24 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventHfsFormedReputationRelationship(d, start) case "holy city declaration": obj.Details, err = parseHistoricalEventHolyCityDeclaration(d, start) + case "insurrection started": + obj.Details, err = parseHistoricalEventInsurrectionStarted(d, start) case "item stolen": obj.Details, err = parseHistoricalEventItemStolen(d, start) case "knowledge discovered": obj.Details, err = parseHistoricalEventKnowledgeDiscovered(d, start) + case "masterpiece arch constructed": + obj.Details, err = parseHistoricalEventMasterpieceArchConstructed(d, start) + case "masterpiece engraving": + obj.Details, err = parseHistoricalEventMasterpieceEngraving(d, start) + case "masterpiece food": + obj.Details, err = parseHistoricalEventMasterpieceFood(d, start) case "masterpiece item": obj.Details, err = parseHistoricalEventMasterpieceItem(d, start) + case "masterpiece item improvement": + obj.Details, err = parseHistoricalEventMasterpieceItemImprovement(d, start) + case "masterpiece lost": + obj.Details, err = parseHistoricalEventMasterpieceLost(d, start) case "merchant": obj.Details, err = parseHistoricalEventMerchant(d, start) case "modified building": @@ -6785,10 +7610,22 @@ func parseHistoricalEvent(d *xml.Decoder, start *xml.StartElement) (*HistoricalE obj.Details, err = parseHistoricalEventRemoveHfSiteLink(d, start) case "replaced structure": obj.Details, err = parseHistoricalEventReplacedStructure(d, start) + case "site died": + obj.Details, err = parseHistoricalEventSiteDied(d, start) case "site dispute": obj.Details, err = parseHistoricalEventSiteDispute(d, start) + case "site retired": + obj.Details, err = parseHistoricalEventSiteRetired(d, start) + case "site surrendered": + obj.Details, err = parseHistoricalEventSiteSurrendered(d, start) case "site taken over": obj.Details, err = parseHistoricalEventSiteTakenOver(d, start) + case "site tribute forced": + obj.Details, err = parseHistoricalEventSiteTributeForced(d, start) + case "sneak into site": + obj.Details, err = parseHistoricalEventSneakIntoSite(d, start) + case "spotted leaving site": + obj.Details, err = parseHistoricalEventSpottedLeavingSite(d, start) case "squad vs squad": obj.Details, err = parseHistoricalEventSquadVsSquad(d, start) case "tactical situation": @@ -6877,6 +7714,8 @@ func parseHistoricalEventPlus(d *xml.Decoder, start *xml.StartElement, obj *Hist obj.Details, err = parseHistoricalEventCreatedStructurePlus(d, start, obj.Details.(*HistoricalEventCreatedStructure)) case "creature_devoured": obj.Details, err = parseHistoricalEventCreatureDevouredPlus(d, start, obj.Details.(*HistoricalEventCreatureDevoured)) + case "diplomat_lost": + obj.Details, err = parseHistoricalEventDiplomatLostPlus(d, start, obj.Details.(*HistoricalEventDiplomatLost)) case "entity_action": switch details := obj.Details.(type) { case *HistoricalEventEntityRelocate: @@ -6889,12 +7728,12 @@ func parseHistoricalEventPlus(d *xml.Decoder, start *xml.StartElement, obj *Hist } case "hf_act_on_building": switch details := obj.Details.(type) { - case *HistoricalEventHfDisturbedStructure: - obj.Details, err = parseHistoricalEventHfDisturbedStructurePlus(d, start, details) - case *HistoricalEventHfProfanedStructure: - obj.Details, err = parseHistoricalEventHfProfanedStructurePlus(d, start, details) case *HistoricalEventHfPrayedInsideStructure: obj.Details, err = parseHistoricalEventHfPrayedInsideStructurePlus(d, start, details) + case *HistoricalEventHfProfanedStructure: + obj.Details, err = parseHistoricalEventHfProfanedStructurePlus(d, start, details) + case *HistoricalEventHfDisturbedStructure: + obj.Details, err = parseHistoricalEventHfDisturbedStructurePlus(d, start, details) default: fmt.Println("unknown subtype option", obj.Details) d.Skip() @@ -6911,8 +7750,14 @@ func parseHistoricalEventPlus(d *xml.Decoder, start *xml.StartElement, obj *Hist obj.Details, err = parseHistoricalEventHfWoundedPlus(d, start, obj.Details.(*HistoricalEventHfWounded)) case "item_stolen": obj.Details, err = parseHistoricalEventItemStolenPlus(d, start, obj.Details.(*HistoricalEventItemStolen)) + case "masterpiece_created_arch_construct": + obj.Details, err = parseHistoricalEventMasterpieceArchConstructedPlus(d, start, obj.Details.(*HistoricalEventMasterpieceArchConstructed)) + case "masterpiece_created_engraving": + obj.Details, err = parseHistoricalEventMasterpieceEngravingPlus(d, start, obj.Details.(*HistoricalEventMasterpieceEngraving)) case "masterpiece_created_item": obj.Details, err = parseHistoricalEventMasterpieceItemPlus(d, start, obj.Details.(*HistoricalEventMasterpieceItem)) + case "masterpiece_lost": + obj.Details, err = parseHistoricalEventMasterpieceLostPlus(d, start, obj.Details.(*HistoricalEventMasterpieceLost)) case "merchant": obj.Details, err = parseHistoricalEventMerchantPlus(d, start, obj.Details.(*HistoricalEventMerchant)) case "remove_hf_entity_link": @@ -7348,16 +8193,22 @@ func parseHistoricalEventAgreementFormed(d *xml.Decoder, start *xml.StartElement data = nil case "agreement_id": data = nil + case "agreement_subject_id": + data = nil case "ally_defense_bonus": data = nil case "coconspirator_bonus": data = nil + case "concluder_hfid": + data = nil case "delegated": data = nil case "failed_judgment_test": data = nil case "method": data = nil + case "reason": + data = nil case "relevant_entity_id": data = nil case "relevant_id_for_method": @@ -7403,16 +8254,22 @@ func parseHistoricalEventAgreementFormed(d *xml.Decoder, start *xml.StartElement obj.Action = string(data) case "agreement_id": obj.AgreementId = n(data) + case "agreement_subject_id": + obj.AgreementSubjectId = n(data) case "ally_defense_bonus": obj.AllyDefenseBonus = n(data) case "coconspirator_bonus": obj.CoconspiratorBonus = n(data) + case "concluder_hfid": + obj.ConcluderHfid = n(data) case "delegated": obj.Delegated = true case "failed_judgment_test": obj.FailedJudgmentTest = true case "method": obj.Method = string(data) + case "reason": + obj.Reason = string(data) case "relevant_entity_id": obj.RelevantEntityId = n(data) case "relevant_id_for_method": @@ -7482,6 +8339,158 @@ func parseHistoricalEventAgreementFormedPlus(d *xml.Decoder, start *xml.StartEle } } } +func parseHistoricalEventAgreementMade(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventAgreementMade, error) { + var ( + obj = &HistoricalEventAgreementMade{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventAgreementMadePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventAgreementMade) (*HistoricalEventAgreementMade, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventAgreementMade{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventAgreementRejected(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventAgreementRejected, error) { + var ( + obj = &HistoricalEventAgreementRejected{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventAgreementRejectedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventAgreementRejected) (*HistoricalEventAgreementRejected, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventAgreementRejected{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventArtifactClaimFormed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventArtifactClaimFormed, error) { var ( obj = &HistoricalEventArtifactClaimFormed{} @@ -8075,6 +9084,8 @@ func parseHistoricalEventArtifactGiven(d *xml.Decoder, start *xml.StartElement) data = nil case "giver_hist_figure_id": data = nil + case "reason": + data = nil case "receiver_entity_id": data = nil case "receiver_hist_figure_id": @@ -8100,6 +9111,8 @@ func parseHistoricalEventArtifactGiven(d *xml.Decoder, start *xml.StartElement) obj.GiverEntityId = n(data) case "giver_hist_figure_id": obj.GiverHistFigureId = n(data) + case "reason": + obj.Reason = string(data) case "receiver_entity_id": obj.ReceiverEntityId = n(data) case "receiver_hist_figure_id": @@ -8163,6 +9176,8 @@ func parseHistoricalEventArtifactLost(d *xml.Decoder, start *xml.StartElement) ( switch t.Name.Local { case "artifact_id": data = nil + case "feature_layer_id": + data = nil case "site_id": data = nil case "site_property_id": @@ -8186,6 +9201,8 @@ func parseHistoricalEventArtifactLost(d *xml.Decoder, start *xml.StartElement) ( switch t.Name.Local { case "artifact_id": obj.ArtifactId = n(data) + case "feature_layer_id": + obj.FeatureLayerId = n(data) case "site_id": obj.SiteId = n(data) case "site_property_id": @@ -8535,6 +9552,98 @@ func parseHistoricalEventArtifactStoredPlus(d *xml.Decoder, start *xml.StartElem } } } +func parseHistoricalEventArtifactTransformed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventArtifactTransformed, error) { + var ( + obj = &HistoricalEventArtifactTransformed{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "hist_figure_id": + data = nil + case "new_artifact_id": + data = nil + case "old_artifact_id": + data = nil + case "site_id": + data = nil + case "unit_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "hist_figure_id": + obj.HistFigureId = n(data) + case "new_artifact_id": + obj.NewArtifactId = n(data) + case "old_artifact_id": + obj.OldArtifactId = n(data) + case "site_id": + obj.SiteId = n(data) + case "unit_id": + obj.UnitId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventArtifactTransformedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventArtifactTransformed) (*HistoricalEventArtifactTransformed, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventArtifactTransformed{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventAssumeIdentity(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventAssumeIdentity, error) { var ( obj = &HistoricalEventAssumeIdentity{} @@ -9620,6 +10729,8 @@ func parseHistoricalEventCollection(d *xml.Decoder, start *xml.StartElement) (*H obj.Details, err = parseHistoricalEventCollectionDuel(d, start) case "entity overthrown": obj.Details, err = parseHistoricalEventCollectionEntityOverthrown(d, start) + case "insurrection": + obj.Details, err = parseHistoricalEventCollectionInsurrection(d, start) case "journey": obj.Details, err = parseHistoricalEventCollectionJourney(d, start) case "occasion": @@ -9632,6 +10743,8 @@ func parseHistoricalEventCollection(d *xml.Decoder, start *xml.StartElement) (*H obj.Details, err = parseHistoricalEventCollectionProcession(d, start) case "purge": obj.Details, err = parseHistoricalEventCollectionPurge(d, start) + case "raid": + obj.Details, err = parseHistoricalEventCollectionRaid(d, start) case "site conquered": obj.Details, err = parseHistoricalEventCollectionSiteConquered(d, start) case "theft": @@ -10424,6 +11537,90 @@ func parseHistoricalEventCollectionEntityOverthrownPlus(d *xml.Decoder, start *x } } } +func parseHistoricalEventCollectionInsurrection(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventCollectionInsurrection, error) { + var ( + obj = &HistoricalEventCollectionInsurrection{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "ordinal": + data = nil + case "site_id": + data = nil + case "target_enid": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "ordinal": + obj.Ordinal = n(data) + case "site_id": + obj.SiteId = n(data) + case "target_enid": + obj.TargetEnid = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventCollectionInsurrectionPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventCollectionInsurrection) (*HistoricalEventCollectionInsurrection, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventCollectionInsurrection{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventCollectionJourney(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventCollectionJourney, error) { var ( obj = &HistoricalEventCollectionJourney{} @@ -10904,6 +12101,110 @@ func parseHistoricalEventCollectionPurgePlus(d *xml.Decoder, start *xml.StartEle } } } +func parseHistoricalEventCollectionRaid(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventCollectionRaid, error) { + var ( + obj = &HistoricalEventCollectionRaid{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "attacking_enid": + data = nil + case "coords": + data = nil + case "defending_enid": + data = nil + case "feature_layer_id": + data = nil + case "ordinal": + data = nil + case "parent_eventcol": + data = nil + case "site_id": + data = nil + case "subregion_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "attacking_enid": + obj.AttackingEnid = n(data) + case "coords": + obj.Coords = string(data) + case "defending_enid": + obj.DefendingEnid = n(data) + case "feature_layer_id": + obj.FeatureLayerId = n(data) + case "ordinal": + obj.Ordinal = n(data) + case "parent_eventcol": + obj.ParentEventcol = n(data) + case "site_id": + obj.SiteId = n(data) + case "subregion_id": + obj.SubregionId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventCollectionRaidPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventCollectionRaid) (*HistoricalEventCollectionRaid, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventCollectionRaid{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventCollectionSiteConquered(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventCollectionSiteConquered, error) { var ( obj = &HistoricalEventCollectionSiteConquered{} @@ -11914,6 +13215,8 @@ func parseHistoricalEventDestroyedSite(d *xml.Decoder, start *xml.StartElement) data = nil case "defender_civ_id": data = nil + case "no_defeat_mention": + data = nil case "site_civ_id": data = nil case "site_id": @@ -11937,6 +13240,8 @@ func parseHistoricalEventDestroyedSite(d *xml.Decoder, start *xml.StartElement) obj.AttackerCivId = n(data) case "defender_civ_id": obj.DefenderCivId = n(data) + case "no_defeat_mention": + obj.NoDefeatMention = true case "site_civ_id": obj.SiteCivId = n(data) case "site_id": @@ -11984,6 +13289,94 @@ func parseHistoricalEventDestroyedSitePlus(d *xml.Decoder, start *xml.StartEleme } } } +func parseHistoricalEventDiplomatLost(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventDiplomatLost, error) { + var ( + obj = &HistoricalEventDiplomatLost{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventDiplomatLostPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventDiplomatLost) (*HistoricalEventDiplomatLost, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventDiplomatLost{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity": + data = nil + case "involved": + data = nil + case "site": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity": + obj.Entity = n(data) + case "involved": + obj.Involved = n(data) + case "site": + obj.Site = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventEntityAllianceFormed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityAllianceFormed, error) { var ( obj = &HistoricalEventEntityAllianceFormed{} @@ -12404,6 +13797,170 @@ func parseHistoricalEventEntityEquipmentPurchasePlus(d *xml.Decoder, start *xml. } } } +func parseHistoricalEventEntityExpelsHf(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityExpelsHf, error) { + var ( + obj = &HistoricalEventEntityExpelsHf{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity_id": + data = nil + case "hfid": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity_id": + obj.EntityId = n(data) + case "hfid": + obj.Hfid = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventEntityExpelsHfPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventEntityExpelsHf) (*HistoricalEventEntityExpelsHf, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventEntityExpelsHf{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventEntityFledSite(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityFledSite, error) { + var ( + obj = &HistoricalEventEntityFledSite{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "fled_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "fled_civ_id": + obj.FledCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventEntityFledSitePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventEntityFledSite) (*HistoricalEventEntityFledSite, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventEntityFledSite{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventEntityIncorporated(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityIncorporated, error) { var ( obj = &HistoricalEventEntityIncorporated{} @@ -12900,6 +14457,86 @@ func parseHistoricalEventEntityPrimaryCriminalsPlus(d *xml.Decoder, start *xml.S } } } +func parseHistoricalEventEntityRampagedInSite(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityRampagedInSite, error) { + var ( + obj = &HistoricalEventEntityRampagedInSite{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "rampage_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "rampage_civ_id": + obj.RampageCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventEntityRampagedInSitePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventEntityRampagedInSite) (*HistoricalEventEntityRampagedInSite, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventEntityRampagedInSite{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventEntityRelocate(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntityRelocate, error) { var ( obj = &HistoricalEventEntityRelocate{} @@ -13000,6 +14637,90 @@ func parseHistoricalEventEntityRelocatePlus(d *xml.Decoder, start *xml.StartElem } } } +func parseHistoricalEventEntitySearchedSite(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventEntitySearchedSite, error) { + var ( + obj = &HistoricalEventEntitySearchedSite{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "result": + data = nil + case "searcher_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "result": + obj.Result = string(data) + case "searcher_civ_id": + obj.SearcherCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventEntitySearchedSitePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventEntitySearchedSite) (*HistoricalEventEntitySearchedSite, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventEntitySearchedSite{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventFailedFrameAttempt(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventFailedFrameAttempt, error) { var ( obj = &HistoricalEventFailedFrameAttempt{} @@ -13384,6 +15105,90 @@ func parseHistoricalEventFieldBattlePlus(d *xml.Decoder, start *xml.StartElement } } } +func parseHistoricalEventFirstContact(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventFirstContact, error) { + var ( + obj = &HistoricalEventFirstContact{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "contacted_enid": + data = nil + case "contactor_enid": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "contacted_enid": + obj.ContactedEnid = n(data) + case "contactor_enid": + obj.ContactorEnid = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventFirstContactPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventFirstContact) (*HistoricalEventFirstContact, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventFirstContact{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventGamble(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventGamble, error) { var ( obj = &HistoricalEventGamble{} @@ -13770,6 +15575,8 @@ func parseHistoricalEventHfConvicted(d *xml.Decoder, start *xml.StartElement) (* switch t := tok.(type) { case xml.StartElement: switch t.Name.Local { + case "beating": + data = nil case "coconspirator_hfid": data = nil case "confessed_after_apb_arrest_enid": @@ -13796,12 +15603,16 @@ func parseHistoricalEventHfConvicted(d *xml.Decoder, start *xml.StartElement) (* data = nil case "framer_hfid": data = nil + case "hammerstrokes": + data = nil case "held_firm_in_interrogation": data = nil case "implicated_hfid": data = nil case "interrogator_hfid": data = nil + case "no_prison_available": + data = nil case "plotter_hfid": data = nil case "prison_months": @@ -13833,6 +15644,8 @@ func parseHistoricalEventHfConvicted(d *xml.Decoder, start *xml.StartElement) (* } switch t.Name.Local { + case "beating": + obj.Beating = true case "coconspirator_hfid": obj.CoconspiratorHfid = n(data) case "confessed_after_apb_arrest_enid": @@ -13859,12 +15672,16 @@ func parseHistoricalEventHfConvicted(d *xml.Decoder, start *xml.StartElement) (* obj.FooledHfid = n(data) case "framer_hfid": obj.FramerHfid = n(data) + case "hammerstrokes": + obj.Hammerstrokes = n(data) case "held_firm_in_interrogation": obj.HeldFirmInInterrogation = true case "implicated_hfid": obj.ImplicatedHfid = append(obj.ImplicatedHfid, n(data)) case "interrogator_hfid": obj.InterrogatorHfid = n(data) + case "no_prison_available": + obj.NoPrisonAvailable = true case "plotter_hfid": obj.PlotterHfid = n(data) case "prison_months": @@ -14560,6 +16377,98 @@ func parseHistoricalEventHfEquipmentPurchasePlus(d *xml.Decoder, start *xml.Star } } } +func parseHistoricalEventHfFreed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventHfFreed, error) { + var ( + obj = &HistoricalEventHfFreed{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "freeing_hfid": + data = nil + case "holding_civ_id": + data = nil + case "rescued_hfid": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "freeing_hfid": + obj.FreeingHfid = n(data) + case "holding_civ_id": + obj.HoldingCivId = n(data) + case "rescued_hfid": + obj.RescuedHfid = n(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventHfFreedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventHfFreed) (*HistoricalEventHfFreed, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventHfFreed{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventHfGainsSecretGoal(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventHfGainsSecretGoal, error) { var ( obj = &HistoricalEventHfGainsSecretGoal{} @@ -14658,6 +16567,8 @@ func parseHistoricalEventHfInterrogated(d *xml.Decoder, start *xml.StartElement) data = nil case "held_firm_in_interrogation": data = nil + case "implicated_hfid": + data = nil case "interrogator_hfid": data = nil case "target_hfid": @@ -14683,6 +16594,8 @@ func parseHistoricalEventHfInterrogated(d *xml.Decoder, start *xml.StartElement) obj.ArrestingEnid = n(data) case "held_firm_in_interrogation": obj.HeldFirmInInterrogation = true + case "implicated_hfid": + obj.ImplicatedHfid = n(data) case "interrogator_hfid": obj.InterrogatorHfid = n(data) case "target_hfid": @@ -15324,6 +17237,186 @@ func parseHistoricalEventHfProfanedStructurePlus(d *xml.Decoder, start *xml.Star } } } +func parseHistoricalEventHfRansomed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventHfRansomed, error) { + var ( + obj = &HistoricalEventHfRansomed{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "moved_to_site_id": + data = nil + case "payer_entity_id": + data = nil + case "payer_hfid": + data = nil + case "ransomed_hfid": + data = nil + case "ransomer_hfid": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "moved_to_site_id": + obj.MovedToSiteId = n(data) + case "payer_entity_id": + obj.PayerEntityId = n(data) + case "payer_hfid": + obj.PayerHfid = n(data) + case "ransomed_hfid": + obj.RansomedHfid = n(data) + case "ransomer_hfid": + obj.RansomerHfid = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventHfRansomedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventHfRansomed) (*HistoricalEventHfRansomed, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventHfRansomed{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventHfReachSummit(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventHfReachSummit, error) { + var ( + obj = &HistoricalEventHfReachSummit{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "coords": + data = nil + case "feature_layer_id": + data = nil + case "group_hfid": + data = nil + case "subregion_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "coords": + obj.Coords = string(data) + case "feature_layer_id": + obj.FeatureLayerId = n(data) + case "group_hfid": + obj.GroupHfid = append(obj.GroupHfid, n(data)) + case "subregion_id": + obj.SubregionId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventHfReachSummitPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventHfReachSummit) (*HistoricalEventHfReachSummit, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventHfReachSummit{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventHfRecruitedUnitTypeForEntity(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventHfRecruitedUnitTypeForEntity, error) { var ( obj = &HistoricalEventHfRecruitedUnitTypeForEntity{} @@ -15636,8 +17729,12 @@ func parseHistoricalEventHfRevived(d *xml.Decoder, start *xml.StartElement) (*Hi data = nil case "feature_layer_id": data = nil + case "ghost": + data = nil case "hfid": data = nil + case "raised_before": + data = nil case "site_id": data = nil case "subregion_id": @@ -15663,8 +17760,12 @@ func parseHistoricalEventHfRevived(d *xml.Decoder, start *xml.StartElement) (*Hi obj.Disturbance = true case "feature_layer_id": obj.FeatureLayerId = n(data) + case "ghost": + obj.Ghost = string(data) case "hfid": obj.Hfid = n(data) + case "raised_before": + obj.RaisedBefore = true case "site_id": obj.SiteId = n(data) case "subregion_id": @@ -16012,6 +18113,8 @@ func parseHistoricalEventHfWounded(d *xml.Decoder, start *xml.StartElement) (*Hi data = nil case "subregion_id": data = nil + case "was_torture": + data = nil case "woundee_hfid": data = nil case "wounder_hfid": @@ -16037,6 +18140,8 @@ func parseHistoricalEventHfWounded(d *xml.Decoder, start *xml.StartElement) (*Hi obj.SiteId = n(data) case "subregion_id": obj.SubregionId = n(data) + case "was_torture": + obj.WasTorture = true case "woundee_hfid": obj.WoundeeHfid = n(data) case "wounder_hfid": @@ -16496,6 +18601,90 @@ func parseHistoricalEventHolyCityDeclarationPlus(d *xml.Decoder, start *xml.Star } } } +func parseHistoricalEventInsurrectionStarted(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventInsurrectionStarted, error) { + var ( + obj = &HistoricalEventInsurrectionStarted{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "outcome": + data = nil + case "site_id": + data = nil + case "target_civ_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "outcome": + obj.Outcome = string(data) + case "site_id": + obj.SiteId = n(data) + case "target_civ_id": + obj.TargetCivId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventInsurrectionStartedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventInsurrectionStarted) (*HistoricalEventInsurrectionStarted, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventInsurrectionStarted{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventItemStolen(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventItemStolen, error) { var ( obj = &HistoricalEventItemStolen{} @@ -16802,6 +18991,326 @@ func parseHistoricalEventKnowledgeDiscoveredPlus(d *xml.Decoder, start *xml.Star } } } +func parseHistoricalEventMasterpieceArchConstructed(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceArchConstructed, error) { + var ( + obj = &HistoricalEventMasterpieceArchConstructed{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity_id": + data = nil + case "hfid": + data = nil + case "site_id": + data = nil + case "skill_at_time": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity_id": + obj.EntityId = n(data) + case "hfid": + obj.Hfid = n(data) + case "site_id": + obj.SiteId = n(data) + case "skill_at_time": + obj.SkillAtTime = string(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceArchConstructedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventMasterpieceArchConstructed) (*HistoricalEventMasterpieceArchConstructed, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventMasterpieceArchConstructed{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "building_custom": + data = nil + case "building_subtype": + data = nil + case "building_type": + data = nil + case "maker": + data = nil + case "maker_entity": + data = nil + case "site": + data = nil + case "skill_at_time": + data = nil + case "unk_2": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "building_custom": + obj.BuildingCustom = n(data) + case "building_subtype": + obj.BuildingSubtype = string(data) + case "building_type": + obj.BuildingType = string(data) + case "maker": + obj.Maker = n(data) + case "maker_entity": + obj.MakerEntity = n(data) + case "site": + obj.Site = n(data) + case "skill_at_time": + obj.SkillAtTime = string(data) + case "unk_2": + obj.Unk2 = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceEngraving(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceEngraving, error) { + var ( + obj = &HistoricalEventMasterpieceEngraving{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity_id": + data = nil + case "hfid": + data = nil + case "site_id": + data = nil + case "skill_at_time": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity_id": + obj.EntityId = n(data) + case "hfid": + obj.Hfid = n(data) + case "site_id": + obj.SiteId = n(data) + case "skill_at_time": + obj.SkillAtTime = string(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceEngravingPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventMasterpieceEngraving) (*HistoricalEventMasterpieceEngraving, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventMasterpieceEngraving{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "art_id": + data = nil + case "art_subid": + data = nil + case "maker": + data = nil + case "maker_entity": + data = nil + case "site": + data = nil + case "skill_at_time": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "art_id": + obj.ArtId = n(data) + case "art_subid": + obj.ArtSubid = n(data) + case "maker": + obj.Maker = n(data) + case "maker_entity": + obj.MakerEntity = n(data) + case "site": + obj.Site = n(data) + case "skill_at_time": + obj.SkillAtTime = string(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceFood(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceFood, error) { + var ( + obj = &HistoricalEventMasterpieceFood{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity_id": + data = nil + case "hfid": + data = nil + case "site_id": + data = nil + case "skill_at_time": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity_id": + obj.EntityId = n(data) + case "hfid": + obj.Hfid = n(data) + case "site_id": + obj.SiteId = n(data) + case "skill_at_time": + obj.SkillAtTime = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceFoodPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventMasterpieceFood) (*HistoricalEventMasterpieceFood, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventMasterpieceFood{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventMasterpieceItem(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceItem, error) { var ( obj = &HistoricalEventMasterpieceItem{} @@ -16871,6 +19380,8 @@ func parseHistoricalEventMasterpieceItemPlus(d *xml.Decoder, start *xml.StartEle switch t.Name.Local { case "item_id": data = nil + case "item_subtype": + data = nil case "item_type": data = nil case "maker": @@ -16900,6 +19411,8 @@ func parseHistoricalEventMasterpieceItemPlus(d *xml.Decoder, start *xml.StartEle switch t.Name.Local { case "item_id": obj.ItemId = n(data) + case "item_subtype": + obj.ItemSubtype = string(data) case "item_type": obj.ItemType = string(data) case "maker": @@ -16918,6 +19431,182 @@ func parseHistoricalEventMasterpieceItemPlus(d *xml.Decoder, start *xml.StartEle } } } +func parseHistoricalEventMasterpieceItemImprovement(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceItemImprovement, error) { + var ( + obj = &HistoricalEventMasterpieceItemImprovement{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "entity_id": + data = nil + case "hfid": + data = nil + case "site_id": + data = nil + case "skill_at_time": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "entity_id": + obj.EntityId = n(data) + case "hfid": + obj.Hfid = n(data) + case "site_id": + obj.SiteId = n(data) + case "skill_at_time": + obj.SkillAtTime = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceItemImprovementPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventMasterpieceItemImprovement) (*HistoricalEventMasterpieceItemImprovement, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventMasterpieceItemImprovement{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceLost(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMasterpieceLost, error) { + var ( + obj = &HistoricalEventMasterpieceLost{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventMasterpieceLostPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventMasterpieceLost) (*HistoricalEventMasterpieceLost, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventMasterpieceLost{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "creation_event": + data = nil + case "histfig": + data = nil + case "method": + data = nil + case "site": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "creation_event": + obj.CreationEvent = n(data) + case "histfig": + obj.Histfig = n(data) + case "method": + obj.Method = string(data) + case "site": + obj.Site = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventMerchant(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventMerchant, error) { var ( obj = &HistoricalEventMerchant{} @@ -16934,6 +19623,10 @@ func parseHistoricalEventMerchant(d *xml.Decoder, start *xml.StartElement) (*His switch t.Name.Local { case "depot_entity_id": data = nil + case "hardship": + data = nil + case "lost_value": + data = nil case "site_id": data = nil case "trader_entity_id": @@ -16955,6 +19648,10 @@ func parseHistoricalEventMerchant(d *xml.Decoder, start *xml.StartElement) (*His switch t.Name.Local { case "depot_entity_id": obj.DepotEntityId = n(data) + case "hardship": + obj.Hardship = true + case "lost_value": + obj.LostValue = true case "site_id": obj.SiteId = n(data) case "trader_entity_id": @@ -17598,10 +20295,18 @@ func parseHistoricalEventPlunderedSite(d *xml.Decoder, start *xml.StartElement) data = nil case "detected": data = nil + case "no_defeat_mention": + data = nil case "site_civ_id": data = nil case "site_id": data = nil + case "took_items": + data = nil + case "took_livestock": + data = nil + case "was_raid": + data = nil default: // fmt.Println("unknown field", t.Name.Local) d.Skip() @@ -17623,10 +20328,18 @@ func parseHistoricalEventPlunderedSite(d *xml.Decoder, start *xml.StartElement) obj.DefenderCivId = n(data) case "detected": obj.Detected = true + case "no_defeat_mention": + obj.NoDefeatMention = true case "site_civ_id": obj.SiteCivId = n(data) case "site_id": obj.SiteId = n(data) + case "took_items": + obj.TookItems = true + case "took_livestock": + obj.TookLivestock = true + case "was_raid": + obj.WasRaid = true default: // fmt.Println("unknown field", t.Name.Local) } @@ -17958,6 +20671,8 @@ func parseHistoricalEventReclaimSite(d *xml.Decoder, start *xml.StartElement) (* data = nil case "site_id": data = nil + case "unretire": + data = nil default: // fmt.Println("unknown field", t.Name.Local) d.Skip() @@ -17979,6 +20694,8 @@ func parseHistoricalEventReclaimSite(d *xml.Decoder, start *xml.StartElement) (* obj.SiteCivId = n(data) case "site_id": obj.SiteId = n(data) + case "unretire": + obj.Unretire = true default: // fmt.Println("unknown field", t.Name.Local) } @@ -18690,6 +21407,94 @@ func parseHistoricalEventReplacedStructurePlus(d *xml.Decoder, start *xml.StartE } } } +func parseHistoricalEventSiteDied(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteDied, error) { + var ( + obj = &HistoricalEventSiteDied{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "abandoned": + data = nil + case "civ_id": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "abandoned": + obj.Abandoned = true + case "civ_id": + obj.CivId = n(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSiteDiedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSiteDied) (*HistoricalEventSiteDied, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSiteDied{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventSiteDispute(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteDispute, error) { var ( obj = &HistoricalEventSiteDispute{} @@ -18782,6 +21587,182 @@ func parseHistoricalEventSiteDisputePlus(d *xml.Decoder, start *xml.StartElement } } } +func parseHistoricalEventSiteRetired(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteRetired, error) { + var ( + obj = &HistoricalEventSiteRetired{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "civ_id": + data = nil + case "first": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "civ_id": + obj.CivId = n(data) + case "first": + obj.First = true + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSiteRetiredPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSiteRetired) (*HistoricalEventSiteRetired, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSiteRetired{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSiteSurrendered(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteSurrendered, error) { + var ( + obj = &HistoricalEventSiteSurrendered{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "attacker_civ_id": + data = nil + case "defender_civ_id": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "attacker_civ_id": + obj.AttackerCivId = n(data) + case "defender_civ_id": + obj.DefenderCivId = n(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSiteSurrenderedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSiteSurrendered) (*HistoricalEventSiteSurrendered, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSiteSurrendered{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventSiteTakenOver(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteTakenOver, error) { var ( obj = &HistoricalEventSiteTakenOver{} @@ -18874,6 +21855,274 @@ func parseHistoricalEventSiteTakenOverPlus(d *xml.Decoder, start *xml.StartEleme } } } +func parseHistoricalEventSiteTributeForced(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSiteTributeForced, error) { + var ( + obj = &HistoricalEventSiteTributeForced{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "attacker_civ_id": + data = nil + case "defender_civ_id": + data = nil + case "season": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "attacker_civ_id": + obj.AttackerCivId = n(data) + case "defender_civ_id": + obj.DefenderCivId = n(data) + case "season": + obj.Season = string(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSiteTributeForcedPlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSiteTributeForced) (*HistoricalEventSiteTributeForced, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSiteTributeForced{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSneakIntoSite(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSneakIntoSite, error) { + var ( + obj = &HistoricalEventSneakIntoSite{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "attacker_civ_id": + data = nil + case "defender_civ_id": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "attacker_civ_id": + obj.AttackerCivId = n(data) + case "defender_civ_id": + obj.DefenderCivId = n(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSneakIntoSitePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSneakIntoSite) (*HistoricalEventSneakIntoSite, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSneakIntoSite{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSpottedLeavingSite(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSpottedLeavingSite, error) { + var ( + obj = &HistoricalEventSpottedLeavingSite{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "leaver_civ_id": + data = nil + case "site_civ_id": + data = nil + case "site_id": + data = nil + case "spotter_hfid": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "leaver_civ_id": + obj.LeaverCivId = n(data) + case "site_civ_id": + obj.SiteCivId = n(data) + case "site_id": + obj.SiteId = n(data) + case "spotter_hfid": + obj.SpotterHfid = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseHistoricalEventSpottedLeavingSitePlus(d *xml.Decoder, start *xml.StartElement, obj *HistoricalEventSpottedLeavingSite) (*HistoricalEventSpottedLeavingSite, error) { + var ( + data []byte + ) + if obj == nil { + obj = &HistoricalEventSpottedLeavingSite{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseHistoricalEventSquadVsSquad(d *xml.Decoder, start *xml.StartElement) (*HistoricalEventSquadVsSquad, error) { var ( obj = &HistoricalEventSquadVsSquad{} @@ -18890,12 +22139,22 @@ func parseHistoricalEventSquadVsSquad(d *xml.Decoder, start *xml.StartElement) ( switch t.Name.Local { case "a_hfid": data = nil + case "a_leader_hfid": + data = nil + case "a_leadership_roll": + data = nil case "a_squad_id": data = nil case "d_effect": data = nil + case "d_hfid": + data = nil case "d_interaction": data = nil + case "d_leader_hfid": + data = nil + case "d_leadership_roll": + data = nil case "d_number": data = nil case "d_race": @@ -18928,13 +22187,23 @@ func parseHistoricalEventSquadVsSquad(d *xml.Decoder, start *xml.StartElement) ( switch t.Name.Local { case "a_hfid": - obj.AHfid = n(data) + obj.AHfid = append(obj.AHfid, n(data)) + case "a_leader_hfid": + obj.ALeaderHfid = n(data) + case "a_leadership_roll": + obj.ALeadershipRoll = n(data) case "a_squad_id": obj.ASquadId = n(data) case "d_effect": obj.DEffect = n(data) + case "d_hfid": + obj.DHfid = append(obj.DHfid, n(data)) case "d_interaction": obj.DInteraction = n(data) + case "d_leader_hfid": + obj.DLeaderHfid = n(data) + case "d_leadership_roll": + obj.DLeadershipRoll = n(data) case "d_number": obj.DNumber = n(data) case "d_race": @@ -19330,6 +22599,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical switch t.Name.Local { case "active_interaction": data = nil + case "adventurer": + data = nil case "animated": data = nil case "animated_string": @@ -19342,6 +22613,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical data = nil case "birth_year": data = nil + case "breed_id": + data = nil case "caste": data = nil case "current_identity_id": @@ -19357,6 +22630,9 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical case "entity_former_position_link": v, _ := parseEntityFormerPositionLink(d, &t) obj.EntityFormerPositionLink = append(obj.EntityFormerPositionLink, v) + case "entity_former_squad_link": + v, _ := parseEntityFormerSquadLink(d, &t) + obj.EntityFormerSquadLink = append(obj.EntityFormerSquadLink, v) case "entity_link": v, _ := parseHistoricalFigureEntityLink(d, &t) obj.EntityLink = append(obj.EntityLink, v) @@ -19371,6 +22647,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical obj.EntitySquadLink = v case "force": data = nil + case "ghost": + data = nil case "goal": data = nil case "hf_link": @@ -19403,6 +22681,9 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical case "relationship_profile_hf_historical": v, _ := parseRelationshipProfileHfHistorical(d, &t) obj.RelationshipProfileHfHistorical = append(obj.RelationshipProfileHfHistorical, v) + case "relationship_profile_hf_identity": + v, _ := parseRelationshipProfileHfIdentity(d, &t) + obj.RelationshipProfileHfIdentity = append(obj.RelationshipProfileHfIdentity, v) case "relationship_profile_hf_visual": v, _ := parseRelationshipProfileHfVisual(d, &t) obj.RelationshipProfileHfVisual = append(obj.RelationshipProfileHfVisual, v) @@ -19436,6 +22717,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical switch t.Name.Local { case "active_interaction": obj.ActiveInteraction = append(obj.ActiveInteraction, string(data)) + case "adventurer": + obj.Adventurer = true case "animated": obj.Animated = true case "animated_string": @@ -19448,6 +22731,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical obj.BirthSeconds72 = n(data) case "birth_year": obj.BirthYear = n(data) + case "breed_id": + obj.BreedId = n(data) case "caste": obj.Caste = string(data) case "current_identity_id": @@ -19462,6 +22747,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical obj.EntPopId = n(data) case "entity_former_position_link": + case "entity_former_squad_link": + case "entity_link": case "entity_position_link": @@ -19472,6 +22759,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical case "force": obj.Force = true + case "ghost": + obj.Ghost = true case "goal": obj.Goal = append(obj.Goal, string(data)) case "hf_link": @@ -19498,6 +22787,8 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical obj.Race = string(data) case "relationship_profile_hf_historical": + case "relationship_profile_hf_identity": + case "relationship_profile_hf_visual": case "site_link": @@ -21101,6 +24392,20 @@ func parseRelationshipProfileHfHistorical(d *xml.Decoder, start *xml.StartElemen data = nil case "loyalty": data = nil + case "rep_enemy_fighter": + data = nil + case "rep_hero": + data = nil + case "rep_hunter": + data = nil + case "rep_killer": + data = nil + case "rep_psychopath": + data = nil + case "rep_storyteller": + data = nil + case "rep_violent": + data = nil case "respect": data = nil case "trust": @@ -21128,6 +24433,20 @@ func parseRelationshipProfileHfHistorical(d *xml.Decoder, start *xml.StartElemen obj.Love = n(data) case "loyalty": obj.Loyalty = n(data) + case "rep_enemy_fighter": + obj.RepEnemyFighter = n(data) + case "rep_hero": + obj.RepHero = n(data) + case "rep_hunter": + obj.RepHunter = n(data) + case "rep_killer": + obj.RepKiller = n(data) + case "rep_psychopath": + obj.RepPsychopath = n(data) + case "rep_storyteller": + obj.RepStoryteller = n(data) + case "rep_violent": + obj.RepViolent = n(data) case "respect": obj.Respect = n(data) case "trust": @@ -21175,6 +24494,106 @@ func parseRelationshipProfileHfHistoricalPlus(d *xml.Decoder, start *xml.StartEl } } } +func parseRelationshipProfileHfIdentity(d *xml.Decoder, start *xml.StartElement) (*RelationshipProfileHfIdentity, error) { + var ( + obj = &RelationshipProfileHfIdentity{} + data []byte + ) + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + case "fear": + data = nil + case "id": + data = nil + case "love": + data = nil + case "loyalty": + data = nil + case "rep_psychopath": + data = nil + case "respect": + data = nil + case "trust": + data = nil + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + case "fear": + obj.Fear = n(data) + case "id": + obj.Id_ = n(data) + case "love": + obj.Love = n(data) + case "loyalty": + obj.Loyalty = n(data) + case "rep_psychopath": + obj.RepPsychopath = n(data) + case "respect": + obj.Respect = n(data) + case "trust": + obj.Trust = n(data) + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} +func parseRelationshipProfileHfIdentityPlus(d *xml.Decoder, start *xml.StartElement, obj *RelationshipProfileHfIdentity) (*RelationshipProfileHfIdentity, error) { + var ( + data []byte + ) + if obj == nil { + obj = &RelationshipProfileHfIdentity{} + } + + for { + tok, err := d.Token() + if err != nil { + return nil, err + } + switch t := tok.(type) { + case xml.StartElement: + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + d.Skip() + } + + case xml.CharData: + data = append(data, t...) + + case xml.EndElement: + if t.Name.Local == start.Name.Local { + obj.CheckFields() + return obj, nil + } + + switch t.Name.Local { + default: + // fmt.Println("unknown field", t.Name.Local) + } + } + } +} func parseRelationshipProfileHfVisual(d *xml.Decoder, start *xml.StartElement) (*RelationshipProfileHfVisual, error) { var ( obj = &RelationshipProfileHfVisual{} @@ -21205,10 +24624,28 @@ func parseRelationshipProfileHfVisual(d *xml.Decoder, start *xml.StartElement) ( data = nil case "meet_count": data = nil + case "rep_bonded": + data = nil + case "rep_comrade": + data = nil + case "rep_flatterer": + data = nil case "rep_friendly": data = nil + case "rep_hero": + data = nil + case "rep_hunter": + data = nil case "rep_information_source": data = nil + case "rep_killer": + data = nil + case "rep_psychopath": + data = nil + case "rep_quarreler": + data = nil + case "rep_trade_partner": + data = nil case "respect": data = nil case "trust": @@ -21244,10 +24681,28 @@ func parseRelationshipProfileHfVisual(d *xml.Decoder, start *xml.StartElement) ( obj.Loyalty = n(data) case "meet_count": obj.MeetCount = n(data) + case "rep_bonded": + obj.RepBonded = n(data) + case "rep_comrade": + obj.RepComrade = n(data) + case "rep_flatterer": + obj.RepFlatterer = n(data) case "rep_friendly": obj.RepFriendly = n(data) + case "rep_hero": + obj.RepHero = n(data) + case "rep_hunter": + obj.RepHunter = n(data) case "rep_information_source": obj.RepInformationSource = n(data) + case "rep_killer": + obj.RepKiller = n(data) + case "rep_psychopath": + obj.RepPsychopath = n(data) + case "rep_quarreler": + obj.RepQuarreler = n(data) + case "rep_trade_partner": + obj.RepTradePartner = n(data) case "respect": obj.Respect = n(data) case "trust": @@ -21568,6 +25023,8 @@ func parseSitePlus(d *xml.Decoder, start *xml.StartElement, obj *Site) (*Site, e data = nil case "id": data = nil + case "structures": + parseMapPlus(d, &obj.Structures, parseStructurePlus) default: // fmt.Println("unknown field", t.Name.Local) d.Skip() @@ -21589,6 +25046,8 @@ func parseSitePlus(d *xml.Decoder, start *xml.StartElement, obj *Site) (*Site, e obj.CurOwnerId = n(data) case "id": obj.Id_ = n(data) + case "structures": + default: // fmt.Println("unknown field", t.Name.Local) } @@ -21864,10 +25323,14 @@ func parseStructurePlus(d *xml.Decoder, start *xml.StartElement, obj *Structure) data = nil case "inhabitant": data = nil + case "name": + data = nil case "name2": data = nil case "religion": data = nil + case "type": + data = nil default: // fmt.Println("unknown field", t.Name.Local) d.Skip() @@ -21893,10 +25356,14 @@ func parseStructurePlus(d *xml.Decoder, start *xml.StartElement, obj *Structure) obj.Id_ = n(data) case "inhabitant": obj.Inhabitant = append(obj.Inhabitant, n(data)) + case "name": + obj.Name_ = string(data) case "name2": obj.Subtype = string(data) case "religion": obj.Religion = n(data) + case "type": + obj.Type = string(data) default: // fmt.Println("unknown field", t.Name.Local) } @@ -22301,6 +25768,8 @@ func parseWrittenContentPlus(d *xml.Decoder, start *xml.StartElement, obj *Writt case "reference": v, _ := parseReferencePlus(d, &t, &Reference{}) obj.Reference = append(obj.Reference, v) + case "style": + data = nil case "title": data = nil case "type": @@ -22330,6 +25799,8 @@ func parseWrittenContentPlus(d *xml.Decoder, start *xml.StartElement, obj *Writt obj.PageStart = n(data) case "reference": + case "style": + obj.Style = append(obj.Style, string(data)) case "title": obj.Title = string(data) case "type": diff --git a/backend/model/parse.go b/backend/model/parse.go index 0342428..bec9e82 100644 --- a/backend/model/parse.go +++ b/backend/model/parse.go @@ -10,14 +10,20 @@ import ( "strconv" "strings" + "github.com/cheggaaa/pb/v3" "github.com/robertjanetzko/LegendsBrowser2/backend/util" ) func (e *HistoricalEvent) Name() string { return "" } func (e *HistoricalEventCollection) Name() string { return "" } -func Parse(file string) (*DfWorld, error) { - InitSameFields() +func NewLegendsDecoder(file string) (*xml.Decoder, *os.File, *pb.ProgressBar, error) { + fi, err := os.Stat(file) + if err != nil { + return nil, nil, nil, err + } + size := fi.Size() + bar := pb.Full.Start64(size) xmlFile, err := os.Open(file) if err != nil { @@ -25,10 +31,22 @@ func Parse(file string) (*DfWorld, error) { } fmt.Println("Successfully Opened", file) - defer xmlFile.Close() converter := util.NewConvertReader(xmlFile) - d := xml.NewDecoder(converter) + barReader := bar.NewProxyReader(converter) + d := xml.NewDecoder(barReader) + + return d, xmlFile, bar, err +} + +func Parse(file string) (*DfWorld, error) { + InitSameFields() + + d, xmlFile, bar, err := NewLegendsDecoder(file) + if err != nil { + return nil, err + } + defer xmlFile.Close() var world *DfWorld BaseLoop: @@ -49,22 +67,19 @@ BaseLoop: } } + bar.Finish() + plus := true if plus { file = strings.Replace(file, "-legends.xml", "-legends_plus.xml", 1) - xmlFile, err := os.Open(file) + + d, xmlFile, bar, err := NewLegendsDecoder(file) if err != nil { - fmt.Println(err) - return world, nil + return nil, err } - - fmt.Println("Successfully Opened", file) defer xmlFile.Close() - converter := util.NewConvertReader(xmlFile) - d := xml.NewDecoder(converter) - PlusLoop: for { tok, err := d.Token() @@ -82,6 +97,8 @@ BaseLoop: } } } + + bar.Finish() } same, err := json.MarshalIndent(exportSameFields(), "", " ") diff --git a/backend/same.json b/backend/same.json index 5aaa215..e697fc2 100644 --- a/backend/same.json +++ b/backend/same.json @@ -1,7 +1,4 @@ { - "Artifact": { - "Writing": "StructureLocalId" - }, "HistoricalEventAddHfEntityLink": { "LinkType": "Link" }, @@ -11,26 +8,15 @@ "HistoricalEventCreatedStructure": { "Structure": "StructureId" }, + "HistoricalEventDiplomatLost": { + "Entity": "SiteId", + "Involved": "SiteId", + "Site": "SiteId" + }, "HistoricalEventHfDied": { "ItemSubtype": "Cause", "Mat": "Cause" }, - "HistoricalEventHfDoesInteraction": { - "InteractionAction": "Interaction" - }, - "HistoricalEventHfLearnsSecret": { - "SecretText": "Interaction" - }, - "HistoricalEventMasterpieceItem": { - "Maker": "Hfid", - "MakerEntity": "EntityId", - "Site": "SiteId" - }, - "HistoricalEventMerchant": { - "Destination": "DepotEntityId", - "Site": "SiteId", - "Source": "TraderEntityId" - }, "HistoricalEventPeaceAccepted": { "Site": "SiteId" }, @@ -43,6 +29,9 @@ "HistoricalEventRemoveHfSiteLink": { "Site": "SiteId" }, + "HistoricalFigure": { + "Sex": "BreedId" + }, "Structure": { "Name2": "Subtype" } diff --git a/frontend/src/app/types.ts b/frontend/src/app/types.ts index 548a307..0010048 100644 --- a/frontend/src/app/types.ts +++ b/frontend/src/app/types.ts @@ -197,6 +197,12 @@ export interface EntityFormerPositionLink { positionProfileId: number; startYear: number; } +export interface EntityFormerSquadLink { + endYear: number; + entityId: number; + squadId: number; + startYear: number; +} export interface EntityPopulation { civId: number; id: number; @@ -226,6 +232,17 @@ export interface EntityReputation { entityId: number; firstAgelessSeasonCount: number; firstAgelessYear: number; + repBard: number; + repEnemyFighter: number; + repHero: number; + repHunter: number; + repKiller: number; + repKnowledgePreserver: number; + repPoet: number; + repProtectorOfWeak: number; + repStoryteller: number; + repThief: number; + repTreasureHunter: number; unsolvedMurders: number; } export interface EntitySquadLink { @@ -292,11 +309,14 @@ export interface HistoricalEventAddHfSiteLink { export interface HistoricalEventAgreementFormed { action: string; agreementId: number; + agreementSubjectId: number; allyDefenseBonus: number; coconspiratorBonus: number; + concluderHfid: number; delegated: boolean; failedJudgmentTest: boolean; method: string; + reason: string; relevantEntityId: number; relevantIdForMethod: number; relevantPositionProfileId: number; @@ -311,6 +331,12 @@ export interface HistoricalEventAgreementFormed { topValueModifier: number; topValueRating: number; } +export interface HistoricalEventAgreementMade { + siteId: number; +} +export interface HistoricalEventAgreementRejected { + siteId: number; +} export interface HistoricalEventArtifactClaimFormed { artifactId: number; circumstance: string; @@ -361,11 +387,13 @@ export interface HistoricalEventArtifactGiven { artifactId: number; giverEntityId: number; giverHistFigureId: number; + reason: string; receiverEntityId: number; receiverHistFigureId: number; } export interface HistoricalEventArtifactLost { artifactId: number; + featureLayerId: number; siteId: number; sitePropertyId: number; subregionId: number; @@ -397,6 +425,13 @@ export interface HistoricalEventArtifactStored { siteId: number; unitId: number; } +export interface HistoricalEventArtifactTransformed { + histFigureId: number; + newArtifactId: number; + oldArtifactId: number; + siteId: number; + unitId: number; +} export interface HistoricalEventAssumeIdentity { identityCaste: string; identityHistfigId: number; @@ -579,6 +614,11 @@ export interface HistoricalEventCollectionEntityOverthrown { siteId: number; targetEntityId: number; } +export interface HistoricalEventCollectionInsurrection { + ordinal: number; + siteId: number; + targetEnid: number; +} export interface HistoricalEventCollectionJourney { ordinal: number; } @@ -603,6 +643,16 @@ export interface HistoricalEventCollectionPurge { ordinal: number; siteId: number; } +export interface HistoricalEventCollectionRaid { + attackingEnid: number; + coords: string; + defendingEnid: number; + featureLayerId: number; + ordinal: number; + parentEventcol: number; + siteId: number; + subregionId: number; +} export interface HistoricalEventCollectionSiteConquered { attackingEnid: number; defendingEnid: number; @@ -694,9 +744,16 @@ export interface HistoricalEventDanceFormCreated { export interface HistoricalEventDestroyedSite { attackerCivId: number; defenderCivId: number; + noDefeatMention: boolean; siteCivId: number; siteId: number; } +export interface HistoricalEventDiplomatLost { + entity: number; + involved: number; + site: number; + siteId: number; +} export interface HistoricalEventEntityAllianceFormed { initiatingEnid: number; joiningEnid: number[]; @@ -722,6 +779,15 @@ export interface HistoricalEventEntityEquipmentPurchase { hfid: number[]; newEquipmentLevel: number; } +export interface HistoricalEventEntityExpelsHf { + entityId: number; + hfid: number; + siteId: number; +} +export interface HistoricalEventEntityFledSite { + fledCivId: number; + siteId: number; +} export interface HistoricalEventEntityIncorporated { joinedEntityId: number; joinerEntityId: number; @@ -766,6 +832,10 @@ export interface HistoricalEventEntityPrimaryCriminals { structure: number; structureId: number; } +export interface HistoricalEventEntityRampagedInSite { + rampageCivId: number; + siteId: number; +} export interface HistoricalEventEntityRelocate { action: string; entity: number; @@ -775,6 +845,11 @@ export interface HistoricalEventEntityRelocate { structure: number; structureId: number; } +export interface HistoricalEventEntitySearchedSite { + result: string; + searcherCivId: number; + siteId: number; +} export interface HistoricalEventFailedFrameAttempt { convicterEnid: number; crime: string; @@ -823,6 +898,11 @@ export interface HistoricalEventFieldBattle { featureLayerId: number; subregionId: number; } +export interface HistoricalEventFirstContact { + contactedEnid: number; + contactorEnid: number; + siteId: number; +} export interface HistoricalEventGamble { gamblerHfid: number; newAccount: number; @@ -853,6 +933,7 @@ export interface HistoricalEventHfConfronted { subregionId: number; } export interface HistoricalEventHfConvicted { + beating: boolean; coconspiratorHfid: number; confessedAfterApbArrestEnid: number; contactHfid: number; @@ -866,9 +947,11 @@ export interface HistoricalEventHfConvicted { exiled: boolean; fooledHfid: number; framerHfid: number; + hammerstrokes: number; heldFirmInInterrogation: boolean; implicatedHfid: number[]; interrogatorHfid: number; + noPrisonAvailable: boolean; plotterHfid: number; prisonMonths: number; surveiledCoconspirator: boolean; @@ -939,6 +1022,13 @@ export interface HistoricalEventHfEquipmentPurchase { structureId: number; subregionId: number; } +export interface HistoricalEventHfFreed { + freeingHfid: number; + holdingCivId: number; + rescuedHfid: number; + siteCivId: number; + siteId: number; +} export interface HistoricalEventHfGainsSecretGoal { hfid: number; secretGoal: string; @@ -946,6 +1036,7 @@ export interface HistoricalEventHfGainsSecretGoal { export interface HistoricalEventHfInterrogated { arrestingEnid: number; heldFirmInInterrogation: boolean; + implicatedHfid: number; interrogatorHfid: number; targetHfid: number; wantedAndRecognized: boolean; @@ -1002,6 +1093,19 @@ export interface HistoricalEventHfProfanedStructure { structure: number; structureId: number; } +export interface HistoricalEventHfRansomed { + movedToSiteId: number; + payerEntityId: number; + payerHfid: number; + ransomedHfid: number; + ransomerHfid: number; +} +export interface HistoricalEventHfReachSummit { + coords: string; + featureLayerId: number; + groupHfid: number[]; + subregionId: number; +} export interface HistoricalEventHfRecruitedUnitTypeForEntity { entityId: number; featureLayerId: number; @@ -1031,7 +1135,9 @@ export interface HistoricalEventHfRevived { actorHfid: number; disturbance: boolean; featureLayerId: number; + ghost: string; hfid: number; + raisedBefore: boolean; siteId: number; subregionId: number; } @@ -1065,6 +1171,7 @@ export interface HistoricalEventHfWounded { site: number; siteId: number; subregionId: number; + wasTorture: boolean; woundee: number; woundeeCaste: number; woundeeHfid: number; @@ -1119,6 +1226,11 @@ export interface HistoricalEventHolyCityDeclaration { religionId: number; siteId: number; } +export interface HistoricalEventInsurrectionStarted { + outcome: string; + siteId: number; + targetCivId: number; +} export interface HistoricalEventItemStolen { circumstance: HistoricalEventItemStolenCircumstance; circumstanceId: number; @@ -1146,10 +1258,41 @@ export interface HistoricalEventKnowledgeDiscovered { hfid: number; knowledge: string; } +export interface HistoricalEventMasterpieceArchConstructed { + buildingCustom: number; + buildingSubtype: string; + buildingType: string; + entityId: number; + hfid: number; + maker: number; + makerEntity: number; + site: number; + siteId: number; + skillAtTime: string; + unk2: number; +} +export interface HistoricalEventMasterpieceEngraving { + artId: number; + artSubid: number; + entityId: number; + hfid: number; + maker: number; + makerEntity: number; + site: number; + siteId: number; + skillAtTime: string; +} +export interface HistoricalEventMasterpieceFood { + entityId: number; + hfid: number; + siteId: number; + skillAtTime: number; +} export interface HistoricalEventMasterpieceItem { entityId: number; hfid: number; itemId: number; + itemSubtype: string; itemType: string; maker: number; makerEntity: number; @@ -1158,9 +1301,23 @@ export interface HistoricalEventMasterpieceItem { siteId: number; skillAtTime: string; } +export interface HistoricalEventMasterpieceItemImprovement { + entityId: number; + hfid: number; + siteId: number; + skillAtTime: number; +} +export interface HistoricalEventMasterpieceLost { + creationEvent: number; + histfig: number; + method: string; + site: number; +} export interface HistoricalEventMerchant { depotEntityId: number; destination: number; + hardship: boolean; + lostValue: boolean; site: number; siteId: number; source: number; @@ -1215,8 +1372,12 @@ export interface HistoricalEventPlunderedSite { attackerCivId: number; defenderCivId: number; detected: boolean; + noDefeatMention: boolean; siteCivId: number; siteId: number; + tookItems: boolean; + tookLivestock: boolean; + wasRaid: boolean; } export interface HistoricalEventPoeticFormCreated { circumstance: string; @@ -1241,6 +1402,7 @@ export interface HistoricalEventReclaimSite { civId: number; siteCivId: number; siteId: number; + unretire: boolean; } export interface HistoricalEventRegionpopIncorporatedIntoEntity { joinEntityId: number; @@ -1297,6 +1459,12 @@ export interface HistoricalEventReplacedStructure { siteCivId: number; siteId: number; } +export interface HistoricalEventSiteDied { + abandoned: boolean; + civId: number; + siteCivId: number; + siteId: number; +} export interface HistoricalEventSiteDispute { dispute: string; entityId1: number; @@ -1304,6 +1472,18 @@ export interface HistoricalEventSiteDispute { siteId1: number; siteId2: number; } +export interface HistoricalEventSiteRetired { + civId: number; + first: boolean; + siteCivId: number; + siteId: number; +} +export interface HistoricalEventSiteSurrendered { + attackerCivId: number; + defenderCivId: number; + siteCivId: number; + siteId: number; +} export interface HistoricalEventSiteTakenOver { attackerCivId: number; defenderCivId: number; @@ -1311,11 +1491,35 @@ export interface HistoricalEventSiteTakenOver { siteCivId: number; siteId: number; } +export interface HistoricalEventSiteTributeForced { + attackerCivId: number; + defenderCivId: number; + season: string; + siteCivId: number; + siteId: number; +} +export interface HistoricalEventSneakIntoSite { + attackerCivId: number; + defenderCivId: number; + siteCivId: number; + siteId: number; +} +export interface HistoricalEventSpottedLeavingSite { + leaverCivId: number; + siteCivId: number; + siteId: number; + spotterHfid: number; +} export interface HistoricalEventSquadVsSquad { - aHfid: number; + aHfid: number[]; + aLeaderHfid: number; + aLeadershipRoll: number; aSquadId: number; dEffect: number; + dHfid: number[]; dInteraction: number; + dLeaderHfid: number; + dLeadershipRoll: number; dNumber: number; dRace: number; dSlain: number; @@ -1359,12 +1563,14 @@ export interface HistoricalEventWrittenContentComposed { } export interface HistoricalFigure { activeInteraction: string[]; + adventurer: boolean; animated: boolean; animatedString: string; appeared: number; associatedType: string; birthSeconds72: number; birthYear: number; + breedId: number; caste: string; currentIdentityId: number; deathSeconds72: number; @@ -1372,11 +1578,13 @@ export interface HistoricalFigure { deity: boolean; entPopId: number; entityFormerPositionLink: EntityFormerPositionLink[]; + entityFormerSquadLink: EntityFormerSquadLink[]; entityLink: HistoricalFigureEntityLink[]; entityPositionLink: EntityPositionLink[]; entityReputation: EntityReputation[]; entitySquadLink: EntitySquadLink; force: boolean; + ghost: boolean; goal: string[]; hfLink: HfLink[]; hfSkill: HfSkill[]; @@ -1390,6 +1598,7 @@ export interface HistoricalFigure { name: string; race: string; relationshipProfileHfHistorical: RelationshipProfileHfHistorical[]; + relationshipProfileHfIdentity: RelationshipProfileHfIdentity[]; relationshipProfileHfVisual: RelationshipProfileHfVisual[]; sex: number; siteLink: SiteLink[]; @@ -1522,6 +1731,22 @@ export interface RelationshipProfileHfHistorical { hfId: number; love: number; loyalty: number; + repEnemyFighter: number; + repHero: number; + repHunter: number; + repKiller: number; + repPsychopath: number; + repStoryteller: number; + repViolent: number; + respect: number; + trust: number; +} +export interface RelationshipProfileHfIdentity { + fear: number; + id: number; + love: number; + loyalty: number; + repPsychopath: number; respect: number; trust: number; } @@ -1534,8 +1759,17 @@ export interface RelationshipProfileHfVisual { love: number; loyalty: number; meetCount: number; + repBonded: number; + repComrade: number; + repFlatterer: number; repFriendly: number; + repHero: number; + repHunter: number; repInformationSource: number; + repKiller: number; + repPsychopath: number; + repQuarreler: number; + repTradePartner: number; respect: number; trust: number; }