## script_flee
("flee_allies",
[
(get_scene_boundaries, pos3, pos4),
(position_get_x,"
min",pos3),
(position_get_y,":ymin",pos3),
(position_get_x,"
max",pos4),
(position_get_y,":ymax",pos4),
(val_div,"
min",100),
(val_div,"
max",100),
(store_random_in_range,"
rout_point3","
min","
max"),
(val_mul,"
rout_point3",100),
(store_random_in_range,":yrout_point3","
min","
max"),
(val_mul,":yrout_point3",100),
(store_random_in_range,"
rout_point4","
min","
max"),
(val_mul,"
rout_point4",100),
(store_random_in_range,":yrout_point4","
min","
max"),
(val_mul,":yrout_point4",100),
(val_mul,"
min",100),
(val_mul,"
max",100),
(val_add,"
rout_point3","
min"),
(val_add,"
rout_point3","
min"),
(val_add,"
rout_point3","
min"),
(val_div,"
rout_point3",4),
(position_set_x,pos3,"
rout_point3"),
(val_add,":yrout_point3",":ymin"),
(val_add,":yrout_point3",":ymin"),
(val_add,":yrout_point3",":ymin"),
(val_div,":yrout_point3",4),
(position_set_y,pos3,":yrout_point3"),
(val_add,"
rout_point4","
max"),
(val_add,"
rout_point4","
max"),
(val_add,"
rout_point4","
max"),
(val_div,"
rout_point4",4),
(position_set_x,pos4,"
rout_point4"),
(val_add,":yrout_point4",":ymax"),
(val_add,":yrout_point4",":ymax"),
(val_add,":yrout_point4",":ymax"),
(val_div,":yrout_point4",4),
(position_set_y,pos4,":yrout_point4"),
(store_skill_level,":leader","skl_leadership","trp_player"),
(try_for_agents,":agent"),
(agent_is_alive,":agent"),
(agent_is_human,":agent"),
(agent_is_ally,":agent"),
(store_agent_hit_points,":hitpoints",":agent",0),
(agent_get_troop_id,":troop_type", ":agent"),
(store_character_level, ":troop_level", ":troop_type"),
(val_div,":troop_level",10),
(val_add,":hitpoints",":troop_level"),
(assign,":chance_ply",100),
(val_sub,":chance_ply",":hitpoints"),
(val_sub,":chance_ply",":leader"),
(val_div,":chance_ply",2),
(store_random_in_range,":routed",1,101),
(try_begin),
(le,":routed",":chance_ply"),
# (display_message,"@One ally runs!"),
(agent_get_position,pos2,":agent"),
(position_move_z,pos2,200,0),
(agent_clear_scripted_mode,":agent"),
(agent_set_scripted_destination,":agent",pos4,1),
(try_end),
(end_try),
]),
("flee_enemies",
[
(get_scene_boundaries, pos3, pos4),
(position_get_x,"
min",pos3),
(position_get_y,":ymin",pos3),
(position_get_x,"
max",pos4),
(position_get_y,":ymax",pos4),
(val_div,"
min",100),
(val_div,"
max",100),
(store_random_in_range,"
rout_point3","
min","
max"),
(val_mul,"
rout_point3",100),
(store_random_in_range,":yrout_point3","
min","
max"),
(val_mul,":yrout_point3",100),
(store_random_in_range,"
rout_point4","
min","
max"),
(val_mul,"
rout_point4",100),
(store_random_in_range,":yrout_point4","
min","
max"),
(val_mul,":yrout_point4",100),
(val_mul,"
min",100),
(val_mul,"
max",100),
(val_add,"
rout_point3","
min"),
(val_add,"
rout_point3","
min"),
(val_add,"
rout_point3","
min"),
(val_div,"
rout_point3",4),
(position_set_x,pos3,"
rout_point3"),
(val_add,":yrout_point3",":ymin"),
(val_add,":yrout_point3",":ymin"),
(val_add,":yrout_point3",":ymin"),
(val_div,":yrout_point3",4),
(position_set_y,pos3,":yrout_point3"),
(val_add,"
rout_point4","
max"),
(val_add,"
rout_point4","
max"),
(val_add,"
rout_point4","
max"),
(val_div,"
rout_point4",4),
(position_set_x,pos4,"
rout_point4"),
(val_add,":yrout_point4",":ymax"),
(val_add,":yrout_point4",":ymax"),
(val_add,":yrout_point4",":ymax"),
(val_div,":yrout_point4",4),
(position_set_y,pos4,":yrout_point4"),
(try_for_agents,":agent"),
(agent_is_alive,":agent"),
(agent_is_human,":agent"),
(neg|agent_is_ally,":agent"),
(store_agent_hit_points,":hitpoints",":agent",0),
(agent_get_troop_id,":troop_type", ":agent"),
(store_character_level, ":troop_level", ":troop_type"),
(val_div,":troop_level",10),
(val_add,":hitpoints",":troop_level"),
(assign,":chance_ply",100),
(val_sub,":chance_ply",":hitpoints"),
(val_sub,":chance_ply",4),
(val_div,":chance_ply",2),
(store_random_in_range,":routed",1,101),
(try_begin),
(le,":routed",":chance_ply"),
# (display_message,"@One enemy runs!"),
(agent_get_position,pos2,":agent"),
(position_move_z,pos2,200,0),
(agent_clear_scripted_mode,":agent"),
(agent_set_scripted_destination,":agent",pos3,1),
(try_end),
(end_try),
]),