"S8L1_tactic.sce"
{
	//unit
	INT joan_recno 
	INT alencon_recno
	INT la_hire_recno
	INT jean_recno
	INT bastard_recno
	INT flavy_recno
	INT anjou_recno
	INT charles_recno
	INT richemont_recno

	INT using_recno

	INT main_recno

	INT bedford_recno
	INT philip_recno
	INT wandomme_recno
	INT lux_recno
	INT fastolf_recno

	INT catapult_recno

	// ai unit
	INT messager_recno

	INT unit_recno

	INT priest_recno
	INT councillor_recno
	INT valois_citizen_recno_b

	INT the_priest_recno
	INT oarman_recno

	// citizens

	INT s_one_weapon_seller_recno
	INT s_two_potion_seller_recno
	INT s_three_weapon_seller_recno
	INT s_four_potion_seller_recno
	INT s_four_weapon_seller_recno
	INT s_five_potion_seller_recno
	INT s_five_weapon_seller_recno
	INT s_seven_potion_seller_recno


	INT unit_one_recno
	INT unit_two_recno
	INT unit_three_recno
	INT chateau_citizen_one
	INT chateau_citizen_two
	INT milon_citizen_one
	INT milon_citizen_two
	INT milon_citizen_three
	INT milon_citizen_four
	INT provins_citizen_one
	INT provins_citizen_two
	INT provins_citizen_three
	INT provins_citizen_four

	INT dammartin_citizen_one
	INT dammartin_citizen_two
	INT dammartin_citizen_three
	INT dammartin_citizen_four
	INT dammartin_citizen_five
	INT dammartin_citizen_six

	// place
	INT bedford_spawn_recno
	INT catapult_range_recno

	INT near_workshop_recno
	INT in_pont_recno

	INT camp_two_recno
	INT camp_eight_recno

	INT meet_charles_recno
	INT middle_lord_recno

	INT in_forest_a
	INT in_forest_b
	INT in_forest_c
	INT to_right_recno

	INT reach_limit_recno

	INT camp_floid_recno

	INT on_island_recno
	INT on_hill_recno

	INT to_senlis_recno
	INT in_church_recno

	INT farmland_recno

	INT church_middle_recno
	INT paris_eight_recno
	INT paris_nine_recno
	INT in_paris_recno
	INT meet_anjou_recno
	INT arrive_paris_recno
	INT check_enemy_recno
	INT meet_bedford_recno
	INT meet_king_recno
	INT senlis_door_recno
	INT to_paris_recno

	INT gate_top_recno
	INT go_gate_door_recno

	INT senlis_bedford_recno

	INT dammartin_target_recno

	INT joan_target_recno
	INT provins_target_recno
	INT go_provins_recno

	INT block_two_a
	INT block_two_c
	INT block_three_a

	INT goto_crepy_place_recno
	INT town_st_denis_recno
	INT town_senlis_recno
	INT town_choisy_recno
	INT arrive_town_dammartin_recno
	INT town_dammartin_recno
	INT town_lagny_recno
	INT castle_chateau_recno
	INT castle_provins_recno
	INT town_valois_recno
	INT town_coulommiers_recno
	INT town_sossions_recno

	INT start_place_recno

	INT near_cell_recno

	INT	in_lagny_place_recno
	INT in_town_dammartin_recno

	INT castle_compiegne_recno

	INT spawn_unit_recno
	INT unit_target_recno
	INT unit_going_recno

	INT meet_richemont_recno

	INT reach_chateau_recno
	INT reach_provins_recno
	INT in_provins_recno
	INT in_provins_recno_two

	INT bedford_retreat_one
	INT bedford_retreat_two

	INT in_forest_recno
	INT target_place_recno

	INT first_place_recno

	INT reach_soissons_recno

	INT many_tree_recno
	INT arrow_ambush_recno

	INT see_camp_recno
	INT sector_two_camp_one

	INT open_gate_recno
	INT meet_flavy_recno

	INT enter_cemetery_recno
	INT start_rain_recno
	INT flavy_target_recno

	INT range_unit_recno
	INT attach_north_recno
	INT philip_come_recno

	INT range_unit_two_recno
	INT reach_pont_recno

	INT philip_target_recno
	
	// Place for Spawn
	INT philip_spawn
	INT spawn_e_one
	INT spawn_e_two

	// facility

	INT facility_s_one_barrack
	INT facility_s_two_barrack
	INT facility_s_four_barrack
	INT facility_s_five_barrack
	INT facility_s_eight_barrack

	INT s_one_weapon_shop_recno
	INT s_two_potion_shop_recno
	INT s_three_weapon_shop_recno
	INT s_four_potion_shop_recno
	INT s_four_weapon_shop_recno
	INT s_five_weapon_shop_recno
	INT s_five_potion_shop_recno
	INT s_seven_potion_shop_recno

	INT spawn_english_a
	INT spawn_english_b
	INT spawn_english_c
	INT spawn_english_d
	INT spawn_english_e
	INT spawn_english_f
	INT spawn_english_g
	INT spawn_english_h
	INT spawn_english_i
	INT spawn_english_j
	INT spawn_english_k
	INT spawn_english_l
	INT spawn_english_m
	INT spawn_english_n
	INT spawn_english_o
	INT spawn_english_p
	INT spawn_english_q
	INT spawn_english_r
	INT spawn_english_s
	INT spawn_english_t
	INT spawn_english_u
	INT spawn_english_v
	INT spawn_english_w
	INT spawn_english_x
	INT spawn_english_aa
	INT spawn_english_ab
	INT spawn_english_ac
	INT spawn_english_ad
	INT spawn_english_ae
	INT spawn_english_af
	INT spawn_english_ag
	INT spawn_english_ah
	INT spawn_english_ba
	INT spawn_english_bb
	INT spawn_english_bc
	INT spawn_english_bd
	INT spawn_english_be
	INT spawn_english_bf
	INT spawn_english_ca
	INT spawn_english_cb
	INT spawn_english_cc
	INT spawn_english_cd
	INT spawn_english_ce
	INT spawn_english_cf
	INT spawn_english_da
	INT spawn_english_db
	INT spawn_english_dc
	INT spawn_english_dd
	INT spawn_english_de
	INT spawn_english_df
	INT spawn_english_ea
	INT spawn_english_eb
	INT spawn_english_ec
	INT spawn_english_ed
	INT spawn_english_ee
	INT spawn_english_ef
	INT spawn_english_fa
	INT spawn_english_fb
	INT spawn_english_fc
	INT spawn_english_fd
	INT spawn_english_fe
	INT spawn_english_ff

	INT spawn_english_z
	INT spawn_english_z_one
	INT spawn_english_z_two
	INT spawn_english_z_three

	INT spawn_flavy
	INT flavy_target_recno_a

	INT provins_bedford_recno
	INT denis_wandomme_a
	INT denis_wandomme_b

	INT philip_spawn_a
	INT philip_spawn_b
	INT philip_spawn_c
	INT philip_spawn_d
	INT philip_spawn_e
	INT philip_spawn_f
	INT philip_spawn_g

	INT bedford_spawn_a
	INT bedford_spawn_b
	INT bedford_spawn_c
	INT bedford_spawn_d
	INT bedford_spawn_e
	INT bedford_spawn_f
	INT bedford_spawn_g
	INT bedford_spawn_h
	INT bedford_spawn_i
	INT bedford_spawn_j
	INT bedford_spawn_k
	INT bedford_spawn_l
	INT bedford_spawn_m
	INT bedford_spawn_n
	INT bedford_spawn_o
	INT bedford_spawn_p
	INT bedford_spawn_q
	INT bedford_spawn_r
	INT bedford_spawn_s
	INT bedford_spawn_t
	INT bedford_spawn_u
	INT bedford_spawn_v

	INT bedford_spawn_aa
	INT bedford_spawn_ab
	INT bedford_spawn_ac
	INT bedford_spawn_ad
	INT bedford_spawn_ae
	INT bedford_spawn_af

	INT bedford_spawn_ba
	INT bedford_spawn_bb
	INT bedford_spawn_bc
	INT bedford_spawn_bd
	INT bedford_spawn_be
	INT bedford_spawn_bf

	INT bedford_spawn_ca
	INT bedford_spawn_cb
	INT bedford_spawn_cc
	INT bedford_spawn_cd
	INT bedford_spawn_ce
	INT bedford_spawn_cf

	INT bedford_spawn_da
	INT bedford_spawn_db
	INT bedford_spawn_dc
	INT bedford_spawn_dd
	INT bedford_spawn_de
	INT bedford_spawn_df

	INT bedford_spawn_ea
	INT bedford_spawn_eb
	INT bedford_spawn_ec
	INT bedford_spawn_ed
	INT bedford_spawn_ee
	INT bedford_spawn_ef

	INT bedford_spawn_fa
	INT bedford_spawn_fb
	INT bedford_spawn_fc
	INT bedford_spawn_fd
	INT bedford_spawn_fe
	INT bedford_spawn_ff

	INT bedford_spawn_ga
	INT bedford_spawn_gb
	INT bedford_spawn_gc
	INT bedford_spawn_gd
	INT bedford_spawn_ge
	INT bedford_spawn_gf

	INT spawn_e_one_a
	INT spawn_e_one_b
	INT spawn_e_one_c
	INT spawn_e_one_d
	INT spawn_e_one_e
	INT spawn_e_one_f
	INT spawn_e_one_g
	INT spawn_e_one_h

	INT spawn_e_two_a
	INT spawn_e_two_b
	INT spawn_e_two_c
	INT spawn_e_two_d
	INT spawn_e_two_e
	INT spawn_e_two_f
	INT spawn_e_two_g
	INT spawn_e_two_h
	INT spawn_e_two_i

	INT spawn_unit_a

	INT town_valois_a
	INT town_valois_b
	INT town_valois_c
	INT town_valois_d

	INT range_unit_a
	INT range_unit_b
	INT range_unit_c
	INT range_unit_d
	INT range_unit_e
	INT range_unit_f

	// event
	INT event_one_place_recno
	INT event_seven_place_recno
	INT event_ten_place_recno
	INT event_two_four_place_recno
	INT event_two_five_place_recno
	INT event_two_six_place_recno
	INT arrive_compiegne_recno
	INT defend_place_one

	// event item
	INT north_wall_recno
	INT explosive_kegs_recno

	INT church_door_a
	INT church_door_b
	INT church_door_c
	INT church_door_d
	INT church_door_e

	INT paris_door_three_a
	INT paris_door_three_b
	INT paris_door_four_a
	INT paris_door_four_b
	INT paris_door_five_a
	INT paris_door_five_b
	INT paris_door_six_a
	INT paris_door_six_b
	INT paris_door_seven_a
	INT paris_door_seven_b
	INT paris_door_eight_a
	INT paris_door_eight_b
	INT paris_door_nine_a
	INT paris_door_nine_b
	INT paris_door_ten_a
	INT paris_door_ten_b

	INT compiegne_wall_recno

	INT lagny_door_a
	INT lagny_door_b

	INT block_two_a_item
	INT block_two_c_item
	INT block_three_a_item

	INT pont_gate_recno

	INT trap_door_recno

	INT jail_cell_gate

	INT chateau_north_gate
	INT chateau_south_gate
	INT provins_north_gate
	INT provins_south_gate

	INT compiegne_north_gate
	INT compiegne_south_gate

	// item id
	INT letter_one_id
	INT letter_two_id
	INT letter_three_id

	// unit id
	INT ehinfcap_id
	INT ehinfant_id
	INT ecrosscap_id
	INT ecrossbow_id
	INT earcher_id
	INT	earchcap_id
	INT elinfant_id
	INT elinfcap_id

	INT epolecap_id
	INT epoleman_id
	INT emaceman_id
	INT emacecap_id

	INT bur_linfcap_id
	INT bur_hinfcap_id
	INT bur_hinf_id
	INT bur_linf_id
	INT bur_archer_id
	INT bur_arccap_id

	INT fhinfcap_id

	INT catapult_id

	INT phillip_id
	INT bedford_id
	INT flavy_id
	INT wandomme_id

	INT citizen_one_id
	INT citizen_two_id
	INT priest_id
	INT councillor_id

	// team leader recno
	INT team_seven_recno
	INT team_eight_recno
	INT team_nine_recno
	INT team_ten_recno
	INT team_two_eight_recno
	INT team_two_nine_recno
	INT team_three_zero_recno
	INT team_three_one_recno
	INT team_six_two_recno
	INT team_six_six_recno
	INT team_six_seven_recno
	INT team_six_eight_recno
	INT team_seven_one_recno
	INT team_philip_recno

	INT team_one_six_recno
	INT team_one_seven_recno
	INT team_one_eight_recno
	INT team_one_nine_recno
	INT team_two_zero_recno
	INT team_one_zero_four_recno

	INT team_two_eight_leader
	INT team_two_nine_leader
	INT team_three_zero_leader

	INT team_one_four_nine_leader

	// in chateau
	INT team_one_two_three_leader
	INT team_one_two_four_leader
	INT team_one_two_five_leader
	INT team_one_three_six_leader
	INT team_one_three_five_leader

	INT team_one_nine_two_leader
	INT team_one_nine_three_leader
	INT team_one_nine_four_leader
	INT team_one_nine_five_leader
	INT team_one_nine_six_leader
	INT team_one_nine_seven_leader

	INT team_three_six_leader
	INT team_three_seven_leader
	INT team_three_eight_leader
	INT team_three_nine_leader

	INT team_three_nine_zero_leader
	INT team_three_nine_one_leader

	INT team_three_eight_eight_leader
	INT team_three_eight_nine_leader

	INT team_one_zero_nine_leader
	INT team_one_one_two_leader
	INT team_one_one_three_leader

	INT team_one_five_zero_leader
	INT team_one_five_one_leader
	INT team_one_five_two_leader
	INT team_one_five_three_leader

	INT team_one_seven_two_leader
	INT team_one_seven_three_leader
	
	INT team_one_eight_one_leader
	INT team_one_eight_two_leader
	INT team_one_eight_seven_leader

	INT team_two_zero_three_leader
	INT team_two_zero_four_leader

	INT team_two_six_eight_leader

	INT team_three_four_zero_leader
	INT team_three_four_one_leader
	INT team_three_four_two_leader
	INT team_three_four_three_leader
	INT team_three_four_four_leader
	INT team_three_four_five_leader

	INT team_three_seven_eight_leader
	INT team_three_seven_nine_leader
	INT team_three_eight_zero_leader
	INT team_three_eight_one_leader

	INT team_four_three_eight_leader
	INT team_four_three_nine_leader
	INT team_four_four_zero_leader
	INT team_four_four_one_leader
	INT team_four_four_two_leader
	INT team_four_four_three_leader
	INT team_four_four_four_leader
	INT team_four_four_five_leader


	// --- French --- //
	INT team_seven_four_leader
	INT team_seven_five_leader
	INT team_seven_six_leader
	INT team_seven_seven_leader
	INT team_seven_eight_leader
	INT team_seven_nine_leader
	INT team_eight_zero_leader
	INT team_eight_one_leader
	INT team_eight_two_leader
	INT team_eight_three_leader
	INT team_eight_four_leader
	INT team_two_zero_five_leader



	// item
	INT key_one_id
	INT key_two_id

	INT four_four_cage_recno
	INT four_four_cage_recno_one
	INT four_four_cage_recno_two

	// cannon
	INT cannon_recno
	INT cannon_controller_recno
	INT cannon_recno_a
	INT cannon_controller_recno_aa
	INT cannon_controller_recno_ab
	INT cannon_recno_b
	INT cannon_controller_recno_ba
	INT cannon_controller_recno_bb
	INT cannon_recno_c
	INT cannon_controller_recno_ca
	INT cannon_controller_recno_cb
	INT ecannon_recno_one
	INT ecannon_recno_one_a
	INT ecannon_recno_one_b
	INT ecannon_recno_two
	INT ecannon_recno_two_a
	INT ecannon_recno_two_b
	INT ecannon_recno_three
	INT ecannon_recno_three_a
	INT ecannon_recno_three_b
	INT ecannon_recno_four
	INT ecannon_recno_four_a
	INT ecannon_recno_four_b
	INT ecannon_recno_five
	INT ecannon_recno_five_a
	INT ecannon_recno_five_b

	INT s_seven_cannon_one
	INT s_seven_cannon_one_a
	INT s_seven_cannon_one_b
	INT s_seven_cannon_two
	INT s_seven_cannon_two_a
	INT s_seven_cannon_two_b

	INT s_eight_cannon_one
	INT s_eight_cannon_one_a
	INT s_eight_cannon_one_b
	INT s_eight_cannon_two
	INT s_eight_cannon_two_a
	INT s_eight_cannon_two_b

	// Door
	INT s_eight_cannon_three
	INT s_eight_cannon_three_a
	INT s_eight_cannon_three_b
	INT s_eight_cannon_four
	INT s_eight_cannon_four_a
	INT s_eight_cannon_four_b
	INT s_eight_cannon_five
	INT s_eight_cannon_five_a
	INT s_eight_cannon_five_b
	INT s_eight_cannon_six
	INT s_eight_cannon_six_a
	INT s_eight_cannon_six_b
	INT s_eight_cannon_seven
	INT s_eight_cannon_seven_a
	INT s_eight_cannon_seven_b
	INT s_eight_cannon_eight
	INT s_eight_cannon_eight_a
	INT s_eight_cannon_eight_b
	INT s_eight_cannon_nine
	INT s_eight_cannon_nine_a
	INT s_eight_cannon_nine_b
	INT s_eight_cannon_ten
	INT s_eight_cannon_ten_a
	INT s_eight_cannon_ten_b

	INT ebombard_recno_one
	INT ebombard_recno_one_a
	INT ebombard_recno_one_b

	INT ebombard_recno_two
	INT ebombard_recno_two_a
	INT ebombard_recno_two_b

	INT s_eight_bombard_one
	INT s_eight_bombard_one_a
	INT s_eight_bombard_one_b

	INT s_eight_bombard_two
	INT s_eight_bombard_two_a
	INT s_eight_bombard_two_b

	INT s_eight_bombard_three
	INT s_eight_bombard_three_a
	INT s_eight_bombard_three_b

	INT s_eight_bombard_four
	INT s_eight_bombard_four_a
	INT s_eight_bombard_four_b

	INT s_eight_bombard_five
	INT s_eight_bombard_five_a
	INT s_eight_bombard_five_b

	INT s_eight_bombard_six
	INT s_eight_bombard_six_a
	INT s_eight_bombard_six_b

	INT s_eight_bombard_seven
	INT s_eight_bombard_seven_a
	INT s_eight_bombard_seven_b

	INT s_eight_bombard_eight
	INT s_eight_bombard_eight_a
	INT s_eight_bombard_eight_b

	INT s_eight_bombard_nine
	INT s_eight_bombard_nine_a
	INT s_eight_bombard_nine_b

	INT fcannon_recno_one
	INT fcannon_recno_one_a
	INT fcannon_recno_one_b
	INT fcannon_recno_two
	INT fcannon_recno_two_a
	INT fcannon_recno_two_b

	INT cannon_attach_index
	INT cannon_attach_x
	INT cannon_attach_y
	INT cannon_attach_z
	INT cannon_distance

	// unit in place
	INT joan_in_place_recno
	INT alencon_in_place_recno
	INT unit_in_place_recno

	INT num_of_enemy

	INT talk_unit_recno
	INT interact_item_recno

	INT jean_arrow_count

	init 
	{
		// get unit recno
		joan_recno = FUNC("search_unit_by_code" , "Joan_of_arc") 
		alencon_recno = FUNC("search_unit_by_code" , "Alencon") 
		la_hire_recno = FUNC("search_unit_by_code" , "LaHire") 
		jean_recno = FUNC("search_unit_by_code" , "Jean_de_metz") 
		bastard_recno = FUNC("search_unit_by_code", "Orlean")
		flavy_recno	  = FUNC("search_unit_by_code", "Flavy")
		charles_recno = FUNC("search_unit_by_code", "CHARLIE7")
		anjou_recno = FUNC("search_unit_by_name", "Rene de Anjou")
		richemont_recno = FUNC("search_unit_by_code", "arthur_de_richemont")

		bedford_recno = FUNC("search_unit_by_code", "BEDFORD")
		lux_recno = FUNC("search_unit_by_code", "Luxembourg")
		philip_recno = FUNC("search_unit_by_code", "Philip_the_good")
		wandomme_recno = FUNC("search_unit_by_code", "WANDOMME")
		fastolf_recno = FUNC("search_unit_by_code", "JOHN_FASTOLF")

		// citizens
		s_one_weapon_seller_recno = FUNC("search_unit_by_name", "Orry Goulier")
		ACTION("give_task", s_one_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_two_potion_seller_recno = FUNC("search_unit_by_name", "Alard Ferron")
		ACTION("give_task", s_two_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_three_weapon_seller_recno = FUNC("search_unit_by_name", "Ami Huchier")
		ACTION("give_task", s_three_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_four_potion_seller_recno = FUNC("search_unit_by_name", "Renier Chapelier")
		ACTION("give_task", s_four_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_four_weapon_seller_recno = FUNC("search_unit_by_name", "Garnier Basanier")
		ACTION("give_task", s_four_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_five_potion_seller_recno = FUNC("search_unit_by_name", "Ponce Leitier")
		ACTION("give_task", s_five_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_five_weapon_seller_recno = FUNC("search_unit_by_name", "Roger Coustier")
		ACTION("give_task", s_five_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		s_seven_potion_seller_recno = FUNC("search_unit_by_name", "Charles Deicier")
		ACTION("give_task", s_seven_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0) 

		unit_one_recno = FUNC("search_unit_by_name", "Imbert Drapier")
		unit_two_recno = FUNC("search_unit_by_name", "Robert Autelleur")
		unit_three_recno = FUNC("search_unit_by_name", "Orry Boursier")

		catapult_recno = FUNC("search_unit_by_name", "Walter Leticie")

		chateau_citizen_one = FUNC("search_unit_by_name", "Vilain Archier")
		chateau_citizen_two = FUNC("search_unit_by_name", "Aude Saunier")

		the_priest_recno = FUNC("search_unit_by_name", "The Priest")
		
		oarman_recno = FUNC("search_unit_by_name", "Gervais Chenier")

		milon_citizen_one = FUNC("search_unit_by_name", "Charles Bahurier")
		milon_citizen_two = FUNC("search_unit_by_name", "Othon Courrier")
		milon_citizen_three = FUNC("search_unit_by_name", "Gervais Bedel")
		milon_citizen_four = FUNC("search_unit_by_name", "Ami Clerc")

		provins_citizen_one = FUNC("search_unit_by_name", "Ange Hougier")
		provins_citizen_two = FUNC("search_unit_by_name", "Alard Oier")
		provins_citizen_three = FUNC("search_unit_by_name", "Henri Ferron")
		provins_citizen_four = FUNC("search_unit_by_name", "Carol Lampier")

		dammartin_citizen_one = FUNC("search_unit_by_name", "Claire Lombart")
		dammartin_citizen_two = FUNC("search_unit_by_name", "Alard Potier")
		dammartin_citizen_three = FUNC("search_unit_by_name", "Ponce Selier")
		dammartin_citizen_four = FUNC("search_unit_by_name", "Anseau Ferpier")
		dammartin_citizen_five = FUNC("search_unit_by_name", "Conon Meuleur")
		dammartin_citizen_six = FUNC("search_unit_by_name", "Gala Deicier")

		ACTION("give_task", flavy_recno, "IDLE", 1, 0, 0, 0, 0)

		// get citizens
		ACTION("give_task", the_priest_recno, "IDLE", 1, 0, 0, 0, 0)

		// get team leader
		team_seven_recno = FUNC("get_unit_team_leader_by_team_id", 7)
		ACTION("give_task", team_seven_recno, "IDLE", 1, 0, 0, 0, 0)

		team_eight_recno = FUNC("get_unit_team_leader_by_team_id", 8)
		ACTION("give_task", team_eight_recno, "IDLE", 1, 0, 0, 0, 0)

		team_nine_recno = FUNC("get_unit_team_leader_by_team_id", 9)
		ACTION("give_task", team_nine_recno, "IDLE", 1, 0, 0, 0, 0)

		team_ten_recno = FUNC("get_unit_team_leader_by_team_id", 10)
		ACTION("give_task", team_ten_recno, "IDLE", 1, 0, 0, 0, 0)

		team_one_zero_nine_leader = FUNC("get_unit_team_leader_by_team_id", 109)
		ACTION("give_task", team_one_zero_nine_leader, "TOWER_ATTACK", 1, 3000, 0, 0, 0)

		team_one_one_two_leader = FUNC("get_unit_team_leader_by_team_id", 112)
		ACTION("give_task", team_one_one_two_leader, "IDLE", 1, 0, 0, 0, 0)

		team_one_one_three_leader = FUNC("get_unit_team_leader_by_team_id", 113)

		team_one_four_nine_leader = FUNC("get_unit_team_leader_by_team_id", 149)

		team_one_two_three_leader = FUNC("get_unit_team_leader_by_team_id", 123)
		team_one_two_four_leader = FUNC("get_unit_team_leader_by_team_id", 124)
		team_one_two_five_leader = FUNC("get_unit_team_leader_by_team_id", 125)
		team_one_three_six_leader = FUNC("get_unit_team_leader_by_team_id", 136)
		team_one_three_five_leader = FUNC("get_unit_team_leader_by_team_id", 135)

		team_one_five_zero_leader = FUNC("get_unit_team_leader_by_team_id", 150)
		ACTION("give_task", team_one_five_zero_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_one_five_one_leader = FUNC("get_unit_team_leader_by_team_id", 151)
		ACTION("give_task", team_one_five_one_leader, "IDLE", 1, 3000, 0, 0, 0)
	
		team_one_five_two_leader = FUNC("get_unit_team_leader_by_team_id", 152)
		ACTION("give_task", team_one_five_two_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_one_five_three_leader = FUNC("get_unit_team_leader_by_team_id", 153)
		ACTION("give_task", team_one_five_three_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_one_seven_two_leader = FUNC("get_unit_team_leader_by_team_id", 172)
		ACTION("give_task", team_one_seven_two_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_one_seven_three_leader = FUNC("get_unit_team_leader_by_team_id", 173)
		ACTION("give_task", team_one_seven_three_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_one_eight_one_leader = FUNC("get_unit_team_leader_by_team_id", 181)
		ACTION("give_task", team_one_eight_one_leader, "TOWER_ATTACK", 1, 3000, 0, 0, 0)
		team_one_eight_two_leader = FUNC("get_unit_team_leader_by_team_id", 182)
		ACTION("give_task", team_one_eight_two_leader, "TOWER_ATTACK", 1, 3000, 0, 0, 0)

		team_one_eight_seven_leader = FUNC("get_unit_team_leader_by_team_id", 187)

		team_two_zero_three_leader = FUNC("get_unit_team_leader_by_team_id", 203)
		ACTION("give_task", team_two_zero_three_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_two_zero_four_leader = FUNC("get_unit_team_leader_by_team_id", 204)
		ACTION("give_task", team_two_zero_four_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_two_six_eight_leader = FUNC("get_unit_team_leader_by_team_id", 268)
		ACTION("give_task", team_three_four_zero_leader, "TOWER_ATTACK", 1, 500, 0, 0, 0)

		team_three_four_zero_leader = FUNC("get_unit_team_leader_by_team_id", 340)
		ACTION("give_task", team_three_four_zero_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_four_one_leader = FUNC("get_unit_team_leader_by_team_id", 341)
		ACTION("give_task", team_three_four_one_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_four_two_leader = FUNC("get_unit_team_leader_by_team_id", 342)
		ACTION("give_task", team_three_four_two_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_four_three_leader = FUNC("get_unit_team_leader_by_team_id", 343)
		ACTION("give_task", team_three_four_three_leader, "TOWER_ATTACK", 1, 3500, 0, 0, 0)

		team_three_four_four_leader = FUNC("get_unit_team_leader_by_team_id", 344)
		ACTION("give_task", team_three_four_four_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_four_five_leader = FUNC("get_unit_team_leader_by_team_id", 345)
		ACTION("give_task", team_three_four_five_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_seven_eight_leader = FUNC("get_unit_team_leader_by_team_id", 378)
		ACTION("give_task", team_three_seven_eight_leader, "TOWER_ATTACK", 1, 2500, 0, 0, 0)

		team_three_seven_nine_leader = FUNC("get_unit_team_leader_by_team_id", 379)
		ACTION("give_task", team_three_seven_nine_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_three_eight_zero_leader = FUNC("get_unit_team_leader_by_team_id", 380)
		ACTION("give_task", team_three_eight_zero_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_three_eight_one_leader = FUNC("get_unit_team_leader_by_team_id", 381)
		ACTION("give_task", team_three_eight_one_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_four_three_eight_leader = FUNC("get_unit_team_leader_by_team_id", 438)
		ACTION("give_task", team_four_three_eight_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_three_nine_leader = FUNC("get_unit_team_leader_by_team_id", 439)
		ACTION("give_task", team_four_three_nine_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_zero_leader = FUNC("get_unit_team_leader_by_team_id", 440)
		ACTION("give_task", team_four_four_zero_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_one_leader = FUNC("get_unit_team_leader_by_team_id", 441)
		ACTION("give_task", team_four_four_one_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_two_leader = FUNC("get_unit_team_leader_by_team_id", 442)
		ACTION("give_task", team_four_four_two_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_three_leader = FUNC("get_unit_team_leader_by_team_id", 443)
		ACTION("give_task", team_four_four_three_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_four_leader = FUNC("get_unit_team_leader_by_team_id", 444)
		ACTION("give_task", team_four_four_four_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		team_four_four_five_leader = FUNC("get_unit_team_leader_by_team_id", 445)
		ACTION("give_task", team_four_four_five_leader, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

		// --- French --- //
		team_seven_four_leader = FUNC("get_unit_team_leader_by_team_id", 74)
		ACTION("give_task", team_seven_four_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_seven_five_leader = FUNC("get_unit_team_leader_by_team_id", 75)
		ACTION("give_task", team_seven_five_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_seven_six_leader = FUNC("get_unit_team_leader_by_team_id", 76)
		ACTION("give_task", team_seven_six_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_seven_seven_leader = FUNC("get_unit_team_leader_by_team_id", 77)
		ACTION("give_task", team_seven_seven_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_seven_eight_leader = FUNC("get_unit_team_leader_by_team_id", 78)
		ACTION("give_task", team_seven_eight_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_seven_nine_leader = FUNC("get_unit_team_leader_by_team_id", 79)
		ACTION("give_task", team_seven_nine_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_eight_zero_leader = FUNC("get_unit_team_leader_by_team_id", 80)
		ACTION("give_task", team_eight_zero_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_eight_one_leader = FUNC("get_unit_team_leader_by_team_id", 81)
		ACTION("give_task", team_eight_one_leader, "IDLE", 1, 3000, 0, 0, 0)
		
		team_eight_two_leader = FUNC("get_unit_team_leader_by_team_id", 82)
		ACTION("give_task", team_eight_two_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_eight_three_leader = FUNC("get_unit_team_leader_by_team_id", 83)
		ACTION("give_task", team_eight_three_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_eight_four_leader = FUNC("get_unit_team_leader_by_team_id", 84)
		ACTION("give_task", team_eight_four_leader, "IDLE", 1, 3000, 0, 0, 0)

		team_two_zero_five_leader = FUNC("get_unit_team_leader_by_team_id", 205)
		ACTION("give_task", team_two_zero_five_leader, "TOWER_ATTACK", 1, 1000, 0, 0, 0)
		
		// get place recno
		bedford_spawn_recno = FUNC("search_place_by_name", "bedfordSpawn")
		catapult_range_recno = FUNC("search_place_by_name", "catapultRange")

		near_workshop_recno = FUNC("search_place_by_name", "nearWorkshop")
		in_pont_recno = FUNC("search_place_by_name", "inPont")

		camp_two_recno = FUNC("search_place_by_name", "camp2")
		camp_eight_recno = FUNC("search_place_by_name", "camp8")

		meet_charles_recno = FUNC("search_place_by_name", "meetCharles")
		middle_lord_recno = FUNC("search_place_by_name", "middleLord")
		
		in_forest_a = FUNC("search_place_by_name", "inForestA")
		in_forest_b = FUNC("search_place_by_name", "inForestB")
		in_forest_c = FUNC("search_place_by_name", "inForestC")
		to_right_recno = FUNC("search_place_by_name", "toRight")

		reach_limit_recno = FUNC("search_place_by_name", "reachLimit")

		camp_floid_recno = FUNC("search_place_by_name", "campFroid")

		on_island_recno = FUNC("search_place_by_name", "onIsland")
		on_hill_recno = FUNC("search_place_by_name", "onHill")

		to_senlis_recno = FUNC("search_place_by_name", "toSenlis")

		in_church_recno = FUNC("search_place_by_name", "inChurch")

		farmland_recno = FUNC("search_place_by_name", "farmLand")

		church_middle_recno = FUNC("search_place_by_name", "churchMiddle")
		paris_eight_recno = FUNC("search_place_by_name", "paris8")
		paris_nine_recno = FUNC("search_place_by_name", "paris9")
		in_paris_recno = FUNC("search_place_by_name", "inParis")
		meet_anjou_recno = FUNC("search_place_by_name", "meetAnjou")
		arrive_paris_recno = FUNC("search_place_by_name", "arriveParis")
		check_enemy_recno = FUNC("search_place_by_name", "checkEnemy")
		meet_bedford_recno = FUNC("search_place_by_name", "meetfastolf")
		meet_king_recno = FUNC("search_place_by_name", "meetKing")
		senlis_door_recno = FUNC("search_place_by_name", "senlisDoor")
		to_paris_recno = FUNC("search_place_by_name", "toParis")

		gate_top_recno = FUNC("search_place_by_name", "gateTop")
		go_gate_door_recno = FUNC("search_place_by_name", "goGateDoor")

		senlis_bedford_recno = FUNC("search_place_by_name", "senlisfastolfA")

		dammartin_target_recno = FUNC("search_place_by_name", "dammartinTarget")
		
		joan_target_recno = FUNC("search_place_by_name", "joanTarget")
		provins_target_recno = FUNC("search_place_by_name", "provinsTarget")
		go_provins_recno = FUNC("search_place_by_name", "goProvins")

		block_two_a = FUNC("search_place_by_name", "block2A")
		block_two_c = FUNC("search_place_by_name", "block2C")
		block_three_a = FUNC("search_place_by_name", "block3A")

		philip_spawn = FUNC("search_place_by_name", "PhilipSpawn")
		spawn_e_one  = FUNC("search_place_by_name", "Spawn_E1")
		goto_crepy_place_recno = FUNC("search_place_by_name", "gotoCrepy")

		town_st_denis_recno = FUNC("search_place_by_name", "TownStDenis")
		town_senlis_recno = FUNC("search_place_by_name", "TownSenlis")
		town_choisy_recno = FUNC("search_place_by_name", "TownChoisy")

		town_dammartin_recno = FUNC("search_place_by_name", "TownDammartin")
		arrive_town_dammartin_recno = FUNC("search_place_by_name", "arriveTownDammartin")
		in_town_dammartin_recno = FUNC("search_place_by_name", "inTownDammartin")
		in_lagny_place_recno = FUNC("search_place_by_name", "inLagny")

		town_lagny_recno	 = FUNC("search_place_by_name", "TownLagny")
		
		castle_chateau_recno = FUNC("search_place_by_name", "CastleChateau")
		castle_provins_recno = FUNC("search_place_by_name", "CastleProvins")

		town_valois_recno = FUNC("search_place_by_name", "TownValois")
		town_coulommiers_recno = FUNC("search_place_by_name", "TownCoulommiers")
		town_sossions_recno = FUNC("search_place_by_name", "TownSossions")

		start_place_recno	 = FUNC("search_place_by_name", "startPlace")

		near_cell_recno 	 = FUNC("search_place_by_name", "nearCell")

		castle_compiegne_recno = FUNC("search_place_by_name", "CastleCompiegne")

		spawn_unit_recno = FUNC("search_place_by_name", "spawnUnit")
		unit_target_recno = FUNC("search_place_by_name", "unitTarget")
		unit_going_recno = FUNC("search_place_by_name", "unitGoing")

		meet_richemont_recno = FUNC("search_place_by_name", "meetRichemont")

		reach_chateau_recno = FUNC("search_place_by_name", "ReachChateau")
		reach_provins_recno = FUNC("search_place_by_name", "ReachProvins")
		in_provins_recno = FUNC("search_place_by_name", "inProvins")
		in_provins_recno_two = FUNC("search_place_by_name", "inProvins2")

		bedford_retreat_one = FUNC("search_place_by_name", "bedfordRetreat1")
		bedford_retreat_two = FUNC("search_place_by_name", "bedfordRetreat2")

		in_forest_recno = FUNC("search_place_by_name", "inForest")
		target_place_recno = FUNC("search_place_by_name", "targetPlace")

		first_place_recno = FUNC("search_place_by_name", "firstPlace")

		reach_soissons_recno = FUNC("search_place_by_name", "reachSoissons")
		many_tree_recno = FUNC("search_place_by_name", "manyTree")
		arrow_ambush_recno = FUNC("search_place_by_name", "arrowAmbush")

		see_camp_recno = FUNC("search_place_by_name", "seeCamp")

		sector_two_camp_one = FUNC("search_place_by_name", "sector2Camp1")
		open_gate_recno = FUNC("search_place_by_name", "openGate")
		meet_flavy_recno = FUNC("search_place_by_name", "meetFlavy")

		enter_cemetery_recno = FUNC("search_place_by_name", "enterCemetery")
		start_rain_recno = FUNC("search_place_by_name", "startRain")

		flavy_target_recno = FUNC("search_place_by_name", "flavyTarget")

		range_unit_recno = FUNC("search_place_by_name", "rangeUnit")
		attach_north_recno = FUNC("search_place_by_name", "attackNorth")
		philip_come_recno = FUNC("search_place_by_name", "comePhilip")

		range_unit_two_recno = FUNC("search_place_by_name", "rangeUnit2")
		reach_pont_recno = FUNC("search_place_by_name", "reachPont")

		philip_target_recno = FUNC("search_place_by_name", "philipTarget")

		// get facility recno
		facility_s_one_barrack = FUNC("search_facility_by_name", "S8L1BarrackRecruit")
		facility_s_two_barrack = FUNC("search_facility_by_name", "S8L2BarrackRecruit")
		facility_s_four_barrack = FUNC("search_facility_by_name", "S8L4BarrackRecruit")
		facility_s_five_barrack = FUNC("search_facility_by_name", "S8L5BarrackRecruit")
		facility_s_eight_barrack = FUNC("search_facility_by_name", "S8L8BarrackRecruit")

		s_one_weapon_shop_recno = FUNC("search_facility_by_name", "S8L1WeaponShop")
		s_two_potion_shop_recno = FUNC("search_facility_by_name", "S8L2PotionShop")
		s_three_weapon_shop_recno = FUNC("search_facility_by_name", "S8L3WeaponShop")
		s_four_weapon_shop_recno = FUNC("search_facility_by_name", "S8L4WeaponShop")
		s_four_potion_shop_recno = FUNC("search_facility_by_name", "S8L4PotionShop")
		s_five_weapon_shop_recno = FUNC("search_facility_by_name", "S8L5WeaponShop")
		s_five_potion_shop_recno = FUNC("search_facility_by_name", "S8L5PotionShop")
		s_seven_potion_shop_recno = FUNC("search_facility_by_name", "S8L7PotionShop")

		spawn_english_a = FUNC("search_facility_by_name", "SpawnEnglishA")
		spawn_english_b = FUNC("search_facility_by_name", "SpawnEnglishB")
		spawn_english_c = FUNC("search_facility_by_name", "SpawnEnglishC")
		spawn_english_d = FUNC("search_facility_by_name", "SpawnEnglishD")
		spawn_english_e = FUNC("search_facility_by_name", "SpawnEnglishE")
		spawn_english_f = FUNC("search_facility_by_name", "SpawnEnglishF")
		spawn_english_g = FUNC("search_facility_by_name", "SpawnEnglishG")
		spawn_english_h = FUNC("search_facility_by_name", "SpawnEnglishH")
		spawn_english_i = FUNC("search_facility_by_name", "SpawnEnglishI")
		spawn_english_j = FUNC("search_facility_by_name", "SpawnEnglishJ")
		spawn_english_k = FUNC("search_facility_by_name", "SpawnEnglishK")
		spawn_english_l = FUNC("search_facility_by_name", "SpawnEnglishL")
		spawn_english_m = FUNC("search_facility_by_name", "SpawnEnglishM")
		spawn_english_n = FUNC("search_facility_by_name", "SpawnEnglishN")
		spawn_english_o = FUNC("search_facility_by_name", "SpawnEnglishO")
		spawn_english_p = FUNC("search_facility_by_name", "SpawnEnglishP")
		spawn_english_q = FUNC("search_facility_by_name", "SpawnEnglishQ")
		spawn_english_r = FUNC("search_facility_by_name", "SpawnEnglishR")
		spawn_english_s = FUNC("search_facility_by_name", "SpawnEnglishS")
		spawn_english_t = FUNC("search_facility_by_name", "SpawnEnglishT")
		spawn_english_u = FUNC("search_facility_by_name", "SpawnEnglishU")
		spawn_english_v = FUNC("search_facility_by_name", "SpawnEnglishV")
		spawn_english_w = FUNC("search_facility_by_name", "SpawnEnglishW")
		spawn_english_x = FUNC("search_facility_by_name", "SpawnEnglishX")

		spawn_english_aa = FUNC("search_facility_by_name", "SpawnEnglishAA")
		spawn_english_ab = FUNC("search_facility_by_name", "SpawnEnglishAB")
		spawn_english_ac = FUNC("search_facility_by_name", "SpawnEnglishAC")
		spawn_english_ad = FUNC("search_facility_by_name", "SpawnEnglishAD")
		spawn_english_ae = FUNC("search_facility_by_name", "SpawnEnglishAE")
		spawn_english_af = FUNC("search_facility_by_name", "SpawnEnglishAF")
		spawn_english_ag = FUNC("search_facility_by_name", "SpawnEnglishAG")
		spawn_english_ah = FUNC("search_facility_by_name", "SpawnEnglishAH")

		spawn_english_ba = FUNC("search_facility_by_name", "SpawnEnglishBA")
		spawn_english_bb = FUNC("search_facility_by_name", "SpawnEnglishBB")
		spawn_english_bc = FUNC("search_facility_by_name", "SpawnEnglishBC")
		spawn_english_bd = FUNC("search_facility_by_name", "SpawnEnglishBD")
		spawn_english_be = FUNC("search_facility_by_name", "SpawnEnglishBE")
		spawn_english_bf = FUNC("search_facility_by_name", "SpawnEnglishBF")

		spawn_english_ca = FUNC("search_facility_by_name", "SpawnEnglishCA")
		spawn_english_cb = FUNC("search_facility_by_name", "SpawnEnglishCB")
		spawn_english_cc = FUNC("search_facility_by_name", "SpawnEnglishCC")
		spawn_english_cd = FUNC("search_facility_by_name", "SpawnEnglishCD")
		spawn_english_ce = FUNC("search_facility_by_name", "SpawnEnglishCE")
		spawn_english_cf = FUNC("search_facility_by_name", "SpawnEnglishCF")

		spawn_english_da = FUNC("search_facility_by_name", "SpawnEnglishDA")
		spawn_english_db = FUNC("search_facility_by_name", "SpawnEnglishDB")
		spawn_english_dc = FUNC("search_facility_by_name", "SpawnEnglishDC")
		spawn_english_dd = FUNC("search_facility_by_name", "SpawnEnglishDD")
		spawn_english_de = FUNC("search_facility_by_name", "SpawnEnglishDE")
		spawn_english_df = FUNC("search_facility_by_name", "SpawnEnglishDF")

		spawn_english_ea = FUNC("search_facility_by_name", "SpawnEnglishEA")
		spawn_english_eb = FUNC("search_facility_by_name", "SpawnEnglishEB")
		spawn_english_ec = FUNC("search_facility_by_name", "SpawnEnglishEC")
		spawn_english_ed = FUNC("search_facility_by_name", "SpawnEnglishED")
		spawn_english_ee = FUNC("search_facility_by_name", "SpawnEnglishEE")
		spawn_english_ef = FUNC("search_facility_by_name", "SpawnEnglishEF")

		spawn_english_fa = FUNC("search_facility_by_name", "SpawnEnglishFA")
		spawn_english_fb = FUNC("search_facility_by_name", "SpawnEnglishFB")
		spawn_english_fc = FUNC("search_facility_by_name", "SpawnEnglishFC")
		spawn_english_fd = FUNC("search_facility_by_name", "SpawnEnglishFD")
		spawn_english_fe = FUNC("search_facility_by_name", "SpawnEnglishFE")
		spawn_english_ff = FUNC("search_facility_by_name", "SpawnEnglishFF")


		spawn_english_z = FUNC("search_facility_by_name", "SpawnEnglishZ")
		spawn_english_z_one = FUNC("search_facility_by_name", "SpawnEnglishZ1")
		spawn_english_z_two = FUNC("search_facility_by_name", "SpawnEnglishZ2")
		spawn_english_z_three = FUNC("search_facility_by_name", "SpawnEnglishZ3")

		spawn_flavy = FUNC("search_facility_by_name", "spawnFlavy")
		flavy_target_recno_a = FUNC("search_facility_by_name", "flavyTargetA")
		provins_bedford_recno = FUNC("search_facility_by_name", "provinsfastolf")
		denis_wandomme_a = FUNC("search_facility_by_name", "denisWandommeA")
		denis_wandomme_b = FUNC("search_facility_by_name", "denisWandommeB")

		philip_spawn_a = FUNC("search_facility_by_name", "PhilipSpawnA")
		philip_spawn_b = FUNC("search_facility_by_name", "PhilipSpawnB")
		philip_spawn_c = FUNC("search_facility_by_name", "PhilipSpawnC")
		philip_spawn_d = FUNC("search_facility_by_name", "PhilipSpawnD")
		philip_spawn_e = FUNC("search_facility_by_name", "PhilipSpawnE")
		philip_spawn_f = FUNC("search_facility_by_name", "PhilipSpawnF")
		philip_spawn_g = FUNC("search_facility_by_name", "PhilipSpawnG")

		bedford_spawn_a = FUNC("search_facility_by_name", "bedfordSpawnA")
		bedford_spawn_b = FUNC("search_facility_by_name", "bedfordSpawnB")
		bedford_spawn_c = FUNC("search_facility_by_name", "bedfordSpawnC")
		bedford_spawn_d = FUNC("search_facility_by_name", "bedfordSpawnD")
		bedford_spawn_e = FUNC("search_facility_by_name", "bedfordSpawnE")
		bedford_spawn_f = FUNC("search_facility_by_name", "bedfordSpawnF")
		bedford_spawn_g = FUNC("search_facility_by_name", "bedfordSpawnG")
		bedford_spawn_h = FUNC("search_facility_by_name", "bedfordSpawnH")
		bedford_spawn_i = FUNC("search_facility_by_name", "bedfordSpawnI")
		bedford_spawn_j = FUNC("search_facility_by_name", "bedfordSpawnJ")
		bedford_spawn_k = FUNC("search_facility_by_name", "bedfordSpawnK")
		bedford_spawn_l = FUNC("search_facility_by_name", "bedfordSpawnL")
		bedford_spawn_m = FUNC("search_facility_by_name", "bedfordSpawnM")
		bedford_spawn_n = FUNC("search_facility_by_name", "bedfordSpawnN")
		bedford_spawn_o = FUNC("search_facility_by_name", "bedfordSpawnO")
		bedford_spawn_p = FUNC("search_facility_by_name", "bedfordSpawnP")
		bedford_spawn_q = FUNC("search_facility_by_name", "bedfordSpawnQ")
		bedford_spawn_r = FUNC("search_facility_by_name", "bedfordSpawnR")
		bedford_spawn_s = FUNC("search_facility_by_name", "bedfordSpawnS")
		bedford_spawn_t = FUNC("search_facility_by_name", "bedfordSpawnT")
		bedford_spawn_u = FUNC("search_facility_by_name", "bedfordSpawnU")
		bedford_spawn_v = FUNC("search_facility_by_name", "bedfordSpawnV")

		bedford_spawn_aa = FUNC("search_facility_by_name", "bedfordSpawnAA")
		bedford_spawn_ab = FUNC("search_facility_by_name", "bedfordSpawnAB")
		bedford_spawn_ac = FUNC("search_facility_by_name", "bedfordSpawnAC")
		bedford_spawn_ad = FUNC("search_facility_by_name", "bedfordSpawnAD")
		bedford_spawn_ae = FUNC("search_facility_by_name", "bedfordSpawnAE")
		bedford_spawn_af = FUNC("search_facility_by_name", "bedfordSpawnAF")

		bedford_spawn_ba = FUNC("search_facility_by_name", "bedfordSpawnBA")
		bedford_spawn_bb = FUNC("search_facility_by_name", "bedfordSpawnBB")
		bedford_spawn_bc = FUNC("search_facility_by_name", "bedfordSpawnBC")
		bedford_spawn_bd = FUNC("search_facility_by_name", "bedfordSpawnBD")
		bedford_spawn_be = FUNC("search_facility_by_name", "bedfordSpawnBE")
		bedford_spawn_bf = FUNC("search_facility_by_name", "bedfordSpawnBF")

		bedford_spawn_ca = FUNC("search_facility_by_name", "bedfordSpawnCA")
		bedford_spawn_cb = FUNC("search_facility_by_name", "bedfordSpawnCB")
		bedford_spawn_cc = FUNC("search_facility_by_name", "bedfordSpawnCC")
		bedford_spawn_cd = FUNC("search_facility_by_name", "bedfordSpawnCD")
		bedford_spawn_ce = FUNC("search_facility_by_name", "bedfordSpawnCE")
		bedford_spawn_cf = FUNC("search_facility_by_name", "bedfordSpawnCF")

		bedford_spawn_da = FUNC("search_facility_by_name", "bedfordSpawnDA")
		bedford_spawn_db = FUNC("search_facility_by_name", "bedfordSpawnDB")
		bedford_spawn_dc = FUNC("search_facility_by_name", "bedfordSpawnDC")
		bedford_spawn_dd = FUNC("search_facility_by_name", "bedfordSpawnDD")
		bedford_spawn_de = FUNC("search_facility_by_name", "bedfordSpawnDE")
		bedford_spawn_df = FUNC("search_facility_by_name", "bedfordSpawnDF")

		bedford_spawn_ea = FUNC("search_facility_by_name", "bedfordSpawnEA")
		bedford_spawn_eb = FUNC("search_facility_by_name", "bedfordSpawnEB")
		bedford_spawn_ec = FUNC("search_facility_by_name", "bedfordSpawnEC")
		bedford_spawn_ed = FUNC("search_facility_by_name", "bedfordSpawnED")
		bedford_spawn_ee = FUNC("search_facility_by_name", "bedfordSpawnEE")
		bedford_spawn_ef = FUNC("search_facility_by_name", "bedfordSpawnEF")

		bedford_spawn_fa = FUNC("search_facility_by_name", "bedfordSpawnFA")
		bedford_spawn_fb = FUNC("search_facility_by_name", "bedfordSpawnFB")
		bedford_spawn_fc = FUNC("search_facility_by_name", "bedfordSpawnFC")
		bedford_spawn_fd = FUNC("search_facility_by_name", "bedfordSpawnFD")
		bedford_spawn_fe = FUNC("search_facility_by_name", "bedfordSpawnFE")
		bedford_spawn_ff = FUNC("search_facility_by_name", "bedfordSpawnFF")

		bedford_spawn_ga = FUNC("search_facility_by_name", "bedfordSpawnGA")
		bedford_spawn_gb = FUNC("search_facility_by_name", "bedfordSpawnGB")
		bedford_spawn_gc = FUNC("search_facility_by_name", "bedfordSpawnGC")
		bedford_spawn_gd = FUNC("search_facility_by_name", "bedfordSpawnGD")
		bedford_spawn_ge = FUNC("search_facility_by_name", "bedfordSpawnGE")
		bedford_spawn_gf = FUNC("search_facility_by_name", "bedfordSpawnGF")
		
//		spawn_e_one_a = FUNC("search_facility_by_name", "Spawn_E1a")
//		spawn_e_one_b = FUNC("search_facility_by_name", "Spawn_E1b")
//		spawn_e_one_c = FUNC("search_facility_by_name", "Spawn_E1c")
//		spawn_e_one_d = FUNC("search_facility_by_name", "Spawn_E1d")
//		spawn_e_one_e = FUNC("search_facility_by_name", "Spawn_E1e")
//		spawn_e_one_f = FUNC("search_facility_by_name", "Spawn_E1f")
//		spawn_e_one_g = FUNC("search_facility_by_name", "Spawn_E1g")
//		spawn_e_one_h = FUNC("search_facility_by_name", "Spawn_E1h")

		spawn_e_two_a = FUNC("search_facility_by_name", "Spawn_E2a")
		spawn_e_two_b = FUNC("search_facility_by_name", "Spawn_E2b")
		spawn_e_two_c = FUNC("search_facility_by_name", "Spawn_E2c")
		spawn_e_two_d = FUNC("search_facility_by_name", "Spawn_E2d")
		spawn_e_two_e = FUNC("search_facility_by_name", "Spawn_E2e")
		spawn_e_two_f = FUNC("search_facility_by_name", "Spawn_E2f")
		spawn_e_two_g = FUNC("search_facility_by_name", "Spawn_E2g")
		spawn_e_two_h = FUNC("search_facility_by_name", "Spawn_E2h")
		spawn_e_two_i = FUNC("search_facility_by_name", "Spawn_E2i")

		spawn_unit_a = FUNC("search_facility_by_name", "SpawnUnitA")

		town_valois_a = FUNC("search_facility_by_name", "TownValoisA")
		town_valois_b = FUNC("search_facility_by_name", "TownValoisB")
		town_valois_c = FUNC("search_facility_by_name", "TownValoisC")
		town_valois_d = FUNC("search_facility_by_name", "TownValoisD")

		range_unit_a = FUNC("search_facility_by_name", "rangeUnitA")
		range_unit_b = FUNC("search_facility_by_name", "rangeUnitB")
		range_unit_c = FUNC("search_facility_by_name", "rangeUnitC")
		range_unit_d = FUNC("search_facility_by_name", "rangeUnitD")
		range_unit_e = FUNC("search_facility_by_name", "rangeUnitE")
		range_unit_f = FUNC("search_facility_by_name", "rangeUnitF")

		// get event place recno
		event_one_place_recno = FUNC("search_place_by_name", "Event_1")
		event_seven_place_recno = FUNC("search_place_by_name", "Event_7")
		event_ten_place_recno = FUNC("search_place_by_name", "Event_10")
		event_two_four_place_recno = FUNC("search_place_by_name", "Event_24")
		event_two_five_place_recno = FUNC("search_place_by_name", "Event_25")
		event_two_six_place_recno = FUNC("search_place_by_name", "Event_26")
		arrive_compiegne_recno = FUNC("search_place_by_name", "ArriveCompiegne")
		defend_place_one = FUNC("search_place_by_name", "approachComp")

		// get unit id
		ehinfant_id = FUNC("unit_code_to_id", "ENGLISH_HEAVY_INFANTRY") 
		ehinfcap_id = FUNC("unit_code_to_id", "ENGLISH_HEAVY_INFANTRY_CAPTAIN")
		ecrosscap_id = FUNC("unit_code_to_id", "ENGLISH_CROSSBOW_MAN_CAPTAIN")
		ecrossbow_id = FUNC("unit_code_to_id", "ENGLISH_CROSSBOW_MAN")
		earcher_id = FUNC("unit_code_to_id", "ENGLISH_ARCHER")
		earchcap_id = FUNC("unit_code_to_id", "ENGLISH_ARCHER_CAPTAIN")
		elinfant_id = FUNC("unit_code_to_id", "ENGLISH_LIGHT_INFANTRY")
		elinfcap_id = FUNC("unit_code_to_id", "ENGLISH_LIGHT_INFANTRY_CAPTAIN")

		epolecap_id =  FUNC("unit_code_to_id", "ENGLISH_POLEMAN_CAPTAIN")
		epoleman_id =  FUNC("unit_code_to_id", "ENGLISH_POLEMAN")
		emaceman_id	=  FUNC("unit_code_to_id", "ENGLISH_MACEMAN")
		emacecap_id	=  FUNC("unit_code_to_id", "ENGLISH_MACEMAN_CAPTAIN")

		bur_linfcap_id	=  FUNC("unit_code_to_id", "BUR_LIGHTINFANTRY_CAPTAIN")
		bur_hinfcap_id 	=  FUNC("unit_code_to_id", "BUR_HEAVYINFANTRY_CAPTAIN")
		bur_hinf_id		=  FUNC("unit_code_to_id", "BUR_HEAVYINFANTRY")
		bur_linf_id		=  FUNC("unit_code_to_id", "BUR_LIGHTINFANTRY")
		bur_archer_id	=  FUNC("unit_code_to_id", "BUR_ARCHER")
		bur_arccap_id	=  FUNC("unit_code_to_id", "BUR_ARCHER_CAPTAIN")

		fhinfcap_id	=  FUNC("unit_code_to_id", "FRENCH_HEAVY_INFANTRY_CAPTAIN")

		catapult_id 	=  FUNC("unit_code_to_id", "TREBUCHET")

		phillip_id		=  FUNC("unit_code_to_id", "Philip_the_good")
		bedford_id		=  FUNC("unit_code_to_id", "Bedford")
		flavy_id		=  FUNC("unit_code_to_id", "FLAVY")
		wandomme_id		=  FUNC("unit_code_to_id", "WANDOMME")

		citizen_one_id = FUNC("unit_code_to_id", "CITIZEN_01")
		citizen_two_id = FUNC("unit_code_to_id", "CITIZEN_02A")
		priest_id = FUNC("unit_code_to_id", "PRIEST_01")
		councillor_id = FUNC("unit_code_to_id", "COUNCIL_01")
		
		// get item recno
		key_one_id = FUNC( "item_code_to_id", "keyS8_01")
		key_two_id = FUNC( "item_code_to_id", "keyS8_02")

		four_four_cage_recno = FUNC("search_item_by_name", "4x4Section")
		four_four_cage_recno_one = FUNC("search_item_by_name", "4x4Section1")
		four_four_cage_recno_two = FUNC("search_item_by_name", "4x4Section2")

		team_six_two_recno = FUNC("get_unit_team_leader_by_team_id", 62)

		if ( team_six_two_recno > 0 )
		{
			FUNC("set_unit_drop_item_id" , team_six_two_recno, key_two_id ) 
			FUNC("set_unit_drop_item_level", team_six_two_recno, 1)
		}

		team_six_six_recno = FUNC("get_unit_team_leader_by_team_id", 66)
		team_six_seven_recno = FUNC("get_unit_team_leader_by_team_id", 67)
		
		team_seven_one_recno = FUNC("get_unit_team_leader_by_team_id", 71)

		team_six_eight_recno = FUNC("get_unit_team_leader_by_team_id", 68)

		if ( team_six_eight_recno > 0 )
		{
			FUNC("set_unit_drop_item_id" , team_six_eight_recno, key_one_id )
			FUNC("set_unit_drop_item_level", team_six_eight_recno, 1)
		}
	
//		north_wall_recno = FUNC("search_item_by_name", "CompNorthWall")
//		explosive_kegs_recno = FUNC("search_item_by_name", "Explosive")

		church_door_a = FUNC("search_item_by_name", "churchDoorA")
		church_door_b = FUNC("search_item_by_name", "churchDoorB")
		church_door_c = FUNC("search_item_by_name", "churchDoorC")
		church_door_d = FUNC("search_item_by_name", "churchDoorD")
		church_door_e = FUNC("search_item_by_name", "churchDoorE")

		paris_door_three_a = FUNC("search_item_by_name", "parisDoor3a")
		paris_door_three_b = FUNC("search_item_by_name", "parisDoor3b")
		paris_door_four_a = FUNC("search_item_by_name", "parisDoor4a")
		paris_door_four_b = FUNC("search_item_by_name", "parisDoor4b")
		paris_door_five_a = FUNC("search_item_by_name", "parisDoor5a")
		paris_door_five_b = FUNC("search_item_by_name", "parisDoor5b")
		paris_door_six_a = FUNC("search_item_by_name", "parisDoor6a")
		paris_door_six_b = FUNC("search_item_by_name", "parisDoor6b")
		paris_door_seven_a = FUNC("search_item_by_name", "parisDoor7a")
		paris_door_seven_b = FUNC("search_item_by_name", "parisDoor7b")
		paris_door_eight_a = FUNC("search_item_by_name", "parisDoor8a")
		paris_door_eight_b = FUNC("search_item_by_name", "parisDoor8b")
		paris_door_nine_a = FUNC("search_item_by_name", "parisDoor9a")
		paris_door_nine_b = FUNC("search_item_by_name", "parisDoor9b")
		paris_door_ten_a = FUNC("search_item_by_name", "parisDoor10a")
		paris_door_ten_b = FUNC("search_item_by_name", "parisDoor10b")

		compiegne_wall_recno = FUNC("search_item_by_name", "compiegneWall")

		lagny_door_a = FUNC("search_item_by_name", "lagnyDoorA")
		lagny_door_b = FUNC("search_item_by_name", "lagnyDoorB")

		block_two_a_item = FUNC("search_item_by_name", "block2A")
		block_two_c_item = FUNC("search_item_by_name", "block2C")

		block_three_a_item = FUNC("search_item_by_name", "block3A")

		pont_gate_recno = FUNC("search_item_by_name", "pontGate")
	
		trap_door_recno = FUNC("search_item_by_name", "trapDoor")

		jail_cell_gate = FUNC("search_item_by_name", "jailCellGate")

		chateau_north_gate = FUNC("search_item_by_name", "chateauNorthGate")
		chateau_south_gate = FUNC("search_item_by_name", "chateauSouthGate")
		provins_north_gate = FUNC("search_item_by_name", "provinsNorthGate")
		provins_south_gate = FUNC("search_item_by_name", "provinsSouthGate")

		compiegne_north_gate = FUNC("search_item_by_name", "CompiegneGateNorth")
		compiegne_south_gate = FUNC("search_item_by_name", "CompiegneGateSouth")

		// item id
		letter_one_id = FUNC("item_code_to_id", "letter8_1")
		FUNC("set_unit_drop_item_id", team_one_zero_nine_leader, letter_one_id)

		letter_two_id = FUNC("item_code_to_id", "letter8_2")
		FUNC("set_unit_drop_item_id", team_one_four_nine_leader, letter_two_id)

		letter_three_id = FUNC("item_code_to_id", "letter8_3")
		FUNC("set_unit_drop_item_id", team_one_eight_seven_leader, letter_three_id)

		// get init task for unit
//		fcannon_recno_one = FUNC("search_unit_by_name", "Cannon01")
//		fcannon_recno_one_a = FUNC("search_unit_by_name", "CannonBoy01a")

//		ACTION("give_task", fcannon_recno_one_a, "LARGE_WEAPON_PUSH", 10, fcannon_recno_one, 0, 0, 0)
//		fcannon_recno_one_b = FUNC("search_unit_by_name", "CannonBoy01b")
//		ACTION("give_task", fcannon_recno_one_b, "LARGE_WEAPON_PUSH", 10, fcannon_recno_one, 1, 0, 0)

//		fcannon_recno_two = FUNC("search_unit_by_name", "Cannon02")
//		fcannon_recno_two_a = FUNC("search_unit_by_name", "CannonBoy02a")

//		ACTION("give_task", fcannon_recno_two_a, "LARGE_WEAPON_PUSH", 10, fcannon_recno_two, 0, 0, 0)
//		fcannon_recno_two_b = FUNC("search_unit_by_name", "CannonBoy02b")
//		ACTION("give_task", fcannon_recno_two_b, "LARGE_WEAPON_PUSH", 10, fcannon_recno_two, 1, 0, 0)

		ecannon_recno_one = FUNC("search_unit_by_name", "eCannon01")
		ecannon_recno_one_a = FUNC("search_unit_by_name", "eCannonBoy01a")
		ACTION("give_task", ecannon_recno_one_a, "LARGE_WEAPON_PUSH", 10, ecannon_recno_one, 1, 0, 0)
		ecannon_recno_one_b = FUNC("search_unit_by_name", "eCannonBoy01b")
		ACTION("give_task", ecannon_recno_one_b, "LARGE_WEAPON_PUSH", 10, ecannon_recno_one, 0, 0, 0)

		ecannon_recno_two = FUNC("search_unit_by_name", "eCannon02")
		ecannon_recno_two_a = FUNC("search_unit_by_name", "eCannonBoy02a")
		ACTION("give_task", ecannon_recno_two_a, "LARGE_WEAPON_PUSH", 10, ecannon_recno_two, 0, 0, 0)
		ecannon_recno_two_b = FUNC("search_unit_by_name", "eCannonBoy02b")
		ACTION("give_task", ecannon_recno_two_b, "LARGE_WEAPON_PUSH", 10, ecannon_recno_two, 1, 0, 0)

		ecannon_recno_three = FUNC("search_unit_by_name", "eCannon03")
		ecannon_recno_three_a = FUNC("search_unit_by_name", "eCannonBoy03a")
		ACTION("give_task", ecannon_recno_three_a, "LARGE_WEAPON_PUSH", 10, ecannon_recno_three, 0, 0, 0)
		ecannon_recno_three_b = FUNC("search_unit_by_name", "eCannonBoy03b")
		ACTION("give_task", ecannon_recno_three_b, "LARGE_WEAPON_PUSH", 10, ecannon_recno_three, 1, 0, 0)

		ecannon_recno_four = FUNC("search_unit_by_name", "eCannon04")
		ecannon_recno_four_a = FUNC("search_unit_by_name", "eCannonBoy04a")
		ACTION("give_task", ecannon_recno_four_a, "LARGE_WEAPON_PUSH", 10, ecannon_recno_four, 0, 0, 0)
		ecannon_recno_four_b = FUNC("search_unit_by_name", "eCannonBoy04b")
		ACTION("give_task", ecannon_recno_four_b, "LARGE_WEAPON_PUSH", 10, ecannon_recno_four, 1, 0, 0)

		ecannon_recno_five = FUNC("search_unit_by_name", "eCannon05")
		ecannon_recno_five_a = FUNC("search_unit_by_name", "eCannonBoy05a")
		ACTION("give_task", ecannon_recno_five_a, "LARGE_WEAPON_PUSH", 10, ecannon_recno_five, 0, 0, 0)
		ecannon_recno_five_b = FUNC("search_unit_by_name", "eCannonBoy05b")
		ACTION("give_task", ecannon_recno_five_b, "LARGE_WEAPON_PUSH", 10, ecannon_recno_five, 1, 0, 0)

		s_seven_cannon_one = FUNC("search_unit_by_name", "s7cannon01")
		s_seven_cannon_one_a = FUNC("search_unit_by_name", "s7cannon01A")
		ACTION("give_task", s_seven_cannon_one_a, "LARGE_WEAPON_PUSH", 10, s_seven_cannon_one, 0, 0, 0)
		s_seven_cannon_one_b = FUNC("search_unit_by_name", "s7cannon01B")
		ACTION("give_task", s_seven_cannon_one_b, "LARGE_WEAPON_PUSH", 10, s_seven_cannon_one, 1, 0, 0)

		s_seven_cannon_two = FUNC("search_unit_by_name", "s7cannon02")
		s_seven_cannon_two_a = FUNC("search_unit_by_name", "s7cannon02A")
		ACTION("give_task", s_seven_cannon_two_a, "LARGE_WEAPON_PUSH", 10, s_seven_cannon_two, 0, 0, 0)
		s_seven_cannon_two_b = FUNC("search_unit_by_name", "s7cannon02B")
		ACTION("give_task", s_seven_cannon_two_b, "LARGE_WEAPON_PUSH", 10, s_seven_cannon_two, 1, 0, 0)

		s_eight_cannon_one = FUNC("search_unit_by_name", "s8cannon01")
		s_eight_cannon_one_a = FUNC("search_unit_by_name", "s8cannon01A")
		ACTION("give_task", s_eight_cannon_one_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_one, 0, 0, 0)
		s_eight_cannon_one_b = FUNC("search_unit_by_name", "s8cannon01B")
		ACTION("give_task", s_eight_cannon_one_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_one, 1, 0, 0)

		s_eight_cannon_two = FUNC("search_unit_by_name", "s8cannon02")
		s_eight_cannon_two_a = FUNC("search_unit_by_name", "s8cannon02A")
		ACTION("give_task", s_eight_cannon_two_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_two, 0, 0, 0)
		s_eight_cannon_two_b = FUNC("search_unit_by_name", "s8cannon02B")
		ACTION("give_task", s_eight_cannon_two_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_two, 1, 0, 0)

		s_eight_cannon_three = FUNC("search_unit_by_name", "s8cannon03")
		ACTION("give_task", s_eight_cannon_three, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_three_a = FUNC("search_unit_by_name", "s8cannon03A")
		ACTION("give_task", s_eight_cannon_three_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_three, 0, 0, 0)
		s_eight_cannon_three_b = FUNC("search_unit_by_name", "s8cannon03B")
		ACTION("give_task", s_eight_cannon_three_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_three, 1, 0, 0)

		s_eight_cannon_four = FUNC("search_unit_by_name", "s8cannon04")
		ACTION("give_task", s_eight_cannon_four, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_four_a = FUNC("search_unit_by_name", "s8cannon04A")
		ACTION("give_task", s_eight_cannon_four_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_four, 0, 0, 0)
		s_eight_cannon_four_b = FUNC("search_unit_by_name", "s8cannon04B")
		ACTION("give_task", s_eight_cannon_four_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_four, 1, 0, 0)
		
		s_eight_cannon_five = FUNC("search_unit_by_name", "s8cannon05")
		ACTION("give_task", s_eight_cannon_five, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_five_a = FUNC("search_unit_by_name", "s8cannon05A")
		ACTION("give_task", s_eight_cannon_five_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_five, 0, 0, 0)
		s_eight_cannon_five_b = FUNC("search_unit_by_name", "s8cannon05B")
		ACTION("give_task", s_eight_cannon_five_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_five, 1, 0, 0)

		s_eight_cannon_six = FUNC("search_unit_by_name", "s8cannon06")
		ACTION("give_task", s_eight_cannon_six, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_six_a = FUNC("search_unit_by_name", "s8cannon06A")
		ACTION("give_task", s_eight_cannon_six_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_six, 0, 0, 0)
		s_eight_cannon_six_b = FUNC("search_unit_by_name", "s8cannon06B")
		ACTION("give_task", s_eight_cannon_six_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_six, 1, 0, 0)

		s_eight_cannon_seven = FUNC("search_unit_by_name", "s8cannon07")
		ACTION("give_task", s_eight_cannon_seven, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_seven_a = FUNC("search_unit_by_name", "s8cannon07A")
		ACTION("give_task", s_eight_cannon_seven_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_seven, 0, 0, 0)
		s_eight_cannon_seven_b = FUNC("search_unit_by_name", "s8cannon07B")
		ACTION("give_task", s_eight_cannon_seven_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_seven, 1, 0, 0)

		s_eight_cannon_eight = FUNC("search_unit_by_name", "s8cannon08")
		ACTION("give_task", s_eight_cannon_eight, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_eight_a = FUNC("search_unit_by_name", "s8cannon08A")
		ACTION("give_task", s_eight_cannon_eight_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_eight, 0, 0, 0)
		s_eight_cannon_eight_b = FUNC("search_unit_by_name", "s8cannon08B")
		ACTION("give_task", s_eight_cannon_eight_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_eight, 1, 0, 0)

		s_eight_cannon_nine = FUNC("search_unit_by_name", "s8cannon09")
		ACTION("give_task", s_eight_cannon_nine, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_nine_a = FUNC("search_unit_by_name", "s8cannon09A")
		ACTION("give_task", s_eight_cannon_nine_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_nine, 0, 0, 0)
		s_eight_cannon_nine_b = FUNC("search_unit_by_name", "s8cannon09B")
		ACTION("give_task", s_eight_cannon_nine_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_nine, 1, 0, 0)

		s_eight_cannon_ten = FUNC("search_unit_by_name", "s8cannon10")
		ACTION("give_task", s_eight_cannon_ten, "IDLE", 1, 0, 0, 0, 0)
		s_eight_cannon_ten_a = FUNC("search_unit_by_name", "s8cannon10A")
		ACTION("give_task", s_eight_cannon_ten_a, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_ten, 0, 0, 0)
		s_eight_cannon_ten_b = FUNC("search_unit_by_name", "s8cannon10B")
		ACTION("give_task", s_eight_cannon_ten_b, "LARGE_WEAPON_PUSH", 10, s_eight_cannon_ten, 1, 0, 0)

		ebombard_recno_one = FUNC("search_unit_by_name", "ebombard01")
		ebombard_recno_one_a = FUNC("search_unit_by_name", "ebombard01a")
		ACTION("give_task", ebombard_recno_one_a, "LARGE_WEAPON_PUSH", 10, ebombard_recno_one, 0, 0, 0)
		ebombard_recno_one_b = FUNC("search_unit_by_name", "ebombard01b")
		ACTION("give_task", ebombard_recno_one_b, "LARGE_WEAPON_PUSH", 10, ebombard_recno_one, 1, 0, 0)

		ebombard_recno_two = FUNC("search_unit_by_name", "ebombard02")
		ebombard_recno_two_a = FUNC("search_unit_by_name", "ebombard02a")
		ACTION("give_task", ebombard_recno_two_a, "LARGE_WEAPON_PUSH", 10, ebombard_recno_two, 0, 0, 0)
		ebombard_recno_two_b = FUNC("search_unit_by_name", "ebombard02b")
		ACTION("give_task", ebombard_recno_two_b, "LARGE_WEAPON_PUSH", 10, ebombard_recno_two, 1, 0, 0)

		s_eight_bombard_one = FUNC("search_unit_by_name", "s8bombard01")
		s_eight_bombard_one_a = FUNC("search_unit_by_name", "s8bombard01a")
		ACTION("give_task", s_eight_bombard_one_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_one, 0, 0, 0)
		s_eight_bombard_one_b = FUNC("search_unit_by_name", "s8bombard01b")
		ACTION("give_task", s_eight_bombard_one_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_one, 1, 0, 0)

		s_eight_bombard_two = FUNC("search_unit_by_name", "s8bombard02")
		s_eight_bombard_two_a = FUNC("search_unit_by_name", "s8bombard02a")
		ACTION("give_task", s_eight_bombard_two_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_two, 0, 0, 0)
		s_eight_bombard_two_b = FUNC("search_unit_by_name", "s8bombard02b")
		ACTION("give_task", s_eight_bombard_two_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_two, 1, 0, 0)

		s_eight_bombard_three = FUNC("search_unit_by_name", "s8bombard03")
		s_eight_bombard_three_a = FUNC("search_unit_by_name", "s8bombard03a")
		ACTION("give_task", s_eight_bombard_three_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_three, 0, 0, 0)
		s_eight_bombard_three_b = FUNC("search_unit_by_name", "s8bombard03b")
		ACTION("give_task", s_eight_bombard_three_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_three, 1, 0, 0)

		s_eight_bombard_four = FUNC("search_unit_by_name", "s8bombard04")
		s_eight_bombard_four_a = FUNC("search_unit_by_name", "s8bombard04a")
		ACTION("give_task", s_eight_bombard_four_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_four, 0, 0, 0)
		s_eight_bombard_four_b = FUNC("search_unit_by_name", "s8bombard04b")
		ACTION("give_task", s_eight_bombard_four_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_four, 1, 0, 0)

		s_eight_bombard_five = FUNC("search_unit_by_name", "s8bombard05")
		s_eight_bombard_five_a = FUNC("search_unit_by_name", "s8bombard05a")
		ACTION("give_task", s_eight_bombard_five_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_five, 0, 0, 0)
		s_eight_bombard_five_b = FUNC("search_unit_by_name", "s8bombard05b")
		ACTION("give_task", s_eight_bombard_five_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_five, 1, 0, 0)

		s_eight_bombard_six = FUNC("search_unit_by_name", "s8bombard06")
		s_eight_bombard_six_a = FUNC("search_unit_by_name", "s8bombard06a")
		ACTION("give_task", s_eight_bombard_six_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_six, 0, 0, 0)
		s_eight_bombard_six_b = FUNC("search_unit_by_name", "s8bombard06b")
		ACTION("give_task", s_eight_bombard_six_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_six, 1, 0, 0)

		s_eight_bombard_seven = FUNC("search_unit_by_name", "s8bombard07")
		s_eight_bombard_seven_a = FUNC("search_unit_by_name", "s8bombard07a")
		ACTION("give_task", s_eight_bombard_seven_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_seven, 0, 0, 0)
		s_eight_bombard_seven_b = FUNC("search_unit_by_name", "s8bombard07b")
		ACTION("give_task", s_eight_bombard_seven_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_seven, 1, 0, 0)

		s_eight_bombard_eight = FUNC("search_unit_by_name", "s8bombard08")
		s_eight_bombard_eight_a = FUNC("search_unit_by_name", "s8bombard08a")
		ACTION("give_task", s_eight_bombard_eight_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_eight, 0, 0, 0)
		s_eight_bombard_eight_b = FUNC("search_unit_by_name", "s8bombard08b")
		ACTION("give_task", s_eight_bombard_eight_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_eight, 1, 0, 0)

		s_eight_bombard_nine = FUNC("search_unit_by_name", "s8bombard09")
		s_eight_bombard_nine_a = FUNC("search_unit_by_name", "s8bombard09a")
		ACTION("give_task", s_eight_bombard_nine_a, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_nine, 0, 0, 0)
		s_eight_bombard_nine_b = FUNC("search_unit_by_name", "s8bombard09b")
		ACTION("give_task", s_eight_bombard_nine_b, "LARGE_WEAPON_PUSH", 10, s_eight_bombard_nine, 1, 0, 0)

		cannon_recno_a = FUNC("search_unit_by_name", "Cannon 1")
		cannon_controller_recno_aa = FUNC("search_unit_by_name", "Cannon Controller 1")
		cannon_controller_recno_ab = FUNC("search_unit_by_name", "Cannon Controller 2")

		cannon_recno_b = FUNC("search_unit_by_name", "Cannon 2")
		cannon_controller_recno_ba = FUNC("search_unit_by_name", "Cannon Controller 3")
		cannon_controller_recno_bb = FUNC("search_unit_by_name", "Cannon Controller 4")

		cannon_recno_c = FUNC("search_unit_by_name", "Cannon 3")
		cannon_controller_recno_ca = FUNC("search_unit_by_name", "Cannon Controller 5")
		cannon_controller_recno_cb = FUNC("search_unit_by_name", "Cannon Controller 6")

		unit_recno = FUNC("search_unit_by_name", "Collyng GunyId")

		if ( FUNC("get_scenario_event_bit_flag", 1) == 0 )
		{
			if ( unit_recno > 0 )
			{
				ACTION("give_task", unit_recno, "IDLE", 1, 0, 0, 0, 0)
			}

			FUNC("set_control_flag", 104, 0)

			FUNC("set_control_flag", fcannon_recno_one, 0)
			FUNC("set_control_flag", fcannon_recno_one_a, 0)
			FUNC("set_control_flag", fcannon_recno_one_b, 0)
			FUNC("set_control_flag", fcannon_recno_two, 0)
			FUNC("set_control_flag", fcannon_recno_two_a, 0)
			FUNC("set_control_flag", fcannon_recno_two_b, 0)

//			FUNC("set_control_flag", anjou_recno, 0)

			FUNC("set_can_interact_flag", provins_citizen_one, 0)
			FUNC("set_can_interact_flag", provins_citizen_two, 0)
			FUNC("set_can_interact_flag", provins_citizen_three, 0)
			FUNC("set_can_interact_flag", provins_citizen_four, 0)

			FUNC("set_control_flag", jean_recno, 0)
			FUNC("set_control_flag", la_hire_recno, 0)
			FUNC("set_control_flag", alencon_recno, 0)
			FUNC("set_control_flag", bastard_recno, 0)

			FUNC("set_control_flag", team_seven_five_leader, 0)
			FUNC("set_control_flag", team_seven_four_leader, 0)
			FUNC("set_control_flag", team_seven_six_leader, 0)
			FUNC("set_control_flag", team_seven_seven_leader, 0)
			FUNC("set_control_flag", team_seven_eight_leader, 0)
			FUNC("set_control_flag", team_seven_nine_leader, 0)
			FUNC("set_control_flag", team_eight_zero_leader, 0)
			FUNC("set_control_flag", team_eight_one_leader, 0)
			FUNC("set_control_flag", team_eight_two_leader, 0)
			FUNC("set_control_flag", team_eight_three_leader, 0)
			FUNC("set_control_flag", team_eight_four_leader, 0)

			FUNC("set_can_interact_flag", team_one_seven_three_leader, 1)
			FUNC("set_control_flag", team_one_seven_three_leader, 0)
			FUNC("set_can_interact_flag", team_one_seven_two_leader, 1)
			FUNC("set_control_flag", team_one_seven_two_leader, 0)

			FUNC("set_can_interact_flag", the_priest_recno, 1)
			FUNC("set_can_interact_flag", unit_one_recno, 1)
			FUNC("set_can_interact_flag", unit_two_recno, 1)
			FUNC("set_can_interact_flag", unit_three_recno, 1)

			FUNC("set_control_flag", unit_one_recno, 0)
			FUNC("set_control_flag", unit_two_recno, 0)
			FUNC("set_control_flag", unit_three_recno, 0)

			FUNC("set_can_interact_flag", milon_citizen_one, 1)	
			FUNC("set_can_interact_flag", milon_citizen_two, 1)
			FUNC("set_can_interact_flag", milon_citizen_three, 1)
			FUNC("set_can_interact_flag", milon_citizen_four, 1)
			FUNC("set_control_flag", flavy_recno, 0)
			FUNC("set_control_flag", charles_recno, 0)

			FUNC("set_end_condition_enabled", 1, 0)
			FUNC("set_end_condition_enabled", 2, 0)
			FUNC("set_end_condition_enabled", 5, 0)
			FUNC("set_end_condition_enabled", 6, 0)
			FUNC("set_end_condition_enabled", 7, 0)
			FUNC("set_end_condition_enabled", 8, 0)
			FUNC("set_end_condition_enabled", 10, 0)
			FUNC("set_end_condition_enabled", 11, 0)
			FUNC("set_end_condition_enabled", 12, 0)
			FUNC("set_end_condition_enabled", 13, 0)
			FUNC("set_end_condition_enabled", 14, 0)
			FUNC("set_end_condition_enabled", 15, 0)
			FUNC("set_end_condition_enabled", 16, 0)
			FUNC("set_end_condition_enabled", 17, 0)
			FUNC("set_end_condition_enabled", 18, 0)
			FUNC("set_end_condition_enabled", 19, 0)
			FUNC("set_end_condition_enabled", 20, 0)
			FUNC("set_end_condition_enabled", 21, 0)
			FUNC("set_end_condition_enabled", 22, 0)
			FUNC("set_end_condition_enabled", 23, 0)
			FUNC("set_end_condition_enabled", 25, 0)
			FUNC("set_end_condition_enabled", 26, 0)
			FUNC("set_end_condition_enabled", 27, 0)
			FUNC("set_end_condition_enabled", 28, 0)
			FUNC("set_end_condition_enabled", 29, 0)
			FUNC("set_end_condition_enabled", 30, 0)
			FUNC("set_end_condition_enabled", 31, 0)
			FUNC("set_end_condition_enabled", 32, 0)
			FUNC("set_end_condition_enabled", 33, 0)
			FUNC("set_end_condition_enabled", 34, 0)
			FUNC("set_end_condition_enabled", 35, 0)
			FUNC("set_end_condition_enabled", 36, 0)
			FUNC("set_end_condition_enabled", 37, 0)
			FUNC("set_end_condition_enabled", 38, 0)
			FUNC("set_end_condition_enabled", 39, 0)
			FUNC("set_end_condition_enabled", 42, 0)

			FUNC("minimap_set_way_point", 1, 61066.0, 44024.0, 200.0, 1, 0)

			FUNC("set_unit_ranking", richemont_recno, "CAPTAIN")

			FUNC("set_can_interact_flag", s_one_weapon_seller_recno, 0)
			FUNC("set_can_interact_flag", s_two_potion_seller_recno, 0)
			FUNC("set_can_interact_flag", s_three_weapon_seller_recno, 0)
			FUNC("set_can_interact_flag", s_four_potion_seller_recno, 1)
			FUNC("set_can_interact_flag", s_four_weapon_seller_recno, 1)
			FUNC("set_can_interact_flag", s_five_potion_seller_recno, 0)
			FUNC("set_can_interact_flag", s_five_weapon_seller_recno, 0)
			FUNC("set_can_interact_flag", s_seven_potion_seller_recno, 0)

			FUNC("set_barrack_captured", facility_s_four_barrack, 1)

			FUNC("give_item_to_unit", "FD_MEAT", 1, 3, lux_recno)
			FUNC("give_item_to_unit", "FD_MEAT", 1, 2, wandomme_recno)
			FUNC("give_item_to_unit", "FD_FISH", 1, 6, bedford_recno)

			FUNC("set_unit_hide_in_command_interface", richemont_recno, 1)
			FUNC("set_unit_hide_in_command_interface", flavy_recno, 1)
			FUNC("set_unit_hide_in_command_interface", charles_recno, 1)

			jean_arrow_count = FUNC("get_item_quantity_in_unit_inventory", FUNC("item_code_to_id", "arrow"), jean_recno)
			if ( jean_arrow_count < 90 )
			{
				FUNC("give_item_to_unit", "arrow", 1, ( 90 - jean_arrow_count ), jean_recno)
			}

			FUNC("set_gate_need_key", compiegne_north_gate, 1)

			FUNC("set_territory_nation", "Camp5", "French")
			FUNC("set_minimap_icon_display_enable", "ftown_S8L2_1", 1)
			FUNC("set_minimap_icon_display_enable", "etown_S8L2_1", 0)

			FUNC("set_territory_nation", "Compiegne", "French")
			FUNC("set_place_captured", castle_compiegne_recno, 1)
			FUNC("set_minimap_icon_display_enable", "fcastle_S8L4", 1)
			FUNC("set_minimap_icon_display_enable", "ecastle_S8L4", 0)

			ACTION("give_task", charles_recno, "IDLE", 1, 0, 0, 0, 0) 

			FUNC("set_item_not_show_description", compiegne_south_gate, 1)
			FUNC("set_item_not_show_description", trap_door_recno, 1)

			ACTION("give_task", bedford_recno, "IDLE", 1, 0, 0, 0, 0) 
			FUNC("set_unit_retreat", bedford_recno, 1)
		}

		// set way-point
		if ( FUNC("get_end_condition_finish", 4) == 0 )	// 1
		{
			FUNC("minimap_set_way_point", 1, 61066.0, 44024.0, 200.0, 1, 0)
		}

		if ( FUNC("get_scenario_event_bit_flag", 11) == 1 && FUNC("get_end_condition_enabled", 17) == 0 )  // 2
		{
			FUNC("minimap_set_way_point", 2, 64640.0, 44966.39, 200.0, 1, 0)
		}

		if ( FUNC("get_scenario_bit_flag", 11) == 1 && FUNC("get_scenario_event_bit_flag", 11) == 0 )	// 3
		{
			FUNC("minimap_set_way_point", 3, 58952.09, 41463.66, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 30) > 0 && FUNC("get_end_condition_finish", 16) == 0 )	// 4
		{	
			FUNC("minimap_set_way_point", 4, 50557.36, 47482.56, 200.0, 1, 0)
		}

		if ( FUNC("get_scenario_event_bit_flag", 6) > 0 && FUNC("get_scenario_event_bit_flag", 7) == 0 )	// 5 
		{
			FUNC("minimap_set_way_point", 5, 16543.88, 71611.7, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 17) > 0 && FUNC("get_end_condition_finish", 17) == 0 )		// 6 & 7
		{
			FUNC("minimap_set_way_point", 6, 57966.0, 43854.39, 200.0, 1, 0)
			FUNC("minimap_set_way_point", 7, 67340.0, 44900.39, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 23) > 0 && FUNC("get_end_condition_finish", 23) == 0 )		// 8
		{
			FUNC("minimap_set_way_point", 8, 62919.0, 37482.39, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 22) > 0 && FUNC("get_end_condition_finish", 22) == 0 )		// 9
		{
			FUNC("minimap_set_way_point", 9, 60298.57, 20694.69, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 16) > 0 && FUNC("get_end_condition_finish", 16) == 0 )		// 10
		{
			FUNC("minimap_set_way_point", 10, 50822.32, 48065.82, 200.0, 1, 0)
		}

		if ( FUNC("get_end_condition_enabled", 11) > 0 && FUNC("get_end_condition_finish", 11) == 0 )		// 11
		{
			FUNC("minimap_set_way_point", 11, 61697.0, 45144.0, 200.0, 1, 0)
		}
	} 
	
	//fog distance -- in_forest_a
	if( FUNC("is_unit_inside_place", in_forest_a, main_recno) || FUNC("is_unit_inside_place", in_forest_b, main_recno) || FUNC("is_unit_inside_place", in_forest_c, main_recno) )
	{
		FUNC("set_fog_distance", 2048)
	}
	else
	{
		FUNC("set_fog_distance", 4096)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, joan_recno) || FUNC("is_unit_inside_place", in_forest_b, joan_recno) || FUNC("is_unit_inside_place", in_forest_c, joan_recno) )
	{
		FUNC("set_unit_team_vision_range", joan_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", joan_recno, 2000)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, jean_recno) || FUNC("is_unit_inside_place", in_forest_b, jean_recno) || FUNC("is_unit_inside_place", in_forest_c, jean_recno) )
	{
		FUNC("set_unit_team_vision_range", jean_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", jean_recno, 2000)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, la_hire_recno) || FUNC("is_unit_inside_place", in_forest_b, la_hire_recno) || FUNC("is_unit_inside_place", in_forest_c, la_hire_recno) )
	{
		FUNC("set_unit_team_vision_range", la_hire_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", la_hire_recno, 2000)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, bastard_recno) || FUNC("is_unit_inside_place", in_forest_b, bastard_recno) || FUNC("is_unit_inside_place", in_forest_c, bastard_recno) )
	{
		FUNC("set_unit_team_vision_range", bastard_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", bastard_recno, 2000)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, alencon_recno) || FUNC("is_unit_inside_place", in_forest_b, alencon_recno) || FUNC("is_unit_inside_place", in_forest_c, alencon_recno) )
	{
		FUNC("set_unit_team_vision_range", alencon_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", alencon_recno, 2000)
	}
	if( FUNC("is_unit_inside_place", in_forest_a, charles_recno) || FUNC("is_unit_inside_place", in_forest_b, charles_recno) || FUNC("is_unit_inside_place", in_forest_c, charles_recno) )
	{
		FUNC("set_unit_team_vision_range", charles_recno, 1000)
	}
	else
	{
		FUNC("set_unit_team_vision_range", charles_recno, 2000)
	}

	if ( FUNC("is_unit_dead_by_name", ecannon_recno_one_a, "eCannonBoy01a") > 0 && FUNC("is_unit_dead_by_name", ecannon_recno_one_b, "eCannonBoy01b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ecannon_recno_one, "eCannon01") == 0 )
		{
			FUNC("set_unit_nation", ecannon_recno_one, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ecannon_recno_two_a, "eCannonBoy02a") > 0 && FUNC("is_unit_dead_by_name", ecannon_recno_two_b, "eCannonBoy02b") > 0)
	{
		if ( FUNC("is_unit_dead_by_name", ecannon_recno_two, "eCannon02") == 0 )
		{
			FUNC("set_unit_nation", ecannon_recno_two, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ecannon_recno_three_a, "eCannonBoy03a") > 0 && FUNC("is_unit_dead_by_name", ecannon_recno_three_b, "eCannonBoy03b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ecannon_recno_three, "eCannon03") == 0 )
		{
			FUNC("set_unit_nation", ecannon_recno_three, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ecannon_recno_four_a, "eCannonBoy04a") > 0 && FUNC("is_unit_dead_by_name", ecannon_recno_four_b, "eCannonBoy04b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ecannon_recno_four, "eCannon04") == 0 )
		{
			FUNC("set_unit_nation", ecannon_recno_four, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ecannon_recno_five_a, "eCannonBoy05a") > 0 && FUNC("is_unit_dead_by_name", ecannon_recno_five_b, "eCannonBoy05b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ecannon_recno_five, "eCannon05") == 0 )
		{
			FUNC("set_unit_nation", ecannon_recno_five, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_seven_cannon_one_a, "s7cannon01A") > 0 && FUNC("is_unit_dead_by_name", s_seven_cannon_one_b, "s7cannon01b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_seven_cannon_one, "s7cannon01") == 0 )
		{
			FUNC("set_unit_nation", s_seven_cannon_one, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_seven_cannon_two_a, "s7cannon02A") > 0 && FUNC("is_unit_dead_by_name", s_seven_cannon_two_b, "s7cannon02b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_seven_cannon_two, "s7cannon02") == 0 )
		{
			FUNC("set_unit_nation", s_seven_cannon_two, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_one_a, "s8cannon01A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_one_b, "s8cannon01b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_one, "s8cannon01") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_one, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_two_a, "s8cannon02A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_two_b, "s8cannon02b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_two, "s8cannon02") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_two, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_three_a, "s8cannon03A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_three_b, "s8cannon03b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_three, "s8cannon03") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_three, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_four_a, "s8cannon04A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_four_b, "s8cannon04b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_four, "s8cannon04") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_four, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_five_a, "s8cannon05A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_five_b, "s8cannon05b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_five, "s8cannon05") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_five, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_six_a, "s8cannon06A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_six_b, "s8cannon06b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_six, "s8cannon06") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_six, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_seven_a, "s8cannon07A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_seven_b, "s8cannon07b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_seven, "s8cannon07") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_seven, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_eight_a, "s8cannon08A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_eight_b, "s8cannon08b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_eight, "s8cannon08") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_eight, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_nine_a, "s8cannon09A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_nine_b, "s8cannon09b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_nine, "s8cannon09") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_nine, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_cannon_ten_a, "s8cannon10A") > 0 && FUNC("is_unit_dead_by_name", s_eight_cannon_ten_b, "s8cannon10b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_cannon_ten, "s8cannon10") == 0 )
		{
			FUNC("set_unit_nation", s_eight_cannon_ten, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ebombard_recno_one_a, "ebombard01a") > 0 && FUNC("is_unit_dead_by_name", ebombard_recno_one_b, "ebombard01b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ebombard_recno_one, "ebombard01") == 0 )
		{
			FUNC("set_unit_nation", ebombard_recno_one, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", ebombard_recno_two_a, "ebombard02a") > 0 && FUNC("is_unit_dead_by_name", ebombard_recno_two_b, "ebombard02b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", ebombard_recno_two, "ebombard02") == 0 )
		{
			FUNC("set_unit_nation", ebombard_recno_two, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_one_a, "s8bombard01a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_one_b, "s8bombard01b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_one, "s8bombard01") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_one, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_two_a, "s8bombard02a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_two_b, "s8bombard02b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_two, "s8bombard02") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_two, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_three_a, "s8bombard03a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_three_b, "s8bombard03b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_three, "s8bombard03") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_three, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_four_a, "s8bombard04a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_four_b, "s8bombard04b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_four, "s8bombard04") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_four, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_five_a, "s8bombard05a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_five_b, "s8bombard05b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_five, "s8bombard05") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_five, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_six_a, "s8bombard06a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_six_b, "s8bombard06b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_six, "s8bombard06") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_six, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_seven_a, "s8bombard07a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_seven_b, "s8bombard07b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_seven, "s8bombard07") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_seven, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_eight_a, "s8bombard08a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_eight_b, "s8bombard08b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_eight, "s8bombard08") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_eight, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", s_eight_bombard_nine_a, "s8bombard09a") > 0 && FUNC("is_unit_dead_by_name", s_eight_bombard_nine_b, "s8bombard09b") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", s_eight_bombard_nine, "s8bombard09") == 0 )
		{
			FUNC("set_unit_nation", s_eight_bombard_nine, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", cannon_controller_recno_aa, "Cannon Controller 1") > 0 && FUNC("is_unit_dead_by_name", cannon_controller_recno_ab, "Cannon Controller 2") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", cannon_recno_a, "Cannon 1") == 0 )
		{
			FUNC("set_unit_nation", cannon_recno_a, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", cannon_controller_recno_ba, "Cannon Controller 3") > 0 && FUNC("is_unit_dead_by_name", cannon_controller_recno_bb, "Cannon Controller 4") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", cannon_recno_b, "Cannon 2") == 0 )
		{
			FUNC("set_unit_nation", cannon_recno_b, "French")
		}
	}

	if ( FUNC("is_unit_dead_by_name", cannon_controller_recno_ca, "Cannon Controller 5") > 0 && FUNC("is_unit_dead_by_name", cannon_controller_recno_cb, "Cannon Controller 6") > 0 )
	{
		if ( FUNC("is_unit_dead_by_name", cannon_recno_c, "Cannon 3") == 0 )
		{
			FUNC("set_unit_nation", cannon_recno_c, "French")
		}
	}

	main_recno = FUNC("get_main_character")

	talk_unit_recno = FUNC("get_interact_unit_recno", main_recno) 

	// S1 weapon shop
	if( ( s_one_weapon_seller_recno > 0 ) && ( talk_unit_recno == s_one_weapon_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_one_weapon_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_one_weapon_seller_recno) 
			ACTION("give_task", s_one_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_one_weapon_seller_recno ) 
			ACTION("give_order" , s_one_weapon_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_one_weapon_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_one_weapon_seller_recno, "[0001N]Do have a look - we are mighty proud of our weapons, that we are!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_one_weapon_shop_recno, s_one_weapon_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_one_weapon_seller_recno, "[0002N]If you ever need more supplies, you know where I am!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_one_weapon_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S2 potion shop
	if( ( s_two_potion_seller_recno > 0 ) && ( talk_unit_recno == s_two_potion_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_two_potion_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_two_potion_seller_recno) 
			ACTION("give_task", s_two_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_two_potion_seller_recno ) 
			ACTION("give_order" , s_two_potion_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_two_potion_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_two_potion_seller_recno, "[0003N]Good day. Please, feel free to peruse. No obligation to buy!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_two_potion_shop_recno, s_two_potion_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_two_potion_seller_recno, "[0004N]Good luck in the war!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_two_potion_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S3 weapon shop
	if( ( s_three_weapon_seller_recno > 0 ) && ( talk_unit_recno == s_three_weapon_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_three_weapon_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_three_weapon_seller_recno) 
			ACTION("give_task", s_three_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_three_weapon_seller_recno ) 
			ACTION("give_order" , s_three_weapon_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_three_weapon_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_three_weapon_seller_recno, "[0005N]If you seek better arms for your compaign against the English, this is the place to be!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_three_weapon_shop_recno, s_three_weapon_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_three_weapon_seller_recno, "[0006N]Here's hope you can restore the French kingdom! Good luck!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_three_weapon_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S4 weapon shop
	if( ( s_four_weapon_seller_recno > 0 ) && ( talk_unit_recno == s_four_weapon_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_four_weapon_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_four_weapon_seller_recno) 
			ACTION("give_task", s_four_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_four_weapon_seller_recno ) 
			ACTION("give_order" , s_four_weapon_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_four_weapon_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_four_weapon_seller_recno, "[0007N]Valois soldiers! If it is quality weapons you seek, I am more than happy to oblige!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_four_weapon_shop_recno, s_four_weapon_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_four_weapon_seller_recno, "[0008N]I bid thee farewell and godspeed in all your endeavors!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_four_weapon_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S4 potion shop
	if( ( s_four_potion_seller_recno > 0 ) && ( talk_unit_recno == s_four_potion_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_four_potion_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_four_potion_seller_recno) 
			ACTION("give_task", s_four_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_four_potion_seller_recno ) 
			ACTION("give_order" , s_four_potion_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_four_potion_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_four_potion_seller_recno, "[0009N]How are we this find day? I hope the war bodes well in your favor.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_four_potion_shop_recno, s_four_potion_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_four_potion_seller_recno, "[0010N]Thank you for your patronage - do come again.") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_two_potion_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S5 weapon shop
	if( ( s_five_weapon_seller_recno > 0 ) && ( talk_unit_recno == s_five_weapon_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_five_weapon_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_five_weapon_seller_recno) 
			ACTION("give_task", s_five_weapon_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_five_weapon_seller_recno ) 
			ACTION("give_order" , s_five_weapon_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_five_weapon_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_five_weapon_seller_recno, "[0011N]Need weapons, I see. Do have a look around - everything you see is available for purchase!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_five_weapon_shop_recno, s_five_weapon_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_five_weapon_seller_recno, "[0012N]Thanks for stopping by!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_four_weapon_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S5 potion shop
	if( ( s_five_potion_seller_recno > 0 ) && ( talk_unit_recno == s_five_potion_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_five_potion_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_five_potion_seller_recno) 
			ACTION("give_task", s_five_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_five_potion_seller_recno ) 
			ACTION("give_order" , s_five_potion_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_five_potion_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_five_potion_seller_recno, "[0013N]Hello there! Have your tried our produce? All fertilized with the finest of French livestock, I tell you!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_five_potion_shop_recno, s_five_potion_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_five_potion_seller_recno, "[0014N]Good luck in your quest for freedom!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_two_potion_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	// S7 potion shop
	if( ( s_seven_potion_seller_recno > 0 ) && ( talk_unit_recno == s_seven_potion_seller_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", s_seven_potion_seller_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno) 
			
			FUNC("set_idle", s_seven_potion_seller_recno) 
			ACTION("give_task", s_seven_potion_seller_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", s_seven_potion_seller_recno ) 
			ACTION("give_order" , s_seven_potion_seller_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , s_five_potion_seller_recno , main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", s_seven_potion_seller_recno, "[0015N]Bonjour! I hope the war fares well in your favor. Do have a look around my shoppe - not much to offer, but everything you see is for sale!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
//				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			// change to buy weapon interface, wait until finish buying
			WAIT { FUNC("start_buy_interface", s_seven_potion_shop_recno, s_seven_potion_seller_recno) } 

			WAIT { DIALOG("add_dialog", s_seven_potion_seller_recno, "[0016N]Don't ever shy from us if you need anything else!") }

			FUNC("set_interact_unit_recno", main_recno, 0) 
			FUNC("set_cut_scene_flag" , 0)	// leave cut scene!

			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", s_two_potion_seller_recno)
			FUNC("stop_curr_task", main_recno)
		}
	}

	if ( philip_recno > 0 )
	{
		if( FUNC("get_unit_retreat", philip_recno) == -1 )
		{
			FUNC("start_cut_scene_2", 1, 0, philip_recno, 200, ( 180 - FUNC("get_unit_dir", philip_recno) ), 10, 1)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", philip_recno, 1)

			FUNC("set_idle", philip_recno)
			FUNC("stop_curr_task", philip_recno)
			ACTION("give_task", philip_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", philip_recno)
			
			WAIT{ FUNC("pause_script", 1) }
			ACTION("give_task", philip_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", philip_recno)
			FUNC("set_idle", philip_recno)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, philip_recno, 200, ( 180 - FUNC("get_unit_dir", philip_recno) ), 10)

			if ( FUNC("get_scenario_event_bit_flag_2", 4) == 1 )
			{
				WAIT{ DIALOG("add_dialog", philip_recno, "[0017N]You once again prove to be the better today, but do not yet count me out! I am heading to the hideout now!") }

				FUNC("enable_unit_bounding_volume", philip_recno, 0)

				ACTION("give_order", philip_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("del_unit", philip_recno)

				philip_recno = 0
			}
			else
			if ( FUNC("get_scenario_event_bit_flag", 9) == 0 )
			{
				WAIT{ DIALOG("add_dialog", philip_recno, "[0018N]I - I hold no grudge against you - please - leave me be, and I shall not encroach your territory ever more!") }

				FUNC("enable_unit_bounding_volume", philip_recno, 0)

				FUNC("set_unit_team_can_process_in_cut_scene", philip_recno, 1)
				FUNC("set_unit_can_process_in_cut_scene", jean_recno, 1)

				ACTION("give_order", philip_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("change_camera_in_cut_scene", 0, 58858, 41612, 50, 214, -73, 0)
				WAIT{ DIALOG("add_dialog", charles_recno, "[0019N]Methinks the word of the enemy is not to be trusted anymore. Let us assure ourselves that such an incident never occurs again!") }
				
				ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , 107, 0 , 0 , 0, 2500)
				WAIT{ DIALOG("add_dialog", jean_recno, "[0020N]I agree - we must seek out the enemy and strike at the very heart of their military operations! Follow them into Burgundian soil with confidence, for I suspect nary a soul who will pit any resistance against our superior might now!") }

				FUNC("del_unit", philip_recno)
//				FUNC("del_unit_team", 

				if ( FUNC("get_end_condition_finish", 17) > 0 )
				{
					FUNC("del_item_by_name", "block2C")
					FUNC("minimap_set_way_point", 6, 64640.0, 44966.39, 200.0, 0, 0)
					FUNC("minimap_set_way_point", 7, 64640.0, 44966.39, 200.0, 0, 0)
				}

				philip_recno = 0

				FUNC("facility_barrack_add_leader", range_unit_a, phillip_id, 27, 27, "Philip the Good", "Philip")

				FUNC("set_end_condition_enabled", 14, 1)
				FUNC("set_end_condition_finish", 15, "WIN")

				FUNC("attention_call_message", "Philip and all his troops are running away, admitting defeat!")
			}
			else
			if ( FUNC("get_scenario_bit_flag", 13) == 0 )
			{
				// should be second retreat
				WAIT{ DIALOG("add_dialog", philip_recno, "[0021N]You pestering abominations! I will not admit defeat so easily! Men, we have lost our battle here, but we shall carry on to Paris and stage a final defense against the enemy!") }

				FUNC("enable_unit_bounding_volume", philip_recno, 0)

				ACTION("give_order", philip_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("del_unit", philip_recno)

				philip_recno = 0

				FUNC("set_end_condition_finish", 39, "WIN")

				if ( FUNC("get_scenario_event_bit_flag_2", 4) == 0 )
				{
					philip_recno = FUNC("add_unit", "Philip_the_good", "ENGLISH")
					FUNC("set_unit_name", philip_recno, "Philip the Good")
					FUNC("set_unit_ranking", philip_recno, "GENERAL")
					FUNC("set_unit_team", philip_recno, 752)
					FUNC("set_unit_level", philip_recno, 29)
					FUNC("set_unit_pos", philip_recno, 23816.71, 74048.39, 870.00)
					FUNC("set_unit_dir", philip_recno, 0) 

					FUNC("give_item_to_unit", "fd_chicken", 1, 2, philip_recno)
				}

				FUNC("set_scenario_bit_flag", 13, 1)
			}

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			WAIT{ FUNC("is_cut_scene_finished") }

			philip_recno = 0

			FUNC("set_scenario_event_bit_flag", 9, 1)
		}
		else
		{
			//set alexander to defend place
			if ( FUNC("get_scenario_event_bit_flag_2", 7) == 0 )
			{
				FUNC("set_unit_retreat", philip_recno, 1) 
			}
		}
	}
	else
	{
		philip_recno = FUNC("search_unit_by_code" , "Philip_the_good")

		if ( philip_recno > 0 )
		{
			FUNC("set_unit_retreat", philip_recno, 1)
		}
	}

	if ( wandomme_recno > 0 )
	{
		if( FUNC("get_unit_retreat", wandomme_recno) == -1 )
		{
			FUNC("start_cut_scene_2", 1, 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10, 1)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", wandomme_recno, 1)

			FUNC("set_idle", wandomme_recno)
			FUNC("stop_curr_task", wandomme_recno)
			ACTION("give_task", wandomme_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", wandomme_recno)
			
			WAIT{ FUNC("pause_script", 1) }
			ACTION("give_task", wandomme_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", wandomme_recno)
			FUNC("set_idle", wandomme_recno)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10)

			if ( FUNC("get_scenario_event_bit_flag_2", 4 ) == 1 )
			{
				WAIT{ DIALOG("add_dialog", wandomme_recno, "[0022N]Can i not even win? That makes it three defeats already! Fellow commanders! I have been forced to the hideout!") }

				FUNC("enable_unit_bounding_volume", wandomme_recno, 0)

				ACTION("give_order", wandomme_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("del_unit", wandomme_recno)

				wandomme_recno = 0
			}
			else
			if ( FUNC("get_scenario_bit_flag", 23) == 0 )
			{
				WAIT{ DIALOG("add_dialog", wandomme_recno, "[0023N]...and they warned me that you would prove to be a tough beast to beat into submission! Let us retreat, men - there are others towns we can terrorize!") }

				FUNC("enable_unit_bounding_volume", wandomme_recno, 0)

				ACTION("give_order", wandomme_recno, "APPROACH_PLACE", 1, 1, paris_eight_recno, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("del_unit", wandomme_recno)

				wandomme_recno = 0

				FUNC("facility_barrack_add_leader", denis_wandomme_a, wandomme_id, 208, 28, "Ksi¹¿ê Wandomme", "Wandomme")
				FUNC("give_item_to_unit", "FD_MEAT", 1, 2, wandomme_recno)
			}
			else
			if ( FUNC("get_scenario_bit_flag", 24) == 0 )
			{
				WAIT{ DIALOG("add_dialog", wandomme_recno, "[0024N]But how is it possible? We are so many, and you - well, you infuriate me so! Could I have not been assigned an easier task? Retreat, men! On to Paris we shall go!") }

				FUNC("enable_unit_bounding_volume", wandomme_recno, 0)

				ACTION("give_order", wandomme_recno, "APPROACH_PLACE", 1, 1, paris_eight_recno, 0, 0, 0, 5000)

				WAIT{ FUNC("pause_script", 3000) }

				FUNC("del_unit", wandomme_recno)

				wandomme_recno = 0

				if ( FUNC("get_scenario_event_bit_flag_2", 4) == 0 )
				{
					wandomme_recno = FUNC("add_unit", "WANDOMME", "ENGLISH")
					FUNC("set_unit_name", wandomme_recno, "Ksi¹¿ê Wandomme")
					FUNC("set_unit_ranking", wandomme_recno, "GENERAL")
					FUNC("set_unit_team", wandomme_recno, 751)
					FUNC("set_unit_level", wandomme_recno, 29)
					FUNC("set_unit_pos", wandomme_recno, 23816.71, 74251.39, 870.00)
					FUNC("set_unit_dir", wandomme_recno, 0) 

					FUNC("give_item_to_unit", "FD_CHICKEN", 1, 1, wandomme_recno)
				}

				FUNC("set_scenario_bit_flag", 24, 1)

				FUNC("set_end_condition_finish", 33, "WIN")
			}

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_bit_flag", 23, 1)
		}
		else
		{
			//set alexander to defend place
			if( FUNC("get_scenario_event_bit_flag_2", 7) == 0 )
			{
				FUNC("set_unit_retreat", wandomme_recno, 1) 
			}
		}
	}
	else
	{
		wandomme_recno = FUNC("search_unit_by_code" , "WANDOMME")

		if ( wandomme_recno > 0 )
		{
			FUNC("set_unit_retreat", wandomme_recno, 1)
		}
	}

	if ( lux_recno > 0 )
	{
		if( FUNC("get_unit_retreat", lux_recno) == -1 )
		{
			FUNC("start_cut_scene_2", 1, 0, lux_recno, 200, ( 180 - FUNC("get_unit_dir", lux_recno) ), 10, 1)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", lux_recno, 1)

			FUNC("set_idle", lux_recno)
			FUNC("stop_curr_task", lux_recno)
			ACTION("give_task", lux_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", lux_recno)
			
			WAIT{ FUNC("pause_script", 1) }
			ACTION("give_task", lux_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", lux_recno)
			FUNC("set_idle", lux_recno)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, lux_recno, 200, ( 180 - FUNC("get_unit_dir", lux_recno) ), 10)

			WAIT{ DIALOG("add_dialog", lux_recno, "[0025N]I have again failed against the enemy! I am retreating to the hideout!") }

			FUNC("enable_unit_bounding_volume", lux_recno, 0)

			ACTION("give_order", lux_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

			WAIT{ FUNC("pause_script", 3000) }

			FUNC("del_unit", lux_recno)

			lux_recno = 0

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			WAIT{ FUNC("is_cut_scene_finished") }

			lux_recno = 0
		}
		else
		{
			//set alexander to defend place
			if( FUNC("get_scenario_event_bit_flag_2", 7) == 0 )
			{
				FUNC("set_unit_retreat", lux_recno, 1) 
			}
		}
	}
	else
	{
		lux_recno = FUNC("search_unit_by_code" , "Luxembourg")

		if ( lux_recno > 0 )
		{
			FUNC("set_unit_retreat", lux_recno, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 4) == 1 && FUNC("get_scenario_event_bit_flag_2", 5) == 0 )
	{
		if ( lux_recno == 0 && bedford_recno == 0 && philip_recno == 0 && wandomme_recno == 0 )
		{
			FUNC("attention_call_message", "You have defeated all four enemy commanders and forced them to flee to their hideout! Now you can eliminate all the enemies in Paris and once again reclaim the glorious city for France!")
			FUNC("set_scenario_event_bit_flag_2", 5, 1)
		}
	}

	if ( fastolf_recno > 0 )
	{
		if( FUNC("get_unit_retreat", fastolf_recno) == -1 )
		{
			FUNC("start_cut_scene_2", 1, 0, fastolf_recno, 200, ( 180 - FUNC("get_unit_dir", fastolf_recno) ), 10, 1)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
//			FUNC("set_unit_can_process_in_cut_scene", fastolf_recno, 1)

			FUNC("set_idle", fastolf_recno)
			FUNC("stop_curr_task", fastolf_recno)
			ACTION("give_task", fastolf_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", fastolf_recno)
			
			WAIT{ FUNC("pause_script", 1) }
			ACTION("give_task", fastolf_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", fastolf_recno)
			FUNC("set_idle", fastolf_recno)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, fastolf_recno, 200, ( 180 - FUNC("get_unit_dir", fastolf_recno) ), 10)

			WAIT{ DIALOG("add_dialog", fastolf_recno, "[0026N]My word! Your fighting skills are to be commended - divine intervention or not! My troops and I have been humbled in light of your unsurpassible warrior skill!") }
			WAIT{ DIALOG("add_dialog", fastolf_recno, "[0027N]If it is indeed the will of our Lord above that you should win this war, then indeed I have been led to commit the biddings of the devil!") }
			WAIT{ DIALOG("add_dialog", fastolf_recno, "[0028N]From this point on, my men and I will disavow allegiance to the English flag - do please welcome us to form part of the Valois French forces!") }
			WAIT{ DIALOG("add_dialog", fastolf_recno, "[0029N]We swear allegiance to the flag of France and to her king, Charles VII! Long live the king! Long live France!" ) }

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_team_nation2", 16, "French")

			FUNC("set_unit_retreat", fastolf_recno, 0)
			FUNC("set_unit_hp", fastolf_recno, 100)

			FUNC("set_team_nation", 123, "French")
			FUNC("set_team_nation", 124, "French")
			FUNC("set_team_nation", 125, "French")
			FUNC("set_team_nation", 135, "French")
			FUNC("set_team_nation", 136, "French")

			FUNC("attention_call_message", "You now have the sworn allegiance of Lord Fastolf and his men! You can now command Fastolf for the benefit of your cause!")

			FUNC("attention_call_message_2", "There are still units inside Chateau-Thierry, numbering about 30, and elite units, I might add. If we capture this fortified town, then  Provins will be next. If I am to reach Provins in one piece, I may be of valuble assistance...", fastolf_recno)

			FUNC("set_end_condition_finish", 42, "WIN")
		}
	}
	else
	{
		fastolf_recno = FUNC("search_unit_by_code" , "JOHN_FASTOLF")
	}

	if ( bedford_recno > 0 )
	{
		if( FUNC("get_unit_retreat", bedford_recno) == -1 )
		{
			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", bedford_recno, 1)

			FUNC("set_idle", bedford_recno)
			FUNC("stop_curr_task", bedford_recno)
			ACTION("give_task", bedford_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", bedford_recno)
			
			WAIT{ FUNC("pause_script", 1) }
			ACTION("give_task", bedford_recno, "IDLE", 1, 1, 0, 0, 0)
			ACTION("stop_all_order", bedford_recno)
			FUNC("set_idle", bedford_recno)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10)

			if ( FUNC("get_scenario_event_bit_flag_2", 4) == 0 )
			{
				WAIT{ DIALOG("add_dialog", bedford_recno, "[0030N]Not again! Very well, then, I have known defeat with you before, but I shall also met with victory before I am through with you, that's for sure! On to Paris, lads!") }

				FUNC("set_end_condition_finish", 5, "WIN")
			}
			else
			{
				WAIT{ DIALOG("add_dialog", bedford_recno, "[0031N]Not again! My constant losses against these meddling peasants is doing my confidence no good! Generals! I am retreating now to the hideout! I shall await you should here should you suffer the same fate!") }
			}	

			FUNC("enable_unit_bounding_volume", bedford_recno, 0)

			ACTION("give_order", bedford_recno, "APPROACH_PLACE", 1, 1, philip_spawn, 0, 0, 0, 5000)

			WAIT{ FUNC("pause_script", 3000) }

			FUNC("del_unit", bedford_recno)

			bedford_recno = 0

			if ( FUNC("get_scenario_event_bit_flag_2", 4) == 0 )
			{
				bedford_recno = FUNC("add_unit", "BEDFORD", "ENGLISH")
				FUNC("set_unit_name", bedford_recno, "Regent Bedford")
				FUNC("set_unit_ranking", bedford_recno, "GENERAL")
				FUNC("set_unit_team", bedford_recno, 750)
				FUNC("set_unit_level", philip_recno, 28)
				FUNC("set_unit_pos", bedford_recno, 23806.71, 74342.39, 870.00)
				FUNC("set_unit_dir", bedford_recno, 0) 

				FUNC("give_item_to_unit", "FD_MEAT", 1, 3, bedford_recno)
			}

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_end_condition_finish", 19, "WIN")

			bedford_recno = 0
		}
		else
		{
			//set alexander to defend place
			if( FUNC("get_scenario_event_bit_flag_2", 7) == 0 )
			{
				FUNC("set_unit_retreat", bedford_recno, 1) 
			}
		}
	}
	else
	{
		bedford_recno = FUNC("search_unit_by_code" , "BEDFORD")

		if ( bedford_recno > 0 )
		{
			FUNC("set_unit_retreat", bedford_recno, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 31) == 0 && FUNC("get_scenario_event_bit_flag_2", 29) == 0 && FUNC("get_read_letter_once") == letter_one_id )
	{
		FUNC("attention_call_message_2", "Regent Bedford is in Chateau-Thierry - let's head there immediately and see if we can't put an end to his presence forever!", "La Hire")
		FUNC("set_scenario_event_bit_flag_2", 29, 1)
	}

	if ( FUNC("get_scenario_bit_flag", 3) == 0 && FUNC("get_scenario_event_bit_flag_2", 30) == 0 && FUNC("get_read_letter_once") == letter_two_id )
	{
		FUNC("attention_call_message_2", "According to this letter, Bedford should be in Provins. If we continue southbound along this path, we should eventually reach this town, and perhaps, put and end to Bedford once and for all.", "Ksi¹¿ê Alencon")
		FUNC("attention_call_message_2", "I wonder where Rene de Anjou is at? He should be just along this path heading towards Provins - I hope nothing has befallen him!", "La Hire")
		FUNC("set_scenario_event_bit_flag_2", 30, 1)
	}

	if( ( oarman_recno > 0 ) && ( talk_unit_recno == oarman_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", oarman_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", oarman_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", oarman_recno ) 
			ACTION("give_order" , oarman_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , oarman_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, oarman_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", oarman_recno, "[0032N]Thank you for liberating us from this cell! We were afraid we'd never get out!") }
			WAIT { DIALOG("add_dialog", oarman_recno, "[0033N]We do not have anything to give you in kind, but me boat can take you down the Seine so you may disembark in Paris should you require.") }
			WAIT { DIALOG("add_dialog", oarman_recno, "[0034N]Yes, especially if you want to cross by foot ?I hear the hill of Montmartre is littered with enemies, as well as the forest next to it.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", oarman_recno, 0)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( team_one_seven_two_leader > 0 ) && ( talk_unit_recno == team_one_seven_two_leader ) && FUNC("get_scenario_event_bit_flag", 13) == 0 )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", team_one_seven_two_leader) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", team_one_seven_two_leader, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", team_one_seven_two_leader ) 
			ACTION("give_order" , team_one_seven_two_leader, "TURN" , 3 , 0 , FUNC("get_rotation" , team_one_seven_two_leader, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, team_one_seven_two_leader) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", team_one_seven_two_leader, "[0035N]Good day. Protecting the castle of Reims we are. One can neven be too safe in these enemy-infested lands!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", team_one_seven_two_leader, 0)
			FUNC("set_control_flag", team_one_seven_two_leader, 1)

			FUNC("set_scenario_event_bit_flag", 13, 1)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( team_one_seven_three_leader > 0 ) && ( talk_unit_recno == team_one_seven_three_leader ) && FUNC("get_scenario_bit_flag", 4) == 0 )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", team_one_seven_three_leader) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", team_one_seven_three_leader, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", team_one_seven_three_leader ) 
			ACTION("give_order" , team_one_seven_three_leader, "TURN" , 3 , 0 , FUNC("get_rotation" , team_one_seven_three_leader, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, team_one_seven_three_leader) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", team_one_seven_three_leader, "[0036N]Our war is boding well in our favor. If we keep up the pressure, we may actually have a chance at reclaiming our beloved Paris. Do not worry about Reims, for we are here to protect the land we fought hard to wrest from the grasp of the English!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", team_one_seven_three_leader, 0)
			FUNC("set_control_flag", team_one_seven_three_leader, 1)

			FUNC("set_scenario_bit_flag", 4, 1)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( the_priest_recno > 0 ) && ( talk_unit_recno == the_priest_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", the_priest_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", the_priest_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", the_priest_recno ) 
			ACTION("give_order" , the_priest_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , the_priest_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, the_priest_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", the_priest_recno, "[0037N]Ah, if it weren't for your valiant efforts, I myself may not be alive to deliver today's ceremony! It is to my understanding that our fair Maid of Orleans does carry the sword of St Catherine de Fierbois.") }
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0038N]This cross I no longer need, for it rightfully belongs to the bearer of the legendary sword.") }

			if ( main_recno == joan_recno )
			{
				WAIT { DIALOG("add_dialog", the_priest_recno, "[0039N]I give you the cross, and may you be blessed by God, my dear child.") }
			}
			else
			{
				WAIT { DIALOG("add_dialog", the_priest_recno, "[0040N]Do make sure that this cross is delivered to our beloved maid.") }
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", the_priest_recno, 0)

			FUNC("give_item_to_unit", "CROSS_E", 0, 1, main_recno)

			FUNC("attention_call_message", "You have been given the Platinum cross by the priest in Compiegne - now you have all five crosses!")

			FUNC("set_end_condition_finish", 13, "WIN")

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( unit_one_recno > 0 ) && ( talk_unit_recno == unit_one_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", unit_one_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", unit_one_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", unit_one_recno ) 
			ACTION("give_order" , unit_one_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , unit_one_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, unit_one_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", unit_one_recno, "[0041N]Greetings! As a fellow Frenchman, it is my pleasure to meet in person a living legend!") }
			WAIT { DIALOG("add_dialog", unit_one_recno, "[0042N]As brothers in arms, it is my duty to inform you that Regent Bedford, of our accursed enemy the English, was seen heading in a northwesterly direction by one of our comrades. Be cautious in your advance - he is heading a battalion of melee troops.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", unit_one_recno, 0)

			if ( FUNC("get_end_condition_enabled", 5) == 0 )
			{
				FUNC("set_end_condition_enabled", 5, 1)
			}

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( unit_two_recno > 0 ) && ( talk_unit_recno == unit_two_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", unit_two_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", unit_two_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", unit_two_recno ) 
			ACTION("give_order" , unit_two_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , unit_two_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, unit_two_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", unit_two_recno, "[0043N]Salutations! As you know, winter is fast approacting, and with it the incessant falling of snow - hardly ideal situations for combat! Ensure enough provisions while you can, for they are now harder to come by. I bid you good luck, and godspeed.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", unit_two_recno, 0)

			FUNC("stop_curr_task", main_recno)
		}
	}
	
	if( ( unit_three_recno > 0 ) && ( talk_unit_recno == unit_three_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", unit_three_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", unit_three_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", unit_three_recno ) 
			ACTION("give_order" , unit_three_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , unit_three_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, unit_three_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", unit_three_recno, "[0044N]Tales of your exploits have travelled far and wide through the land of the Valois!") }
			WAIT { DIALOG("add_dialog", unit_three_recno, "[0045N]Many of us would be honored to fight alongside you, especially Simon Aumucier, heavy infantry captain of camp just off the road approaching Reims - perhaps you have already met his troops? He, for one, is willing to aid you!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)

			FUNC("set_can_interact_flag", unit_three_recno, 0)

			FUNC("set_scenario_event_bit_flag", 28, 1)
		}
	}

	if( ( chateau_citizen_one > 0 ) && ( talk_unit_recno == chateau_citizen_one ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", chateau_citizen_one) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", chateau_citizen_one, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", chateau_citizen_one ) 
			ACTION("give_order" , chateau_citizen_one, "TURN" , 3 , 0 , FUNC("get_rotation" , chateau_citizen_one, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, chateau_citizen_one) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", chateau_citizen_one, "[0046N]Glory to the king! You have heard, right? Our king Charles has granted immunity from taxation for the inhabitants of Domremy and Greux! It will be a matter of time before the king exonerates our beloved town as well!") }
			
			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }


			FUNC("set_can_interact_flag", chateau_citizen_one, 0)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( chateau_citizen_two > 0 ) && ( talk_unit_recno == chateau_citizen_two ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", chateau_citizen_two) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", chateau_citizen_two, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", chateau_citizen_two ) 
			ACTION("give_order" , chateau_citizen_two, "TURN" , 3 , 0 , FUNC("get_rotation" , chateau_citizen_two, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, chateau_citizen_two) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", chateau_citizen_two, "[0047N]After such hardship and toil, we can finally see the light at the end of the tunnel! Our gratitude for your incessant efforts to bring peace back to the lands of France!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)

			FUNC("give_item_to_unit", "fd_apple", 1, 2, main_recno)
			FUNC("give_item_to_unit", "fd_bread_L", 1, 1, main_recno)
			FUNC("give_item_to_unit", "fd_bread_s", 1, 1, main_recno)
		
			FUNC("attention_call_message", "[0048N]You accept the food offerings that Aude Saunier has given you.")
			FUNC("set_scenario_event_bit_flag", 32, 1)

			FUNC("set_can_interact_flag", chateau_citizen_two, 0)
		}
	}

	if( ( milon_citizen_two > 0 ) && ( talk_unit_recno == milon_citizen_two ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", milon_citizen_two) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", milon_citizen_two)
			ACTION("give_task", milon_citizen_two, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", milon_citizen_two ) 
			ACTION("give_order" , milon_citizen_two, "TURN" , 3 , 0 , FUNC("get_rotation" , milon_citizen_two, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, milon_citizen_two) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", milon_citizen_two, "[0049N]Hurrah for the saviors of France! If you can find a barracks nearby for recruitment, we will be honored to fight alongside you!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", milon_citizen_two, 0)
			FUNC("stop_curr_task", main_recno)

			if ( FUNC("get_scenario_event_bit_flag", 7) == 0 )
			{
				FUNC("attention_call_message", "[0050N]The able men in the township of La Ferte-Milon show their allegiance to you  - capture the barracks beyond the forest, and you will have ready and able men to recruit!")
			}

			FUNC("set_scenario_event_bit_flag", 8, 1)
		}
	}

	if( ( milon_citizen_three > 0 ) && ( talk_unit_recno == milon_citizen_three ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", milon_citizen_three) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", milon_citizen_three)
			ACTION("give_task", milon_citizen_three, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", milon_citizen_three ) 
			ACTION("give_order" , milon_citizen_three, "TURN" , 3 , 0 , FUNC("get_rotation" , milon_citizen_three, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, milon_citizen_three) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", milon_citizen_three, "[0051N]Beware the forest that lies ahead, for winding paths and tall trees make strange bedfellows with archers and crossbowmen!") }
			WAIT { DIALOG("add_dialog", milon_citizen_three, "[0052N]Further yond the forest is an isle - can't say I have been there recently, for it is infested with enemy movement. I do think that there is something suspicious going on...") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", milon_citizen_three, 0)
			FUNC("stop_curr_task", main_recno)

			FUNC("set_scenario_bit_flag", 15, 1)
		}
	}

	if( ( milon_citizen_four > 0 ) && ( talk_unit_recno == milon_citizen_four ) )
	{
		if( FUNC("get_interact_stage", milon_citizen_four) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", milon_citizen_four)
			ACTION("give_task", milon_citizen_four, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", milon_citizen_four ) 
			ACTION("give_order" , milon_citizen_four, "TURN" , 3 , 0 , FUNC("get_rotation" , milon_citizen_four, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, milon_citizen_four) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", milon_citizen_four, "[0053N]If it is Compiegne you are seeking, the path that lies just ahead will lead you on your way towards this castle.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", milon_citizen_four, 0)
			FUNC("stop_curr_task", main_recno)

			FUNC("set_scenario_bit_flag", 15, 1)
		}
	}

	if( ( provins_citizen_one > 0 ) && ( talk_unit_recno == provins_citizen_one ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", provins_citizen_one) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", provins_citizen_one)
			ACTION("give_task", provins_citizen_one, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", provins_citizen_one ) 
			ACTION("give_order" , provins_citizen_one, "TURN" , 3 , 0 , FUNC("get_rotation" , provins_citizen_one, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, provins_citizen_one) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", provins_citizen_one, "[0054N]Thank you! We no longer need suffer the wrath or tyranny of our enemies! Please accept this small token of appreciation!") }

			FUNC("give_item_to_unit", "FD_MEAT", 1, 1, main_recno)
			FUNC("give_item_to_unit", "FD_FISH", 1, 1, main_recno)

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", provins_citizen_one, 0)
			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( provins_citizen_two > 0 ) && ( talk_unit_recno == provins_citizen_two ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", provins_citizen_two) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", provins_citizen_two)
			ACTION("give_task", provins_citizen_two, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", provins_citizen_two ) 
			ACTION("give_order" , provins_citizen_two, "TURN" , 3 , 0 , FUNC("get_rotation" , provins_citizen_two, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, provins_citizen_two) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", provins_citizen_two, "[0055N]Formidable! With your heroics, there is no way we can lose now! Bedford has fled in the direction of Coulommiers - if you seek him, just continue along the road - you cannot miss this town!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", provins_citizen_two, 0)
			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( provins_citizen_three > 0 ) && ( talk_unit_recno == provins_citizen_three ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", provins_citizen_three) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", provins_citizen_three)
			ACTION("give_task", provins_citizen_three, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", provins_citizen_three ) 
			ACTION("give_order" , provins_citizen_three, "TURN" , 3 , 0 , FUNC("get_rotation" , provins_citizen_three, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, provins_citizen_three) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", provins_citizen_three, "[0056N]I must congratulate our saviors! Without you, the lands of France would be no longer! Be wary, however, for past the lake of Coulommiers is a forest and word is it is littered with enemy range units!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", provins_citizen_three, 0)
			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( provins_citizen_four > 0 ) && ( talk_unit_recno == provins_citizen_four ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", provins_citizen_four) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", provins_citizen_four)
			ACTION("give_task", provins_citizen_four, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", provins_citizen_four ) 
			ACTION("give_order" , provins_citizen_four, "TURN" , 3 , 0 , FUNC("get_rotation" , provins_citizen_four, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, provins_citizen_four) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", provins_citizen_four, "[0057N]If you continue along the path, you shall encounter two towns that could sure benefit from your assistance! Coulommiers and La Ferte Milon lie ahead, and they surely must be ossupied by the enemy in the same way our town has been held!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", provins_citizen_four, 0)
			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( milon_citizen_one > 0 ) && ( talk_unit_recno == milon_citizen_one ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", milon_citizen_one) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", milon_citizen_one)
			ACTION("give_task", milon_citizen_one, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", milon_citizen_one ) 
			ACTION("give_order" , milon_citizen_one, "TURN" , 3 , 0 , FUNC("get_rotation" , milon_citizen_one, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, milon_citizen_one) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", milon_citizen_one, "[0058N]You have done us proud. We fear the shadow of the lion no longer. We, the men of this town are at your disposal - we urge you to make use of our manpower as you see fit!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			if ( FUNC("get_scenario_event_bit_flag", 8) == 0 )
			{
				FUNC("attention_call_message", "[0059N]The able men in the township of La Ferte Milon show their allegiance to you - you can recruit units in the barracks of La Ferte Milon without gold!")
			}

			FUNC("stop_curr_task", main_recno)

			FUNC("set_can_interact_flag", milon_citizen_one, 0)
			FUNC("set_scenario_event_bit_flag", 7, 1)
		}
	}

	if ( flavy_recno == 0 )
	{
		flavy_recno	  = FUNC("search_unit_by_code", "Flavy")
	}

	if( ( charles_recno > 0 ) && FUNC("get_end_condition_enabled", 12) == 1 && FUNC("get_end_condition_finish", 12) == 0 )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("search_for_unit_in_place", meet_charles_recno, "P") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", jean_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", charles_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("stop_curr_task", charles_recno)
			ACTION("give_task", charles_recno, "IDLE", 1, 0, 0, 0, 0)

			if ( FUNC("is_unit_inside_place", flavy_target_recno, flavy_recno) > 0 )
			{
				// set weapon seller to idle and rotate him
				ACTION("stop_all_order", charles_recno ) 
				ACTION("stop_all_order", jean_recno ) 
				FUNC("stop_curr_task", jean_recno)
				FUNC("stop_curr_task", flavy_recno)
				FUNC("set_idle", jean_recno) 
				ACTION("give_task", jean_recno, "IDLE", 1, 0, 0, 0, 0)
				FUNC("stop_curr_task", flavy_recno)
				ACTION("give_task", flavy_recno, "IDLE", 1, 0, 0, 0, 0)

				ACTION("give_order" , charles_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , charles_recno, main_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, main_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, main_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, charles_recno) , 0 , 0 , 0, 2500)

				FUNC("set_unit_hide_in_command_interface", charles_recno, 0)

				WAIT { DIALOG("add_dialog", charles_recno, "[0060N]It is good to see you again, especially after our ordeal from Gien to Reims! I hope you did not encounter many problems on your journey.") }
				WAIT { DIALOG("add_dialog", charles_recno, "[0061N]As you may already know, I negotiated a truce with our neighbors in Burgundy. We shan't be expecting any skirmishes against them for some time.") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0062N]Indeed, your majesty, but I do not trust the Burgundians any more than I can throw them! We must maintain a vigil eye in any case.") }

				WAIT { DIALOG("add_dialog", charles_recno, "[0063N]If you say so. However, we did sign a treaty, which will hold ground in the court of our Lord.") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0064N]With all due respect, milord, it is just a piece of paper. I will only trust them once their troops are permanently removed from French soil. Therefore, to ensure your safety, please remain within these walls until further notice, my king.") }

				WAIT { DIALOG("add_dialog", charles_recno, "[0065N]Very well, then.") }

				FUNC("set_can_interact_flag", charles_recno, 0)
				FUNC("set_end_condition_finish", 12, "WIN")

				FUNC("set_scenario_event_bit_flag", 17, 1)

				FUNC("set_end_condition_enabled", 35, 1)
			}
			else
			{
				ACTION("stop_all_order", charles_recno ) 
				ACTION("give_order" , charles_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , charles_recno, main_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, main_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, charles_recno) , 0 , 0 , 0, 2500)

				WAIT { DIALOG("add_dialog", charles_recno, "[0066N]Welcome to Compiegne! Do wait until Guillaume de Flavy joins us - it is better that we are all present to discuss the events unfolding before us.") }
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)
		}
	}

	if( ( valois_citizen_recno_b > 0 ) && ( talk_unit_recno == valois_citizen_recno_b ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", valois_citizen_recno_b) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", talk_unit_recno, 1)	

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", valois_citizen_recno_b, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", valois_citizen_recno_b ) 
			ACTION("give_order" , valois_citizen_recno_b, "TURN" , 3 , 0 , FUNC("get_rotation" , valois_citizen_recno_b, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, valois_citizen_recno_b) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", valois_citizen_recno_b, "[0067N]Valois soldiers! If the road to Compiegne is what you seek, then you shall have to head beyond the pass towards the bridge.") }
//			WAIT { DIALOG("add_dialog", valois_citizen_recno_b, "[0001N]It bodes well for the Valois at a time like this! Our king has negotiated a truce and we can now dream again of living a peaceful existence!") }
			FUNC("change_camera_in_cut_scene", 0, 47966, 42484, 106, 238, 32, 1)
			WAIT { DIALOG("add_dialog", valois_citizen_recno_b, "[0068N]Beyond the fence lies the path to Compiegne. The castle you seek is only perchance two miles from here.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)

			FUNC("set_can_interact_flag", valois_citizen_recno_b, 0)
		}
	}

	if( ( priest_recno > 0 ) && ( talk_unit_recno == priest_recno ) ||
		( councillor_recno > 0 ) && ( talk_unit_recno == councillor_recno ) )	// talking with Weapon shop keeper~~~~~ 
	{
		if( FUNC("get_interact_stage", priest_recno) == 0)
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", councillor_recno, 1)	
			FUNC("set_unit_can_process_in_cut_scene", priest_recno, 1)	


			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", priest_recno, "IDLE", 1, 0, 0, 0, 0)
			ACTION("give_task", councillor_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", priest_recno ) 
			ACTION("give_order" , priest_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , priest_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , councillor_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , councillor_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation", main_recno, priest_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", councillor_recno, "[0069N]Welcome to our town. As councillor, it is my duty to inform you that the Burgundians, led by Philip the Good, are heading to Compiegne with a massive show of force.") }

			WAIT { DIALOG("add_dialog", priest_recno, "[0070N]It appears that our king has decided to pursue a more diplomatic path towards peace. A truce has been declared between Burgundians and French forces. It appears that the war can be resolved without recurring to violent ends.") }

			WAIT { DIALOG("add_dialog", la_hire_recno, "[0071N]That's rubbish. Then why are the Burgundians attacking us? I suspect the Burgundian bastards are merely buying time for their own ulterior motives - whatever they may be!") }

			WAIT { DIALOG("add_dialog", councillor_recno, "[0072N]Do bear this in mind, courageous ones, when you attempt to lay siege to return the capital of France to their rightful owners. I bid you good tidings in your quest.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_can_interact_flag", priest_recno, 0)
			FUNC("set_can_interact_flag", councillor_recno, 0)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 9) > 0 && FUNC("get_scenario_bit_flag", 14) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", range_unit_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", philip_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", philip_recno ) 

			ACTION("give_task", philip_recno, "APPROACH_PLACE", 1, philip_spawn, 0, 0, 0)

			FUNC("change_camera_in_cut_scene", 0, 63347, 34574, 856, 350, -122, 44)
			WAIT { DIALOG("add_dialog", philip_recno, "[0073N]Range units! French forces are encroaching our territory! You must stop them from arriving at our camp!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			FUNC("facility_barrack_add_member", range_unit_b, earcher_id, 999, 1, 27)
			FUNC("facility_barrack_add_member", range_unit_c, earcher_id, 999, 1, 27)
			FUNC("facility_barrack_add_member", range_unit_d, earcher_id, 999, 1, 27)
			FUNC("facility_barrack_add_member", range_unit_e, earcher_id, 999, 1, 27)
			FUNC("facility_barrack_add_member", range_unit_f, earcher_id, 999, 1, 27)

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("del_unit", philip_recno)

			philip_recno = FUNC("add_unit", "Philip_the_good", "ENGLISH")
			FUNC("set_unit_name", philip_recno, "Philip the Good")
			FUNC("set_unit_ranking", philip_recno, "GENERAL")
			FUNC("set_unit_team", philip_recno, 27)
			FUNC("set_unit_pos", philip_recno, 63415.71, 29346.39, 13.88)
			FUNC("set_unit_dir", philip_recno, 270) 

			FUNC("set_scenario_bit_flag", 14, 1)
		}		
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 3) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", meet_anjou_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			anjou_recno = FUNC("search_unit_by_name", "Rene de Anjou")

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", anjou_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", richemont_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him

			FUNC("set_unit_hide_in_command_interface", richemont_recno, 0)

			FUNC("change_camera_in_cut_scene", 0, 24578, 63681, 405, 350, 102, 31)
			WAIT { DIALOG("add_dialog", anjou_recno, "[0074N]It is to the good fortune of us all that you have arrived!") }
			WAIT { DIALOG("add_dialog", richemont_recno, "[0075N]Yes, I could not ignore the current plight nor the request of my dear friend Rene.") }
			WAIT { DIALOG("add_dialog", richemont_recno, "[0076N]As we proceeded onwards towards Paris first, I managed to gather a wee modicum of military intelligence - not much, I'm afraid, but nevertheless it may come to use:") }

			FUNC("change_camera_in_cut_scene", 0, 27135, 61805, 533, 350, 93, 14)
			WAIT { DIALOG("add_dialog", anjou_recno, "[0077N]The forest of Montmartre lies before us. It should come as no surprise that within are scores of enemies, and even if we manage to cross the forest, I only dread to think what lies ahead as we approach Paris...") }

			FUNC("change_camera_in_cut_scene", 0, 28373, 74194, 1285, 350, 97, 23)
			WAIT { DIALOG("add_dialog", anjou_recno, "[0078N]...however, I also noticed on top of Montmartre hill there is a barracks that the enemy is using to train troops. The benefit to us is immense, for if we manage to capture the barracks, we can rely on a healthy population of troops.") }

			FUNC("change_camera_in_cut_scene", 0, 30529, 69218, 1024, 350, 99, 25)
			WAIT { DIALOG("add_dialog", anjou_recno, "[0079N]But to the right of Montmartre hill is a narrow passage that I presume may lead to a less-guarded position") }
			WAIT { DIALOG("add_dialog", anjou_recno, "[0080N]From there we might be able to strike Paris - a less prominent and less promising proposition, but nonetheless, a decent change to besiege!") }

			FUNC("change_camera_in_cut_scene", 0, 24578, 63681, 405, 350, 102, 31)
			WAIT { DIALOG("add_dialog", alencon_recno, "[0081N]I think thee for your information, good soldier. You are to be commended.") }

			WAIT { DIALOG("add_dialog", richemont_recno, "[0082N]Just doing my duty for king and country! From now on, Anjoy and I shall be at your behest!") }

			WAIT { DIALOG("add_dialog", jean_recno, "[0083N]Very well, then, most valuable comments. I suggest we do as Sir Arthur says and attempt the narrow passage. Who knows what we may find at the end of the road?") }

			FUNC("set_unit_ranking", richemont_recno, "GENERAL")

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 3, 1)
		}		
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 4) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", in_paris_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him

//			FUNC("change_camera_in_cut_scene", 0, 63392, 35336, 856, 227, -102, 48)

			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0084N]My word! Do not understand when you are uninvited?") }

			FUNC("change_camera_in_cut_scene", 0, lux_recno, 200, ( 180 - FUNC("get_unit_dir", lux_recno) ), 10)
			WAIT { DIALOG("add_dialog", lux_recno, "[0085N]I surely despise unwanted guests! Perhaps we should do something about these transgressors?") }

			FUNC("change_camera_in_cut_scene", 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10)
			WAIT { DIALOG("add_dialog", wandomme_recno, "[0086N]I think not. If they want a piece of me, then they can comd and find me!") }

			FUNC("change_camera_in_cut_scene", 0, philip_recno, 200, ( 180 - FUNC("get_unit_dir", philip_recno) ), 10)
			WAIT { DIALOG("add_dialog", philip_recno, "[0087N]You lousy French bastards! You have gone too far! Enter you have; leave you shall not! All units, to the attack!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 4, 1)

			// open all the church door
			FUNC("add_gate_trigger", church_door_a, 1)
			FUNC("add_gate_trigger", church_door_b, 1)
			FUNC("add_gate_trigger", church_door_c, 1)
			FUNC("add_gate_trigger", church_door_d, 1)
			FUNC("add_gate_trigger", church_door_e, 1)
		}		
	}


	if ( FUNC("get_scenario_event_bit_flag_2", 2) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", arrive_paris_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			FUNC("change_camera_in_cut_scene", 0, 24798, 74194, 1268, 350, 180, 31)
			WAIT { DIALOG("add_dialog", philip_recno, "[0088N]Ha! Pitiful fools! I see you have the determination to reach Paris.") }
			WAIT { DIALOG("add_dialog", lux_recno, "[0089N]Indeed, it is admirable your resilience...") }

			FUNC("change_camera_in_cut_scene", 0, 26256, 69282, 206, 350, 144, 10)
			WAIT { FUNC("pause_script", 1000) }
			FUNC("change_camera_in_cut_scene", 0, 26663, 70186, 206, 350, 139, 10)
			WAIT { FUNC("pause_script", 1000) }

			WAIT { DIALOG("add_dialog", lux_recno, "[0090N]...but look around you! Do you not see that we are armed and ready to dispens with our lives in order to keep Paris?") }

			FUNC("change_camera_in_cut_scene", 0, 24258, 69485, 157, 350, 44, 15)
			WAIT { DIALOG("add_dialog", wandomme_recno, "[0091N]Nothing here awaits you except utter destruction! Do the right thing: space the innocent French citizens from a similar fate and leave now!") }

			FUNC("change_camera_in_cut_scene", 0, 24203, 73554, 1175, 350, 128, 34)
			WAIT { DIALOG("add_dialog", philip_recno, "[0092N]Begone with you, foul beasts! Do not attempt to approach Paris, for you shall receive no benefit from it! This is your last warning! Do not enter or there will be hell to pay for!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 2, 1)

			FUNC("attention_call_message_2", "This is it, our last chance! Snow will consume us if we idle much longer, so we must approach now!", "La Hire")
			FUNC("attention_call_message_2", "Be wary, my dear friend. The enemy has been preparing for this eventual moment for lord knows how long.", "Jean de Metz")
			FUNC("attention_call_message_2", "If we rish a frontal attack, there is no way for us to know what lies in store for us! Surely there must be another way to gain entrance that the enemy has yet to contemplate?", "Ksi¹¿ê Alencon")

			FUNC("set_end_condition_enabled", 26, 1)
			FUNC("set_end_condition_enabled", 27, 1)
			FUNC("set_end_condition_enabled", 28, 1)
			FUNC("set_end_condition_enabled", 29, 1)

			FUNC("del_unit", wandomme_recno)
			FUNC("del_unit", bedford_recno)
			FUNC("del_unit", philip_recno)
			FUNC("del_unit", lux_recno)

			philip_recno = FUNC("add_unit", "Philip_the_good", "ENGLISH")
			FUNC("set_unit_name", philip_recno, "Philip the Good")
			FUNC("set_unit_ranking", philip_recno, "GENERAL")
			FUNC("set_unit_team", philip_recno, 750)
			FUNC("set_unit_level", philip_recno, 29)
			FUNC("set_unit_pos", philip_recno, 19099.71, 71604.39, 220.00)
			FUNC("set_unit_dir", philip_recno, 0) 

			bedford_recno = FUNC("add_unit", "BEDFORD", "ENGLISH")
			FUNC("set_unit_name", bedford_recno, "Regent Bedford")
			FUNC("set_unit_ranking", bedford_recno, "GENERAL")
			FUNC("set_unit_level", bedford_recno, 29)
			FUNC("set_unit_team", bedford_recno, 751)
			FUNC("set_unit_pos", bedford_recno, 15676.71, 74582.39, 165.00)
			FUNC("set_unit_dir", bedford_recno, 0) 

			lux_recno = FUNC("add_unit", "Luxembourg", "ENGLISH")
			FUNC("set_unit_name", lux_recno, "Jean de Luxembourg")
			FUNC("set_unit_ranking", lux_recno, "GENERAL")
			FUNC("set_unit_team", lux_recno, 752)
			FUNC("set_unit_level", lux_recno, 29)
			FUNC("set_unit_pos", lux_recno, 6225.71, 77985.39, 245.00)
			FUNC("set_unit_dir", lux_recno, 0) 

			wandomme_recno = FUNC("add_unit", "WANDOMME", "ENGLISH")
			FUNC("set_unit_name", wandomme_recno, "Ksi¹¿ê Wandomme")
			FUNC("set_unit_ranking", wandomme_recno, "GENERAL")
			FUNC("set_unit_level", wandomme_recno, 29)
			FUNC("set_unit_team", wandomme_recno, 753)
			FUNC("set_unit_pos", wandomme_recno, 3421.71, 69896.39, 0.00)
			FUNC("set_unit_dir", wandomme_recno, 0) 
		}		
	}


	if ( FUNC("get_scenario_bit_flag", 1) == 0 && anjou_recno > 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", meet_richemont_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", anjou_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", anjou_recno ) 

			FUNC("change_camera_in_cut_scene", 0, 42154, 5340, 207, 335, 175, 26)

			ACTION("give_order", main_recno, "APPROACH_PLACE", 1, 1, target_place_recno, 0, 0, 0, 5000)
			WAIT { FUNC("pause_script", 3000) }
			ACTION("give_order" , anjou_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , anjou_recno, main_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, anjou_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", anjou_recno, "[0093N]Ah, fellow Frenchmen! It is fortunate that I met up with you - you see, I was heading towards Montmartre, near Paris, to meet with Sir Richemont, but was unfortunately detected by the enemy in Provins.") }
			WAIT { DIALOG("add_dialog", anjou_recno, "[0094N]I have been here many a moon, unable to make headway. However, now that there are more of us together, we can both attempt to attack Provins, which lies just ahead on this path. Lead the way, and I shall follow.") }
			WAIT { DIALOG("add_dialog", anjou_recno, "[0095N]We have been waiting your arrival for quite some time! Greetings, fellow battle-hardened soldiers! I cane with my troops as soon as I heard the news from my messenger.") }
			WAIT { DIALOG("add_dialog", anjou_recno, "[0096N]To fight alongside you is an honor I can only repay in battle! My men and I are at your disposal - we are ready to continue the fight!") }
			WAIT { DIALOG("add_dialog", anjou_recno, "[0097N]fastolf just came through - luckily he did not see us - he passed by with an impressive array of enemy units, heading to Provins, I presume. So, just lead the way, and together we shall fare much better in eliminating him!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_control_flag", fcannon_recno_one, 1)
			FUNC("set_control_flag", fcannon_recno_one_a, 1)
			FUNC("set_control_flag", fcannon_recno_one_b, 1)
			FUNC("set_control_flag", fcannon_recno_two, 1)
			FUNC("set_control_flag", fcannon_recno_two_a, 1)
			FUNC("set_control_flag", fcannon_recno_two_b, 1)

			FUNC("set_control_flag", anjou_recno, 1)

			FUNC("set_end_condition_enabled", 25, 1)

			FUNC("set_scenario_bit_flag", 1, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 12) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", start_place_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			FUNC("change_camera_in_cut_scene", 0, 46282, 2227, 44, 188, -61, 8)

			INT unit_eight
			unit_eight = FUNC("search_unit_by_name", "Othon Buschier")

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, unit_eight) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", unit_eight, "[0098N]All your men-at-arms of the Valois cause are further along the road, and are awaiting your presence.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)

			FUNC("set_scenario_event_bit_flag", 12, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 10) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", meet_flavy_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			FUNC("change_camera_in_cut_scene", 0, 60725, 44145, 142, 350, -23, 11)

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, flavy_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, main_recno) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", flavy_recno, "[0099N]Greetings! I have awaited this day for far too long - the brave and noble warriors of Valois France in th presence of my fiefdom!") }

			WAIT { DIALOG("add_dialog", flavy_recno, "[0100N]I suspect this is not a social visit - you must seek help in the way of troops and supplies. I'm afraid I cannot dispose of all my resources. and supplies for your attempt to reclaim Paris.") }

			if ( main_recno != jean_recno )
			{
				WAIT { DIALOG("add_dialog", flavy_recno, "[0101N]I see that Jean de Metz is not with you. Do bring him along for our king solicits his presence. I myself have something to give him so it is his presence is vital.") }
			}
			else
			{	
				WAIT { DIALOG("add_dialog", flavy_recno, "[0102N]It is good to see you, Jean de Metz - our king has spoken most highly of you. So much so, that he has entrusted me to deliver this key to you and you only.") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0103N]This key opens the trap door that can lead our king to safety. I hope you never need to use it, but should the enemy lay siege to Compiegne, you can at least lead our king to safety.") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0104N]I see that our beloved Joan of Arc is not with you. Do bring her along for the Priest requests her presence.") }

				FUNC("give_item_to_unit", "keyS8_02", 1, 1, jean_recno)
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_scenario_bit_flag", 10, 1)

			FUNC("set_end_condition_enabled", 10, 1)

			if ( main_recno != jean_recno )
			{
				FUNC("set_control_flag", main_recno, 0)
				if ( FUNC("is_rts_mode") )
				{
					FUNC("quit_rts_mode")
					WAIT { FUNC("pause_script", 1500) }
				}

				FUNC("switch_controllable_unit", 2)
				
				FUNC("attention_call_message", "Bring Jean de Metz to meet with Guillaume de Flavy...")
			}
			else
			{
				FUNC("set_control_flag", main_recno, 0)
				if ( FUNC("is_rts_mode") )
				{
					FUNC("quit_rts_mode")
					WAIT { FUNC("pause_script", 1500) }
				}

				FUNC("switch_controllable_unit", 1)
				
				FUNC("attention_call_message", "Jean de Metz have been given the key to the trapdoor of the Lord's chambers.")

				FUNC("attention_call_message", "Bring Joan of Arc to meet with Guillaume de Flavy...")
			}
		}
	}

	if ( FUNC("get_scenario_bit_flag", 10) == 1 && FUNC("get_scenario_bit_flag", 16) == 0 && FUNC("get_end_condition_finish", 10) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", meet_flavy_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", jean_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
//			FUNC("change_camera_in_cut_scene", 0, 46282, 2227, 44, 188, -61, 8)

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, flavy_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, main_recno) , 0 , 0 , 0, 2500)

			if ( main_recno == joan_recno )
			{
				WAIT { DIALOG("add_dialog", flavy_recno, "[0105N]Our king, as you know, is residing in the Lord's chambers, but before you go and meet him, please assist our ceremony at the church in honor of those who gave their lives to defend Compiegne throughout the war.") }

				WAIT { DIALOG("add_dialog", jean_recno, "[0106N]Very well, then, I shall go and meet the king now.") }
				
				FUNC("stop_curr_task", jean_recno)
				FUNC("set_unit_team", jean_recno, 997)
				ACTION("give_task", jean_recno, "APPROACH_PLACE", 1, flavy_target_recno, 0, 0, 0)
//				FUNC("set_unit_track", jean_recno, "jeanLordTrack")
				FUNC("enable_unit_bounding_volume", jean_recno, 0)

//				FUNC("set_unit_pos", jean_recno, 58812.23, 41475.41, 0.0)

				FUNC("set_end_condition_finish", 10, "WIN")
				FUNC("set_end_condition_finish", 4, "WIN")
				FUNC("set_end_condition_enabled", 11, 1)
				FUNC("minimap_set_way_point", 11, 61697.0, 45144.0, 200.0, 1, 0)
				FUNC("minimap_set_way_point", 1, 61066.0, 44024.0, 200.0, 0, 0)
			}
			else
			if ( main_recno == jean_recno )
			{
				FUNC("change_camera_in_cut_scene", 0, 60880, 44199, 238, 350, -26, 43)
				WAIT { DIALOG("add_dialog", flavy_recno, "[0102N]It is good to see you, Jean de Metz - our king has spoken most highly of you. So much so, that he has entrusted me to deliver this key to you and you only.") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0103N]This key opens the trap door that can lead our king to safety. I hope you never need to use it, but should the enemy lay siege to Compiegne, you can at least lead our king to safety.") }

				WAIT { DIALOG("add_dialog", main_recno, "[0106N]Very well, then, I shall go and meet the king now.") }

				FUNC("give_item_to_unit", "keyS8_02", 1, 1, main_recno)

				FUNC("set_control_flag", jean_recno, 0)
				FUNC("set_control_flag", joan_recno, 1)

				FUNC("minimap_set_way_point", 1, 61066.0, 44024.0, 200.0, 0, 0)

				FUNC("minimap_set_way_point", 11, 61697.0, 45144.0, 200.0, 1, 0)

				if ( FUNC("is_rts_mode") )
				{
					FUNC("quit_rts_mode")
					WAIT { FUNC("pause_script", 1500) }
				}

				FUNC("switch_controllable_unit", 1)
				
				FUNC("stop_curr_task", jean_recno)
				FUNC("set_unit_team", jean_recno, 997)
				ACTION("give_task", jean_recno, "APPROACH_PLACE", 1, flavy_target_recno, 0, 0, 0)
//				FUNC("set_unit_track", jean_recno, "jeanLordTrack")
				FUNC("enable_unit_bounding_volume", jean_recno, 0)

//				FUNC("set_unit_pos", jean_recno, 58812.23, 41475.41, 0.0)

				ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, joan_recno) , 0 , 0 , 0, 2500)

				WAIT { DIALOG("add_dialog", flavy_recno, "[0105N]Our king, as you know, is residing in the Lord's chambers, but before you go and meet him, please assist our ceremony at the church in honor of those who gave their lives to defend Compiegne throughout the war.") }

				FUNC("set_end_condition_finish", 10, "WIN")
				FUNC("set_end_condition_finish", 4, "WIN")
				FUNC("set_end_condition_enabled", 11, 1)
			}
			else
			{
				if ( FUNC("get_control_flag", jean_recno) > 0 )
				{
					WAIT { DIALOG("add_dialog", flavy_recno, "[0107N]Please bring our beloved Jean de Metz to here.") }
				}
				else
				{
					WAIT { DIALOG("add_dialog", flavy_recno, "[0108N]Please bring our beloved Joan of Arc to here.") }
				}
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	
			FUNC("enable_unit_bounding_volume", jean_recno, 1)

			FUNC("set_scenario_bit_flag", 16, 1)
		}
	}

	if ( FUNC("get_end_condition_finish", 10) == 0 && FUNC("get_scenario_bit_flag", 16) == 1 )
	{
		WAIT{ FUNC("pause_script", 5000) }

		FUNC("set_scenario_bit_flag", 16, 0)
	}

	if ( FUNC("get_scenario_bit_flag", 12) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", start_rain_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("start_weather_effect", 2)
			FUNC("set_scenario_bit_flag", 12, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 13) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", farmland_recno, "E")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "The enemy has driven our hard-working citizens from their farmlands! Let us eliminate the enemy so that the farm can once again yield crops for Frenchmen!", "Ksi¹¿ê Alencon")

			FUNC("set_end_condition_enabled", 34, 1)

			FUNC("set_scenario_event_bit_flag_2", 13, 1)
		}
	}
	
	if ( FUNC("get_scenario_event_bit_flag_3", 6) == 0 && FUNC("get_end_condition_enabled", 22) > 0 && FUNC("get_end_condition_finish", 22) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", near_workshop_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "Do unto others as they would do unto you - we can build siege weapons here to attack the Burgundians this time around!", "Guillaume de Flavy")

			FUNC("set_scenario_event_bit_flag_3", 6, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_3", 3) == 0 && FUNC("get_scenario_bit_flag", 26) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", middle_lord_recno, "E")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "Jean de Metz, we need to leave now, for the enemy has already entered Compiegne and are coming to kill me!", charles_recno)

			FUNC("attention_call_message", "You must lead the king out to safety before the enemy kills Charles VII!")

			FUNC("set_scenario_event_bit_flag_3", 3, 1)
		}
	}

	if ( FUNC("get_end_condition_enabled", 34) == 1 && FUNC("get_end_condition_finish", 34) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", farmland_recno, joan_recno) == 0 )
		{
			FUNC("set_end_condition_finish", 34, "WIN")
		}
	}

	if ( FUNC("get_place_captured", on_island_recno) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", on_island_recno, joan_recno) == 0 )
		{
			FUNC("set_barrack_captured", facility_s_five_barrack, 1)
			FUNC("set_place_captured", on_island_recno, 1)
		}
	}

	if ( FUNC("get_place_captured", on_hill_recno) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", on_hill_recno, joan_recno) == 0 )
		{
			FUNC("set_barrack_captured", facility_s_eight_barrack, 1)
			FUNC("set_place_captured", on_hill_recno, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 17) == 0 && FUNC("get_scenario_bit_flag", 14) == 1 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", range_unit_two_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", philip_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", philip_recno ) 

			ACTION("give_task", philip_recno, "APPROACH_PLACE", 1, philip_spawn, 0, 0, 0)

			FUNC("change_camera_in_cut_scene", 0, 63192, 30155, 829, 350, -73, 45)
			WAIT { DIALOG("add_dialog", philip_recno, "[0109N]You bastard! How you dare to enter Burgundian soil armed! I shall show you that Burgundy will never play host to your nefarious ilk!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			FUNC("del_unit", philip_recno)

			WAIT{ FUNC("is_cut_scene_finished") }

			philip_recno = 0

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("facility_barrack_add_leader", philip_spawn_f, phillip_id, 27, 27, "Philip the Good", "Philip")
			FUNC("facility_barrack_add_member", philip_spawn_a, bur_hinf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", philip_spawn_b, bur_hinf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", philip_spawn_c, epoleman_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", philip_spawn_d, epoleman_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", philip_spawn_e, epoleman_id, 27, 1, 27)
	
			FUNC("set_scenario_bit_flag", 17, 1)
		}
	}
	
	if ( FUNC("get_end_condition_enabled", 11) > 0 && FUNC("get_scenario_bit_flag", 11) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", enter_cemetery_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			FUNC("change_camera_in_cut_scene", 0, 61634, 44601, 92, 243, -142, 25)

			WAIT{ ACTION("give_order", main_recno, "APPROACH_PLACE", 1, 1, enter_cemetery_recno, 0, 0, 0, 5000) }
			FUNC("set_unit_track", flavy_recno, "flavyChurchTrack")
			WAIT{ ACTION("give_order", flavy_recno, "APPROACH_PLACE", 1, 1, enter_cemetery_recno, 0, 0, 0, 6000) }

			FUNC("change_camera_in_cut_scene", 0, 62358, 45313, 74, 265, -162, 7)
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0110N]O brave warriors of Valois France, we are gathered here today to render homage to those who in exchange for their very lives, fought valiantly for our freedom and future.") }

			FUNC("change_camera_in_cut_scene", 0, 61553, 44539, 215, 265, 47, 20)
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0111N]Lord have mercy. Your mercies, my God, are unlimited and how great is Your compassion.") }

			FUNC("change_camera_in_cut_scene", 0, 62213, 46066, 520, 265, -110, 24)
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0112N]Through the intercessions of St. Mary, the Mother of God, O Lord grant them the forgiveness of their sins.") }

			FUNC("change_camera_in_cut_scene", 0, 62448, 44727, 266, 265, 156, 16)
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0113N]We praise You with Your Good Father and the Holy Spirit for You were crucified and saved us. Have mercy upon them.") }

			FUNC("change_camera_in_cut_scene", 0, 62372, 45194, 59, 265, -179, 11)
			WAIT { DIALOG("add_dialog", the_priest_recno, "[0114N]Amen.") }

			FUNC("change_camera_in_cut_scene", 0, 61539, 44604, 58, 265, -154, 6)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, flavy_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, main_recno) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", flavy_recno, "[0115N]The priest would also like to meet with you. Do go and meet him before heading towards the Lord's chambers to see our king. I shall head first to deliver news to Charles VII about your arrival.") }

			FUNC("stop_curr_task", flavy_recno)
			ACTION("give_task", flavy_recno, "APPROACH_PLACE", 1, flavy_target_recno, 0, 0, 0)
			FUNC("set_unit_track", flavy_recno, "flavyLordTrack")

			WAIT{ FUNC("pause_script", 3500) }

//			FUNC("set_unit_pos", flavy_recno, 58952.09, 41463.66, 0.0)
			FUNC("minimap_set_way_point", 11, 61697.0, 45144.0, 200.0, 0, 0)

			FUNC("set_end_condition_enabled", 12, 1)
			FUNC("set_end_condition_enabled", 13, 1)

			FUNC("set_end_condition_finish", 11, "WIN")

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("del_unit", flavy_recno)
			FUNC("facility_barrack_add_leader", flavy_target_recno_a, flavy_id, 998, 25, "Guillaume de Flavy", "Flavy")

			FUNC("minimap_set_way_point", 3, 58952.09, 41463.66, 200.0, 1, 0)

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_scenario_bit_flag", 11, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 11) == 1 && FUNC("get_scenario_bit_flag", 21) == 0 )
	{
		if ( FUNC("is_unit_inside_place", flavy_target_recno, flavy_recno) > 0 )
		{
			FUNC("stop_curr_task", flavy_recno)
			FUNC("set_idle", flavy_recno) 
			ACTION("give_task", flavy_recno, "IDLE", 1, 1, 0, 0, 0)

			FUNC("set_scenario_bit_flag", 21, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 17) == 1 && FUNC("get_scenario_event_bit_flag", 11) == 0 )
	{
		// set weapon seller to idle and rotate him
//			FUNC("change_camera_in_cut_scene", 0, 46008, 2536, 97, 188, -47, 7)

		FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

		INT philip_come_messager
		philip_come_messager = FUNC("search_unit_by_name", "Richard Cheville")

		FUNC("minimap_set_way_point", 3, 58952.09, 41463.66, 200.0, 0, 0)

		// set main character to idle
		FUNC("set_idle", main_recno)
		FUNC("stop_curr_task", main_recno)
		ACTION("stop_all_order", main_recno)
		FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
		FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
		FUNC("set_unit_can_process_in_cut_scene", philip_come_messager, 1)	// joan can process
		FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process
		FUNC("set_unit_can_process_in_cut_scene", charles_recno, 1)	// joan can process

		FUNC("change_camera_in_cut_scene", 0, 58655, 42010, 232, 188, -53, 29)
		FUNC("set_unit_track", philip_come_messager, "philipMessagerTrack") 
		
		ACTION("give_task", philip_come_messager, "APPROACH_PLACE", 1, philip_come_recno, 0, 0, 0)
		WAIT{ FUNC("pause_script", 5000) }

		FUNC("set_unit_track", philip_come_messager, "Dummy")

		FUNC("stop_curr_task", philip_come_messager)
		FUNC("set_idle", philip_come_messager) 
		ACTION("give_task", philip_come_messager, "IDLE", 1, 0, 0, 0, 0)

		ACTION("give_order" , philip_come_messager, "TURN" , 3 , 0 , FUNC("get_rotation" , philip_come_messager, charles_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, philip_come_messager) , 0 , 0 , 0, 2500)
		ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, philip_come_messager) , 0 , 0 , 0, 2500)
		ACTION("give_order" , charles_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , charles_recno, philip_come_messager) , 0 , 0 , 0, 2500)
		ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, philip_come_messager) , 0 , 0 , 0, 2500)
		
		WAIT { DIALOG("add_dialog", philip_come_messager, "[0116N]Milord, it appears that Philip the Good is approaching. Fortunately there seems to be few enemy troops accompanying him.") }

		ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, charles_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, charles_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, charles_recno) , 0 , 0 , 0, 2500)
		WAIT { DIALOG("add_dialog", charles_recno, "[0117N]So the Burgundians negotiated a truce only to allow themselves the luxury of replenish their own forces. I am a fool for having entrusted our country's well-being to the truthless words of the enemy!") }

		ACTION("give_order" , philip_come_messager, "TURN" , 3 , 0 , FUNC("get_rotation" , philip_come_messager, flavy_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, flavy_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, charles_recno) , 0 , 0 , 0, 2500)
		ACTION("give_order" , charles_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , charles_recno, flavy_recno) , 0 , 0 , 0, 2500)
		WAIT { DIALOG("add_dialog", flavy_recno, "[0118N]Indeed, this treacherous lot of Burgundians are not to be trusted. Now is not the time to dwell on the matter - we must see what the Burgundians have in mind for us. Rest assured, my king, that you will be safe within the walls of this city.") }

		WAIT { DIALOG("add_dialog", flavy_recno, "[0119N]Metz, you stay here and protect the king. The rest of you, come with me! We will man the walls with archers, but we need melee units at the boulevard to stave off Philip's attacks!") }
		WAIT { DIALOG("add_dialog", flavy_recno, "[0120N]Let's head to the tower of the eastern entrance of Compiegne, and greet our 'guest'!") }

		FUNC("change_camera_in_cut_scene", 0, 58655, 42010, 232, 188, -53, 29)
		WAIT { DIALOG("add_dialog", jean_recno, "[0121N]I shall stay behind to protect the king - just in case. One can never be too sure or safe.") }

		FUNC("stop_curr_task", flavy_recno)
		FUNC("set_unit_track", flavy_recno, "flavyNorth")
		ACTION("give_task", flavy_recno, "APPROACH_PLACE", 1, attach_north_recno, 0, 0, 0)

		FUNC("enable_unit_bounding_volume", flavy_recno, 0)

		WAIT { FUNC("pause_script", 1000) }

		// leave cut scene
		DIALOG("del_all_dialog") 
		FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

		WAIT{ FUNC("is_cut_scene_finished") }

		FUNC("del_unit", flavy_recno)
		FUNC("set_unit_track", jean_recno, "Dummy")

		FUNC("del_unit", philip_come_messager)

		flavy_recno = FUNC("add_unit", "FLAVY", "FRENCH")
		FUNC("set_unit_name", flavy_recno, "Guillaume de Flavy")
		FUNC("set_unit_team", flavy_recno, 998)
		FUNC("set_unit_level", flavy_recno, 25)
		FUNC("set_unit_ranking", flavy_recno, "GENERAL")
		FUNC("set_unit_pos", flavy_recno, 64640.0, 44966.39, 560.88)
		FUNC("set_unit_dir", flavy_recno, 0) 

		FUNC("set_control_flag", flavy_recno, 0)

		ACTION("give_task", flavy_recno, "IDLE", 1, 1, 0, 0, 0)

		FUNC("attention_call_message_2", "Come to the platform above the east gate of Compiegne. Let's give our Burgrundian 'friends' a warm reception!", "Guillaume de Flavy")

		FUNC("set_scenario_event_bit_flag", 11, 1)

		FUNC("minimap_set_way_point", 2, 64640.0, 44966.39, 200.0, 1, 0)
	}

	if ( FUNC("get_scenario_event_bit_flag", 11) == 1 && FUNC("get_scenario_bit_flag", 27) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", gate_top_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("facility_barrack_add_leader", spawn_english_a, phillip_id, 27, 27, "Philip the Good", "Philip")
			FUNC("facility_barrack_add_member", spawn_english_b, bur_hinf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_c, bur_hinf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_d, bur_linf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_e, bur_linf_id, 27, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_f, bur_linf_id, 27, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_g, bur_arccap_id, 28, 27, "Gryffen Coifer", "Coifer")
			FUNC("facility_barrack_add_member", spawn_english_h, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_i, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_l, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_aa, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ab, bur_archer_id, 28, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ac, bur_arccap_id, 192, 27, "Dauit Bleyk", "Bleyk")
			FUNC("facility_barrack_add_member", spawn_english_ad, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ae, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_af, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ag, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ah, bur_archer_id, 192, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ba, ehinfcap_id, 193, 27, "Owaine Hill", "Hill")
			FUNC("facility_barrack_add_member", spawn_english_bb, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bc, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bd, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_be, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bf, ehinfant_id, 193, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ca, emacecap_id, 194, 27, "Eustace Durant", "Durant")
			FUNC("facility_barrack_add_member", spawn_english_cb, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cc, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cd, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ce, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cf, emaceman_id, 194, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_da, emacecap_id, 195, 27, "Benedict Jake", "Jake")
			FUNC("facility_barrack_add_member", spawn_english_db, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_dc, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_dd, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_de, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_df, emaceman_id, 195, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ea, earchcap_id, 196, 27, "Rauf Crueem", "Crueem")
			FUNC("facility_barrack_add_member", spawn_english_eb, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ec, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ed, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ee, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ef, earcher_id, 196, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_fa, earchcap_id, 197, 27, "Willia Horn", "Horn")
			FUNC("facility_barrack_add_member", spawn_english_fb, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fc, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fd, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fe, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ff, earcher_id, 197, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_m, bur_linfcap_id, 29, 27, "Rouland Deylys", "Deylys")
			FUNC("facility_barrack_add_member", spawn_english_n, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_o, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_p, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_q, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_j, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_k, bur_linf_id, 29, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_s, bur_linfcap_id, 30, 27, "Henry Greyue", "Greyue")
			FUNC("facility_barrack_add_member", spawn_english_t, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_u, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_v, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_w, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_x, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_r, bur_linf_id, 30, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_z, catapult_id, 31, 27, "Walter Leticie", "Leticie")
			FUNC("facility_barrack_add_leader", spawn_english_z_one, elinfant_id, 31, 27, "Trebuchet Controller 1", "Trebuchet Controller 1")
			FUNC("facility_barrack_add_leader", spawn_english_z_two, elinfant_id, 31, 27, "Trebuchet Controller 2", "Trebuchet Controller 2")
			FUNC("facility_barrack_add_leader", spawn_english_z_three, elinfant_id, 31, 27, "Trebuchet Controller 3", "Trebuchet Controller 3")

			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
//			FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process

			FUNC("change_camera_in_cut_scene", 0, 65970, 44946, 220, 250, -180, -12)
			WAIT { DIALOG("add_dialog", flavy_recno, "[0122N]So I see that you have the gall to present yourself in front of our beloved castle. What, pray tell, brings you here? Surely it cannot be a siege, for do you really think you can breach our fortifications with a mere trebuchet and cannons?") }

			if ( philip_recno == 0 )
			{
				philip_recno = FUNC("get_unit_team_leader_by_team_id", 27)

				FUNC("give_item_to_unit", "FD_FISH", 1, 3, philip_recno)
			}

			flavy_recno = FUNC("search_unit_by_code", "Flavy")

			FUNC("change_camera_in_cut_scene", 0, 66695, 45040, 69, 350, 180, 8)
			WAIT { DIALOG("add_dialog", philip_recno, "[0123N]Our forces are meager but we are better-trained, French fools! We still aim to enter the castle and slay that excuse of a king that you have. France will be unified under the superior might of the combined banners of England and Burgundy!") }

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , 0, 0 , 0 , 0, 2500)
			FUNC("change_camera_in_cut_scene", 0, 65625, 44931, 1032, 350, 180, 34)
			WAIT { DIALOG("add_dialog", flavy_recno, "[0124N]Very well, then, as you see fit. Archers, ready your explosive arrows! Negate these buffoons entrance!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

	//		FUNC("attention_call_message", "Metz will stay and protect the king - his assignment prevents him from staying from the Lord's Chambers.")

			FUNC("attention_call_message_2", "Head on to the west entrance and take the path through the trees to the south of Compiegne. This way you can flank the enemy from the right. We will hold on to our positions here and keep the enemy from breaking in from the east entrance.", "Guillaume de Flavy")
			FUNC("attention_call_message_2", "Let us put a stop to Philip the Good and his men, and destroy their accursed trebuchet!", "Guillaume de Flavy")

			FUNC("set_control_flag", flavy_recno, 1)
			FUNC("set_unit_hide_in_command_interface", flavy_recno, 0)

			FUNC("set_unit_team", jean_recno, 3)

			FUNC("set_unit_track", jean_recno, "Dummy")

			FUNC("set_gate_hp", compiegne_north_gate, 450)

			FUNC("del_item_by_name", "Block2A")

			FUNC("set_scenario_bit_flag", 27, 1)
			FUNC("set_end_condition_enabled", 15, 1)
			FUNC("set_end_condition_enabled", 17, 1)

			FUNC("minimap_set_way_point", 2, 64640.0, 44966.39, 200.0, 0, 0)
			FUNC("minimap_set_way_point", 6, 57966.0, 43854.39, 200.0, 1, 0)
			FUNC("minimap_set_way_point", 7, 67340.0, 44900.39, 200.0, 1, 0)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 6) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", reach_soissons_recno, "E")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him
//			FUNC("change_camera_in_cut_scene", 0, 46008, 2536, 97, 188, -47, 7)

			FUNC("set_scenario_mode", "SCENARIO_BATTLE_MODE")

			FUNC("change_camera_in_cut_scene", 0, 50665, 19277, 66, 350, 0, 5)
			WAIT { DIALOG("add_dialog", team_one_one_two_leader, "[0125N]There they are - loathsome abominations! At their throats, gents! Bedford wants their heads on a platter, so let's please our Regent and prepare the dish for him!") }

			FUNC("change_camera_in_cut_scene", 0, 55284, 20815, 498, 350, -137, 10)
			WAIT { DIALOG("add_dialog", team_one_zero_nine_leader, "[0126N]Do not worry, they will never pass Soissons, not while we are here! A shower of arrows will spell a bath in blood!") }

			FUNC("change_camera_in_cut_scene", 0, 50252, 22184, 12, 350, -23, 14)
			WAIT { DIALOG("add_dialog", team_one_one_three_leader, "[0127N]And we shall head into French territory!! While our Regent fortifies the road to Paris, we shall concert our efforts to reclaim Reims and the southern Loire region!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("attention_call_message_2", "[0128N]We must not allow the enemy to reach the walls of Reims! We must secure Soissons before we can afford to continue on towards Compiegne!", "Ksi¹¿ê Alencon" )

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)
			
			FUNC("stop_curr_task", team_one_one_two_leader)
			ACTION("give_task", team_one_one_two_leader, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)

			FUNC("set_end_condition_enabled", 7, 1)
//			FUNC("set_end_condition_enabled", 8, 1)

			FUNC("set_scenario_mode", "SCENARIO_NORMAL_MODE")

			FUNC("set_scenario_bit_flag", 6, 1)
		}
	}


	if ( FUNC("get_scenario_event_bit_flag", 28) == 1 && FUNC("get_scenario_bit_flag", 5) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", spawn_unit_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("facility_barrack_add_leader", spawn_unit_a, fhinfcap_id, 104, 28, "Simon Aumucier", "Aumucier")

			FUNC("set_team_control_flag", 104, 1)

			FUNC("set_scenario_bit_flag", 5, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 7) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", many_tree_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "I suspect enemy troops beyond the trees - be careful, lads, for I sense we are ever encroaching into their territory!", "La Hire")

			if ( FUNC("get_scenario_event_bit_flag", 29) > 0 )
			{
				anjou_recno = FUNC("add_unit", "FRENCH_HEAVY_INFANTRY_CAPTAIN", "FRENCH")
				FUNC("set_unit_name", anjou_recno, "Rene de Anjou")
				FUNC("set_unit_ranking", anjou_recno, "GENERAL")
				FUNC("set_unit_team", anjou_recno, 5)
				FUNC("set_unit_level", philip_recno, 24)
				FUNC("set_unit_pos", anjou_recno, 41460.71, 5576.39, -14.00)
				FUNC("set_unit_dir", anjou_recno, -27) 

				FUNC("set_control_flag", anjou_recno, 0)

				INT fac_one
				INT fac_one_a
				INT fac_one_b
				fac_one = FUNC("add_unit", "fauconneau", "FRENCH")
				FUNC("set_unit_level", fac_one, 24)
				FUNC("set_unit_pos", fac_one, 41336.38, 5697.67, 8.00)
				FUNC("set_unit_dir", fac_one, -35) 

				fac_one_a = FUNC("add_unit", "FRENCH_LIGHT_INFANTRY", "FRENCH")
				FUNC("set_unit_level", fac_one_a, 24)
				FUNC("set_unit_pos", fac_one_a, 41274.38, 5614.67, 24.00)
				FUNC("set_unit_dir", fac_one_a, -35) 

				fac_one_b = FUNC("add_unit", "FRENCH_LIGHT_INFANTRY", "FRENCH")
				FUNC("set_unit_level", fac_one_b, 24)
				FUNC("set_unit_pos", fac_one_b, 41245.38, 5720.00, 24.00)
				FUNC("set_unit_dir", fac_one_b, -30) 

				ACTION("give_task", fac_one_a, "LARGE_WEAPON_PUSH", 10, fac_one, 0, 0, 0)
				ACTION("give_task", fac_one_b, "LARGE_WEAPON_PUSH", 10, fac_one, 0, 0, 0)

				fac_one = FUNC("add_unit", "fauconneau", "FRENCH")
				FUNC("set_unit_level", fac_one, 24)
				FUNC("set_unit_pos", fac_one, 41459.38, 5854.67, 28.50)
				FUNC("set_unit_dir", fac_one, -35) 

				fac_one_a = FUNC("add_unit", "FRENCH_LIGHT_INFANTRY", "FRENCH")
				FUNC("set_unit_level", fac_one_a, 24)
				FUNC("set_unit_pos", fac_one_a, 41406.38, 5899.67, 26.00)
				FUNC("set_unit_dir", fac_one_a, -35) 

				fac_one_b = FUNC("add_unit", "FRENCH_LIGHT_INFANTRY", "FRENCH")
				FUNC("set_unit_level", fac_one_b, 24)
				FUNC("set_unit_pos", fac_one_b, 41463.38, 5957.45, 39.23)
				FUNC("set_unit_dir", fac_one_b, -30) 

				ACTION("give_task", fac_one_a, "LARGE_WEAPON_PUSH", 10, fac_one, 0, 0, 0)
				ACTION("give_task", fac_one_b, "LARGE_WEAPON_PUSH", 10, fac_one, 0, 0, 0)
			}

			FUNC("set_scenario_bit_flag", 7, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 28) > 0 && FUNC("get_scenario_event_bit_flag_2", 10) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", to_senlis_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "If we go straight, we will reach Senlis, then Saint-Denlis and finally arrive at Paris.", "Jean de Metz")
			FUNC("attention_call_message_2", "However, if we head towards the path to the left, we may also pass through of Dammartin and Lagny before we reach Senlis. The choice is yours. Lead, and we shall follow.", "Ksi¹¿ê Alencon")

			FUNC("set_scenario_event_bit_flag_2", 10, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 8) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", arrow_ambush_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "Range units lurking among the woods!", "Ksi¹¿ê Alencon")

			FUNC("set_scenario_bit_flag", 8, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 9) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", see_camp_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "This is where the enemy range units must have come from! Let's capture the camp, for the barracks could be used in our favor!", "Jean De Metz")
			FUNC("attention_call_message_2", "But tread carefully - they possess siege weapons among their firepower here in camp froid!", "La Hire")

			FUNC("set_end_condition_enabled", 38, 1)

			FUNC("set_scenario_bit_flag", 9, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 28) == 0 && FUNC("get_scenario_event_bit_flag", 2) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", spawn_unit_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 
	
			INT maceman_recno
			INT crossbow_recno

			maceman_recno = FUNC("search_unit_by_name", "Charles Gruier")
			crossbow_recno = FUNC("search_unit_by_name", "Aubert Chaenier")

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", maceman_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", crossbow_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him

			FUNC("change_camera_in_cut_scene", 0, 43432, 12518, 324, 350, -38, 31)

			WAIT{ ACTION("give_order", main_recno, "APPROACH_PLACE", 1, 1, joan_target_recno, 0, 0, 0, 1000) }

//			FUNC("change_camera_in_cut_scene", 0, maceman_recno, 200, ( 180 - FUNC("get_unit_dir", maceman_recno) ), 10)
			ACTION("stop_all_order", main_recno) 
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, maceman_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , maceman_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , maceman_recno, main_recno) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", maceman_recno, "[0129N]Greetings. Due in no small amount to your efforts, we have managed to return large tracts of France back to our rightful hands.") }

//			FUNC("change_camera_in_cut_scene", 0, crossbow_recno, 200, ( 180 - FUNC("get_unit_dir", crossbow_recno) ), 10)
			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, crossbow_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , crossbow_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , crossbow_recno, main_recno) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", crossbow_recno, "[0130N]Indeed, our captain is most anxious to meet you. And of course, fighting alongside your eminence would be a tremendous honor. Do come back later, when our captain returns.") }
			
			FUNC("set_scenario_count_time")

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_scenario_event_bit_flag", 2, 1)
		}
	}

	if ( team_one_zero_four_recno == 0 && FUNC("get_scenario_event_bit_flag", 29) == 0 )
	{
		team_one_zero_four_recno = FUNC("search_unit_by_name", "Simon Aumucier")

		if ( team_one_zero_four_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", team_one_zero_four_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", team_one_zero_four_recno ) 

			FUNC("change_camera_in_cut_scene", 0, 43039, 12898, 482, 338, -44, 29)

			WAIT{ ACTION("give_order", team_one_zero_four_recno, "APPROACH_PLACE", 1, 1, unit_target_recno, 0, 0, 0, 5000) }

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, team_one_zero_four_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , team_one_zero_four_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , team_one_zero_four_recno, main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", team_one_zero_four_recno, "[0131N]The presence of such eminence must not be a mere coincidence. If you seek my aid in capturing Paris, I shall be honored to assemble an elite force of brave warriors to fight alongside you!") }

			ACTION("give_order" , team_one_zero_four_recno, "TURN" , 3 , 0 , 270, 0 , 0 , 0, 2500)
			
			WAIT { DIALOG("add_dialog", team_one_zero_four_recno, "[0132N]Men! Form ranks immediately! From now, we shall be at the disposal of the liberators, the noble warriors of France!") }

			ACTION("give_order" , team_one_zero_four_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , team_one_zero_four_recno, main_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", team_one_zero_four_recno, "[0133N]Yes, sir! Long live Joan! Long live France!") }
			
			WAIT { DIALOG("add_dialog", team_one_zero_four_recno, "[0134N]I shall instruct one of my messengers to deliver word to our general, Rene of Anjou, that you shall be heading towards Compiegne. Captain Anjou is most eager to assist you as well, and his fauconneaus may come in most handy.") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			ACTION("give_order", team_one_zero_four_recno, "APPROACH_PLACE", 1, 1, unit_going_recno, 0, 0, 0, 3000)

			FUNC("set_scenario_event_bit_flag", 29, 1)
		}
	}

	if ( FUNC("get_wall_hp", compiegne_wall_recno) == 0 && FUNC("get_scenario_bit_flag", 19) == 0 && FUNC("get_scenario_event_bit_flag", 10) == 1 )
	{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			FUNC("facility_barrack_add_leader", bedford_spawn_da, emacecap_id, 388, 27, "Bernard Barrow", "Barrow")
			FUNC("facility_barrack_add_member", bedford_spawn_db, emaceman_id, 388, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_dc, emaceman_id, 388, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_dd, emaceman_id, 388, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_de, emaceman_id, 388, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_df, emaceman_id, 388, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_ea, epolecap_id, 389, 27, "Edward Morcott", "Morcott")
			FUNC("facility_barrack_add_member", bedford_spawn_eb, epoleman_id, 389, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ec, epoleman_id, 389, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ed, epoleman_id, 389, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ee, epoleman_id, 389, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ef, epoleman_id, 389, 1, 27)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			if ( FUNC("get_scenario_bit_flag", 20) == 0 )
			{
				FUNC("change_camera_in_cut_scene", 0, 59359, 38495, 175, 165, 57, 7)
				WAIT { DIALOG("add_dialog", bedford_recno, "[0135N]The enemy's walls have fallen! Storm the castle! Slay that impotent fool they dare claim as their 'king'!") }

				FUNC("change_camera_in_cut_scene", 0, 58891, 41556, 50, 338, -89, 8)
				WAIT { DIALOG("add_dialog", charles_recno, "[0136N]The enemy has breached the walls! We must find a way out! Jean de Metz, there is a trap door here behind the bookcase that we can use to flee! Use the key Flavy entrusted you with to open the door so we can escape!") }

				FUNC("set_control_flag", jean_recno, 1)
				using_recno = main_recno
				if ( FUNC("is_rts_mode") )
				{
					FUNC("quit_rts_mode")
					WAIT { FUNC("pause_script", 1500) }
				}

				FUNC("switch_controllable_unit", 2)

				FUNC("set_end_condition_enabled", 36, 1)
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_bit_flag", 19, 1)

			team_three_six_leader = FUNC("get_unit_team_leader_by_team_id", 36)
			team_three_seven_leader = FUNC("get_unit_team_leader_by_team_id", 37)
			team_three_eight_leader = FUNC("get_unit_team_leader_by_team_id", 38)
			team_three_nine_leader = FUNC("get_unit_team_leader_by_team_id", 39)
			team_three_eight_eight_leader = FUNC("get_unit_team_leader_by_team_id", 388)
			team_three_eight_nine_leader = FUNC("get_unit_team_leader_by_team_id", 389)
			FUNC("set_unit_track", team_three_six_leader, "killCharles")
			FUNC("set_unit_track", team_three_seven_leader, "killCharles")
			FUNC("set_unit_track", team_three_eight_leader, "killCharles")
			FUNC("set_unit_track", team_three_nine_leader, "killCharles")
			FUNC("set_unit_track", team_three_eight_eight_leader, "killCharles")
			FUNC("set_unit_track", team_three_eight_nine_leader, "killCharles")
			FUNC("set_unit_track", bedford_recno, "killCharles")
			ACTION("give_task", team_three_six_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", team_three_seven_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", team_three_eight_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", team_three_nine_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", team_three_eight_eight_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", team_three_eight_nine_leader, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)
			ACTION("give_task", bedford_recno, "FOLLOW_UNIT", 1, charles_recno, 0, 0, 0)

			FUNC("stop_curr_task", team_seven_four_leader)
			FUNC("set_control_flag", team_seven_four_leader, 1)

			FUNC("stop_curr_task", team_seven_five_leader)
			FUNC("set_control_flag", team_seven_five_leader, 1)

			FUNC("stop_curr_task", team_seven_six_leader)
			FUNC("set_control_flag", team_seven_six_leader, 1)

			FUNC("stop_curr_task", team_seven_seven_leader)
			FUNC("set_control_flag", team_seven_seven_leader, 1)

			FUNC("stop_curr_task", team_seven_eight_leader)
			FUNC("set_control_flag", team_seven_eight_leader, 1)

			FUNC("stop_curr_task", team_seven_nine_leader)
			FUNC("set_control_flag", team_seven_nine_leader, 1)

			FUNC("stop_curr_task", team_eight_zero_leader)
			FUNC("set_control_flag", team_eight_zero_leader, 1)

			FUNC("stop_curr_task", team_eight_one_leader)
			FUNC("set_control_flag", team_eight_one_leader, 1)

			FUNC("stop_curr_task", team_eight_two_leader)
			FUNC("set_control_flag", team_eight_two_leader, 1)

			FUNC("stop_curr_task", team_eight_three_leader)
			FUNC("set_control_flag", team_eight_three_leader, 1)

			FUNC("stop_curr_task", team_eight_four_leader)
			FUNC("set_control_flag", team_eight_four_leader, 1)						
	}

	if ( FUNC("get_unit_hp_percentage", flavy_recno) > 0 && FUNC("get_unit_hp_percentage", flavy_recno) <= 50 && FUNC("get_scenario_event_bit_flag_3", 4) == 0 )
	{
		FUNC("attention_call_message_2", "I sure could use some help here! I'm under heavy enemy attack!", "Guillaume de Flavy")
		FUNC("set_scenario_event_bit_flag_3", 4, 1)
	}

	if ( FUNC("get_unit_hp_percentage", charles_recno) <= 50 && FUNC("get_scenario_event_bit_flag_3", 5) == 0 )
	{
		FUNC("attention_call_message_2", "I am being hounded by the enemy and am in dire need of support!", "Karol VII")
		FUNC("set_scenario_event_bit_flag_3", 5, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag", 10) == 1 && FUNC("get_scenario_event_bit_flag_2", 8) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", bedford_spawn_recno, "E")

		if ( joan_in_place_recno )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him

			if ( FUNC("get_scenario_bit_flag", 20) == 0 )
			{
				FUNC("change_camera_in_cut_scene", 0, 60764, 38493, 89, 188, 110, 3)
				WAIT { DIALOG("add_dialog", bedford_recno, "[0137N]Keep on attacking, men, for the walls are about to give way!") }

				FUNC("set_wall_hp", compiegne_wall_recno, 20)
				FUNC("set_gate_hp", compiegne_north_gate, 20)

				using_recno = main_recno

				FUNC("set_end_condition_finish", 23, "WIN")

				FUNC("minimap_set_way_point", 8, 62919.0, 37482.39, 200.0, 0, 0)
			}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 8, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 22) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", go_provins_recno, "E")

		if ( joan_in_place_recno )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			FUNC("change_camera_in_cut_scene", 0, 39743, 18604, 84, 340, -38, 2)
			WAIT { DIALOG("add_dialog", team_one_five_one_leader, "[0138N]We must stop the French from passing! Provins lies ahead, and we must protect Bedford from harm's way!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", team_one_five_zero_leader)
			FUNC("stop_curr_task", team_one_five_one_leader)
			FUNC("stop_curr_task", team_one_five_two_leader)
			FUNC("stop_curr_task", team_one_five_three_leader)

			ACTION("give_task", team_one_five_zero_leader, "FOLLOW_UNIT", 1, joan_in_place_recno, 0, 0, 0)
			ACTION("give_task", team_one_five_one_leader, "FOLLOW_UNIT", 1, joan_in_place_recno, 0, 0, 0)
			ACTION("give_task", team_one_five_two_leader, "FOLLOW_UNIT", 1, joan_in_place_recno, 0, 0, 0)
			ACTION("give_task", team_one_five_three_leader, "FOLLOW_UNIT", 1, joan_in_place_recno, 0, 0, 0)

			FUNC("set_scenario_bit_flag", 22, 1)
		}
	}

	if ( FUNC("is_item_deleted_by_name", compiegne_north_gate, "CompiegneGateNorth") == 1 && FUNC("get_scenario_bit_flag", 20) == 0 && FUNC("get_scenario_event_bit_flag", 10) == 1 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", catapult_range_recno, "E")

		if ( joan_in_place_recno )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 

			FUNC("facility_barrack_add_leader", bedford_spawn_ba, bur_hinfcap_id, 390, 27, "Gregory Clipsham", "Clipsham")
			FUNC("facility_barrack_add_member", bedford_spawn_bb, bur_hinf_id, 390, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bc, bur_hinf_id, 390, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bd, bur_linf_id, 390, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_be, bur_linf_id, 390, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bf, bur_linf_id, 390, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_ca, bur_hinfcap_id, 391, 27, "John Exton", "Exton")
			FUNC("facility_barrack_add_member", bedford_spawn_cb, bur_hinf_id, 391, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cc, bur_hinf_id, 391, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cd, epoleman_id, 391, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ce, epoleman_id, 391, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cf, epoleman_id, 391, 1, 27)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

//				{
				FUNC("change_camera_in_cut_scene", 0, 65628, 44426, 254, 188, 147, 6)
				WAIT { DIALOG("add_dialog", flavy_recno, "[0139N]The enemy has stormed the gate! The defenses of Compiegne have been compromised! The enemy numbers in the scores! We desperately need troops to assist us, for Compiegne is sure to fall at this rate!") }

				FUNC("set_gate_need_key", compiegne_north_gate, 0)

				team_two_eight_leader = FUNC("get_unit_team_leader_by_team_id", 28)
				team_two_nine_leader = FUNC("get_unit_team_leader_by_team_id", 29)
				team_three_zero_leader = FUNC("get_unit_team_leader_by_team_id", 30)
				team_one_nine_two_leader = FUNC("get_unit_team_leader_by_team_id", 192)
				team_one_nine_three_leader = FUNC("get_unit_team_leader_by_team_id", 193)
				team_one_nine_four_leader = FUNC("get_unit_team_leader_by_team_id", 194)
				team_one_nine_five_leader = FUNC("get_unit_team_leader_by_team_id", 195)
				team_one_nine_six_leader = FUNC("get_unit_team_leader_by_team_id", 196)
				team_one_nine_seven_leader = FUNC("get_unit_team_leader_by_team_id", 197)
				team_three_nine_zero_leader = FUNC("get_unit_team_leader_by_team_id", 390)
				team_three_nine_one_leader = FUNC("get_unit_team_leader_by_team_id", 391)

				FUNC("set_unit_track", team_two_eight_leader, "goInComp")
				FUNC("set_unit_track", team_two_nine_leader, "goInComp")
				FUNC("set_unit_track", team_three_zero_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_two_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_three_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_four_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_five_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_six_leader, "goInComp")
				FUNC("set_unit_track", team_one_nine_seven_leader, "goInComp")
				FUNC("set_unit_track", team_three_nine_zero_leader, "goInComp")
				FUNC("set_unit_track", team_three_nine_one_leader, "goInComp")

				ACTION("give_task", team_two_eight_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_two_nine_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_zero_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_two_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_three_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_four_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_five_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_six_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_one_nine_seven_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_nine_zero_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_nine_one_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
//				}

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_bit_flag", 20, 1)
		}
	}

//	if ( FUNC("get_scenario_bit_flag", 2) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", reach_provins_recno, "P")

//		bedford_recno = FUNC("get_unit_team_leader_by_team_id", 11)
//		ACTION("give_task", team_one_seven_recno, "IDLE", 1, 0, 0, 0, 0)

//		if ( joan_in_place_recno )
//		{
//			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			
			// set main character to idle
//			FUNC("set_idle", main_recno)
//			FUNC("stop_curr_task", main_recno)
//			ACTION("stop_all_order", main_recno)
//			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
//			FUNC("set_unit_can_process_in_cut_scene", bedford_recno, 1)
//			FUNC("set_unit_can_process_in_cut_scene", unit_recno, 1)

			// set weapon seller to idle and rotate him
//			ACTION("stop_all_order", main_recno ) 

//			WAIT{ FUNC("is_cut_scene_status_black_screen") }
//			FUNC("change_camera_in_cut_scene", 0, 36561, 5462, 31, 253, -131, 15)

//			FUNC("stop_curr_task", unit_recno)
//			ACTION("stop_all_order", unit_recno) 
//			WAIT{ ACTION("give_order", unit_recno, "APPROACH_PLACE", 1, 1, provins_target_recno, 0, 0, 0, 3000) }

//			ACTION("give_order" , unit_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , unit_recno, bedford_recno) , 0 , 0 , 0, 2500)
//			ACTION("give_order" , bedford_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bedford_recno, unit_recno) , 0 , 0 , 0, 2500)
//			WAIT { DIALOG("add_dialog", unit_recno, "[0001N]Milord, the enemy has passed our defenses in the forest!") }
//			WAIT { DIALOG("add_dialog", bedford_recno, "[0001N]Not again! What must I do to rid myself of this plague of futile French fighters? Men, ready your attacks! Man the towers and unleash the arbalests!") }

//			FUNC("stop_curr_task", team_seven_recno)
//			FUNC("stop_curr_task", team_eight_recno)
//			FUNC("stop_curr_task", team_nine_recno)
//			FUNC("stop_curr_task", team_ten_recno)

//			ACTION("give_task", team_seven_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
//			ACTION("give_task", team_eight_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
//			ACTION("give_task", team_nine_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
//			ACTION("give_task", team_ten_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)

			// leave cut scene
//			DIALOG("del_all_dialog") 
//			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

//			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("set_scenario_bit_flag", 2, 1)			
//		}
//	}

	if ( FUNC("get_scenario_event_bit_flag", 10) > 0 && FUNC("get_scenario_event_bit_flag_2", 1) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", meet_bedford_recno, "P")

		if ( joan_in_place_recno )
		{
			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", main_recno ) 

			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0140N]You have finally caught up with me, but I think not under your ideal circumstances! I shall make mincemeat of you before I claim Compiegne for our Henry, rightful king of your decrepit lands!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("break_wall", compiegne_wall_recno, cannon_recno_c)

			FUNC("set_scenario_event_bit_flag_2", 1, 1)			
		}
	}

	if ( FUNC("get_end_condition_enabled", 20) == 1 && FUNC("get_end_condition_finish", 20) == 0 )
	{
		if ( FUNC("number_of_fightable_enemy_in_place", meet_bedford_recno, joan_recno) == 0 && FUNC("number_of_fightable_enemy_in_place", castle_compiegne_recno, joan_recno) == 0 && FUNC("number_of_fightable_enemy_in_place", check_enemy_recno, joan_recno) == 0 )
		{
			FUNC("set_end_condition_finish", 20, "WIN")
			FUNC("set_end_condition_finish", 30, "WIN")

			FUNC("attention_call_message_2", "Now that Compiegne is back in our hands, let us head to Pont-a-Choisy and find Philip the Good!", "Jean de Metz")
			FUNC("attention_call_message_2", "Yes, and let us capture their formidable camp so that Burgundian forces may never again attempt any hostilities towards us!", "Karol VII")

			FUNC("set_end_condition_enabled", 39, 1)
			FUNC("set_end_condition_enabled", 22, 1)

			FUNC("minimap_set_way_point", 9, 60298.57, 20694.69, 200.0, 1, 0)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 4) == 1 && FUNC("get_scenario_event_bit_flag_2", 6) == 0 )
	{
		if ( FUNC("number_of_fightable_enemy_in_place", paris_eight_recno, joan_recno) == 0 && FUNC("number_of_fightable_enemy_in_place", paris_nine_recno, joan_recno) == 0 )
		{
			bedford_recno = FUNC("add_unit", "JOHN_FASTOLF", "ENGLISH")
			FUNC("set_unit_name", bedford_recno, "Regent Bedford")
			FUNC("set_unit_ranking", bedford_recno, "GENERAL")
			FUNC("set_unit_level", bedford_recno, 29)
			FUNC("set_unit_team", bedford_recno, 751)
			FUNC("set_unit_pos", bedford_recno, 16547.51, 72542.66, 260.00)
			FUNC("set_unit_dir", bedford_recno, -90) 

			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", main_recno ) 

			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 0 - FUNC("get_unit_dir", bedford_recno) ), 10)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0141N]Joan of Arc! You woman of ill-repute, you whore! So you think taking over Paris is really that easy? I challenge you to a confrontation!") }

			FUNC("change_camera_in_cut_scene", 0, 17829, 73398, 1896, 266, -134, 36)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0142N]If you really want me, then come to your accursed church by yourself, and I shall be happy to entertain you here, in 'your' house, you filthy worshipper of God! It will be a pleasure for me to kill you in your very own church!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 6, 1)

			// switch to joan
			FUNC("switch_controllable_unit", 1)
			FUNC("set_unit_team", joan_recno, 1100)

			FUNC("attention_call_message", "Bedford has challenged you to a one-on-one in the church on Notre Dame - if you want to free Paris and win the war for France, you must attent this challenge alone!")
			FUNC("attention_call_message_2", "Good luck!", "Jean de Metz")
			FUNC("attention_call_message_2", "And beware the enemy, for I need not remind you taht they are despicable liars!", "Ksi¹¿ê Alencon")

			FUNC("set_control_flag", jean_recno, 0)
			FUNC("set_control_flag", la_hire_recno, 0)
			FUNC("set_control_flag", alencon_recno, 0)
			FUNC("set_control_flag", bastard_recno, 0)

//			FUNC("del_unit", bedford_recno)
//			bedford_recno = FUNC("add_unit", "fastolf", "ENGLISH")
//			FUNC("set_unit_name", bedford_recno, "Regent fastolf")
//			FUNC("set_unit_ranking", bedford_recno, "GENERAL")
//			FUNC("set_unit_team", bedford_recno, 751)
//			FUNC("set_unit_pos", bedford_recno, 16880.71, 72584.39, 259.00)
//			FUNC("set_unit_dir", bedford_recno, 0) 

			FUNC("minimap_set_way_point", 5, 16543.88, 71611.7, 200.0, 1, 0)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 6) == 1 && FUNC("get_scenario_event_bit_flag_2", 7) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", in_church_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
//			FUNC("set_unit_can_process_in_cut_scene", bedford_recno, 1)	// all unit can't process

			FUNC("minimap_set_way_point", 5, 16543.88, 71611.7, 200.0, 0, 0)

//			FUNC("change_camera_in_cut_scene", 0, 15980, 71838, 83, 254, 0, 15)
			FUNC("change_camera_in_cut_scene", 0, 16537, 72069, 310, 267, 90, 10)
			WAIT{ ACTION("give_order", joan_recno, "APPROACH_PLACE", 1, 1, church_middle_recno, 0, 0, 0, 3000) }

//			WAIT{ ACTION("give_order", bedford_recno, "APPROACH_PLACE", 1, 1, church_middle_recno, 0, 0, 0, 3000) }

			FUNC("set_unit_can_process_in_cut_scene", bedford_recno, 0)	// all unit can't process

			WAIT { DIALOG("add_dialog", bedford_recno, "[0143N]At last, we have you exactly where we want you! You have wreaked havoc to all our military plans, and destroyed decades of our progress, but it will all end here.") }

			// close door now
			FUNC("change_camera_in_cut_scene", 0, 16935, 73153, 311, 267, -132, 24)
			FUNC("add_gate_trigger", church_door_a, 1)
			FUNC("add_gate_trigger", church_door_b, 1)
			FUNC("add_gate_trigger", church_door_e, 1)
			WAIT { FUNC("pause_script", 1500) }

			FUNC("change_camera_in_cut_scene", 0, 16548, 72543, 259, 267, -147, 24)
			FUNC("add_gate_trigger", church_door_c, 1)
			FUNC("add_gate_trigger", church_door_d, 1)
			WAIT { FUNC("pause_script", 1500) }

			WAIT { DIALOG("add_dialog", bedford_recno, "[0144N]You have caused us enough setbacks, but your pride and arrogance is only matched by your stupidity, and will be the cause for your downfall!") }

			FUNC("change_camera_in_cut_scene", 0, 16548, 72543, 259, 240, -90, 22)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0145N]As you can see, now you are trapped. There is no way out! You were born into the church, you lived by the church, and now you shall perish in one!") }

			// add archers
			INT archer_recno
			INT archer_captain_recno
			archer_captain_recno = FUNC("add_unit", "ENGLISH_ARCHER_CAPTAIN", "ENGLISH")
			FUNC("set_unit_name", archer_captain_recno, "Triston Bosse")
			FUNC("set_unit_ranking", archer_captain_recno, "CAPTAIN")
			FUNC("set_unit_level", archer_captain_recno, 29)
			FUNC("set_unit_team", archer_captain_recno, 1500)
			FUNC("set_unit_pos", archer_captain_recno, 16548.58, 70334.41, 307.00)
			FUNC("set_unit_dir", archer_captain_recno, -90) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 71192.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 
			
			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 71101.44, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 70974.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 70869.23, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 70746.72, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16284.46, 70646.76, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16399.77, 70359.33, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16304.77, 70509.33, 307.00)
			FUNC("set_unit_dir", archer_recno, 0) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16704.77, 70374.91, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16831.65, 70491.75, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 70648.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 70757.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 70864.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 70973.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 71079.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			archer_recno = FUNC("add_unit", "ENGLISH_ARCHER", "ENGLISH")
			FUNC("set_unit_team", archer_recno, 1500)
			FUNC("set_unit_level", archer_recno, 29)
			FUNC("set_unit_pos", archer_recno, 16842.46, 71208.64, 307.00)
			FUNC("set_unit_dir", archer_recno, 180) 

			FUNC("change_camera_in_cut_scene", 0, 16462, 71102, 455, 210, -133, 20)

			WAIT { DIALOG("add_dialog", bedford_recno, "[0146N]Range units, ready your quivers!") }

			ACTION("give_task", archer_captain_recno, "TOWER_ATTACK", 1, 2000, 0, 0, 0)

			// add Generals
			philip_recno = FUNC("add_unit", "Philip_the_good", "ENGLISH")
			FUNC("set_unit_name", philip_recno, "Philip the Good")
			FUNC("set_unit_ranking", philip_recno, "GENERAL")
			FUNC("set_unit_team", philip_recno, 750)
			FUNC("set_unit_level", philip_recno, 29)
			FUNC("set_unit_pos", philip_recno, 16676.77, 70481.06, 53.00)
			FUNC("set_unit_dir", philip_recno, 90) 

			lux_recno = FUNC("add_unit", "Luxembourg", "ENGLISH")
			FUNC("set_unit_name", lux_recno, "Jean de Luxembourg")
			FUNC("set_unit_ranking", lux_recno, "GENERAL")
			FUNC("set_unit_team", lux_recno, 752)
			FUNC("set_unit_level", lux_recno, 29)
			FUNC("set_unit_pos", lux_recno, 16560.65, 70475.36, 59.00)
			FUNC("set_unit_dir", lux_recno, 90) 

			wandomme_recno = FUNC("add_unit", "WANDOMME", "ENGLISH")
			FUNC("set_unit_name", wandomme_recno, "Ksi¹¿ê Wandomme")
			FUNC("set_unit_ranking", wandomme_recno, "GENERAL")
			FUNC("set_unit_team", wandomme_recno, 753)
			FUNC("set_unit_level", wandomme_recno, 29)
			FUNC("set_unit_pos", wandomme_recno, 16452.88, 70475.36, 56.00)
			FUNC("set_unit_dir", wandomme_recno, 90) 
			
			FUNC("change_camera_in_cut_scene", 0, 16531, 71106, 212, 203, -90, 16)

			WAIT { DIALOG("add_dialog", bedford_recno, "[0147N]Generals, you may all come out now! Let us send out 'dear maid' to her maker!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			ACTION("give_task", bedford_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
			ACTION("give_task", lux_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
			ACTION("give_task", wandomme_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
			ACTION("give_task", philip_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_2", 7, 1)

			FUNC("set_unit_retreat", bedford_recno, 0)
			FUNC("set_unit_retreat", lux_recno, 0)
			FUNC("set_unit_retreat", wandomme_recno, 0)
			FUNC("set_unit_retreat", philip_recno, 0)
		}
	}

	if( FUNC("get_scenario_event_bit_flag_2", 7) == 1 )
	{

		// --- Ending --- //

		if ( FUNC("get_scenario_event_bit_flag_2", 22) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", philip_recno, "Philip the Good") > 0 )
			{
				FUNC("attention_call_message", "You have killed Philip the Good!")
				FUNC("set_scenario_event_bit_flag_2", 22, 1)
				FUNC("set_end_condition_finish", 29, "WIN")
			}
		}

		if ( FUNC("get_scenario_event_bit_flag_2", 23) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", bedford_recno, "Regent Bedford") > 0 )
			{
				FUNC("attention_call_message", "You have killed Regent Bedford!")
				FUNC("set_scenario_event_bit_flag_2", 23, 1)
				FUNC("set_end_condition_finish", 26, "WIN")
			}
		}

		if ( FUNC("get_scenario_event_bit_flag_2", 24) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", lux_recno, "Jean de Luxembourg") > 0 )
			{
				FUNC("attention_call_message", "You have killed Jean de Luxembourg!")
				FUNC("set_scenario_event_bit_flag_2", 24, 1)
				FUNC("set_end_condition_finish", 27, "WIN")
			}
		}

		if ( FUNC("get_scenario_event_bit_flag_2", 25) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", wandomme_recno, "Ksi¹¿ê Wandomme") > 0 )
			{
				FUNC("attention_call_message", "You have killed The Duke of Wandomme!")
				FUNC("set_scenario_event_bit_flag_2", 25, 1)
				FUNC("set_end_condition_finish", 28, "WIN")
			}
		}

		if ( FUNC("get_scenario_event_bit_flag_2", 22) == 1 && FUNC("get_scenario_event_bit_flag_2", 23) == 1 && FUNC("get_scenario_event_bit_flag_2", 24) == 1 && FUNC("get_scenario_event_bit_flag_2", 25) == 1 )
		{
			// kill all generals
			if ( FUNC("get_scenario_event_bit_flag_2", 26) == 0 )
			{
				if ( FUNC("number_of_enemy_in_place", paris_eight_recno, joan_recno) == 0 && FUNC("number_of_enemy_in_place", paris_nine_recno, joan_recno) == 0 )
				{
					// kill all
					FUNC("attention_call_message", "You have slain all the generals, and without leadership, the enemy troops within Notre Dame are fleeing! The victory is yours!")

					FUNC("set_scenario_event_bit_flag_2", 26, 1)

					FUNC("set_territory_nation", "Paris", "French")

					WAIT { FUNC("pause_script", 5000) }

					FUNC("set_end_condition_finish", 1, "WIN")

					// --- to ending --- //
				}
			}
		}
	}

//	if ( FUNC("get_scenario_bit_flag", 3) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", in_provins_recno, "P")

//		if ( joan_in_place_recno == 0 )
//		{
//			joan_in_place_recno = FUNC("search_for_unit_in_place", in_provins_recno_two, "P")
//		}

//		bedford_recno = FUNC("get_unit_team_leader_by_team_id", 11)
//		ACTION("give_task", team_one_seven_recno, "IDLE", 1, 0, 0, 0, 0)

//		if ( joan_in_place_recno )
//		{
			// set main character to idle
//			FUNC("stop_curr_task", bedford_recno)
//			ACTION("stop_all_order", bedford_recno )
//			ACTION("give_task", bedford_recno, "IDLE", 1, 1, 0, 0, 0)
//			FUNC("stop_curr_task", main_recno)
//			ACTION("stop_all_order", main_recno )
//			FUNC("set_idle", main_recno) 
//			FUNC("set_idle", bedford_recno) 

//			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			
//			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
//			FUNC("set_unit_team_can_process_in_cut_scene", bedford_recno, 1)	// joan can process
//			FUNC("set_unit_can_process_in_cut_scene", unit_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
//			ACTION("stop_all_order", main_recno ) 

//			WAIT{ FUNC("is_cut_scene_status_black_screen") }
//			FUNC("change_camera_in_cut_scene", 0, 36561, 5462, 31, 253, -131, 15)

//			ACTION("give_order" , unit_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , unit_recno, bedford_recno) , 0 , 0 , 0, 2500)
//			ACTION("give_order" , bedford_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bedford_recno, unit_recno) , 0 , 0 , 0, 2500)
//			WAIT { DIALOG("add_dialog", unit_recno, "[0001N]Regent fastolf! The castle gates have been breached!") }
//			WAIT { DIALOG("add_dialog", bedford_recno, "[0002N]Blast! Blast them all! We shall retreat now, elite units! We shall head to rendezvous with Wandomme! The rest of you, help us stave off the French advance!") }

//			FUNC("enable_unit_bounding_volume", bedford_recno, 0)

//			ACTION("give_order", bedford_recno, "APPROACH_PLACE", 1, 1, bedford_retreat_two, 0, 0, 0, 5000)

//			WAIT{ FUNC("pause_script", 3000) }

//			DIALOG("del_all_dialog") 
//			FUNC("end_cut_scene_2", 0, 1)
//			WAIT{ FUNC("is_cut_scene_status_black_screen") }

//			FUNC("del_unit", bedford_recno)			

//			WAIT{ FUNC("is_cut_scene_finished") }

//			FUNC("stop_curr_task", unit_recno)

//			FUNC("set_scenario_bit_flag", 3, 1)			

//			FUNC("attention_call_message_2", "fastolf is running scared! When will we ever have him man enough to just stand still and get his come-uppance?", "La Hire")
//			FUNC("attention_call_message_2", "I believe that fastolf is not running away, for it is strange that he would not utilize the barracks to his best benefit - I believe he is luring us. But that does not matter now. Without him here, at least we should return Provins to its inhabitants!", "Ksi¹¿ê Alencon")

//			FUNC("set_end_condition_enabled", 37, 1)
//		}
//	}

	if ( FUNC("get_scenario_event_bit_flag", 30) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", reach_chateau_recno, "P")

//		bedford_recno = FUNC("get_unit_team_leader_by_team_id", 15)

		if ( joan_in_place_recno )
		{
			FUNC("start_cut_scene_2", 1, 0, fastolf_recno, 200, ( 180 - FUNC("get_unit_dir", fastolf_recno) ), 10, 1)
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			FUNC("change_camera_in_cut_scene", 0, 48198, 26956, 50, 350, -154, 9)
			WAIT { DIALOG("add_dialog", fastolf_recno, "[0148N]You there! I do not know how you manage to defeat us time and again - and spare me the religious nonsense. Your success must be more earthly in nature.") }

			FUNC("change_camera_in_cut_scene", 0, 48213, 26194, 178, 350, 140, 11)
			WAIT { DIALOG("add_dialog", fastolf_recno, "[0149N]I would like to see exactly what you are made of. Come on then, let's wage a fight. I challenge you to a man-to-man match. Worry not for my troops - they are anxious to see how my training fares against yours, so they will meddle not.") }

			FUNC("change_camera_in_cut_scene", 0, 47498, 26769, 401, 350, -27, 50)
			WAIT { DIALOG("add_dialog", fastolf_recno, "[0150N]Well then, are you ready for my challenge? Just you and me, armor versus armor, my weapon against yours. I await you...") }

//			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10)
//			WAIT { DIALOG("add_dialog", bedford_recno, "[0001N]The enemy is upon us! Man the gates and walls! Do not yield your positions to these scum!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("attention_call_message", "If you wish to continue your quest for the liberation of Paris, you must defeat Lord Fastolf.")

//			if ( FUNC("get_end_condition_enabled", 5) == 0 )
//			{
//				FUNC("set_end_condition_enabled", 5, 1)
//			}

			FUNC("set_end_condition_enabled", 42, 1)

			FUNC("set_scenario_event_bit_flag", 30, 1)			

			FUNC("stop_curr_task", fastolf_recno)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 14) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_three_a, "parisDoor3A") > 0 || FUNC("is_item_deleted_by_name", paris_door_three_b, "parisDoor3B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_three	)
		FUNC("set_scenario_event_bit_flag_2", 14, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 15) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_four_a, "parisDoor4A") > 0 || FUNC("is_item_deleted_by_name", paris_door_four_b, "parisDoor4B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_four	)
		FUNC("set_scenario_event_bit_flag_2", 15, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 16) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_five_a, "parisDoor5A") > 0 || FUNC("is_item_deleted_by_name", paris_door_five_b, "parisDoor5B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_five	)
		FUNC("set_scenario_event_bit_flag_2", 16, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 17) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_six_a, "parisDoor6A") > 0 || FUNC("is_item_deleted_by_name", paris_door_six_b, "parisDoor6B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_six )
		FUNC("set_scenario_event_bit_flag_2", 17, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 18) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_seven_a, "parisDoor7A") > 0 || FUNC("is_item_deleted_by_name", paris_door_seven_b, "parisDoor7B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_seven	)
		FUNC("set_scenario_event_bit_flag_2", 18, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 19) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_eight_a, "parisDoor8A") > 0 || FUNC("is_item_deleted_by_name", paris_door_eight_b, "parisDoor8B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_eight	)
		FUNC("set_scenario_event_bit_flag_2", 19, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 20) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_nine_a, "parisDoor9A") > 0 || FUNC("is_item_deleted_by_name", paris_door_nine_b, "parisDoor9B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_nine )
		FUNC("set_scenario_event_bit_flag_2", 20, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 21) == 0 && ( FUNC("is_item_deleted_by_name", paris_door_ten_a, "parisDoor10A") > 0 || FUNC("is_item_deleted_by_name", paris_door_ten_b, "parisDoor10B") > 0 ) )
	{
		FUNC("stop_curr_task", s_eight_cannon_ten )
		FUNC("set_scenario_event_bit_flag_2", 21, 1)
	}

	if ( FUNC("get_scenario_event_bit_flag", 31) == 0 )
	{
		if ( FUNC("is_item_deleted_by_name", chateau_north_gate, "chateauNorthGate") > 0 )
		{
			bedford_recno = FUNC("get_unit_team_leader_by_team_id", 15)

			FUNC("start_cut_scene_2", 1, 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10, 1)
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", main_recno, 1)	// joan can process
			FUNC("set_unit_team_can_process_in_cut_scene", bedford_recno, 1)	// joan can process

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", main_recno ) 

			ACTION("give_order" , main_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , main_recno, bedford_recno) , 0 , 0 , 0, 2500)

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, bedford_recno, 200, ( 180 - FUNC("get_unit_dir", bedford_recno) ), 10)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0151N]You pitiful French - you can keep this miserable town! Let'g go now, elite units - we have no more business here!") }

			FUNC("enable_unit_bounding_volume", bedford_recno, 0)

			ACTION("give_order", bedford_recno, "APPROACH_PLACE", 1, 1, bedford_retreat_one, 0, 0, 0, 5000)

			WAIT { FUNC("pause_script", 3000) }

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			FUNC("del_unit_team", 15)

			FUNC("facility_barrack_add_leader", provins_bedford_recno, bedford_id, 11, 28, "Regent Bedford", "Bedford")

			WAIT{ FUNC("is_cut_scene_finished") }
			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("attention_call_message_2", "Inside Chateau-Thierry lies a shoppe. We must reclaim this fort as ours if we wish to count on supplies for the pending winter!", "La Hire")

			FUNC("set_scenario_event_bit_flag", 31, 1)			
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 1) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", event_one_place_recno, "P")

		if(	joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", joan_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", alencon_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", la_hire_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", jean_recno, 1)	// joan can process
			FUNC("set_unit_can_process_in_cut_scene", bastard_recno, 1)	// joan can process


			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", alencon_recno ) 
			ACTION("stop_all_order", jean_recno ) 
			ACTION("stop_all_order", la_hire_recno ) 
			ACTION("stop_all_order", bastard_recno ) 

			FUNC("change_camera_in_cut_scene", 0, 45775, 4475, 354, 212, 91, 35)

			WAIT{ ACTION("give_order", joan_recno, "APPROACH_PLACE", 1, 1, first_place_recno, 0, 0, 0, 2000) }
			ACTION("give_order" , bastard_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bastard_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , joan_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , joan_recno, bastard_recno) , 0 , 0 , 0, 2500)

			WAIT { DIALOG("add_dialog", bastard_recno, "[0152N]Milady, as much as I am loyal to your cause, it is reason that compels me to say the following: We will fare poorly if we are to lay siege to Paris.") }

			ACTION("give_order" , bastard_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bastard_recno, la_hire_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , alencon_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , alencon_recno, la_hire_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, la_hire_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , joan_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , joan_recno, la_hire_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , la_hire_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , la_hire_recno, bastard_recno) , 0 , 0 , 0, 2500)

			FUNC("change_camera_in_cut_scene", 0, 45798, 4565, 141, 188, 94, 10)
			WAIT { DIALOG("add_dialog", la_hire_recno, "[0153N]Poorly you say! I would be more inclined to use the term suicidal.") }

			ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , alencon_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , alencon_recno, jean_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , la_hire_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , la_hire_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , bastard_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bastard_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , joan_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , joan_recno, jean_recno) , 0 , 0 , 0, 2500)

			FUNC("change_camera_in_cut_scene", 0, 45793, 5405, 250, 188, -94, 31)
			WAIT { DIALOG("add_dialog", jean_recno, "[0154N]Indeed, as our Royal army give Paris military priority, we must also remember that this walled city is considerably reinforced by English and Burgundian forces.") }

			ACTION("give_order" , alencon_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , alencon_recno, jean_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, alencon_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , joan_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , joan_recno, alencon_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , la_hire_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , la_hire_recno, jean_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , bastard_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bastard_recno, jean_recno) , 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", alencon_recno, "[0155N]... and our resources scarce. Never mind, if it is the will of our maid, then so be it.") }

			ACTION("give_order" , alencon_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , alencon_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , la_hire_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , la_hire_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , jean_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , bastard_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , bastard_recno, joan_recno) , 0 , 0 , 0, 2500)
			ACTION("give_order" , joan_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , joan_recno, alencon_recno) , 0 , 0 , 0, 2500)

			FUNC("change_camera_in_cut_scene", 0, 45768, 4216, 317, 188, 93, 25)
			WAIT { DIALOG("add_dialog", alencon_recno, "[0156N]We shall head towards Compiegne first, and seek reinforcements with our king, who is reposing there.") }

			WAIT { DIALOG("add_dialog", jean_recno, "[0157N]It has also been advised by our king that my presence, as well as yours, milady, are required at Compiegne.") }

			WAIT { DIALOG("add_dialog", la_hire_recno, "[0158N]Then go and meet him already! I'm sure that he would like protection from the very person entrusted to such a task with our dear Maid!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_control_flag", jean_recno, 1)
			FUNC("set_control_flag", la_hire_recno, 1)
			FUNC("set_control_flag", alencon_recno, 1)
			FUNC("set_control_flag", bastard_recno, 1)

			FUNC("stop_curr_task", main_recno)

			FUNC("set_scenario_event_bit_flag", 1, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_3", 2) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", event_seven_place_recno, "P")

		if(	joan_in_place_recno > 0 )
		{
			INT crepy_enemy_recno
			crepy_enemy_recno = FUNC("search_unit_by_name", "Arnold Sutton")

			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			// set weapon seller to idle and rotate him
			FUNC("change_camera_in_cut_scene", 0, crepy_enemy_recno, 200, ( 180 - FUNC("get_unit_dir", crepy_enemy_recno) ), 10)
			WAIT { DIALOG("add_dialog", crepy_enemy_recno, "[0159N]It's the enemy approaching, lads! Remember what our Regent said! I want my own fiefdom, so allow me the honor of delivering Joan's head on a platter!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			FUNC("stop_curr_task", crepy_enemy_recno)
			ACTION("give_task", crepy_enemy_recno, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_3", 2, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 3) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", arrive_compiegne_recno, "P")

		if(	joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message_2", "Methinks that is Compiegne just ahead - we have safely arrived!", "Jean De Metz")

			WAIT{ FUNC("pause_script", 5000) }

			messager_recno = FUNC("search_unit_by_name", "Alfonse Bedel")
			
			if ( messager_recno > 0 )
			{
				// set main character to idle
				FUNC("set_idle", main_recno)
				FUNC("stop_curr_task", main_recno)
				ACTION("stop_all_order", main_recno)

				FUNC("start_cut_scene_2", 1, 0, flavy_recno, 200, ( 180 - FUNC("get_unit_dir", flavy_recno) ), 10, 1)
				FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
				FUNC("set_unit_can_process_in_cut_scene", flavy_recno, 1)	// joan can process
				FUNC("set_unit_can_process_in_cut_scene", messager_recno, 1)	// joan can process

				// set weapon seller to idle and rotate him

				WAIT{ FUNC("is_cut_scene_status_black_screen") }
				FUNC("change_camera_in_cut_scene", 0, 61033, 43821, 73, 245, 21, 14)

				FUNC("set_unit_track", messager_recno, "messagerTrack")
				WAIT{ ACTION("give_order", messager_recno, "APPROACH_PLACE", 1, 1, open_gate_recno, 0, 0, 0, 2000) }
				FUNC("set_unit_track", messager_recno, "Dummy")
				FUNC("stop_curr_task", messager_recno)
				ACTION("stop_all_order", messager_recno)

				ACTION("give_order" , messager_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , messager_recno, flavy_recno) , 0 , 0 , 0, 2500)
				ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, messager_recno) , 0 , 0 , 0, 2500)

				WAIT { DIALOG("add_dialog", messager_recno, "[0160N]Milord, fellow men-at-arms are at the gate!") }

				WAIT { DIALOG("add_dialog", flavy_recno, "[0161N]Well, let them in - what are you waiting for!") }

				WAIT { DIALOG("add_dialog", messager_recno, "[0162N]Immediately, Milord!") }

				ACTION("give_order", messager_recno, "APPROACH_PLACE", 1, 1, arrive_compiegne_recno, 0, 0, 0, 2000)

				ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , 0, 0 , 0 , 0, 2500)
				WAIT { DIALOG("add_dialog", flavy_recno, "[0163N]Ah, Joan and the Royal Valois forces have finally arrived. Men, prepare the ceremony - I am sure the Maid of Orleans would like to participate! And deliver word to our king as well that the savior of France has arrived!") }

				INT tower_guard
				tower_guard = FUNC("search_unit_by_name", "Stra¿nik Wie¿y")

				FUNC("change_camera_in_cut_scene", 0, 56911, 44098, 757, 245, -29, 25)
				// add trigger to castle gate
				FUNC("add_gate_trigger", compiegne_south_gate, 0)
				WAIT { DIALOG("add_dialog", tower_guard, "[0164N]The heroes of France have arrived! Open the gates!") }

				// leave cut scene
				DIALOG("del_all_dialog") 
				FUNC("end_cut_scene_2", 0, 1)
				WAIT{ FUNC("is_cut_scene_status_black_screen") }

				FUNC("del_unit", messager_recno)

				FUNC("set_scenario_event_bit_flag", 3, 1)
			}
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 5 ) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", defend_place_one, "P" )

		if ( joan_in_place_recno > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)					// enter cut scene! 
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

			// set weapon seller to idle and rotate him

//			ACTION("give_order" , flavy_recno, "TURN" , 3 , 0 , FUNC("get_rotation" , flavy_recno, joan_recno) , 0 , 0 , 0, 2500)

			INT archer_one
			INT archer_two

			archer_one = FUNC("search_unit_by_name", "Othon Fevre")
			archer_two = FUNC("search_unit_by_name", "Ponce Avenier")

			FUNC("change_camera_in_cut_scene", 0, 58236, 43809, 106, 295, 0, 28)

			WAIT { DIALOG("add_dialog", archer_one, "[0165N]It is an immense honor to meet your acquaintance. Your exploits are well-known throughout France.") }

			WAIT { DIALOG("add_dialog", archer_two, "[0166N]Please head to the cemetery alonside the church, for our Governor Guillaume de Flavy is expecting you.") }
//			WAIT { DIALOG("add_dialog", flavy_recno, "[0010N]There has been persistent rumors of an impending English assault on our beloved Compiegne, and we have to consider the safety of our king Charles. But please, feel free to visit our barracks, blacksmith and shoppe.") }

			FUNC("set_scenario_count_time")

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

			FUNC("set_scenario_event_bit_flag", 5, 1)
		}
	}

//	if ( FUNC("get_scenario_event_bit_flag", 4 ) == 0 && FUNC("get_scenario_event_bit_flag", 5) == 1 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", leave_compiegne_recno, "P" )

//		if ( joan_in_place_recno > 0 )		// 3 mins	
//		{
//			FUNC("attention_call_message", "[0001N]Milord, it appears that Philip the Good is approaching. Fortunately there seems to be few English troops accompanying him.")
// 			FUNC("attention_call_message_2", "[0001N]Good. Fewer enemies are easier to defend against. Men, take your positions - we shall destroy their ill-concocted siege!", "Guillaume de Flavy")
//			FUNC("attention_call_message_2", "[0001N]We will man the walls with archers, but we need melee units at the boulevard to stave off Philip's attacks!", "Guillaume de Flavy")
//			FUNC("attention_call_message_2", "[0001N]Let's head to the tower of the eastern entrance of Compiegne, and greet our \"guest\"!")


//			FUNC("set_scenario_event_bit_flag", 4, 1)
//		}
//	}

	if ( FUNC("get_scenario_event_bit_flag", 11) == 1 && FUNC("get_scenario_bit_flag", 5) == 0 )
	{
		INT controller_one
		INT controller_two
		INT controller_three

		catapult_recno = FUNC("search_unit_by_name", "Walter Leticie")
		controller_one = FUNC("search_unit_by_name", "Trebuchet Controller 1")
		controller_two = FUNC("search_unit_by_name", "Trebuchet Controller 2")
		controller_three = FUNC("search_unit_by_name", "Trebuchet Controller 3")

		ACTION("give_task", controller_one, "LARGE_WEAPON_PUSH", 10, catapult_recno, 0, 0, 0)
		ACTION("give_task", controller_two, "LARGE_WEAPON_PUSH", 10, catapult_recno, 1, 0, 0)
		ACTION("give_task", controller_three, "LARGE_WEAPON_PUSH", 10, catapult_recno, 2, 0, 0)

//		ACTION("give_task", catapult_recno, "ATTACK_PLACE", 1, castle_compiegne_recno, 0, 0, 0)

		if ( controller_one > 0 && controller_two > 0 && controller_three > 0 && catapult_recno > 0 )
		{
			FUNC("set_scenario_bit_flag", 5, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 10) == 1 && FUNC("get_scenario_event_bit_flag_2", 9) == 0 )
	{
		INT controller_one
		INT controller_two
		INT controller_three

		catapult_recno = FUNC("search_unit_by_name", "Walter Leticie")
		controller_one = FUNC("search_unit_by_name", "Trebuchet Controller 1")
		controller_two = FUNC("search_unit_by_name", "Trebuchet Controller 2")
		controller_three = FUNC("search_unit_by_name", "Trebuchet Controller 3")

		ACTION("give_task", controller_one, "LARGE_WEAPON_PUSH", 10, catapult_recno, 0, 0, 0)
		ACTION("give_task", controller_two, "LARGE_WEAPON_PUSH", 10, catapult_recno, 1, 0, 0)
		ACTION("give_task", controller_three, "LARGE_WEAPON_PUSH", 10, catapult_recno, 2, 0, 0)

//		ACTION("give_task", catapult_recno, "ATTACK_PLACE", 1, castle_compiegne_recno, 0, 0, 0)

		if ( controller_one > 0 && controller_two > 0 && controller_three > 0 && catapult_recno > 0 )
		{
			FUNC("set_scenario_event_bit_flag_2", 9, 1)
		}
	}

	if ( catapult_recno > 0 && FUNC("get_end_condition_finish", 17) == 0 )
	{
		if ( FUNC("is_unit_dead_by_name", catapult_recno, "Walter Leticie") > 0 )
		{
			FUNC("attention_call_message", "You have destroyed the enemy trebuchet!")

			FUNC("attention_call_message_2", "Ah, but the cowards are running away! I think they may have a small camp ahead where the Burgundians regroup! Go and follow them, and eliminate Philip the Good, for Burgundy relies on him alone for military guidance!", "Guillaume de Flavy")

			FUNC("set_end_condition_finish", 17, "WIN")

			if ( FUNC("get_end_condition_finish", 15) > 0 )
			{
				FUNC("del_item_by_name", "block2C")
				FUNC("minimap_set_way_point", 6, 64640.0, 44966.39, 200.0, 0, 0)
				FUNC("minimap_set_way_point", 7, 64640.0, 44966.39, 200.0, 0, 0)
			}

			catapult_recno = 0
		}
	}

//	if ( FUNC("get_scenario_event_bit_flag", 6) == 0 )
//	{
//		INT readyCount
//		readyCount = 0

//		if ( team_two_eight_recno == 0 )
//		{
//			team_two_eight_recno = FUNC("get_unit_team_leader_by_team_id", 28)
//		}
//		else
//		{
//			ACTION("give_task", team_two_eight_recno, "ATTACK_PLACE", 1, philip_place_recno, 0,0,0)

//			readyCount = ( readyCount + 1 )
//		}

//		if ( team_two_nine_recno == 0 )
//		{
//			team_two_nine_recno = FUNC("get_unit_team_leader_by_team_id", 29)
//		}
//		else
//		{
//			ACTION("give_task", team_two_nine_recno, "ATTACK_PLACE", 1, philip_place_recno, 0,0,0)

//			readyCount = ( readyCount + 1 )
//		}

//		if ( team_three_zero_recno == 0 )
//		{
//			team_three_zero_recno = FUNC("get_unit_team_leader_by_team_id", 30)
//		}
//		else
//		{
//			ACTION("give_task", team_three_zero_recno, "ATTACK_PLACE", 1, philip_place_recno, 0,0,0)

//			readyCount = ( readyCount + 1 )
//		}

//		if ( team_three_one_recno == 0 )
//		{
//			team_three_one_recno = FUNC("get_unit_team_leader_by_team_id", 31)
//		}
//		else
//		{
//			ACTION("give_task", team_three_one_recno, "ATTACK_PLACE", 1, philip_place_recno, 0,0,0)

//			readyCount = ( readyCount + 1 )
//		}
		
//		if ( team_philip_recno == 0 )
//		{
//			team_philip_recno = FUNC("get_unit_team_leader_by_team_id", 27)
//			philip_recno = FUNC("get_unit_team_leader_by_team_id", 27)
//		}
//		else
//		{
//			ACTION("give_task", team_philip_recno, "ATTACK_PLACE", 1, philip_place_recno, 0,0,0)

//			FUNC("set_unit_retreat", team_philip_recno, 1)

//			readyCount = ( readyCount + 1 )
//		}

//		if ( readyCount == 5 )
//		{
//			FUNC("set_scenario_event_bit_flag", 6, 1)
//		}
//	}

//	if ( FUNC("get_scenario_event_bit_flag", 7) == 0 )
//	{
//		unit_in_place_recno = FUNC("is_unit_inside_place", philip_place_recno, team_philip_recno)

//		if ( unit_in_place_recno > 0 )
//		{
//			FUNC("attention_call_message_2", "We will man the walls with archers, but we need melee units at the boulevard to stave off Philip's attacks!", "Guillaume de Flavy")

//			FUNC("set_scenario_event_bit_flag", 7, 1)
//		}
//	}

//	if ( FUNC("get_scenario_event_bit_flag", 6) == 1 )
//	{
//		if ( FUNC("get_scenario_event_bit_flag", 8) == 0 || FUNC("get_scenario_event_bit_flag", 9) == 0 )
//		{
//			INT teamLeaderCount
//			teamLeaderCount = 0

//			if ( FUNC("get_unit_team_leader_by_team_id", 27) > 0 )
//			{
//				teamLeaderCount = ( teamLeaderCount + 1 )
//			}

//			if ( FUNC("get_unit_team_leader_by_team_id", 28) > 0 )
//			{
//				teamLeaderCount = ( teamLeaderCount + 1 )
//			}

//			if ( FUNC("get_unit_team_leader_by_team_id", 29) > 0 )
//			{
//				teamLeaderCount = ( teamLeaderCount + 1 )
//			}

//			if ( FUNC("get_unit_team_leader_by_team_id", 30) > 0 )
//			{
//				teamLeaderCount = ( teamLeaderCount + 1 )
//			}

//			if ( teamLeaderCount < 4 )
//			{
//				if ( FUNC("get_scenario_event_bit_flag", 8) == 0 )
//				{
//					FUNC("attention_call_message_2", "This is an attempt to besiege a castle? Hah! The English and Burgundian forces have to come up with more than this feeble intent if they wish to make so much as a dent in this castle!", "Guillaume de Flavy")
//					FUNC("set_scenario_event_bit_flag", 8, 1)
//				}
//			}

//			if ( teamLeaderCount < 3 )
//			{
//				if ( FUNC("get_scenario_event_bit_flag", 9) == 0 )
//				{
//					FUNC("attention_call_message_2", "There! That coward Philip is running away! Quick, Joan, go after him!", "Guillaume de Flavy")

//					ACTION("give_task", team_philip_recno, "DEFEND_PLACE", 1, philip_spawn, 0,0,0)

//					FUNC("set_scenario_event_bit_flag", 9, 1)
//				}
//			}
//		}
//	}

//	if ( FUNC("get_scenario_event_bit_flag", 9) > 0 && FUNC("get_scenario_event_bit_flag", 10) == 0 )
//	{
//		team_philip_recno = FUNC("get_unit_team_leader_by_team_id", 27)
//		if ( team_philip_recno > 0 )
//		{
//			ACTION("give_task", team_philip_recno, "DEFEND_PLACE", 1, philip_spawn, 0,0,0)
//		}

//		team_two_eight_recno = FUNC("get_unit_team_leader_by_team_id", 28)
//		if ( team_two_eight_recno > 0 )
//		{
//			ACTION("give_task", team_two_eight_recno, "DEFEND_PLACE", 1, philip_spawn, 0,0,0)
//		}

//		team_two_nine_recno = FUNC("get_unit_team_leader_by_team_id", 29)
//		if ( team_two_nine_recno > 0 )
//		{
//			ACTION("give_task", team_two_nine_recno, "DEFEND_PLACE", 1, philip_spawn, 0,0,0)
//		}

//		team_three_zero_recno = FUNC("get_unit_team_leader_by_team_id", 30)
//		if ( team_three_zero_recno > 0 )
//		{
//			ACTION("give_task", team_three_zero_recno, "DEFEND_PLACE", 1, philip_spawn, 0,0,0)
//		}
//	}

	if ( FUNC("get_scenario_event_bit_flag_3", 7) == 0 && FUNC("get_end_condition_enabled", 39) > 0 )
	{
		if ( FUNC("search_for_unit_in_place", event_ten_place_recno, "P") > 0 )
		{
			FUNC("attention_call_message_2", "As expected, the gate is shut - we will have to break in before we can lay our hands on that scoundrel Philip the Good.", "Ksi¹¿ê Alencon")
			FUNC("set_scenario_event_bit_flag_3", 7, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_3", 8) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", in_pont_recno, "P") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			// set weapon seller to idle and rotate him
//			FUNC("change_camera_in_cut_scene", 0, 62618, 25234, 781, 330, -97, 22)
			WAIT { DIALOG("add_dialog", la_hire_recno, "[0167N]Now that we are inside, where the devil is Philip?") }
			WAIT { DIALOG("add_dialog", alencon_recno, "[0168N]He must be somewhere up on the walls, no doubt, as he has a good view of our attack and can organize his units to counter our very move.") }
			WAIT { DIALOG("add_dialog", la_hire_recno, "[0169N]Then we would do well to search the walls to find this fiend!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag_3", 8, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 9) > 0 && FUNC("get_scenario_bit_flag", 18) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", event_ten_place_recno, "E") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			philip_recno = FUNC("search_unit_by_code", "Philip_the_good")

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)
			FUNC("set_unit_can_process_in_cut_scene", philip_recno, 1)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", philip_recno ) 
			FUNC("stop_curr_task", philip_recno)

			FUNC("set_unit_track", philip_recno, "philipTrack")
			ACTION("give_task", philip_recno, "APPROACH_PLACE", 1, philip_target_recno, 0, 0, 0)

			FUNC("change_camera_in_cut_scene", 0, 62618, 25234, 781, 330, -97, 22)
			FUNC("add_gate_trigger", pont_gate_recno, 0)
			WAIT { DIALOG("add_dialog", philip_recno, "[0170N]Let me in now! The enemy is upon us and my life at stake!") }

			WAIT { FUNC("pause_script", 1000) }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("del_unit", philip_recno)

//			philip_recno = 0
		
//			FUNC("facility_barrack_add_leader", philip_spawn_g, phillip_id, 27, 28, "Philip the Good", "Philip")

			philip_recno = FUNC("add_unit", "Philip_the_good", "ENGLISH")
			FUNC("set_unit_name", philip_recno, "Philip the Good")
			FUNC("set_unit_team", philip_recno, 995)
			FUNC("set_unit_level", philip_recno, 28)
			FUNC("set_unit_ranking", philip_recno, "GENERAL")
			FUNC("set_unit_pos", philip_recno, 61742.71, 23541.39, 1010.88)
			FUNC("set_unit_dir", philip_recno, 66) 

			FUNC("give_item_to_unit", "FD_MEAT", 1, 3, philip_recno)

			FUNC("add_gate_trigger", pont_gate_recno, 0)

//			FUNC("attention_call_message_2", "Methinks we have reached the heart of the paltry Burgundians - their riddance is on order, men!", "Ksi¹¿ê Alencon")

			FUNC("set_scenario_bit_flag", 18, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 9) > 0 && FUNC("get_scenario_event_bit_flag", 10) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", reach_pont_recno, "P") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			cannon_recno_a = FUNC("add_unit", "CANNON", "ENGLISH")
			FUNC("set_unit_name", cannon_recno_a, "Cannon 1")
			FUNC("set_unit_pos", cannon_recno_a, 59878.0, 38692.0, 20.5)
			FUNC("set_unit_dir", cannon_recno_a, 90) 
			FUNC("set_unit_level", cannon_recno_a, 27)
			cannon_controller_recno_aa = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_aa, "Cannon Controller 1")
			FUNC("set_unit_pos", cannon_controller_recno_aa, 59752.0, 38580.0, 31.0)
			FUNC("set_unit_dir", cannon_controller_recno_aa, 0) 
			FUNC("set_unit_level", cannon_controller_recno_aa, 27)
			ACTION("give_task", cannon_controller_recno_aa, "LARGE_WEAPON_PUSH", 10, cannon_recno_a, 1, 0, 0)
			cannon_controller_recno_ab = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_ab, "Cannon Controller 2")
			FUNC("set_unit_pos", cannon_controller_recno_ab, 59885.0, 38502.0, 23.34)
			FUNC("set_unit_dir", cannon_controller_recno_ab, 0) 
			FUNC("set_unit_level", cannon_controller_recno_ab, 27)
			ACTION("give_task", cannon_controller_recno_ab, "LARGE_WEAPON_PUSH", 10, cannon_recno_a, 0, 0, 0)

			cannon_recno_b = FUNC("add_unit", "CANNON", "ENGLISH")
			FUNC("set_unit_name", cannon_recno_b, "Cannon 2")
			FUNC("set_unit_pos", cannon_recno_b, 60170.0, 38495.0, 20.0)
			FUNC("set_unit_dir", cannon_recno_b, 90) 
			FUNC("set_unit_level", cannon_recno_b, 27)
			cannon_controller_recno_ba = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_ba, "Cannon Controller 3")
			FUNC("set_unit_pos", cannon_controller_recno_ba, 60103.0, 38334.0, 21.0)
			FUNC("set_unit_dir", cannon_controller_recno_ba, 0) 
			FUNC("set_unit_level", cannon_controller_recno_ba, 27)
			ACTION("give_task", cannon_controller_recno_ba, "LARGE_WEAPON_PUSH", 10, cannon_recno_b, 1, 0, 0)
			cannon_controller_recno_bb = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_bb, "Cannon Controller 4")
			FUNC("set_unit_pos", cannon_controller_recno_bb, 60347.0, 38290.0, 20.0)
			FUNC("set_unit_dir", cannon_controller_recno_bb, 0) 
			FUNC("set_unit_level", cannon_controller_recno_bb, 27)
			ACTION("give_task", cannon_controller_recno_bb, "LARGE_WEAPON_PUSH", 10, cannon_recno_b, 0, 0, 0)

			cannon_recno_c = FUNC("add_unit", "CANNON", "ENGLISH")
			FUNC("set_unit_name", cannon_recno_c, "Cannon 3")
			FUNC("set_unit_pos", cannon_recno_c, 60640.0, 38580.0, 21.0)
			FUNC("set_unit_dir", cannon_recno_c, 90) 
			FUNC("set_unit_level", cannon_recno_c, 27)
			cannon_controller_recno_ca = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_ca, "Cannon Controller 5")
			FUNC("set_unit_pos", cannon_controller_recno_ca, 60586.0, 38433.0, 20.0)
			FUNC("set_unit_dir", cannon_controller_recno_ca, 0) 
			FUNC("set_unit_level", cannon_controller_recno_ca, 27)
			ACTION("give_task", cannon_controller_recno_ca, "LARGE_WEAPON_PUSH", 10, cannon_recno_c, 1, 0, 0)
			cannon_controller_recno_cb = FUNC("add_unit", "ENGLISH_LIGHT_INFANTRY", "ENGLISH")
			FUNC("set_unit_name", cannon_controller_recno_cb, "Cannon Controller 6")
			FUNC("set_unit_pos", cannon_controller_recno_cb, 60749.0, 38441.0, 20.0)
			FUNC("set_unit_dir", cannon_controller_recno_cb, 0) 
			FUNC("set_unit_level", cannon_controller_recno_cb, 27)
			ACTION("give_task", cannon_controller_recno_cb, "LARGE_WEAPON_PUSH", 10, cannon_recno_c, 0, 0, 0)

			FUNC("facility_barrack_add_leader", bedford_spawn_k, emacecap_id, 36, 27, "Reyner Garuyn", "Garuyn")
			FUNC("facility_barrack_add_member", bedford_spawn_l, emaceman_id, 36, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_m, emaceman_id, 36, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_n, emaceman_id, 36, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_o, emaceman_id, 36, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_p, emaceman_id, 36, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_q, epolecap_id, 37, 27, "Peter Durant", "Durant")
			FUNC("facility_barrack_add_member", bedford_spawn_r, epoleman_id, 37, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_s, epoleman_id, 37, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_t, epoleman_id, 37, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_u, epoleman_id, 37, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_v, epoleman_id, 37, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_aa, bur_arccap_id, 38, 27, "Nigel Cassend", "Cassend")
			FUNC("facility_barrack_add_member", bedford_spawn_ab, bur_archer_id, 38, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ac, bur_archer_id, 38, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ad, ecrossbow_id, 38, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ae, ecrossbow_id, 38, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_af, ecrossbow_id, 38, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_ba, bur_hinfcap_id, 39, 27, "Vincent Bisbrooke", "Bisbrooke")
			FUNC("facility_barrack_add_member", bedford_spawn_bb, bur_hinf_id, 39, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bc, bur_hinf_id, 39, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bd, bur_linf_id, 39, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_be, bur_linf_id, 39, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_bf, bur_linf_id, 39, 1, 27)

			FUNC("facility_barrack_add_leader", bedford_spawn_ca, bedford_id, 40, 27, "Regent Bedford", "Bedford")
			FUNC("facility_barrack_add_member", bedford_spawn_cb, bur_hinf_id, 40, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cc, bur_hinf_id, 40, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cd, epoleman_id, 40, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_ce, epoleman_id, 40, 1, 27)
			FUNC("facility_barrack_add_member", bedford_spawn_cf, epoleman_id, 40, 1, 27)

			// outside Gate
			FUNC("facility_barrack_add_leader", spawn_english_g, bur_arccap_id, 28, 27, "Gryffen Coifer", "Coifer")
			FUNC("facility_barrack_add_member", spawn_english_h, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_i, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_l, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_aa, bur_archer_id, 28, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ab, bur_archer_id, 28, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ac, bur_arccap_id, 192, 27, "Dauit Bleyk", "Bleyk")
			FUNC("facility_barrack_add_member", spawn_english_ad, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ae, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_af, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ag, bur_archer_id, 192, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ah, bur_archer_id, 192, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ba, ehinfcap_id, 193, 27, "Owaine Hill", "Hill")
			FUNC("facility_barrack_add_member", spawn_english_bb, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bc, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bd, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_be, ehinfant_id, 193, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_bf, ehinfant_id, 193, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ca, emacecap_id, 194, 27, "Eustace Durant", "Durant")
			FUNC("facility_barrack_add_member", spawn_english_cb, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cc, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cd, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ce, emaceman_id, 194, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_cf, emaceman_id, 194, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_da, emacecap_id, 195, 27, "Benedict Jake", "Jake")
			FUNC("facility_barrack_add_member", spawn_english_db, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_dc, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_dd, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_de, emaceman_id, 195, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_df, emaceman_id, 195, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_ea, earchcap_id, 196, 27, "Rauf Crueem", "Crueem")
			FUNC("facility_barrack_add_member", spawn_english_eb, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ec, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ed, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ee, earcher_id, 196, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ef, earcher_id, 196, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_fa, earchcap_id, 197, 27, "Willia Horn", "Horn")
			FUNC("facility_barrack_add_member", spawn_english_fb, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fc, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fd, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_fe, earcher_id, 197, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_ff, earcher_id, 197, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_m, bur_linfcap_id, 29, 27, "Rouland Deylys", "Deylys")
			FUNC("facility_barrack_add_member", spawn_english_n, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_o, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_p, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_q, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_j, bur_linf_id, 29, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_k, bur_linf_id, 29, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_s, bur_linfcap_id, 30, 27, "Henry Greyue", "Greyue")
			FUNC("facility_barrack_add_member", spawn_english_t, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_u, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_v, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_w, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_x, bur_linf_id, 30, 1, 27)
			FUNC("facility_barrack_add_member", spawn_english_r, bur_linf_id, 30, 1, 27)

			FUNC("facility_barrack_add_leader", spawn_english_z, catapult_id, 31, 27, "Walter Leticie", "Leticie")
			FUNC("facility_barrack_add_leader", spawn_english_z_one, elinfant_id, 31, 27, "Trebuchet Controller 1", "Trebuchet Controller 1")
			FUNC("facility_barrack_add_leader", spawn_english_z_two, elinfant_id, 31, 27, "Trebuchet Controller 2", "Trebuchet Controller 2")
			FUNC("facility_barrack_add_leader", spawn_english_z_three, elinfant_id, 31, 27, "Trebuchet Controller 3", "Trebuchet Controller 3")

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("stop_curr_task", main_recno)
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("change_camera_in_cut_scene", 0, 62784, 25467, 377, 176, -113, 12)
			WAIT { DIALOG("add_dialog", la_hire_recno, "[0171N]Somehow this looks much larger than your everyday camp...") }

			FUNC("change_camera_in_cut_scene", 0, 63306, 24134, 272, 176, 25, 9)

			WAIT{ FUNC("pause_script", 1500) }

			FUNC("change_camera_in_cut_scene", 0, 61490, 25088, 272, 196, 93, 19)

			WAIT{ FUNC("pause_script", 1500) }

			FUNC("change_camera_in_cut_scene", 0, 61548, 23379, 1413, 176, 43, 46)

			WAIT { DIALOG("add_dialog", philip_recno, "[0172N]You predictable, gullible French! Did you really believe that we would be so ill-prepared to undertake a siege? Do you think us stupid?") }

			WAIT { DIALOG("add_dialog", philip_recno, "[0173N]You are surrounded by my men now! I shall now accomplist what so many have failed to do - deliver your souls to hell! To the attack, men!") }

			FUNC("change_camera_in_cut_scene", 0, 61149, 21683, 349, 176, 64, 16)

			WAIT { DIALOG("add_dialog", philip_recno, "[0174N]Yes sire!") }

			if ( FUNC("get_gate_state", pont_gate_recno) == 0 )
			{
				FUNC("add_gate_trigger", pont_gate_recno, 0)
			}

			WAIT { FUNC("pause_script", 2000) }

			FUNC("change_camera_in_cut_scene", 0, 62106, 23641, 1114, 176, -167, 21)

			WAIT { DIALOG("add_dialog", philip_recno, "[0175N]You foolish bastards! Do you not even suspect that our ally, under the leadership of Regent Bedford, is already tearing away at the walls of your soon-to-be-dead king?") }

			bedford_recno = FUNC("search_unit_by_name", "Regent Bedford")

			FUNC("give_item_to_unit", "FD_FISH", 1, 3, bedford_recno)

			FUNC("set_unit_retreat", bedford_recno, 1)

			FUNC("change_camera_in_cut_scene", 0, 58245, 39647, 80, 165, -174, 9)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0176N]Ignorant fools! You cannot possible be more gullible! You will be forced to retreat from Philip's awesome firepower, and you will not arrive here in time to save your king!") }
			
			FUNC("change_camera_in_cut_scene", 0, 60607, 38405, 62, 350, 133, 8)
			WAIT { DIALOG("add_dialog", bedford_recno, "[0177N]My elite troops, do what you must to storm the walls, and we shall have won this battle! Ha ha!") }

			FUNC("change_camera_in_cut_scene", 0, 58655, 42010, 232, 188, -53, 29)
			FUNC("set_unit_can_process_in_cut_scene", jean_recno, 1)
			ACTION("give_order" , jean_recno, "TURN" , 3 , 0 , 90, 0 , 0 , 0, 2500)
			WAIT { DIALOG("add_dialog", jean_recno, "[0178N]We are in dire need of help, gentlemen! If the enemy breaches the walls, we are done for!") }

			WAIT { DIALOG("add_dialog", alencon_recno, "[0179N]The enemy has tended a trap! We are vastly outnumbered here, men! Quick - return to Compiegne to our king's succor immediately! I am afraid we are already too late!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", team_three_seven_nine_leader)
			FUNC("stop_curr_task", team_three_eight_zero_leader)
			FUNC("stop_curr_task", team_three_eight_one_leader)

			ACTION("give_task", team_three_seven_nine_leader, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
			ACTION("give_task", team_three_eight_zero_leader, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)
			ACTION("give_task", team_three_eight_one_leader, "FOLLOW_UNIT", 1, main_recno, 0, 0, 0)

			FUNC("set_end_condition_finish", 14, "WIN")
			FUNC("set_end_condition_enabled", 23, 1)

			FUNC("minimap_set_way_point", 8, 62919.0, 37482.39, 200.0, 1, 0)

//			FUNC("set_wall_hp", compiegne_wall_recno, 60)
//			FUNC("set_gate_hp", compiegne_north_gate, 50)

			FUNC("set_scenario_event_bit_flag", 10, 1)
		}
	}

	// check north wall
//	if ( FUNC("is_item_deleted_by_name", north_wall_recno, "CompNorthWall") > 0 && FUNC("get_scenario_event_bit_flag", 12) == 0 )
//	{
//		FUNC("attention_call_message_2", "I have a few caches of explosives to the east of Compiegne. Lure the enemy there. Once inside, a blast with an explosive arrow is sure to bring the enemy down.", "Guillaume de Flavy")

//		FUNC("set_scenario_event_bit_flag", 12, 1)
//	}

	// check the explosive kegs
//	if ( FUNC("is_item_deleted_by_name", explosive_kegs_recno, "Explosive") > 0 && FUNC("get_scenario_event_bit_flag", 13) == 0 )
//	{
//		FUNC("attention_call_message_2", "The enemy inside Compiegne has been slain! But, what are we to do about the hole in the castle wall?", "Ksi¹¿ê Alencon")

//		FUNC("stop_curr_task", team_philip_recno)
//		ACTION("give_task", team_philip_recno, "ATTACK_PLACE", 1, event_one_two_recno, 0,0,0)
//	}

	if ( FUNC("get_scenario_event_bit_flag", 6) == 0 )
	{
		unit_in_place_recno = FUNC("search_for_unit_in_place", in_forest_recno, "E")

		if ( unit_in_place_recno > 0 )
		{
			// *** should change the messager ***
//			FUNC("attention_call_message", "[0001N]Enemy range units within the forest - proceed with caution.")
			FUNC("attention_call_message_2", "[0180N]Be wary, gents, for the path ahead may be plagued by enemy range units in the forest...", "Jean De Metz")
			FUNC("set_scenario_event_bit_flag", 6, 1)
		}
	}

	// keep bit flag 15 for trasportation
	if ( FUNC("get_scenario_event_bit_flag", 15) == 1 && FUNC("get_scenario_event_bit_flag", 16) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", goto_crepy_place_recno, "P") > 0 )
		{
			FUNC("attention_call_message_2", "[0181N]Milady, I know that there are several units stationed in the barracks there. If we could only send a message to the troops there to come to our aid...", "Jean de Metz")
			FUNC("set_scenario_event_bit_flag", 16, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_3", 9) == 0 )
	{
		if ( FUNC("get_end_condition_enabled", 39) > 0 && FUNC("get_end_condition_finish", 39) == 0 )
		{
			if ( FUNC("get_two_unit_distance", main_recno, philip_recno) <= 400 )
			{
				FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

				FUNC("set_unit_can_process_in_cut_scene", 0, 0)

				// set main character to idle
				FUNC("set_idle", main_recno)
				FUNC("stop_curr_task", main_recno)
				ACTION("stop_all_order", main_recno)

				FUNC("change_camera_in_cut_scene", 0, philip_recno, 200, ( 180 - FUNC("get_unit_dir", philip_recno) ), 10)
				WAIT { DIALOG("add_dialog", philip_recno, "[0182N]You have found your way in, but I cannot guarantee that you will ever leave alive! We have only one way to greet those that enter our beloved Burgundian lands uninvited, and that is with death and destruction to the transgressors!") }

				// leave cut scene
				DIALOG("del_all_dialog") 
				FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

				WAIT{ FUNC("is_cut_scene_finished") }

				FUNC("stop_curr_task", main_recno)			

				FUNC("set_scenario_event_bit_flag_3", 9, 1)
			}
		}
	}

	if ( FUNC("get_scenario_bit_flag", 30) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", to_paris_recno, "P") > 0 )
		{
			FUNC("attention_call_message_2", "[0183N]This is the final approach before we reach Paris, lads. I believe Rene de Anjou will be jsut up ahead. Let us meet him and see what kind of intelligence he has managed to muster for our purposes.", "Jean de Metz")
			FUNC("set_scenario_bit_flag", 30, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 28) == 0 && FUNC("get_scenario_bit_flag", 26) == 1 )
	{
		if ( FUNC("is_unit_inside_place", meet_king_recno, joan_recno) > 0 && FUNC("is_unit_inside_place", meet_king_recno, la_hire_recno) > 0 && FUNC("is_unit_inside_place", meet_king_recno, alencon_recno) > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", team_six_eight_recno ) 

			FUNC("del_item_by_name", "block3a")

			WAIT { DIALOG("add_dialog", charles_recno, "[0184N]I was a fool for believing in the words of the enemy! This is all my fault! We shall never again allow our men to fall prey to enemy hands like this!") }

			WAIT { DIALOG("add_dialog", jean_recno, "[0185N]Let us leave that behind us for now. We have finally met with success! We have successfully in defending our Compiegne, warded off the enemy, and even reclaimed land held by the Burgundians!") }

			WAIT { DIALOG("add_dialog", la_hire_recno, "[0186N]Pray tell, then, what should we do now?") }

			WAIT { DIALOG("add_dialog", alencon_recno, "[0187N]Proceed we shall to Paris, then! This is the final step towards liberatin all of France from its transgressors!") }

			WAIT { DIALOG("add_dialog", charles_recno, "[0188N]Very well then, I shall return to Compiegne, where Flavy and I are assured a certain degree of safety. I bid you all the best of luck!") }

			ACTION("give_task", charles_recno, "APPROACH_PLACE", 1, castle_compiegne_recno, 0, 0, 0)

			FUNC("minimap_set_way_point", 4, 50557.36, 47482.56, 200.0, 0, 0)

			WAIT { FUNC("pause_script", 1000) }

			FUNC("change_camera_in_cut_scene", 0, la_hire_recno, 200, ( 180 - FUNC("get_unit_dir", la_hire_recno) ), 10)
			WAIT { DIALOG("add_dialog", la_hire_recno, "[0189N]Now which way to go?") }
			FUNC("change_camera_in_cut_scene", 0, alencon_recno, 200, ( 180 - FUNC("get_unit_dir", alencon_recno) ), 10)
			WAIT { DIALOG("add_dialog", alencon_recno, "[0190N]I believe that we should leave this secret path first, in order to get our bearings straight.") }


			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)			

			FUNC("set_scenario_bit_flag", 28, 1)

			FUNC("set_end_condition_finish", 16, "WIN")
			FUNC("minimap_set_way_point", 10, 50822.32, 48065.82, 200.0, 0, 0)
			FUNC("set_end_condition_enabled", 1, 1)
			FUNC("set_end_condition_enabled", 2, 1)
		}
	}

	if ( FUNC("get_scenario_bit_flag", 29) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", senlis_door_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("start_cut_scene_2", 1, 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10, 1)
			
			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process
			FUNC("set_unit_can_process_in_cut_scene", wandomme_recno, 1)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", main_recno ) 

			WAIT{ FUNC("is_cut_scene_status_black_screen") }
			FUNC("change_camera_in_cut_scene", 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10)
			WAIT { DIALOG("add_dialog", wandomme_recno, "[0191N]Philip and Bedford said that you would be coming this way eventually! I have the pleasant honor to rid you of your pitiful existence! Charge, men! To their throats, I tell you!") }

			DIALOG("del_all_dialog") 
			FUNC("end_cut_scene_2", 0, 1)
			WAIT{ FUNC("is_cut_scene_status_black_screen") }

			FUNC("attention_call_message_2", "The Burgundians, led by the Duke of Wandomme, has all but engulfed Senlis with enemy units! Let us free this poor town from its misfortune, men!", "Jean de Metz")

			FUNC("set_end_condition_enabled", 32, 1)

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_bit_flag", 29, 1)
		}
	}
	
//	if ( FUNC("get_scenario_event_bit_flag", 19) == 0 && FUNC("get_scenario_event_bit_flag", 18) == 1 )
//	{
//		if ( FUNC("search_for_unit_in_place", town_senlis_recno, "P") > 0 )
//		{
//			FUNC("attention_call_message_2", "[0001N]Joan, we have all arrived at St Denis. We are awaiting your presence in order to commence our procession towards Paris for the final siege.", "Guillaume de Flavy")
//			FUNC("set_scenario_event_bit_flag", 19, 1)
//		}
//	}

	if ( FUNC("get_scenario_event_bit_flag", 17) == 1 && FUNC("get_scenario_event_bit_flag", 25) == 0 && FUNC("search_for_unit_in_place", event_two_five_place_recno, "P") > 0 && FUNC("get_place_captured", castle_compiegne_recno) == 1 )
	{
//		if ( FUNC("number_of_enemy_in_place", town_choisy_recno, joan_recno) == 0 )
//		{
//			FUNC("attention_call_message_2", "[0001N]Joan, we should take the route towards Dammartin and recruit whatever troops we can, being that we are still undermanned for the siege on Paris.", "Ksi¹¿ê Alencon")

//			FUNC("set_place_captured", town_choisy_recno, 1)
			FUNC("set_scenario_event_bit_flag", 25, 1)
//		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 20) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", arrive_town_dammartin_recno, "P") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)
			ACTION("give_task", team_six_eight_recno, "IDLE", 1, 0, 0, 0, 0)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", team_six_eight_recno ) 

			FUNC("change_camera_in_cut_scene", 0, 30498, 52886, 34, 257, 173, 16)
			WAIT { DIALOG("add_dialog", team_six_eight_recno, "[0192N]Men, it's the French! Destroy them while I blow these hostages away!") }

			FUNC("change_camera_in_cut_scene", 0, 27701, 53498, 142, 257, -57, 16)
			WAIT { DIALOG("add_dialog", dammartin_citizen_one, "[0193N]Someone! Anyone! Please help us! We have been tied here among explosives! Help!") }

			WAIT { DIALOG("add_dialog", la_hire_recno, "[0194N]I believe enemy archers are heading towards the hill to blow the villagers up! We must stop this action!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("set_scenario_event_bit_flag", 20, 1)

			FUNC("stop_curr_task", team_six_eight_recno)
			FUNC("set_unit_track", team_six_eight_recno, "toDammartinTarget")
			ACTION("give_task", team_six_eight_recno, "APPROACH_PLACE", 1, dammartin_target_recno, 0, 0, 0)

			FUNC("start_kill_interface")
			FUNC("set_citizen_killed_count")
			FUNC("set_kill_citizen_limit", 6)
			
			FUNC("set_end_condition_enabled", 31, 1)

			FUNC("stop_curr_task", main_recno)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 20) == 1 )
	{
		if ( FUNC("is_unit_inside_place", dammartin_target_recno, team_six_eight_recno) > 0 )
		{
			FUNC("stop_curr_task", team_six_eight_recno)
			ACTION("give_task", team_six_eight_recno, "TOWER_ATTACK", 1, 3000, 0, 0, 0)
		}
	}

//	if ( FUNC("get_scenario_event_bit_flag", 21) == 0 )
//	{
//		if ( FUNC("search_for_unit_in_place", in_town_dammartin_recno, "P") > 0 )
//		{

//			FUNC("set_kill_citizen_limit", 25)
//			FUNC("start_kill_interface")

//			FUNC("set_citizen_killed_count")
//			FUNC("set_house_burnt_count")

//			FUNC("set_scenario_event_bit_flag", 21, 1)
//		}
//	}

	interact_item_recno = FUNC("get_interact_item_recno", main_recno)

	if ( interact_item_recno > 0 && interact_item_recno == compiegne_north_gate && FUNC("get_gate_need_key", compiegne_north_gate) == 1 )
	{
		if ( FUNC("get_gate_state", compiegne_north_gate) == 0)
		{
			FUNC("attention_call_message", "[0195N]You cannot open this door, as it is locked to prevent the enemy from entering the castle.")
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 20) == 1 && FUNC("get_scenario_event_bit_flag", 22) == 0 )
	{
		// check player interact with door with key
		
		if ( FUNC("get_scenario_event_bit_flag_2", 11) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", team_six_eight_recno, "Wimund Forry") > 0 )
			{
				FUNC("attention_call_message", "The archer has perished - in his remains lies a key...")
				FUNC("set_scenario_event_bit_flag_2", 11, 1)
			}
		}

		if ( FUNC("get_gate_state", four_four_cage_recno) == 1 && FUNC("get_gate_state", four_four_cage_recno_one) == 1 && FUNC("get_gate_state", four_four_cage_recno_two) == 1 && FUNC("get_place_captured", town_dammartin_recno) == 1 )
		{
			if ( FUNC("get_citizen_killed_count") == 0 )
			{
				FUNC("set_end_condition_finish", 31, "WIN")
			}

			FUNC("set_scenario_event_bit_flag", 22, 1)
		}

		if ( FUNC("get_citizen_killed_count") > 0 && FUNC("get_end_condition_finish", 31) == 0 )
		{
			FUNC("attention_call_message", "You have failed to save the villagers from their deaths!")
			FUNC("set_end_condition_finish", 31, "LOSE")
		}

		if ( FUNC("get_scenario_event_bit_flag_2", 12) == 0 )
		{
			if ( FUNC("is_unit_dead_by_name", dammartin_citizen_one, "Claire Lombart") > 0 && FUNC("is_unit_dead_by_name", dammartin_citizen_two, "Alard Potier") > 0 && FUNC("is_unit_dead_by_name", dammartin_citizen_three, "Ponce Selier") > 0 && FUNC("is_unit_dead_by_name", dammartin_citizen_four, "Anseau Ferpier") > 0 && FUNC("is_unit_dead_by_name", dammartin_citizen_five, "Conon Meuleur") > 0 && FUNC("is_unit_dead_by_name", dammartin_citizen_six, "Gala Deicier") > 0 )
			{
				FUNC("attention_call_message", "You have failed to save the poor villagers from their doom!")
				FUNC("set_scenario_event_bit_flag_2", 12, 1)
			}
		}

		interact_item_recno = FUNC("get_interact_item_recno", main_recno)

		if ( FUNC("get_end_condition_finish", 31) == 0 && interact_item_recno > 0 && interact_item_recno == four_four_cage_recno )
		{
			if ( FUNC("get_gate_state", four_four_cage_recno) == 0)
			{
				if ( FUNC("get_item_quantity_in_unit_inventory", key_one_id, main_recno) > 0 )
				{
					FUNC("add_gate_trigger", four_four_cage_recno, 0)

					FUNC("attention_call_message", "[0196N]Thank you, oh thank you so much for saving our lives! Please accept these items as a token of our appreciation.")
					FUNC("attention_call_message", "[0197N]If you are headed towards Paris, be cautious, for St Denis you must cross, and the army that just invaded us were planning to garrison St Denis. Oh, and please accept this!")
					FUNC("attention_call_message", "[0198N]Need presents!!")

					FUNC("set_end_condition_finish", 31, "WIN")

					FUNC("end_kill_interface")
				}
				else
				{
					FUNC("attention_call_message", "[0199N]Please find the key for us...")
				}
			}
		}

		if ( interact_item_recno > 0 && interact_item_recno == four_four_cage_recno_one )
		{
			if ( FUNC("get_gate_state", four_four_cage_recno_one) == 0)
			{
				if ( FUNC("get_item_quantity_in_unit_inventory", key_one_id, main_recno) > 0 )
				{
					FUNC("add_gate_trigger", four_four_cage_recno_one, 0)
				}
				else
				{
					FUNC("attention_call_message", "[0199N]Please find the key for us...")
				}
			}
		}

		if ( interact_item_recno > 0 && interact_item_recno == four_four_cage_recno_two )
		{
			if ( FUNC("get_gate_state", four_four_cage_recno_two) == 0)
			{
				if ( FUNC("get_item_quantity_in_unit_inventory", key_one_id, main_recno) > 0 )
				{
					FUNC("add_gate_trigger", four_four_cage_recno_two, 0)
				}
				else
				{
					FUNC("attention_call_message", "[0199N]Please find the key for us...")
				}
			}
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 24) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", in_lagny_place_recno, "E") > 0 )
		{
			FUNC("attention_call_message", "[0200N]Hurry and slay all these heathen peasants - Joan is in our midst!")
			FUNC("attention_call_message", "[0201N]Never mind us fit and able men - please protect our women and their children!")

			FUNC("attention_call_message_2", "[0202N]There are enemy units on the walls, but no staircase to go up! Surely there must be a way to reach them?", "La Hire")

			ACTION("give_task", team_seven_one_recno, "ATTACK_PLACE", 1, town_senlis_recno, 0,0,0)
			ACTION("give_task", team_six_six_recno, "ATTACK_PLACE", 1, town_senlis_recno, 0,0,0)
			ACTION("give_task", team_six_seven_recno, "ATTACK_PLACE", 1, town_senlis_recno, 0,0,0)

			FUNC("stop_curr_task", team_two_zero_three_leader)
			FUNC("stop_curr_task", team_two_zero_four_leader)
			ACTION("give_task", team_two_zero_four_leader, "TOWER_ATTACK", 1, 1500, 0, 0, 0)

			FUNC("set_fcitizen_killed_count")
			FUNC("set_kill_citizen_limit", 5)
			FUNC("start_kill_interface", 1)

			FUNC("set_end_condition_enabled", 18, 1)

			FUNC("set_scenario_event_bit_flag", 24, 1)
		}
	}

//	if ( FUNC("get_scenario_event_bit_flag", 23) == 0 )
//	{
//		if ( FUNC("search_for_unit_in_place", event_two_four_place_recno, "E") > 0 )
//		{
			

//			FUNC("set_scenario_event_bit_flag", 23, 1)
//		}
//	}

	// Town Lagny
	if ( FUNC("get_scenario_event_bit_flag", 24) == 1 && FUNC("get_place_captured", town_lagny_recno) == 0 )
	{
		if ( FUNC("get_fcitizen_killed_count") == 5 && FUNC("get_end_condition_finish", 18) == 0 )
		{
			FUNC("attention_call_message", "[0203N]You have failed to save the villagers from their deaths!")
			FUNC("set_end_condition_finish", 18, "LOSE")

			FUNC("end_kill_interface")
		}
		
		if ( FUNC("number_of_enemy_in_place", town_lagny_recno, joan_recno) == 0 )
		{
			if ( FUNC("get_fcitizen_killed_count") < 5 )
			{
				FUNC("attention_call_message", "[0204N]Milady, thank you for saving the lives our loved ones")
				FUNC("attention_call_message", "[0205N]Yes, it is fortunate that you should come at this time; the English have raided our villages and are now heading to Paris as we speak - they even made off with all our valuables!")
				FUNC("attention_call_message", "[0206N]I overheard them talk about bolstering the waterways leading into Paris, although I'm unsure what that means. However, it might help you and your efforts...")

				FUNC("attention_call_message", "[0207N]You have saved the villagers from their deaths!")

				FUNC("set_end_condition_finish", 18, "WIN")
			}

			FUNC("end_kill_interface")

			FUNC("attention_call_message", "[0208N]You have liberated the township of Lagny from enemy occupation!")

			FUNC("set_can_interact_flag", s_seven_potion_seller_recno, 1)

			FUNC("set_place_captured", town_lagny_recno, 1)

			FUNC("set_item_nation", lagny_door_a, "French")
			FUNC("set_item_nation", lagny_door_b, "French")

			FUNC("set_territory_nation", "Lagny", "French")
		}
	}

	// Town Senlis
	if ( FUNC("get_place_captured", town_senlis_recno) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", town_senlis_recno, joan_recno) == 0 )
		{
			FUNC("attention_call_message", "[0209N]You have liberated the township of Senlis from enemy occupation!")

			FUNC("set_end_condition_finish", 32, "WIN")

			FUNC("set_place_captured", town_senlis_recno, 1)

			FUNC("set_territory_nation", "Senlis", "French")
		}
	}

	// Town Dammartin
	if ( FUNC("get_place_captured", town_dammartin_recno) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", town_dammartin_recno, joan_recno) == 0 )
		{
			FUNC("attention_call_message", "[0210N]You have liberated the township of Dammartin from enemy occupation!")

			FUNC("set_place_captured", town_dammartin_recno, 1)

			FUNC("set_territory_nation", "Dammartin", "French")
		}
	}

	// Town St-Denis
	if ( FUNC("get_place_captured", town_st_denis_recno) == 0 )
	{
		if ( FUNC("number_of_enemy_in_place", town_st_denis_recno, joan_recno) == 0 )
		{
			FUNC("attention_call_message", "[0211N]You have liberated the township of St-Denis from enemy occupation!")

			FUNC("set_place_captured", town_st_denis_recno, 1)

			FUNC("set_territory_nation", "St Denis", "French")
		}
	}

	// Town Pont-a-Choisy
	if ( FUNC("get_place_captured", town_choisy_recno) == 0 && FUNC("get_scenario_bit_flag", 13) == 1 )
	{
		if ( FUNC("number_of_enemy_in_place", town_choisy_recno, joan_recno) == 0 )
		{
			FUNC("attention_call_message", "[0212N]You have sent all the Burgundians running from Pont-a-Choisy, thereby freeing these lands and returning them to France!")

			FUNC("set_end_condition_finish", 22, "WIN")

			FUNC("minimap_set_way_point", 9, 60298.57, 20694.69, 200.0, 0, 0)

			FUNC("set_place_captured", town_choisy_recno, 1)

			FUNC("attention_call_message", "[0213N]Now that our task here in Compiegne is met, everyone - come to meet me and the king to discuss our next move.")

			FUNC("set_can_interact_flag", s_three_weapon_seller_recno, 1)

			FUNC("set_territory_nation", "Pont a Choisy", "French")

			FUNC("set_end_condition_enabled", 16, 1)

			FUNC("minimap_set_way_point", 10, 50822.32, 48065.82, 200.0, 1, 0)
		}
	}

	if ( FUNC("get_end_condition_enabled", 22) > 0 && FUNC("get_end_condition_finish", 22) == 0 && FUNC("get_scenario_bit_flag", 13) > 0 && FUNC("get_place_captured", town_choisy_recno) > 0 )
	{
		FUNC("set_end_condition_finish", 22, "WIN")
	}

	if ( FUNC("get_scenario_event_bit_flag", 26) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", event_two_six_place_recno, "E") > 0 )
		{
			FUNC("set_cut_scene_flag" , 1)	// enter cut scene! 

			FUNC("set_unit_can_process_in_cut_scene", 0, 0)

			// set main character to idle
			FUNC("set_idle", main_recno)
			FUNC("stop_curr_task", main_recno)
			ACTION("stop_all_order", main_recno)

			// set weapon seller to idle and rotate him
			ACTION("stop_all_order", wandomme_recno ) 

			FUNC("change_camera_in_cut_scene", 0, wandomme_recno, 200, ( 180 - FUNC("get_unit_dir", wandomme_recno) ), 10)
			WAIT { DIALOG("add_dialog", wandomme_recno, "[0214N]We meet again - unfortunately the displeasure is all mine! Well, let us see how you fare this time around against my might!") }

			// leave cut scene
			DIALOG("del_all_dialog") 
			FUNC("set_cut_scene_flag" , 0)	// stop cut scene! 

			WAIT{ FUNC("is_cut_scene_finished") }

			FUNC("stop_curr_task", main_recno)

			FUNC("set_scenario_event_bit_flag", 26, 1)

			FUNC("attention_call_message_2", "Do these Burgundians not know when to give up? I think not, for this Wandomme fellow is about to have another taste of our steel! Let's knock this Duke into another province!", "La Hire")

			FUNC("set_end_condition_enabled", 33, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag", 27) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", near_cell_recno, "P") > 0 )
		{
			FUNC("attention_call_message", "[0215N]Help! We are locked in a cell!")
			FUNC("set_scenario_event_bit_flag", 27, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_2", 31) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", reach_limit_recno, "P") > 0 )
		{
			FUNC("attention_call_message_2", "[0216N]We have reached the limits of the environs of Reims. From here on, we will be ever-encroaching on enemy territory, so please be on alert, everyone!", "Jean de Metz")
			FUNC("set_scenario_event_bit_flag_2", 31, 1)
		}
	}

	if ( FUNC("get_scenario_event_bit_flag_3", 1) == 0 )
	{
		if ( FUNC("search_for_unit_in_place", to_right_recno, "E") > 0 )
		{
			FUNC("attention_call_message_2", "[0217N]There is a path along the right of the road. Perhaps there are valuables hidden by the English here?", "Ksi¹¿ê Alencon")
			FUNC("set_scenario_event_bit_flag_3", 1, 1)
		}
	}

	// interact with the cell (28)
	INT interact_item_recno_one
	
	if ( FUNC("get_scenario_bit_flag", 25) == 0 )
	{
		interact_item_recno_one = FUNC("get_interact_item_recno", main_recno)

		if ( interact_item_recno_one == jail_cell_gate )
		{
			if ( main_recno == jean_recno )
			{
				FUNC("add_gate_trigger", jail_cell_gate, 0)

				FUNC("set_can_interact_flag", oarman_recno, 1)

				FUNC("set_scenario_bit_flag", 25, 1)
			}
			else
			{
				FUNC("attention_call_message", "[0218N]The cell door is locked. You will need the key or Jean de Metz to pick the lock.")
			}
		}
	}

	if ( FUNC("get_scenario_bit_flag", 26) == 0 )
	{
		interact_item_recno_one = FUNC("get_interact_item_recno", main_recno)

		if ( interact_item_recno_one == trap_door_recno )
		{
			if ( main_recno == jean_recno )
			{
				FUNC("start_cut_scene_2", 1, 0, charles_recno, 200, ( 180 - FUNC("get_unit_dir", charles_recno) ), 10, 1)

				FUNC("change_camera_in_cut_scene", 0, 58956, 41421, 50, 350, -47, 6)

				FUNC("add_gate_trigger", trap_door_recno, 0)
		
				// set main character to idle
				FUNC("set_idle", main_recno)
				FUNC("stop_curr_task", main_recno)
				ACTION("stop_all_order", main_recno)
				FUNC("set_unit_can_process_in_cut_scene", 0, 0)	// all unit can't process

				WAIT { FUNC("pause_script", 1000) }

				// set weapon seller to idle and rotate him
				ACTION("stop_all_order", main_recno ) 

				// need to move jean de metz
				FUNC("del_unit", jean_recno)
				FUNC("del_unit", charles_recno)

				jean_recno = FUNC("add_unit", "JEAN_DE_METZ", "FRENCH")
				FUNC("set_unit_name", jean_recno, "Jean de Metz")
				FUNC("set_unit_ranking", jean_recno, "GENERAL")
				FUNC("set_unit_team", jean_recno, 3)
				FUNC("set_unit_pos", jean_recno, 50557.36, 47482.56, 12.96)
				FUNC("set_unit_dir", jean_recno, 270) 

				FUNC("set_main_character", jean_recno, 1)

				charles_recno = FUNC("add_unit", "CHARLIE7", "FRENCH")
				FUNC("set_unit_name", charles_recno, "Karol VII")
				FUNC("set_unit_ranking", charles_recno, "GENERAL")
				FUNC("set_unit_team", charles_recno, 997)
				FUNC("set_unit_level", charles_recno, 25)
				FUNC("set_unit_pos", charles_recno, 50822.32, 48065.82, 13.06)
				FUNC("set_unit_dir", charles_recno, 270) 

				WAIT{ FUNC("pause_script", 500) }

				WAIT{ FUNC("is_cut_scene_status_black_screen") }
				FUNC("change_camera_in_cut_scene", 0, charles_recno, 200, ( 180 - FUNC("get_unit_dir", charles_recno) ), 10)

				WAIT { DIALOG("add_dialog", charles_recno, "[0219N]We should be safe here. Unfortunately, Compiegne is falling as we speak! We must protect Compiegne from enemy hands!") }
				WAIT { DIALOG("add_dialog", jean_recno, "[0220N]Do your best, men, to protect our beloved castle while I stand guard for our king!") }

				DIALOG("del_all_dialog") 
				FUNC("end_cut_scene_2", 0, 1)
				WAIT{ FUNC("is_cut_scene_status_black_screen") }

				WAIT{ FUNC("is_cut_scene_finished") }

				FUNC("minimap_set_way_point", 4, 50557.36, 47482.56, 200.0, 1, 0)

				if ( FUNC("is_rts_mode") )
				{
					FUNC("quit_rts_mode")
					WAIT { FUNC("pause_script", 1500) }
				}

				if ( using_recno == joan_recno )
				{
					FUNC("switch_controllable_unit", 1)
				}
				else
				if ( using_recno == la_hire_recno )
				{
					FUNC("switch_controllable_unit", 3)
				}
				else
				{
					FUNC("switch_controllable_unit", 4)
				}

//				FUNC("set_end_condition_enabled", 19, 1)
				FUNC("set_end_condition_enabled", 20, 1)

				FUNC("set_end_condition_finish", 36, "WIN")

				FUNC("set_scenario_bit_flag", 26, 1)

				FUNC("attention_call_message", "[0221N]You must prevent Compiegne from capitulating! Eliminate all enemies before they reach Guillaume de Flavy and forces the castle to surrender!")
				FUNC("set_end_condition_enabled", 30, 1)

				FUNC("stop_curr_task", team_three_six_leader)
				FUNC("stop_curr_task", team_three_seven_leader)
				FUNC("stop_curr_task", team_three_eight_leader)
				FUNC("stop_curr_task", team_three_nine_leader)
				FUNC("stop_curr_task", bedford_recno)
				FUNC("set_unit_track", team_three_six_leader, "Dummy")
				FUNC("set_unit_track", team_three_seven_leader, "Dummy")
				FUNC("set_unit_track", team_three_eight_leader, "Dummy")
				FUNC("set_unit_track", team_three_nine_leader, "Dummy")
				FUNC("set_unit_track", bedford_recno, "Dummy")
				ACTION("give_task", team_three_six_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_seven_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_eight_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_nine_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_eight_eight_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", team_three_eight_nine_leader, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
				ACTION("give_task", bedford_recno, "FOLLOW_UNIT", 1, flavy_recno, 0, 0, 0)
			}
			else
			{
				FUNC("attention_call_message", "[0222N]Only Jean de Metz may open the trapdoor mechanism.")
			}
		}
	}


	// Spawn 
//	joan_in_place_recno = FUNC("search_for_unit_in_place", spawn_e_one, "E")
//	if ( joan_in_place_recno > 0 )
//	{
//		FUNC("facility_barrack_add_leader", spawn_e_one_a, emacecap_id, 90, 17, "Elias Mellor", "Mellor")
//		FUNC("facility_barrack_add_member", spawn_e_one_b, emaceman_id, 90, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_one_c, emaceman_id, 90, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_one_d, emaceman_id, 90, 1, 17)
		
//		FUNC("facility_barrack_add_leader", spawn_e_one_e, bur_linfcap_id, 91, 17, "Elya Wace", "Wace")
//		FUNC("facility_barrack_add_member", spawn_e_one_f, elinfant_id, 91, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_one_g, elinfant_id, 91, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_one_h, elinfant_id, 91, 1, 17)
//	}

//	joan_in_place_recno = FUNC("search_for_unit_in_place", spawn_e_two, "E")
//	if ( joan_in_place_recno > 0 )
//	{
//		FUNC("facility_barrack_add_leader", spawn_e_two_a, ecrosscap_id, 92, 17, "Gervase Tannator", "Tannator")
//		FUNC("facility_barrack_add_member", spawn_e_two_b, ecrossbow_id, 92, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_two_c, ecrossbow_id, 92, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_two_d, ecrossbow_id, 92, 1, 17)
		
//		FUNC("facility_barrack_add_leader", spawn_e_two_e, elinfcap_id, 93, 17, "Herbert Chese", "Chese")
//		FUNC("facility_barrack_add_member", spawn_e_two_f, elinfant_id, 93, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_two_g, elinfant_id, 93, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_two_h, elinfant_id, 93, 1, 17)
//		FUNC("facility_barrack_add_member", spawn_e_two_i, elinfant_id, 93, 1, 17)
//	}


	// Town Valois
	if ( FUNC("get_place_captured", town_valois_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", town_valois_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", town_valois_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", town_valois_recno, 1)

				FUNC("facility_barrack_add_leader", town_valois_a, councillor_id, 0, 1, "Rajca", "Councillor")
				FUNC("facility_barrack_add_leader", town_valois_b, priest_id, 0, 1, "Ksi¹dz", "Ksi¹dz")
//				FUNC("facility_barrack_add_leader", town_valois_c, citizen_two_id, 0, 1, "Alfonse Bourrelier", "Bourrelier")
				FUNC("facility_barrack_add_leader", town_valois_d, citizen_one_id, 0, 1, "Orry Bouvier", "Bouvier")

				FUNC("attention_call_message", "[0223N]You have liberated the township of Crepy-en-Valois from enemy occupation!")

				FUNC("set_territory_nation", "Crepy en Valois", "French")

				FUNC("set_can_interact_flag", s_five_weapon_seller_recno, 1)
				FUNC("set_can_interact_flag", s_five_potion_seller_recno, 1)

				FUNC("attention_call_message_2", "[0224N]We must not delay our progression any longer - the enemy is keen on assuming control of Compiegne and eliminating our king - we must arrive at Compiegne post-haste!", "Jean de Metz" )
				FUNC("attention_call_message_2", "[0225N]Once we pass this town, we can warn the residents of Compiegne of the enemy's plans. should they carry them out!", "Ksi¹¿ê Alencon" )
			}
		}
	}
	else
	{
		if ( priest_recno == 0 )
		{
			priest_recno = FUNC("search_unit_by_name", "Ksi¹dz")
			
			if ( priest_recno > 0 )
			{
				FUNC("set_can_interact_flag", priest_recno, 1)
				FUNC("set_idle", priest_recno) 
				ACTION("give_task", priest_recno, "IDLE", 1, 1, 0, 0, 0)
			}
		}

		if ( councillor_recno == 0 )
		{
			councillor_recno = FUNC("search_unit_by_name", "Councillor")

			if ( councillor_recno > 0 )
			{
				FUNC("set_can_interact_flag", councillor_recno, 1)
				FUNC("set_idle", councillor_recno) 
				ACTION("give_task", councillor_recno, "IDLE", 1, 1, 0, 0, 0)
			}
		}

		if ( valois_citizen_recno_b == 0 )
		{
			valois_citizen_recno_b = FUNC("search_unit_by_name", "Orry Bouvier")

			if ( valois_citizen_recno_b > 0 )
			{
				FUNC("set_can_interact_flag", valois_citizen_recno_b, 1)
				FUNC("set_idle", valois_citizen_recno_b) 
				ACTION("give_task", valois_citizen_recno_b, "IDLE", 1, 1, 0, 0, 0)
			}
		}
	}
	
	// Town Coulommiers
	if ( FUNC("get_place_captured", town_coulommiers_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", town_coulommiers_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", town_coulommiers_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", town_coulommiers_recno, 1)

				FUNC("attention_call_message", "[0226N]You have liberated the township of Coulommiers from enemy occupation!")

				FUNC("attention_call_message_2", "[0227N]Methinks we are deep in enemy territory. I only fear that the enemy has not reached Compiegne before we do!", "Ksi¹¿ê Alencon")

				FUNC("set_territory_nation", "Coulommiers", "French")
			}
		}
	}

	// Sector 2 Camp 1
	if ( FUNC("get_place_captured", sector_two_camp_one) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", sector_two_camp_one, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", sector_two_camp_one, main_recno) == 0 )
			{
				FUNC("set_place_captured", sector_two_camp_one, 1)

//				FUNC("attention_call_message_2", "[0227N]Methinks we are deep in enemy territory. I only fear that the enemy has not reached Compiegne before we do!", "Ksi¹¿ê Alencon")
				FUNC("attention_call_message", "[0228N]You have liberated Camp 7")
			}
		}
	}

	// Camp 2
	if ( FUNC("get_place_captured", camp_two_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", camp_two_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", camp_two_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", camp_two_recno, 1)

				FUNC("attention_call_message", "[0229N]You have liberated Camp 2")
			}
		}
	}

	if ( FUNC("get_place_captured", camp_eight_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", camp_eight_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", camp_eight_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", camp_eight_recno, 1)

				FUNC("attention_call_message", "[0230N]You have liberated Camp 8")
			}
		}
	}


	if ( FUNC("get_scenario_event_bit_flag_2", 32) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", town_coulommiers_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			FUNC("attention_call_message", "This French village is no more, as it has been overrun by enemies...")
			FUNC("attention_call_message_2", "The least we can do is to return this piece of land back to France - let's slay all these enemies for their perpretration on the poor townsfolk of our country!", "Jean de Metz")

			FUNC("set_scenario_event_bit_flag_2", 32, 1)
		}
	}

	// Town Soissons
	if ( FUNC("get_place_captured", town_sossions_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", town_sossions_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", town_sossions_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", town_sossions_recno, 1)

				FUNC("attention_call_message", "[0231N]You have liberated the township of Soissons from enemy occupation!")

				FUNC("set_end_condition_finish", 7, "WIN")

				FUNC("set_territory_nation", "Soissons", "French")
			}
		}
	}

	// Castle Chateau
	if ( FUNC("get_place_captured", castle_chateau_recno) == 0 )
	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", castle_chateau_recno, "P")

//		if ( joan_in_place_recno > 0 )
//		{
			if ( FUNC("number_of_enemy_in_place", castle_chateau_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", castle_chateau_recno, 1)

				FUNC("set_item_nation", chateau_north_gate, "French")
				FUNC("set_item_nation", chateau_south_gate, "French")

				FUNC("set_barrack_captured", facility_s_two_barrack, 1)

				FUNC("set_can_interact_flag", chateau_citizen_one, 1)
				FUNC("set_can_interact_flag", chateau_citizen_two, 1)

				FUNC("attention_call_message", "[0232N]You have liberated the township of Chateau-Thierry from enemy occupation!")

				FUNC("attention_call_message_2", "[0233N]Let us gather whatever resources we may here, for who knows when we shall get out next opportunity to acquire goods.", "Jean de metz")

				FUNC("attention_call_message_2", "[0234N]The barrack is also at our disposal. We would do good to make use of it.", "Ksi¹¿ê Alencon")
		
				FUNC("set_end_condition_finish", 6, "WIN")

				FUNC("set_can_interact_flag", s_two_potion_seller_recno, 1)

				FUNC("set_territory_nation", "Chateau-Thierry", "French")
			}
//		}
	}

	// Castle Provins
	if ( FUNC("get_place_captured", castle_provins_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", castle_provins_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", castle_provins_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", castle_provins_recno, 1)

				FUNC("set_item_nation", provins_north_gate, "French")
				FUNC("set_item_nation", provins_south_gate, "French")

				FUNC("set_barrack_captured", facility_s_one_barrack, 1)

				FUNC("set_can_interact_flag", s_one_weapon_seller_recno, 1)

				FUNC("set_territory_nation", "Provins", "French")

				FUNC("attention_call_message", "[0235N]You have liberated the township of Provins from enemy occupation!")

				FUNC("set_end_condition_finish", 37, "WIN")

				if ( FUNC("is_unit_dead_by_name", anjou_recno, "Rene de Anjou") == 0 )
				{
					FUNC("attention_call_message_2", "[0236N]That will teach the English a lesson! Good men, I shall head towards Paris and meet with Sir Arthur de Richemont near Montmartre, who is anxious to aid the cause. Together we will gather strategic information that may come to good use.", anjou_recno )

					FUNC("del_unit", anjou_recno)

					FUNC("del_unit_team", 850)

					anjou_recno = FUNC("add_unit", "FRENCH_HEAVY_INFANTRY_CAPTAIN", "French")
					FUNC("set_unit_name", anjou_recno, "Rene de Anjou")
					FUNC("set_unit_ranking", anjou_recno, "CAPTAIN")
					FUNC("set_unit_team", anjou_recno, 850)
					FUNC("set_unit_level", anjou_recno, 25)
					FUNC("set_unit_pos", anjou_recno, 24386.71, 63896.39, 225.88)
					FUNC("set_unit_dir", anjou_recno, -90) 

					WAIT{ FUNC("is_cut_scene_finished") }
					FUNC("set_unit_can_process_in_cut_scene", 0, 1)	

					FUNC("set_can_interact_flag", provins_citizen_one, 1)
					FUNC("set_can_interact_flag", provins_citizen_two, 1)
					FUNC("set_can_interact_flag", provins_citizen_three, 1)
					FUNC("set_can_interact_flag", provins_citizen_four, 1)
				}
			}
		}
	}

	if ( FUNC("get_place_captured", camp_floid_recno) == 0 )
	{
		joan_in_place_recno = FUNC("search_for_unit_in_place", camp_floid_recno, "P")

		if ( joan_in_place_recno > 0 )
		{
			if ( FUNC("number_of_enemy_in_place", camp_floid_recno, main_recno) == 0 )
			{
				FUNC("set_place_captured", camp_floid_recno, 1)

//				FUNC("set_territory_nation", "Provins", "French")

				FUNC("attention_call_message", "[0237N]You have liberated the Camp of Floid from enemy occupation!")

				FUNC("set_end_condition_finish", 38, "WIN")
			}
		}

	}

//	if ( FUNC("get_scenario_bit_flag", 31) == 0 && FUNC("get_scenario_bit_flag", 27) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_two_a, "P")

//		if ( joan_in_place_recno > 0 )
//		{
//			FUNC("attention_call_message", "[0001N]You cannot go beyond the battlefield - your duties beckon.")

//			FUNC("set_scenario_bit_flag", 31, 1)
//		}
//	}
//	else
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_two_a, "P")

//		if ( joan_in_place_recno == 0 )
//		{
//			FUNC("set_scenario_bit_flag", 31, 0)
//		}
//	}

//	if ( FUNC("is_item_deleted_by_name", block_two_b_item, "block2B") == 0 && FUNC("get_scenario_bit_flag", 32) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", go_gate_door_recno, "P")

//		if ( joan_in_place_recno > 0 )
//		{
//			FUNC("attention_call_message", "[0195N]You cannot open this door, as it is locked to prevent the enemy from entering the castle.")

//			FUNC("set_scenario_bit_flag", 32, 1)
//		}
//	}
//	else
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", go_gate_door_recno, "P")

//		if ( joan_in_place_recno == 0 )
//		{
//			FUNC("set_scenario_bit_flag", 32, 0)
//		}
//	}

//	if ( FUNC("is_item_deleted_by_name", block_two_c_item, "block2C") == 0 && FUNC("get_scenario_event_bit_flag_2", 27) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_two_c, "P")

//		if ( joan_in_place_recno > 0 )
//		{
//			FUNC("attention_call_message", "[0001N]You cannot go beyond the battlefield - your duties beckon.")

//			FUNC("set_scenario_event_bit_flag_2", 27, 1)
//		}
//	}
//	else
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_two_c, "P")

//		if ( joan_in_place_recno == 0 )
//		{
//			FUNC("set_scenario_event_bit_flag_2", 27, 0)
//		}
//	}

//	if ( FUNC("is_item_deleted_by_name", block_three_a_item, "block3A") == 0 && FUNC("get_scenario_event_bit_flag_2", 28) == 0 )
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_three_a, "P")
//
//		if ( joan_in_place_recno > 0 )
//		{
//			FUNC("attention_call_message", "[0001N]You cannot go beyond the battlefield - your duties beckon.")

//			FUNC("set_scenario_event_bit_flag_2", 28, 1)
//		}
//	}
//	else
//	{
//		joan_in_place_recno = FUNC("search_for_unit_in_place", block_three_a, "P")

//		if ( joan_in_place_recno == 0 )
//		{
//			FUNC("set_scenario_event_bit_flag_2", 28, 0)
//		}
//	}

	if ( FUNC("get_end_condition_enabled", 17) == 1 && FUNC("get_end_condition_finish", 17) == 0 && FUNC("is_item_deleted_by_name", compiegne_north_gate, "CompiegneGateNorth") > 0 )
	{
		FUNC("set_end_condition_finish", 17, "LOSE")

		FUNC("call_gameover_msg", "You have failed in your attempt to reclaim Paris for France - the war is now doomed for failure, and France will be no more!")
	}

	if ( FUNC("get_place_captured", castle_provins_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L1_1", 1)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L1_1", 0)
		FUNC("set_territory_nation", "Provins", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L1_1", 0)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L1_1", 1)
	}

	if ( FUNC("get_place_captured", castle_chateau_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L2", 1)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L2", 0)
		FUNC("set_territory_nation", "Chateau-Thierry", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L2", 0)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L2", 1)
	}

	if ( FUNC("get_place_captured", town_coulommiers_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L2_2", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L2_2", 0)
		FUNC("set_territory_nation", "Coulommiers", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L2_2", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L2_2", 1)
	}

	if ( FUNC("get_place_captured", town_sossions_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L3_1", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L3_1", 0)
		FUNC("set_territory_nation", "Soissons", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L3_1", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L3_1", 1)
	}

	if ( FUNC("get_place_captured", town_choisy_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L3_1", 1)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L3_1", 0)
		FUNC("set_territory_nation", "Pont a Choisy", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L3_1", 0)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L3_1", 1)
	}

	if ( FUNC("get_place_captured", castle_compiegne_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L4", 1)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L4", 0)
		FUNC("set_territory_nation", "Compiegne", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L4", 0)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L4", 1)
	}

	if ( FUNC("get_place_captured", town_valois_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L5_1", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L5_1", 0)
		FUNC("set_territory_nation", "Crepy en Valois", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L5_1", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L5_1", 1)
	}

	if ( FUNC("get_place_captured", town_senlis_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L6_1", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L6_1", 0)
		FUNC("set_territory_nation", "Senlis", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L6_1", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L6_1", 1)
	}

	if ( FUNC("get_place_captured", town_st_denis_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L6_2", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L6_2", 0)
		FUNC("set_territory_nation", "St Denis", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L6_2", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L6_2", 1)
	}

	if ( FUNC("get_place_captured", town_lagny_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L7_1", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L7_1", 0)
		FUNC("set_territory_nation", "Lagny", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L7_1", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L7_1", 1)
	}

	if ( FUNC("get_place_captured", town_dammartin_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L7_2", 1)
		FUNC("set_minimap_icon_display_enable", "etown_S8L7_2", 0)
		FUNC("set_territory_nation", "Dammartin", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "ftown_S8L7_2", 0)
		FUNC("set_minimap_icon_display_enable", "etown_S8L7_2", 1)
	}

	if ( FUNC("get_place_captured", sector_two_camp_one) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_2", 1)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_2", 0)
		FUNC("set_territory_nation", "Camp7", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_2", 0)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_2", 1)
	}

	if ( FUNC("get_place_captured", camp_two_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L1_1", 1)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L1_1", 0)
		FUNC("set_territory_nation", "Camp2", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L1_1", 0)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L1_1", 1)
	}

	if ( FUNC("get_place_captured", camp_eight_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_3", 1)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_3", 0)
		FUNC("set_territory_nation", "Camp8", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_3", 0)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_3", 1)
	}

	if ( FUNC("get_place_captured", paris_eight_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L9", 1)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L9", 0)
		FUNC("set_territory_nation", "Paris", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcastle_S8L9", 0)
		FUNC("set_minimap_icon_display_enable", "ecastle_S8L9", 1)
	}

	if ( FUNC("get_place_captured", camp_floid_recno) ) 
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_1", 1)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_1", 0)
		FUNC("set_territory_nation", "Froid", "French")
	}
	else
	{
		FUNC("set_minimap_icon_display_enable", "fcamp_S8L2_1", 0)
		FUNC("set_minimap_icon_display_enable", "ecamp_S8L2_1", 1)
	}
}
