<?xml version="1.0" encoding="ISO-8859-1"?>

<stats_blocks>
	<block name="ai_data">
		<var name="target" type="object"/> <!-- unit -->
		
		<var name="fire_ready" type="boolean" default="true"/> <!-- Added this for the abrams in mission06 -->
				
		<var name="aim_target" type="object"/> <!-- position of target, can be old -->
		<var name="aim_target_unit" type="object"/> <!-- unit, the current uptodate target -->
		<var name="move_target" type="object"/> <!-- position -->
		<var name="move_speed" type="number" default="1"/> <!-- 0 - 1.0 -->
		<var name="move_aim" type="number" default="1"/> <!-- 1 = aim at move point, 1 = try to aim at target while moving -->
		<var name="aim_target_time" type="number" default="5"/> <!-- When was the last target accuired -->
		<var name="aim_target_delay" type="number" default="5"/> <!-- Time before a target is considered old -->
		
	<!-- old -->
		<var name="look_target" type="object"/> <!-- position -->
	<!-- old end -->
		
		<var name="goal_point" type="object"/> <!-- the goal position of the ai -->
		<var name="aid_point" type="object"/> <!-- position, used to evade obstacles, where to go to evade -->
		<var name="block_point" type="object"/> <!-- position, used to evade obstacles, where the actual raycheck hit -->
		<var name="tactical_point" type="object"/> <!-- the position zone where the desided tactic is, is used with position clamping to get there bit by bit. -->
		
	<!-- Enemies -->
		<var name="enemy" type="object"/> <!-- unit enemy selected -->
		<var name="enemy_positions" type="object"/> <!-- vector with enemy positions -->
		<var name="enemy_last_seen" type="number" default="0"/> <!-- when did you see an enemy last-->
		
		<var name="attacking_enemy" type="object"/> <!-- unit enemy selected -->
		
	<!-- Cover -->
		<var name="current_cover" type="object"/> <!-- cover unit -->
		<var name="current_coverpoint" type="object"/> <!-- cover point class -->
		<var name="current_coverpoint_group" type="string"/> <!-- cover group name -->
		<var name="current_coverpoint_safe" type="boolean" default="false"/>
		
		<var name="goal_cover" type="object"/> <!-- cover unit -->
		<var name="goal_coverpoint" type="object"/> <!-- cover point class -->
		<var name="goal_coverpoint_group" type="string"/> <!-- cover group name -->
		<var name="goal_cover_height" type="number" default="0"/> <!-- the height of the coverpoint -->
		
		<var name="ready_coverpoint" type="object"/> <!-- cover point class -->
		<var name="aid_obstacle" type="object"/> <!-- cover unit -->
		
		<var name="blocking_cover" type="object"/> <!-- cover unit that AI finds blocking its path before it starts to move, used to devide the updators into smaller parts -->
		
	<!-- Emotions, innehållet kan sjunkaihop n†got under transport 0-2.0 for good multipliers -->
		<var name="emo_calm" type="number" default="2.0"/> <!-- how much do we hear/see, how good do we shoot, how logic are we -->
		<var name="emo_stress" type="number" default="2.0"/> <!-- how much are we being shot at, stressed out -->
		
	<!-- Tacticts, 0-2.0 for good multipliers -->
		<var name="tac_agression" type="number" default="1.5"/> <!-- how much terrain should we take, how much should we shoot -->
		<var name="tac_speed" type="number" default="1.5"/> <!-- how fast we should move -->
		<var name="tac_spreadout" type="number" default="1.5"/> <!-- how good a soldier are we in general -->
		<var name="tac_skill" type="number" default="2.0"/> <!-- how good a soldier are we in general -->
		
		<var name="stance_wanted" type="number" default="1"/> <!-- 0 stand, 1 crouch, 2 crawl -->
		
	<!-- General values -->
		<!-- used on second pass -->
		<var name="move_target_dis" type="number" default="0"/>
		
		<var name="delay_to_wait_enemy" type="number" default="5"/> <!-- how long do we wait on leans/etc to find new target or to spot old -->
		<var name="time_to_wait_for_enemy" type="number" default="5"/>
		<var name="delay_to_use_cover" type="number" default="0"/> <!-- 60 -->
		<var name="time_to_use_cover" type="number" default="0"/>
		
		<var name="dis_point" type="number" default="0"/> <!-- distance to a point to feel close enough -->
		<var name="dis_sprint_point" type="number" default="0"/> <!-- distance to a point to feel close enough -->
		<var name="dis_to_sprint" type="number" default="0"/> <!-- total move distance needed to go to sprint -->
		<var name="dis_to_always_sprint" type="number" default="0"/> <!-- total move distance to always go to sprint -->
		<var name="dis_to_dive" type="number" default="0"/> <!-- distance to target needed to dive to it -->
		<var name="dis_aid_point" type="number" default="0"/> <!-- distance to aid point to feel close enough -->
		<var name="dis_to_tactical_point" type="number" default="0"/> <!-- wanted minimum distance to enemy -->
		<var name="dis_to_enemy" type="number" default="0"/> <!-- wanted minimum distance to enemy -->
		
		<var name="fire_delay" type="number" default="0.0"/> <!-- wanted minimum distance to enemy -->
		<var name="last_fire" type="number" default="0"/> <!-- wanted minimum distance to enemy -->
		<var name="delay_guess_where_enemy" type="number" default="2"/> <!-- the amount of time we still can guess where enemy is even though we don't see him -->
		<var name="time_guess_where_enemy" type="number" default="2"/> <!-- the amount -->
		
		<var name="current_coverpoint_good" type="boolean" default="false"/> <!-- are we happy with the current coverpoint? -->
		<var name="wants_to_sprint_there" type="boolean" default="true"/> <!-- used when AI wants to sprint to a location, but uses Aid inbetween -->
		<var name="wants_to_use_corner" type="boolean" default="true"/>
		
		<var name="cover_check_rad_reset" type="number" default="0"/>
		<var name="cover_check_rad" type="number" default="0"/>
		<var name="cover_check_dis_reset" type="number" default="0"/>
		<var name="cover_check_dis" type="number" default="0"/>
		
		<var name="exit_cover_style" type="string" default="aid"/> <!-- "path" "aid" "exit" -->
		
		<var name="delay_to_wait_move_ray" type="number" default="1.5"/>
		<var name="time_to_wait_move_ray" type="number" default="0"/>
		
		<var name="delay_to_wait_look_ray" type="number" default="0"/> <!-- put small random here at init -->
		<var name="time_to_wait_look_ray" type="number" default="0"/>

		<var name="delay_to_sprint" type="number" default="3"/> <!-- put small random here at init -->
		<var name="time_to_sprint" type="number" default="0"/>
		
		<var name="current_state" type="string"/>
		
		<!-- not used yet, or is being removed -->
		<var name="dis_to_move_slow" type="number" default="50"/> <!-- a safe distance to move slow, not sprint -->
		<var name="wanted_posture" type="number" default="0"/> <!-- distance to a point to feel close enough -->
		<var name="started_lean" type="number" default="15"/> <!-- how long do we wait on leans to find new target or to spot old -->
		
	<!-- Ai navigation graph management -->
		<var name="nav_point" type="object"/> <!-- navigational point -->
		<var name="nav_points" type="object"/> <!-- list of navigational points -->
		<var name="nav_points_size" type="object"/> <!-- size of the list of navigational points -->
		<var name="nav_goal_index" type="number" default="0"/> <!-- Where is the goal point in the nav_points vector we on the graph in steps -->
		<var name="nav_delay" type="number" default="60"/> <!-- How much time must pass before graph is considered old -->   <!-- 60 -->
		<var name="nav_time" type="number" default="0"/> <!-- When did we update the nav_time last + nav_delay -->
		<var name="nav_dis" type="number" default="100"/> <!-- Distance to navpoint to step to the next in nav_points -->
		<var name="nav_reached_goal" type="boolean" default="true"/> <!-- Have we reached our goal? -->
		
	<!-- Leaning -->
		<var name="lean_point" type="object"/>
		<var name="lean_move_point" type="object"/>
		<var name="lean_vec" type="object"/>
		<var name="lean_dir" type="number" default="0"/> <!-- 0 no lean, 1 right, 2 left -->
		<var name="lean_point_len" type="number" default="300"/> <!-- length the lean point should be projected from the corner -->
		<var name="dis_lean_point" type="number" default="10"/> <!-- distance to aid point to feel close enough -->
		
	<!-- stance, move to human data -->
		<var name="stance_name" type="string" default="crouch"/> <!-- upright, crouch, crawl -->
		<var name="still" type="boolean" default="true"/> <!-- distance to aid point to feel close enough -->
		
		<var name="stop_diving" type="number" default="0"/> <!-- temp demo hack -->
		<var name="dive_pos_last" type="object"/> <!-- temp demo hack -->
		
		<var name="sprint" type="boolean" default="true"/>

	<!-- ammo test -->
		<var name="ammo" type="number" default="30"/>
		
		
	<!-- dynamic cover checks -->
		<var name="current_cover_time" type="number" default="0"/>
		<var name="goal_cover_time" type="number" default="0"/>
		 
	</block>
</stats_blocks>
