announcements

announcements.announcement_type

<enum-type type-name="announcement_type" base-type="int16_t">
  <enum-item name="REACHED_PEAK"/>
  <enum-item name="ERA_CHANGE"/>
  <enum-item name="FEATURE_DISCOVERY"/>
  <enum-item name="STRUCK_DEEP_METAL"/>
  <enum-item name="STRUCK_MINERAL"/>
  <enum-item name="STRUCK_ECONOMIC_MINERAL"/>
  <enum-item name="COMBAT_TWIST_WEAPON"/>
  <enum-item name="COMBAT_LET_ITEM_DROP"/>
  <enum-item name="COMBAT_START_CHARGE"/>
  <enum-item name="COMBAT_SURPRISE_CHARGE"/>
  <enum-item name="COMBAT_JUMP_DODGE_PROJ"/>
  <enum-item name="COMBAT_JUMP_DODGE_STRIKE"/>
  <enum-item name="COMBAT_DODGE"/>
  <enum-item name="COMBAT_COUNTERSTRIKE"/>
  <enum-item name="COMBAT_BLOCK"/>
  <enum-item name="COMBAT_PARRY"/>
  <enum-item name="COMBAT_CHARGE_COLLISION"/>
  <enum-item name="COMBAT_CHARGE_DEFENDER_TUMBLES"/>
  <enum-item name="COMBAT_CHARGE_DEFENDER_KNOCKED_OVER"/>
  <enum-item name="COMBAT_CHARGE_ATTACKER_TUMBLES"/>
  <enum-item name="COMBAT_CHARGE_ATTACKER_BOUNCE_BACK"/>
  <enum-item name="COMBAT_CHARGE_TANGLE_TOGETHER"/>
  <enum-item name="COMBAT_CHARGE_TANGLE_TUMBLE"/>
  <enum-item name="COMBAT_CHARGE_RUSH_BY"/>
  <enum-item name="COMBAT_CHARGE_MANAGE_STOP"/>
  <enum-item name="COMBAT_CHARGE_OBSTACLE_SLAM"/>
  <enum-item name="COMBAT_WRESTLE_LOCK"/>
  <enum-item name="COMBAT_WRESTLE_CHOKEHOLD"/>
  <enum-item name="COMBAT_WRESTLE_TAKEDOWN"/>
  <enum-item name="COMBAT_WRESTLE_THROW"/>
  <enum-item name="COMBAT_WRESTLE_RELEASE_LOCK"/>
  <enum-item name="COMBAT_WRESTLE_RELEASE_CHOKE"/>
  <enum-item name="COMBAT_WRESTLE_RELEASE_GRIP"/>
  <enum-item name="COMBAT_WRESTLE_STRUGGLE"/>
  <enum-item name="COMBAT_WRESTLE_RELEASE_LATCH"/>
  <enum-item name="COMBAT_WRESTLE_STRANGLE_KO"/>
  <enum-item name="COMBAT_WRESTLE_ADJUST_GRIP"/>
  <enum-item name="COMBAT_GRAB_TEAR"/>
  <enum-item name="COMBAT_STRIKE_DETAILS"/>
  <enum-item name="COMBAT_STRIKE_DETAILS_2"/>
  <enum-item name="COMBAT_EVENT_ENRAGED"/>
  <enum-item name="COMBAT_EVENT_STUCKIN"/>
  <enum-item name="COMBAT_EVENT_LATCH_BP"/>
  <enum-item name="COMBAT_EVENT_LATCH_GENERAL"/>
  <enum-item name="COMBAT_EVENT_PROPELLED_AWAY"/>
  <enum-item name="COMBAT_EVENT_KNOCKED_OUT"/>
  <enum-item name="COMBAT_EVENT_STUNNED"/>
  <enum-item name="COMBAT_EVENT_WINDED"/>
  <enum-item name="COMBAT_EVENT_NAUSEATED"/>
  <enum-item name="MIGRANT_ARRIVAL_NAMED"/>
  <enum-item name="MIGRANT_ARRIVAL"/>
  <enum-item name="DIG_CANCEL_WARM"/>
  <enum-item name="DIG_CANCEL_DAMP"/>
  <enum-item name="AMBUSH_DEFENDER"/>
  <enum-item name="AMBUSH_RESIDENT"/>
  <enum-item name="AMBUSH_THIEF"/>
  <enum-item name="AMBUSH_THIEF_SUPPORT_SKULKING"/>
  <enum-item name="AMBUSH_THIEF_SUPPORT_NATURE"/>
  <enum-item name="AMBUSH_THIEF_SUPPORT"/>
  <enum-item name="AMBUSH_MISCHIEVOUS"/>
  <enum-item name="AMBUSH_SNATCHER"/>
  <enum-item name="AMBUSH_SNATCHER_SUPPORT"/>
  <enum-item name="AMBUSH_AMBUSHER_NATURE"/>
  <enum-item name="AMBUSH_AMBUSHER"/>
  <enum-item name="AMBUSH_INJURED"/>
  <enum-item name="AMBUSH_OTHER"/>
  <enum-item name="AMBUSH_INCAPACITATED"/>
  <enum-item name="CARAVAN_ARRIVAL"/>
  <enum-item name="NOBLE_ARRIVAL"/>
  <enum-item name="D_MIGRANTS_ARRIVAL"/>
  <enum-item name="D_MIGRANT_ARRIVAL"/>
  <enum-item name="D_MIGRANT_ARRIVAL_DISCOURAGED"/>
  <enum-item name="D_NO_MIGRANT_ARRIVAL"/>
  <enum-item name="ANIMAL_TRAP_CATCH"/>
  <enum-item name="ANIMAL_TRAP_ROBBED"/>
  <enum-item name="MISCHIEF_LEVER"/>
  <enum-item name="MISCHIEF_PLATE"/>
  <enum-item name="MISCHIEF_CAGE"/>
  <enum-item name="MISCHIEF_CHAIN"/>
  <enum-item name="DIPLOMAT_ARRIVAL"/>
  <enum-item name="LIAISON_ARRIVAL"/>
  <enum-item name="TRADE_DIPLOMAT_ARRIVAL"/>
  <enum-item name="CAVE_COLLAPSE"/>
  <enum-item name="BIRTH_CITIZEN"/>
  <enum-item name="BIRTH_ANIMAL"/>
  <enum-item name="STRANGE_MOOD"/>
  <enum-item name="MADE_ARTIFACT"/>
  <enum-item name="NAMED_ARTIFACT"/>
  <enum-item name="ITEM_ATTACHMENT"/>
  <enum-item name="VERMIN_CAGE_ESCAPE"/>
  <enum-item name="TRIGGER_WEB"/>
  <enum-item name="MOOD_BUILDING_CLAIMED"/>
  <enum-item name="ARTIFACT_BEGUN"/>
  <enum-item name="MEGABEAST_ARRIVAL"/>
  <enum-item name="BERSERK_CITIZEN"/>
  <enum-item name="MAGMA_DEFACES_ENGRAVING"/>
  <enum-item name="ENGRAVING_MELTS"/>
  <enum-item name="MASTERPIECE_ARCHITECTURE"/>
  <enum-item name="MASTERPIECE_CONSTRUCTION"/>
  <enum-item name="MASTER_ARCHITECTURE_LOST"/>
  <enum-item name="MASTER_CONSTRUCTION_LOST"/>
  <enum-item name="ADV_AWAKEN"/>
  <enum-item name="ADV_SLEEP_INTERRUPTED"/>
  <enum-item name="CANCEL_JOB"/>
  <enum-item name="ADV_CREATURE_DEATH"/>
  <enum-item name="CITIZEN_DEATH"/>
  <enum-item name="PET_DEATH"/>
  <enum-item name="ENDGAME_EVENT_1"/>
  <enum-item name="ENDGAME_EVENT_2"/>
  <enum-item name="FALL_OVER"/>
  <enum-item name="CAUGHT_IN_FLAMES"/>
  <enum-item name="CAUGHT_IN_WEB"/>
  <enum-item name="UNIT_PROJECTILE_SLAM_BLOW_APART"/>
  <enum-item name="UNIT_PROJECTILE_SLAM"/>
  <enum-item name="UNIT_PROJECTILE_SLAM_INTO_UNIT"/>
  <enum-item name="VOMIT"/>
  <enum-item name="LOSE_HOLD_OF_ITEM"/>
  <enum-item name="REGAIN_CONSCIOUSNESS"/>
  <enum-item name="FREE_FROM_WEB"/>
  <enum-item name="PARALYZED"/>
  <enum-item name="OVERCOME_PARALYSIS"/>
  <enum-item name="NOT_STUNNED"/>
  <enum-item name="EXHAUSTION"/>
  <enum-item name="PAIN_KO"/>
  <enum-item name="BREAK_GRIP"/>
  <enum-item name="NO_BREAK_GRIP"/>
  <enum-item name="BLOCK_FIRE"/>
  <enum-item name="BREATHE_FIRE"/>
  <enum-item name="SHOOT_WEB"/>
  <enum-item name="PULL_OUT_DROP"/>
  <enum-item name="STAND_UP"/>
  <enum-item name="MARTIAL_TRANCE"/>
  <enum-item name="MAT_BREATH"/>
  <enum-item name="ADV_REACTION_PRODUCTS"/>
  <enum-item name="NIGHT_ATTACK_STARTS"/>
  <enum-item name="NIGHT_ATTACK_ENDS"/>
  <enum-item name="NIGHT_ATTACK_TRAVEL"/>
  <enum-item name="GHOST_ATTACK"/>
  <enum-item name="FLAME_HIT"/>
  <enum-item name="TRAVEL_SITE_DISCOVERY"/>
  <enum-item name="TRAVEL_SITE_BUMP"/>
  <enum-item name="ADVENTURE_INTRO"/>
  <enum-item name="CREATURE_SOUND"/>
  <enum-item name="CREATURE_STEALS_OBJECT"/>
  <enum-item name="FOUND_TRAP"/>
  <enum-item name="BODY_TRANSFORMATION"/>
  <enum-item name="INTERACTION_ACTOR"/>
  <enum-item name="INTERACTION_TARGET"/>
  <enum-item name="UNDEAD_ATTACK"/>
  <enum-item name="CITIZEN_MISSING"/>
  <enum-item name="PET_MISSING"/>
  <enum-item name="EMBRACE"/>
  <enum-item name="STRANGE_RAIN_SNOW"/>
  <enum-item name="STRANGE_CLOUD"/>
  <enum-item name="SIMPLE_ANIMAL_ACTION"/>
  <enum-item name="FLOUNDER_IN_LIQUID"/>
  <enum-item name="TRAINING_DOWN_TO_SEMI_WILD"/>
  <enum-item name="TRAINING_FULL_REVERSION"/>
  <enum-item name="ANIMAL_TRAINING_KNOWLEDGE"/>
  <enum-item name="SKIP_ON_LIQUID"/>
  <enum-item name="DODGE_FLYING_OBJECT"/>
  <enum-item name="REGULAR_CONVERSATION"/>
  <enum-item name="BANDIT_EMPTY_CONTAINER"/>
  <enum-item name="BANDIT_GRAB_ITEM"/>
  <enum-item name="COMBAT_EVENT_ATTACK_INTERRUPTED"/>
  <enum-item name="COMBAT_WRESTLE_CATCH_ATTACK"/>
  <enum-item name="FAIL_TO_GRAB_SURFACE"/>
  <enum-item name="LOSE_HOLD_OF_SURFACE"/>
  <enum-item name="TRAVEL_COMPLAINT"/>
  <enum-item name="LOSE_EMOTION"/>
  <enum-item name="REORGANIZE_POSSESSIONS"/>
  <enum-item name="PUSH_ITEM"/>
  <enum-item name="DRAW_ITEM"/>
  <enum-item name="STRAP_ITEM"/>
  <enum-item name="GAIN_SITE_CONTROL"/>
  <enum-item name="CONFLICT_CONVERSATION"/>
  <enum-item name="FORT_POSITION_SUCCESSION"/>
  <enum-item name="MECHANISM_SOUND"/>
  <enum-item name="BIRTH_WILD_ANIMAL"/>
  <enum-item name="STRESSED_CITIZEN"/>
  <enum-item name="CITIZEN_LOST_TO_STRESS"/>
  <enum-item name="CITIZEN_TANTRUM"/>
  <enum-item name="MOVED_OUT_OF_RANGE"/>
  <enum-item name="CANNOT_JUMP"/>
  <enum-item name="NO_TRACKS"/>
  <enum-item name="ALREADY_SEARCHED_AREA"/>
  <enum-item name="SEARCH_FOUND_SOMETHING"/>
  <enum-item name="SEARCH_FOUND_NOTHING"/>
  <enum-item name="NOTHING_TO_INTERACT"/>
  <enum-item name="NOTHING_TO_EXAMINE"/>
  <enum-item name="YOU_YIELDED"/>
  <enum-item name="YOU_UNYIELDED"/>
  <enum-item name="YOU_STRAP_ITEM"/>
  <enum-item name="YOU_DRAW_ITEM"/>
  <enum-item name="NO_GRASP_TO_DRAW_ITEM"/>
  <enum-item name="NO_ITEM_TO_STRAP"/>
  <enum-item name="NO_INV_TO_REMOVE"/>
  <enum-item name="NO_INV_TO_WEAR"/>
  <enum-item name="NO_INV_TO_EAT"/>
  <enum-item name="NO_INV_TO_CONTAIN"/>
  <enum-item name="NO_INV_TO_DROP"/>
  <enum-item name="NOTHING_TO_PICK_UP"/>
  <enum-item name="NO_INV_TO_THROW"/>
  <enum-item name="NO_INV_TO_FIRE"/>
  <enum-item name="CURRENT_SMELL"/>
  <enum-item name="CURRENT_WEATHER"/>
  <enum-item name="CURRENT_TEMPERATURE"/>
  <enum-item name="CURRENT_DATE"/>
  <enum-item name="NO_GRASP_FOR_PICKUP"/>
  <enum-item name="TRAVEL_ADVISORY"/>
  <enum-item name="CANNOT_CLIMB"/>
  <enum-item name="CANNOT_STAND"/>
  <enum-item name="MUST_UNRETRACT_FIRST"/>
  <enum-item name="CANNOT_REST"/>
  <enum-item name="CANNOT_MAKE_CAMPFIRE"/>
  <enum-item name="MADE_CAMPFIRE"/>
  <enum-item name="CANNOT_SET_FIRE"/>
  <enum-item name="SET_FIRE"/>
  <enum-item name="DAWN_BREAKS"/>
  <enum-item name="NOON"/>
  <enum-item name="NIGHTFALL"/>
  <enum-item name="NO_INV_INTERACTION"/>
  <enum-item name="EMPTY_CONTAINER"/>
  <enum-item name="TAKE_OUT_OF_CONTAINER"/>
  <enum-item name="NO_CONTAINER_FOR_ITEM"/>
  <enum-item name="PUT_INTO_CONTAINER"/>
  <enum-item name="EAT_ITEM"/>
  <enum-item name="DRINK_ITEM"/>
  <enum-item name="CONSUME_FAILURE"/>
  <enum-item name="DROP_ITEM"/>
  <enum-item name="PICK_UP_ITEM"/>
  <enum-item name="YOU_BUILDING_INTERACTION"/>
  <enum-item name="YOU_ITEM_INTERACTION"/>
  <enum-item name="YOU_TEMPERATURE_EFFECTS"/>
  <enum-item name="PROFESSION_CHANGES"/>
  <enum-item name="RECRUIT_PROMOTED"/>
  <enum-item name="SOLDIER_BECOMES_MASTER"/>
  <enum-item name="RESOLVE_SHARED_ITEMS"/>
  <enum-item name="COUGH_BLOOD"/>
  <enum-item name="VOMIT_BLOOD"/>
  <enum-item name="MERCHANTS_UNLOADING"/>
  <enum-item name="MERCHANTS_NEED_DEPOT"/>
  <enum-item name="MERCHANT_WAGONS_BYPASSED"/>
  <enum-item name="MERCHANTS_LEAVING_SOON"/>
  <enum-item name="MERCHANTS_EMBARKED"/>
  <enum-item name="PET_LOSES_DEAD_OWNER"/>
  <enum-item name="PET_ADOPTS_OWNER"/>
  <enum-item name="VERMIN_BITE"/>
  <enum-item name="UNABLE_TO_COMPLETE_BUILDING"/>
  <enum-item name="JOBS_REMOVED_FROM_UNPOWERED_BUILDING"/>
  <enum-item name="CITIZEN_SNATCHED"/>
  <enum-item name="VERMIN_DISTURBED"/>
  <enum-item name="LAND_GAINS_STATUS"/>
  <enum-item name="LAND_ELEVATED_STATUS"/>
  <enum-item name="MASTERPIECE_CRAFTED"/>
  <enum-item name="ARTWORK_DEFACED"/>
  <enum-item name="POWER_LEARNED"/>
  <enum-item name="YOU_FEED_ON_SUCKEE"/>
  <enum-item name="ANIMAL_TRAINED"/>
  <enum-item name="DYED_MASTERPIECE"/>
  <enum-item name="COOKED_MASTERPIECE"/>
  <enum-item name="MANDATE_ENDS"/>
  <enum-item name="SLOWDOWN_ENDS"/>
  <enum-item name="FAREWELL_HELPER"/>
  <enum-item name="ELECTION_RESULTS"/>
  <enum-item name="SITE_PRESENT"/>
  <enum-item name="CONSTRUCTION_SUSPENDED"/>
  <enum-item name="LINKAGE_SUSPENDED"/>
  <enum-item name="QUOTA_FILLED"/>
  <enum-item name="JOB_OVERWRITTEN"/>
  <enum-item name="NOTHING_TO_CATCH_IN_WATER"/>
  <enum-item name="DEMAND_FORGOTTEN"/>
  <enum-item name="NEW_DEMAND"/>
  <enum-item name="NEW_MANDATE"/>
  <enum-item name="PRICES_ALTERED"/>
  <enum-item name="NAMED_RESIDENT_CREATURE"/>
  <enum-item name="SOMEBODY_GROWS_UP"/>
  <enum-item name="GUILD_REQUEST_TAKEN"/>
  <enum-item name="GUILD_WAGES_CHANGED"/>
  <enum-item name="NEW_WORK_MANDATE"/>
  <enum-item name="CITIZEN_BECOMES_SOLDIER"/>
  <enum-item name="CITIZEN_BECOMES_NONSOLDIER"/>
  <enum-item name="PARTY_ORGANIZED"/>
  <enum-item name="POSSESSED_TANTRUM"/>
  <enum-item name="BUILDING_TOPPLED_BY_GHOST"/>
  <enum-item name="MASTERFUL_IMPROVEMENT"/>
  <enum-item name="MASTERPIECE_ENGRAVING"/>
  <enum-item name="MARRIAGE"/>
  <enum-item name="NO_MARRIAGE_CELEBRATION"/>
  <enum-item name="CURIOUS_GUZZLER"/>
  <enum-item name="WEATHER_BECOMES_CLEAR"/>
  <enum-item name="WEATHER_BECOMES_SNOW"/>
  <enum-item name="WEATHER_BECOMES_RAIN"/>
  <enum-item name="SEASON_WET"/>
  <enum-item name="SEASON_DRY"/>
  <enum-item name="SEASON_SPRING"/>
  <enum-item name="SEASON_SUMMER"/>
  <enum-item name="SEASON_AUTUMN"/>
  <enum-item name="SEASON_WINTER"/>
  <enum-item name="GUEST_ARRIVAL"/>
  <enum-item name="CANNOT_SPEAK"/>
  <enum-item name="RESEARCH_BREAKTHROUGH"/>
  <enum-item name="SERVICE_ORDER_DELIVERY"/>
  <enum-item name="PERFORMANCE_START_FAILURE"/>
  <enum-item name="BEGIN_ACTIVITY"/>
  <enum-item name="MIDDLE_OF_ACTIVITY"/>
  <enum-item name="ACTIVITY_SECTION_CHANGE"/>
  <enum-item name="CONCLUDE_ACTIVITY"/>
  <enum-item name="LEARNED_WRITTEN_CONTENT"/>
  <enum-item name="LEARNED_ART_FORM"/>
  <enum-item name="PERFORMER_UPDATE"/>
  <enum-item name="BUILDING_DESTROYED_OR_TOPPLED"/>
  <enum-item name="DEITY_CURSE"/>
  <enum-item name="COMPOSITION_COMPLETE"/>
  <enum-item name="COMPOSITION_FAILED"/>
  <enum-item name="NEW_APPRENTICESHIP"/>
  <enum-item name="PETITION_IGNORED"/>
