"HUMAN_GEN_ATTACK_UNIT"
{
	INT my_unit_recno 
	my_unit_recno = FUNC("get_character_recno") 

	INT random_number 
	INT enemy_recno 
	INT enemy_item_recno
	INT target_unit_recno 

	// attack enemy on road
	enemy_recno = FUNC("search_for_unit" , my_unit_recno, "E" , 100, 0, 0) 
	enemy_item_recno = FUNC("search_for_item" , my_unit_recno, "E" , 100, 0) 

	if( enemy_recno || enemy_item_recno )
	{
		FUNC("set_unit_mode" , my_unit_recno, "ATTACK")
	}

	if ( enemy_recno == 0 && enemy_item_recno == 0 )
	{
		FUNC("set_unit_mode" , my_unit_recno, "IDLE" )
	}

	if( FUNC("is_attack_mode", my_unit_recno) )
	{
		if( enemy_recno )
		{
			ACTION("give_order" , my_unit_recno, "TURN" , 4 , 0 , FUNC("get_rotation" , my_unit_recno, enemy_recno) , 0 , 0 , 2500)

			random_number = FUNC("random_number" , 1)

//			if ( random_number == 0 )		// 1/1 attack the enemy!
//			{
				random_number = FUNC("random_number" , 5)

				if( random_number <= 1 ) // 2/5 to do one combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "A", 1) , 0 , 0 , 1500) 
					exit
				}
				if( random_number <= 3 ) // 2/5 to do two combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "AA", 1) , 0 , 0 , 1500) 
					exit
				}
				if( random_number <= 4 ) // 1/5 to do three combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "AAA", 1) , 0 , 0 , 1500) 
					exit
				}
				exit
//			}

		}

		if( enemy_item_recno )
		{
			ACTION("give_order" , my_unit_recno, "TURN" , 4 , 0 , FUNC("get_item_rotation" , my_unit_recno, enemy_item_recno) , 0 , 0 , 2500)

			random_number = FUNC("random_number" , 1)

//			if ( random_number == 0 )		// 1/1 attack the enemy!
//			{
				random_number = FUNC("random_number" , 5)

				if( random_number <= 1 ) // 2/5 to do one combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "A", 1) , 0 , 0 , 1500) 
					exit
				}
				if( random_number <= 3 ) // 2/5 to do two combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "AA", 1) , 0 , 0 , 1500) 
					exit
				}
				if( random_number <= 4 ) // 1/5 to do three combo
				{
					ACTION("give_order" , my_unit_recno, "COMBO_ATTACK" , 3 , 0 , FUNC("string_to_order_para", "AAA", 1) , 0 , 0 , 1500) 
					exit
				}
				exit
//			}

		}

		exit
	}

	if( FUNC("is_idle_mode", my_unit_recno) )
	{
		enemy_recno = FUNC("search_for_unit" , my_unit_recno, "E" , 500, 0, 0) 
		enemy_item_recno = FUNC("search_for_item" , my_unit_recno, "E" , 500, 0) 

		if( enemy_item_recno ) 
		{
			ACTION("give_order" , my_unit_recno, "APPROACH_ITEM" , 2 , 1 , enemy_item_recno , 70 , 70 , 3000)
			exit
		}

		if( enemy_recno )
		{
			ACTION("give_order" , my_unit_recno, "APPROACH_ENEMY" , 2 , 1 , enemy_recno , 70 , 70 , 3000)
			exit
		}

		// search for gate to open
		enemy_item_recno = FUNC("search_for_item" , my_unit_recno, "FG" , 500, 0) 

		if( enemy_item_recno )
		{
			ACTION("give_order" , my_unit_recno, "GATE_OPEN" , 2 , 0 , enemy_item_recno , 1 , 0 , 1500) 
		}

		// approach his attack unit	
		target_unit_recno = FUNC("get_curr_task_para" , my_unit_recno, 1)
		ACTION("give_order" , my_unit_recno, "APPROACH_ENEMY", 1 , 1 , target_unit_recno, 100 , 200 , 30000)
	}

}
   


