#cdvader begin
bomb_1 = (
1, 0, 0, [],
[
(multiplayer_is_server),
(scene_prop_get_num_instances, ":prop", "spr_bomb"),
(try_for_range, ":i", 0, ":prop"),
(scene_prop_get_instance, ":instance", "spr_bomb", ":i"),
(troop_get_slot, ":used", "trp_bomb_used", ":instance"),
(neq, ":used", 1),
(troop_get_slot, ":armed", "trp_bomb_armed", ":instance"),
(eq, ":armed", 1),
(troop_get_slot, ":time", "trp_bomb", ":instance"),
(val_sub, ":time", 1),
(troop_set_slot, "trp_bomb", ":instance", ":time"),
(try_end),
]),
bomb_2 = (
0.75, 0, 0, [],
[
(multiplayer_is_server),
(scene_prop_get_num_instances, ":prop", "spr_bomb"),
(try_for_range, ":i", 0, ":prop"),
(scene_prop_get_instance, ":instance", "spr_bomb", ":i"),
(troop_get_slot, ":used", "trp_bomb_used", ":instance"),
(neq, ":used", 1),
(troop_get_slot, ":armed", "trp_bomb_armed", ":instance"),
(eq, ":armed", 1),
(troop_get_slot, ":time", "trp_bomb", ":instance"),
(le, ":time", 0),
(troop_set_slot, "trp_bomb_used", ":instance", 1),
(prop_instance_get_position, pos1, ":instance"),
(particle_system_burst, "psys_village_fire_big", pos1, 100),
#(play_sound, "snd_kaboom"),
(get_max_players, ":max"),
(try_for_range, ":i", 1, ":max"),
(player_is_active, ":i"),
(player_get_agent_id, ":agent", ":i"),
(ge, ":agent", 0),
(agent_is_alive, ":agent"),
#(neg|agent_is_ally, ":agent"), #Uncomment this to deal no damage to allies.
(agent_get_position, pos2, ":agent"),
(position_move_z, pos2, 50),
(get_distance_between_positions, ":dist", pos1, pos2),
(assign, ":damage", 0),
(assign, ":anim_ok", 0),
(try_begin),
(lt, ":dist", 500),
(store_random_in_range, ":damage", 5, 10),
(assign, ":anim_ok", 1),
(else_try),
(lt, ":dist", 300),
(store_random_in_range, ":damage", 10, 20),
(assign, ":anim_ok", 1),
(else_try),
(lt, ":dist", 100),
(assign, ":damage", 100), #Insta-kill
(assign, ":anim_ok", 1),
(try_end),
(try_begin),
(eq, ":anim_ok", 1),
(try_begin),
(neg|position_is_behind_position, pos1, pos2),
(multiplayer_send_2_int_to_server, multiplayer_event_animation_server, "anim_fall_front", ":i"),
(multiplayer_send_2_int_to_server, multiplayer_event_sound_server, ":agent", "snd_man_grunt"),
(else_try),
(multiplayer_send_2_int_to_server, multiplayer_event_animation_server, "anim_fall_back", ":i"),
(multiplayer_send_2_int_to_server, multiplayer_event_sound_server, ":agent", "snd_man_grunt"),
(try_end),
(try_end),
(store_agent_hit_points, ":hp", ":agent", 1),
(val_sub, ":hp", ":damage"),
(val_max, ":hp", 0),
(agent_set_hit_points, ":agent", ":hp", 1),
(try_begin),
(eq, ":hp", 0),
(deliver_damage_to_agent, ":agent", ":agent"),
(try_end),
(try_end),
(position_move_z, pos1, -750),
(prop_instance_set_position, ":instance", pos1),
(try_end),
]),
#cdvader end