</enum-type>

announcements.announcement_flags

<bitfield-type type-name="announcement_flags">
  <flag-bit name="DO_MEGA">
    BOX
  </flag-bit>
  <flag-bit name="PAUSE">
    P
  </flag-bit>
  <flag-bit name="RECENTER">
    R
  </flag-bit>
  <flag-bit name="A_DISPLAY">
    A_D
  </flag-bit>
  <flag-bit name="D_DISPLAY">
    D_D
  </flag-bit>
  <flag-bit name="UNIT_COMBAT_REPORT">
    UCR
  </flag-bit>
  <flag-bit name="UNIT_COMBAT_REPORT_ALL_ACTIVE">
    UCR_A
  </flag-bit>
</bitfield-type>

announcements.announcements

<struct-type type-name="announcements">
  <static-array name="flags" type-name="announcement_flags"
      count="317" index-enum="announcement_type"/>
</struct-type>

announcements.report

<struct-type type-name="report"
    instance-vector="$global.world.status.reports" key-field="id">
  <enum base-type="int16_t" name="type" type-name="announcement_type">
    valid only if coordinates are
  </enum>
  <stl-string name="text"/>
  <int16_t name="color" init-value="7"/>
  <bool name="bright" init-value="true"/>
  <int32_t name="duration" init-value="100"/>
  <bitfield name="flags" base-type="uint8_t">
    <flag-bit name="continuation">
      When split into multiple lines, set on all but the first
    </flag-bit>
    <flag-bit name="unconscious">
      units.active[0]
    </flag-bit>
    <flag-bit name="announcement"/>
  </bitfield>
  <int32_t name="repeat_count">
    100 => displays: x101
  </int32_t>
  <compound name="pos" type-name="coord"/>
  <int32_t name="id"/>
  <int32_t name="year"/>
  <int32_t name="time"/>
  <int32_t name="unk_v40_1" init-value="-1">
    v0.40.1
  </int32_t>
  <int32_t name="unk_v40_2" init-value="-1">
    v0.40.1
  </int32_t>
  <int32_t name="unk_v40_3" init-value="-1">
    v0.40.1
  </int32_t>
</struct-type>

announcements.popup_message

<struct-type type-name="popup_message">
  <stl-string name="text"/>
  <int16_t name="color" init-value="7"/>
  <bool name="bright" init-value="true"/>
</struct-type>