<?xml version="1.0" encoding="UTF-8" ?>
<oakxmlfile>
	<struct name="monster_attack_sequence">
		<short name="flags" />
		<sequence_index name="sequence_index" />
		<fixed_fraction name="skip_fraction" />
		<padding count="2" />
	</struct>
	<struct name="monster_attack_definition">
		<short name="flags" />
		<fixed_fraction name="miss_fraction" />
		<tag name="projectile_tag" group="proj" />
		<short_world name="minimum_range" />
		<short_world name="maximum_range" />
		<substruct name="attack_sequences" struct="monster_attack_sequence" count="4" />
		<short name="repetitions" />
		<short_world name="initial_velocity_lower_bound" />
		<short_world name="initial_velocity_delta" />
		<short_world name="initial_velocity_error" />
		<short_time name="recovery_time" />
		<short_time name="recovery_time_experience_delta" />
		<short_world name="velocity_improvement_with_experience" />
		<short_fixed name="mana_cost" />
		<short name="extra_flags" />
		<padding count="2" />
	</struct>
	<struct name="mons">
		<long name="flags" />
		<tag name="collection" group=".256" />
		<sequence_index name="seq_idle" />
		<sequence_index name="seq_moving" />
		<sequence_index name="seq_placeholder" />
		<sequence_index name="seq_pausing_for_obstacle" />
		<sequence_index name="seq_turning" />
		<sequence_index name="seq_blocking" />
		<sequence_index name="seq_taking_damage" />
		<sequence_index name="seq_picking_up_object" />
		<sequence_index name="seq_head_shots" />
		<sequence_index name="seq_celebration" />
		<sequence_index name="seq_transition_to_secondary_idle" />
		<sequence_index name="seq_secondary_idle" />
		<sequence_index name="seq_transition_to_primary_idle" />
		<sequence_index name="seq_running" />
		<sequence_index name="seq_ammunition_icon" />
		<sequence_index name="seq_holding_for_attack" />
		<sequence_index name="seq_taunting" />
		<sequence_index name="seq_gliding" />
		<sequence_index name="seq_propelled" />
		<padding count="14" />
		<tag name="burning_death_projectile_group_tag" group="prgr" />
		<padding count="2" />
		<byte name="experience_kill_bonus" />
		<byte name="experience_bonus_radius" />
		<fixed_fraction name="propelled_system_shock" />
		<fixed_fraction name="damage_to_propulsion" />
		<padding count="4" />
		<byte name="extflags_sloped" />
		<padding count="1" />
		<short name="extflags_grass_desert" />
		<byte name="maximum_experience_points" />
		<padding count="7" />
		<short name="terrain_impassability" />
		<short_world name="pathfinding_radius" />
		<short_fixed_fraction name="movement_modifiers" count="16" />
		<fixed_fraction name="absorbed_fraction" />
		<short_world name="warning_distance" />
		<short_world name="critical_distance" />
		<short_fixed name="healing_fraction" />
		<short name="initial_ammunition_lower_bound" />
		<short name="initial_ammunition_delta" lower_bound="initial_ammunition_lower_bound" />
		<short_world name="activation_distance" />
		<padding count="2" />
		<angular_velocity name="turning_speed" />
		<short_world name="base_movement_speed" />
		<fixed_fraction name="left_handed_fraction" />
		<short_enum name="size">
			<member text="Small" value="0" />
			<member text="Man-sized" value="1" />
			<member text="Giant" value="2" />
		</short_enum>
		<tag name="object_tag" group="obje" />
		<short name="number_of_attacks" />
		<short_enum name="desired_projectile_volume">
			<member text="NONE" value="-1" />
			<member text="Unwieldy" value="0" />
			<member text="Small" value="1" />
			<member text="Large" value="2" />
		</short_enum>
		<substruct struct="monster_attack_definition" name="attacks" count="4" runtime_count="number_of_attacks"/>
		<tag name="map_action_tag" group="temp" />
		<short_time name="attack_frequency_lower_bound" />
		<short_time name="attack_frequency_delta" lower_bound="attack_frequency_lower_bound" />
		<tag name="exploding_projectile_group_tag" group="prgr" />
		<short name="hack" />
		<short name="maximum_ammunition_count" />
		<fixed_fraction name="hard_death_system_shock" />
		<fixed_fraction name="flinch_system_shock" />
		<tag name="melee_impact_projectile_group_tag" group="prgr" />
		<tag name="dying_projectile_group_tag" group="prgr" />
		<tag name="spelling_string_list_tag" group="stli" />
		<tag name="names_string_list_tag" group="stli" />
		<tag name="flavor_string_list_tag" group="stli" />
		<byte name="use_attack_frequency" />
		<byte name="more_hack" />
		<short_enum name="monster_class">
			<member text="Melee" value="0" />
			<member text="Missile" value="1" />
			<member text="Suicide" value="2" />
			<member text="Special" value="3" />
			<member text="Harmless" value="4" />
			<member text="Suicide" value="5" />
			<member text="Ambient Life" value="6" />
			<member text="Invisible Observer" value="7" />
		</short_enum>
		<short_enum name="allegiance">
			<member text="Light" value="0" />
			<member text="Dark" value="1" />
		</short_enum>
		<short name="experience_point_value" />
		<tag name="sound_tags" group="soun" count="10" />
		<tag name="blocked_impact_projectile_group_tag" group="prgr" />
		<tag name="absorbed_impact_projectile_group_tag" group="prgr" />
		<tag name="ammunition_projectile_tag" group="proj" />
		<short_enum name="visibility_type">
			<member text="Nearsighted" value="0" />
			<member text="Farsighted" value="1" />
		</short_enum>
		<short name="combined_power" />
		<short_world name="longest_range" />
		<short name="cost" />
		<byte_enum name="sound_types" count="10">
			<member text="Attack Order" value="0" />
			<member text="Multiple Attack Order" value="1" />
			<!--member text="Attack Order Vs. Undead" value="2"/-->
			<member text="Move Order" value="3" />
			<member text="Multiple Move Order" value="4" />
			<member text="Selection" value="5" />
			<member text="Multiple Selection" value="6" />
			<member text="Hit Friendly Unit" value="7" />
			<member text="Hit By Friendly Unit" value="8" />
			<member text="Attack Obstructed By Friendly Unit" value="9" />
			<!--member text="Attack Enemy Unit" value="10"/-->
			<member text="Attack Enemy With Friendly Units Nearby" value="11" />
			<!--member text="Sprayed By Gore" value="12"/-->
			<member text="Caused Enemy Death" value="13" />
			<member text="Caused Friendly Death" value="14" />
			<member text="Caused Death Of Enemy Undead" value="15" />
			<!--member text="Caused Multiple Enemy Deaths" value="16"/-->
		</byte_enum>
		<short name="enemy_experience_kill_bonus" />
		<tag name="entrance_projectile_group_tag" group="prgr" />
		<tag name="local_projectile_group_tag" group="prgr" />
		<tag name="special_ability_string_list_tag" group="prgr" />
		<tag name="exit_projectile_group_tag" group="prgr" />
		<short_fixed name="maximum_mana" />
		<short_fixed name="mana_recharge_rate" />
		<fixed_fraction name="berserk_system_shock" />
		<fixed_fraction name="berserk_vitality" />
		<short name="maximum_artifacts_carried" />
		<padding count="482" />
	</struct>
  <structedit struct="monster_attack_sequence">
    <frame text ="stuff">
      <label text="flags"/>
      <item target="flags"/>
      <label text="Sequence:"/>
      <item target="sequence_index" tag="collection"/>
      <label text="Skip Fraction:"/>
      <item target="skip_fraction" />
    </frame>
  </structedit>
	<structedit struct="monster_attack_definition">
		<frame text="flags">
			<item target="flags" bit="0" text="flag 0" />
			<item target="flags" bit="1" text="flag 1" />
			<item target="flags" bit="2" text="flag 2" />
			<item target="flags" bit="3" text="flag 3" />
			<item target="flags" bit="4" text="flag 4" />
			<!-- TODO: more flags here -->
		</frame>
		<label text="miss fraction" />
		<item target="miss_fraction" />
		<label text="miss projectile_tag" />
		<item target="projectile_tag" />
		<label text="miss projectile_tag" />
		<item target="projectile_tag" />
		<label text="minimum_range" />
		<item target="minimum_range" />
		<label text="maximum_range" />
		<item target="maximum_range" />
		<label text="Attack sequences" />
		<item target="attack_sequences" text_target="sequence_index"/>
		<label text="initial_velocity_lower_bound" />
		<item target="initial_velocity_lower_bound" />
		<label text="initial_velocity_delta" />
		<item target="initial_velocity_delta" />
		<label text="initial_velocity_error" />
		<item target="initial_velocity_error" />
		<label text="recovery_time" />
		<item target="recovery_time" />
		<label text="recovery_time_experience_delta" />
		<item target="recovery_time_experience_delta" />
		<label text="velocity_improvement_with_experience" />
		<item target="velocity_improvement_with_experience" />
		<label text="mana_cost" />
		<item target="mana_cost" />
		<label text="extra_flags" />
		<item target="extra_flags" />
		<padding count="2" />
	</structedit>
	<structedit struct="mons" layout="horizontal">
		<frame stretch="true"> <!-- left column-->
			<frame text="General" layout="table" stretch="true">
				<row>
					<label text="Collection:" />
					<item target="collection" />
				</row>
				<row>
					<label text="Object Tag:" />
					<item target="object_tag" />
				</row>
				<row>
					<label text="Size:" />
					<item target="size" />
				</row>
				<row>
					<label text="Visibility:" />
					<item target="visibility_type" />
				</row>
				<row>
					<label text="Class:" />
					<item target="monster_class" />
				</row>
				<row>
					<label text="Allegiance:" />
					<item target="allegiance" />
				</row>
				<row>
					<label text="Local Projectile Group:" />
					<item target="local_projectile_group_tag" />
				</row>
				<row>
					<label text="Map Action Tag:" />
					<item target="map_action_tag" />
				</row>
			</frame>
			<frame text="Attacks">
				<frame layout="table">
					<row>
						<label text="Min. Attack frequency:" />
						<item target="attack_frequency_lower_bound" />
					</row>
					<row>
						<label text="Max. Attack frequency:" />
						<item target="attack_frequency_delta" />
					</row>
					<row>
						<label text="Desired proj. volume:" />
						<item target="desired_projectile_volume" />
					</row>
				</frame>
				<item target="attacks" text_target="projectile_tag"/>
			</frame>
			<frame text="Stuff That Didn't Fit On One Page :P" stretch="true">
				<structedit caption="Parameters" text="" layout="table" stretch="true" alignchildren="true">
					<row>
						<label text="Left Handed Fraction:" />
						<item target="left_handed_fraction" />
					</row>
					<row>
						<label text="Turning Speed(deg/s):" />
						<item target="turning_speed" />
					</row>
					<row>
						<label text="Hard Death Sys. Shock:" />
						<item target="hard_death_system_shock" />
					</row>
					<row>
						<label text="Propelled Sys. Shock:" />
						<item target="propelled_system_shock" />
					</row>
					<row>
						<label text="Damage To Propusion:" />
						<item target="damage_to_propulsion" />
					</row>
					<row>
						<label text="Absorbed Fraction:" />
						<item target="absorbed_fraction" />
					</row>
					<row>
						<label text="Healing Fraction:" />
						<item target="healing_fraction" />
					</row>
					<row>
						<label text="Combined Power:" />
						<item target="combined_power" />
					</row>
					<row>
						<label text="Longest Range:" />
						<item target="longest_range" />
					</row>
					<row>
						<label text="Experience Pt. Value:" />
						<item target="experience_point_value" />
					</row>
					<row>
						<label text="Cost:" />
						<item target="cost" />
					</row>
					<row>
						<label text="Pathfinding Radius:" />
						<item target="pathfinding_radius" />
					</row>
					<row>
						<label text="Maximum Mana:" />
						<item target="maximum_mana" />
					</row>
					<row>
						<label text="Mana Recharge Rate:" />
						<item target="mana_recharge_rate" />
					</row>
					<row>
						<label text="Berserk Sys. Shock:" />
						<item target="berserk_system_shock" />
					</row>
					<row>
						<label text="Berserk Health Fraction:" />
						<item target="berserk_vitality" />
					</row>
					<row>
						<label text="Max. Experience Level:" />
						<item target="maximum_experience_points" />
					</row>
				</structedit>
				<structedit caption="Flags" layout="horizontal">
					<frame text="Flags">
						<item target="flags" bit="0" text="translates continuously" />
						<item target="flags" bit="1" text="holds with clear shot" />
						<item target="flags" bit="2" text="floats" />
						<item target="flags" bit="3" text="flies" />
						<item target="flags" bit="4" text="allows projectiles to pass through" />
						<item target="flags" bit="5" text="experience proportional to damage" />
						<item target="flags" bit="6" text="is anti missile unit" />
						<item target="flags" bit="7" text="is anti missile target" />
						<item target="flags" bit="8" text="turns to stone when killed" />
						<item target="flags" bit="9" text="concentrates on single attacker" />
						<item target="flags" bit="10" text="is undead" />
						<item target="flags" bit="11" text="cannot be autotargeted" />
						<item target="flags" bit="12" text="is giant sized" />
						<item target="flags" bit="13" text="does not respect visibility" />
						<item target="flags" bit="14" text="is not solid" />
						<item target="flags" bit="15" text="leaves contrail" />
						<item target="flags" bit="16" text="invisible on overhead map" />
						<item target="flags" bit="17" text="cannot be healed" />
						<item target="flags" bit="18" text="does not drop ammo when dying" />
						<item target="flags" bit="19" text="is inanimate object" />
						<!--item target="flags" bit="20" text="is skittish"/-->
						<item target="flags" bit="21" text="carries multiple artifacts" />
						<item target="flags" bit="22" text="has burning death" />
						<item target="flags" bit="23" text="can be propelled" />
						<item target="flags" bit="24" text="raise to flying height" />
						<item target="flags" bit="25" text="targetable if ambient" />
						<item target="flags" bit="26" text="boosted by captain" />
						<item target="flags" bit="27" text="is captain" />
					</frame>
					<frame text="Extended Flags">
						<item target="flags" bit="20" text="use extended" />
						<item target="extflags_sloped" bit="0" />
						<item target="extflags_sloped" bit="1" />
						<item target="extflags_sloped" bit="3" />
						<item target="extflags_sloped" bit="4" />
						<item target="extflags_sloped" bit="5" />
						<item target="extflags_sloped" bit="6" />
						<item target="extflags_sloped" bit="7" />
						<item target="extflags_sloped" bit="8" />
						<item target="extflags_grass_desert" bit="0" />
						<item target="extflags_grass_desert" bit="1" />
						<item target="extflags_grass_desert" bit="3" />
						<item target="extflags_grass_desert" bit="4" />
						<item target="extflags_grass_desert" bit="5" />
						<item target="extflags_grass_desert" bit="6" />
						<item target="extflags_grass_desert" bit="7" />
						<item target="extflags_grass_desert" bit="8" />
						<item target="extflags_grass_desert" bit="9" />
						<item target="extflags_grass_desert" bit="10" />
						<item target="extflags_grass_desert" bit="11" />
						<item target="extflags_grass_desert" bit="12" />
						<item target="extflags_grass_desert" bit="13" />
						<item target="extflags_grass_desert" bit="14" />
						<item target="extflags_grass_desert" bit="15" />
						<item target="extflags_grass_desert" bit="16" />
					</frame>
				</structedit>
				<structedit caption="Terrain Parameters" text="" layout="table">
					<row>
						<label />
						<label text="Base Movement Speed" />
						<item target="base_movement_speed" />
					</row>
					<row>
						<label />
					</row>
					<row>
						<label />
						<label />
						<label text="Speed" />
					</row>
					<row>
						<item target="terrain_impassability" bit="0" />
						<label text="Dwarf-Depth Media:" />
						<item target="movement_modifiers" index="0" />
					</row>
					<row>
						<item target="terrain_impassability" bit="1" />
						<label text="Human-Depth Media:" />
						<item target="movement_modifiers" index="1" />
					</row>
					<row>
						<item target="terrain_impassability" bit="2" />
						<label text="Giant-Depth Media:" />
						<item target="movement_modifiers" index="2" />
					</row>
					<row>
						<item target="terrain_impassability" bit="3" />
						<label text="Really Deep Media Media:" />
						<item target="movement_modifiers" index="3" />
					</row>
					<row>
						<item target="terrain_impassability" bit="4" />
						<label text="Sloped:" />
						<item target="movement_modifiers" index="4" />
					</row>
					<row>
						<item target="terrain_impassability" bit="5" />
						<label text="Steep:" />
						<item target="movement_modifiers" index="5" />
					</row>
					<row>
						<item target="terrain_impassability" bit="6" />
						<label text="Grass:" />
						<item target="movement_modifiers" index="6" />
					</row>
					<row>
						<item target="terrain_impassability" bit="7" />
						<label text="Desert:" />
						<item target="movement_modifiers" index="7" />
					</row>
					<row>
						<item target="terrain_impassability" bit="8" />
						<label text="Rocky:" />
						<item target="movement_modifiers" index="8" />
					</row>
					<row>
						<item target="terrain_impassability" bit="9" />
						<label text="Marsh:" />
						<item target="movement_modifiers" index="9" />
					</row>
					<row>
						<item target="terrain_impassability" bit="10" />
						<label text="Snow:" />
						<item target="movement_modifiers" index="10" />
					</row>
					<row>
						<item target="terrain_impassability" bit="11" />
						<label text="Unused 0:" />
						<item target="movement_modifiers" index="11" />
					</row>
					<row>
						<item target="terrain_impassability" bit="12" />
						<label text="Unused 1:" />
						<item target="movement_modifiers" index="12" />
					</row>
					<row>
						<item target="terrain_impassability" bit="13" />
						<label text="Unused 2:" />
						<item target="movement_modifiers" index="13" />
					</row>
					<row>
						<item target="terrain_impassability" bit="14" />
						<label text="Walking Impassable:" />
						<item target="movement_modifiers" index="14" />
					</row>
					<row>
						<item target="terrain_impassability" bit="15" />
						<label text="Flying Impassable:" />
						<item target="movement_modifiers" index="15" />
					</row>
				</structedit>
				<structedit caption="Sequences" alignchildren="true" stretch="true">
					<frame layout="table" text="Idle Sequences">
						<row>
							<label text="Primary:" />
							<item target="seq_idle" tag="collection" />
						</row>
						<row>
							<label text="Transition To Secondary:" />
							<item target="seq_transition_to_secondary_idle" tag="collection" />
						</row>
						<row>
							<label text="Secondary:" />
							<item target="seq_secondary_idle" tag="collection" />
						</row>
						<row>
							<label text="Transition To Primary:" />
							<item target="seq_transition_to_primary_idle" tag="collection" />
						</row>
					</frame>
					<frame layout="table" text="Active Sequences">
						<row>
							<label text="Moving:" />
							<item target="seq_moving" tag="collection" />
						</row>
						<row>
							<label text="Running:" />
							<item target="seq_running" tag="collection" />
						</row>
						<row>
							<label text="Pausing For Obstacle:" />
							<item target="seq_pausing_for_obstacle" tag="collection" />
						</row>
						<row>
							<label text="Blocking:" />
							<item target="seq_blocking" tag="collection" />
						</row>
						<row>
							<label text="Flinching:" />
							<item target="seq_taking_damage" tag="collection" />
						</row>
						<row>
							<label text="Being Propelled:" />
							<item target="seq_propelled" tag="collection" />
						</row>
						<row>
							<label text="Holding For Attack:" />
							<item target="seq_holding_for_attack" tag="collection" />
						</row>
						<row>
							<label text="Ammunition Icon:" />
							<item target="seq_ammunition_icon" tag="collection" />
						</row>
						<row>
							<label text="Picking Up Object:" />
							<item target="seq_picking_up_object" tag="collection" />
						</row>
						<row>
							<label text="Taunting:" />
							<item target="seq_taunting" tag="collection" />
						</row>
						<row>
							<label text="Celebration:" />
							<item target="seq_celebration" tag="collection" />
						</row>
						<row>
							<label text="Gliding:" />
							<item target="seq_gliding" tag="collection" />
						</row>
						<row>
							<label text="Placeholder:" />
							<item target="seq_placeholder" tag="collection" />
						</row>
						<row>
							<label text="Head Shots:" />
							<item target="seq_head_shots" tag="collection" />
						</row>
					</frame>
				</structedit>
				<structedit caption="Sounds" text="" layout="table">
					<row>
						<label text="Slot 0:" />
						<item target="sound_tags" index="0" />
						<label text="Type:" />
						<item target="sound_types" index="0" />
					</row>
					<row>
						<label text="Slot 1:" />
						<item target="sound_tags" index="1" />
						<label text="Type:" />
						<item target="sound_types" index="1" />
					</row>
					<row>
						<label text="Slot 2:" />
						<item target="sound_tags" index="2" />
						<label text="Type:" />
						<item target="sound_types" index="2" />
					</row>
					<row>
						<label text="Slot 3:" />
						<item target="sound_tags" index="3" />
						<label text="Type:" />
						<item target="sound_types" index="3" />
					</row>
					<row>
						<label text="Slot 4:" />
						<item target="sound_tags" index="4" />
						<label text="Type:" />
						<item target="sound_types" index="4" />
					</row>
					<row>
						<label text="Slot 5:" />
						<item target="sound_tags" index="5" />
						<label text="Type:" />
						<item target="sound_types" index="5" />
					</row>
					<row>
						<label text="Slot 6:" />
						<item target="sound_tags" index="6" />
						<label text="Type:" />
						<item target="sound_types" index="6" />
					</row>
					<row>
						<label text="Slot 7:" />
						<item target="sound_tags" index="7" />
						<label text="Type:" />
						<item target="sound_types" index="7" />
					</row>
					<row>
						<label text="Slot 8:" />
						<item target="sound_tags" index="8" />
						<label text="Type:" />
						<item target="sound_types" index="8" />
					</row>
					<row>
						<label text="Slot 9:" />
						<item target="sound_tags" index="9" />
						<label text="Type:" />
						<item target="sound_types" index="9" />
					</row>
				</structedit>
			</frame>
		</frame>
		<frame stretch="true" alignchildren="true"> <!-- middle column-->
			<frame text="Projectile Groups" layout="table" stretch="true">
				<row>
					<label text="Exploding:" />
					<item target="exploding_projectile_group_tag" />
				</row>
				<row>
					<label text="Melee Impact:" />
					<item target="melee_impact_projectile_group_tag" />
				</row>
				<row>
					<label text="Dying:" />
					<item target="dying_projectile_group_tag" />
				</row>
				<row>
					<label text="Blocked Impact:" />
					<item target="blocked_impact_projectile_group_tag" />
				</row>
				<row>
					<label text="Absorbed Impact:" />
					<item target="absorbed_impact_projectile_group_tag" />
				</row>
				<row>
					<label text="Entrance:" />
					<item target="entrance_projectile_group_tag" />
				</row>
				<row>
					<label text="Exit:" />
					<item target="exit_projectile_group_tag" />
				</row>
				<row>
					<label text="Burned:" />
					<item target="burning_death_projectile_group_tag" />
				</row>
			</frame>
			<frame text="String Lists" layout="table" stretch="true">
				<row>
					<label text="Spelling:" />
					<item target="spelling_string_list_tag" />
				</row>
				<row>
					<label text="Names:" />
					<item target="names_string_list_tag" />
				</row>
				<row>
					<label text="Flavor:" />
					<item target="flavor_string_list_tag" />
				</row>
				<row>
					<label text="Special Ability:" />
					<item target="special_ability_string_list_tag" />
				</row>
			</frame>
			<frame text="Distances" layout="table">
				<row>
					<label text="Warning:" />
					<item target="warning_distance" />
				</row>
				<row>
					<label text="Critical:" />
					<item target="critical_distance" />
				</row>
				<row>
					<label text="Activation:" />
					<item target="activation_distance" />
				</row>
			</frame>
			<frame text="Ammunition" layout="table">
				<row>
					<label text="Ammo Tag:" />
					<item target="ammunition_projectile_tag" />
				</row>
				<row>
					<label text="Min. Starting ammo:" />
					<item target="initial_ammunition_lower_bound" />
				</row>
				<row>
					<label text="Max. Starting ammo:" />
					<item target="initial_ammunition_delta" />
				</row>
				<row>
					<label text="Maximum Count:" />
					<item target="maximum_ammunition_count" />
				</row>
			</frame>
		</frame>
	</structedit>
</oakxmlfile>