ballista_tick = (0, 0, ti_once, [],[(assign,"$balista_action",0),# 0 is none, 1 is in action, 2 fired, 3 reloading, 4 one second please:P
(assign,"$balista_fire",0),
(assign,"$missile_count",0),
(assign,"$missile_max",15),
])
ballista_action = (0, 0, 0, [(key_clicked, key_e),
(eq,"$balista_action",0),
(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(get_player_agent_no,":player_agent"),
(prop_instance_get_position,pos1,":balista_instance"),
(agent_get_position,pos2,":player_agent"),
(get_distance_between_positions,":distance",pos1,pos2),
(lt,":distance",750),
(mission_cam_set_mode,1),
(mission_cam_set_position, pos2),
(assign,"$balista_action",4)],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_move_z,pos1,125),
(position_move_y,pos1,350),
(position_rotate_z,pos1,180),
(mission_cam_animate_to_position, pos1, 1000, 0),
])
ballista_enter = (0, 0, 0, [(key_clicked, key_f),(eq,"$balista_action",1)],
[(mission_cam_set_mode,0),
(assign,"$balista_action",0),
])
ballista_wtf = (0, 1, 0, [(eq,"$balista_action",4)],
[(assign,"$balista_action",1),
])
ballista_missile_tick = (0, 0, 0, [(eq,"$balista_action",1)],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(scene_prop_get_instance,":missile_instance", "spr_balista_missile", "$missile_count"),
(prop_instance_get_position,pos2,":balista_instance"),
(position_move_z,pos2,55),
(prop_instance_set_position,":missile_instance",pos2),
(position_move_z,pos1,125),
(position_move_y,pos1,350),
(position_rotate_z,pos1,180),
(mission_cam_set_position, pos1),
])
ballista_rotate_something = (0, 0, 0, [(key_is_down, key_space),(eq,"$balista_action",1)],
[(assign,"$balista_action",2),
(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_move_z,pos1,500),
(position_move_y,pos1,350),
(position_rotate_z,pos1,180),
(mission_cam_animate_to_position, pos1, 1000, 0),
])
ballista_misslie_check = (0, 0, 0, [],[(try_for_range,":missile_number",0,"$missile_count"),
(scene_prop_get_instance,":missile_instance", "spr_balista_missile", ":missile_number"),
(prop_instance_get_position,pos1,":missile_instance"),
(prop_instance_get_position,pos2,":missile_instance"),
(position_set_z_to_ground_level, pos2),
(get_distance_between_positions,":distance",pos1,pos2),
(try_begin),
(gt,":distance",5),
(position_move_y,pos1,-300),
(position_rotate_x,pos1,1),
(prop_instance_animate_to_position,":missile_instance",pos1,10),
(get_player_agent_no,":player_agent"),
(try_for_agents,":agents"),
(agent_is_alive, ":agents"),
(agent_get_position,pos2,":agents"),
(get_distance_between_positions,":missile_hit",pos1,pos2),
(try_begin),
(lt,":missile_hit",100),
(agent_set_hit_points,":agents",0,0),
(agent_deliver_damage_to_agent,":player_agent",":agents"),
(try_end),
(try_end),
(try_end),
(try_end),
])
ballista_reload = (0, 0, 0, [(eq,"$balista_action",2)],
[(assign,"$balista_action",3),
(try_begin),
(lt,"$missile_count","$missile_max"),
(val_add,"$missile_count",1),
(try_end)
])
ballista_fire = (0, 0, 0, [(key_clicked, key_t),(eq,"$balista_action",1),],
[(try_begin),
(eq,"$balista_fire",1),
(assign,"$balista_fire",0),
(else_try),
(assign,"$balista_fire",1),
(try_end)
])
ballista_fire_tick = (0, 0, 0, [(eq,"$balista_fire",1),],
[(store_sub,":one_less","$missile_count",1),
(store_sub,":two_less","$missile_count",2),
(scene_prop_get_instance,":missile_instance", "spr_balista_missile", "$missile_count"),
(scene_prop_get_instance,":missile_instance2", "spr_balista_missile", ":one_less"),
(scene_prop_get_instance,":missile_instance3", "spr_balista_missile", ":two_less"),
(prop_instance_get_position,pos1,":missile_instance"),
(prop_instance_get_position,pos2,":missile_instance2"),
(prop_instance_get_position,pos3,":missile_instance3"),
(position_move_y,pos1,-100),
(position_move_y,pos2,-100),
(position_move_y,pos3,-100),
(particle_system_burst, "psys_torch_fire",pos1,10),
(particle_system_burst, "psys_torch_smoke",pos1,10),
(particle_system_burst, "psys_torch_fire_sparks",pos1,10),
(particle_system_burst, "psys_fire_glow_1",pos1,5),
(particle_system_burst, "psys_torch_fire",pos2,5),
(particle_system_burst, "psys_torch_fire_sparks",pos2,5),
(particle_system_burst, "psys_fire_glow_1",pos2,2),
(particle_system_burst, "psys_torch_fire",pos3,5),
])
ballista_check_actions = (0, 4, 0, [(eq,"$balista_action",3),],
[(assign,"$balista_action",5),
])
ballista_create_missiles = (0, 0.1, 0, [(eq,"$balista_action",5),],
[(assign,"$balista_action",4),
(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_move_z,pos1,125),
(position_move_y,pos1,350),
(position_rotate_z,pos1,180),
(mission_cam_animate_to_position, pos1, 1000, 0),
(scene_prop_get_instance,":missile_instance", "spr_balista_missile", "$missile_count"),
(prop_instance_get_position,pos2,":balista_instance"),
(position_move_z,pos2,55),
(prop_instance_set_position,":missile_instance",pos2),
])
ballista_move_up = (0, 0, 0, [(key_is_down, key_up),(eq,"$balista_action",1),],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_rotate_x,pos1,3),
(prop_instance_animate_to_position,":balista_instance",pos1,10),
])
ballista_move_down = (0, 0, 0, [(key_is_down, key_down),(eq,"$balista_action",1),],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_rotate_x,pos1,-3),
(prop_instance_animate_to_position,":balista_instance",pos1,10),
])
ballista_move_left = (0, 0, 0, [(key_is_down, key_left),(eq,"$balista_action",1),],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_rotate_z,pos1,3),
(prop_instance_animate_to_position,":balista_instance",pos1,10),
])
ballista_move_right = (0, 0, 0, [(key_is_down, key_right),(eq,"$balista_action",1),],
[(scene_prop_get_instance,":balista_instance", "spr_balista", 0),
(prop_instance_get_position,pos1,":balista_instance"),
(position_rotate_z,pos1,-3),
(prop_instance_animate_to_position,":balista_instance",pos1,10),
])