/* MERCENARY ROUNDTYPE */ /datum/game_mode/nuclear name = "Mercenary" round_description = "A mercenary strike force is approaching the station!" config_tag = "mercenary" required_players = 15 required_players_secret = 25 // 25 players - 5 players to be the nuke ops = 20 players remaining required_enemies = 1 end_on_antag_death = 1 antag_tag = MODE_MERCENARY uplink_welcome = "Corporate Backed Uplink Console:" uplink_uses = 40 var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station var/syndies_didnt_escape = 0 //Used for tracking if the syndies got the shuttle off of the z-level /datum/game_mode/nuclear/declare_completion() if(config.objectives_disabled) return var/disk_rescued = 1 for(var/obj/item/weapon/disk/nuclear/D in world) var/disk_area = get_area(D) if(!is_type_in_list(disk_area, centcom_areas)) disk_rescued = 0 break var/crew_evacuated = (emergency_shuttle.returned()) if(!disk_rescued && station_was_nuked && !syndies_didnt_escape) feedback_set_details("round_end_result","win - syndicate nuke") world << "Mercenary Major Victory!" world << "[syndicate_name()] operatives have destroyed [station_name()]!" else if (!disk_rescued && station_was_nuked && syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time") world << "Total Annihilation" world << "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!" else if (!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - blew wrong station") world << "Crew Minor Victory" world << "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't lose the disk!" else if (!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time") world << "[syndicate_name()] operatives have earned Darwin Award!" world << "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't lose the disk!" else if (disk_rescued && mercs.antags_are_dead()) feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead") world << "Crew Major Victory!" world << "The Research Staff has saved the disc and killed the [syndicate_name()] Operatives" else if ( disk_rescued ) feedback_set_details("round_end_result","loss - evacuation - disk secured") world << "Crew Major Victory" world << "The Research Staff has saved the disc and stopped the [syndicate_name()] Operatives!" else if (!disk_rescued && mercs.antags_are_dead()) feedback_set_details("round_end_result","loss - evacuation - disk not secured") world << "Mercenary Minor Victory!" world << "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!" else if (!disk_rescued && crew_evacuated) feedback_set_details("round_end_result","halfwin - detonation averted") world << "Mercenary Minor Victory!" world << "[syndicate_name()] operatives recovered the abandoned authentication disk but detonation of [station_name()] was averted. Next time, don't lose the disk!" else if (!disk_rescued && !crew_evacuated) feedback_set_details("round_end_result","halfwin - interrupted") world << "Neutral Victory" world << "Round was mysteriously interrupted!" ..() return