|
| 1 | +// /datum/game_mode/infiltration |
| 2 | +// name = "infiltration" |
| 3 | +// config_tag = "infiltration" |
| 4 | +// false_report_weight = 10 |
| 5 | +// required_players = 25 |
| 6 | +// required_enemies = 3 |
| 7 | +// recommended_enemies = 5 |
| 8 | +// enemy_minimum_age = 21 |
| 9 | +// antag_flag = ROLE_INFILTRATOR |
| 10 | + |
| 11 | +// var/agents_possible = 5 |
| 12 | +// var/agents_left = 1 |
| 13 | +// var/list/pre_sit = list() |
| 14 | + |
| 15 | +// var/datum/team/infiltrator/sit_team |
| 16 | + |
| 17 | +// var/static/list/areas_that_can_finish = typecacheof(list(/area/shuttle/yogs/stealthcruiser, /area/yogs/infiltrator_base)) |
| 18 | + |
| 19 | +// /datum/game_mode/infiltration/pre_setup() |
| 20 | +// var/n_agents = min(max(CEILING(num_players() / 7, 1), 1), antag_candidates.len, agents_possible) |
| 21 | +// if(GLOB.Debug2 || n_agents >= required_enemies) |
| 22 | +// for(var/i = 0, i < n_agents, ++i) |
| 23 | +// var/datum/mind/new_sit = pick_n_take(antag_candidates) |
| 24 | +// pre_sit += new_sit |
| 25 | +// new_sit.assigned_role = "Syndicate Infiltrator" |
| 26 | +// new_sit.special_role = "Syndicate Infiltrator" |
| 27 | +// log_game("[key_name(new_sit)] has been selected as a syndicate infiltrator") |
| 28 | +// return TRUE |
| 29 | +// setup_error = "Not enough infiltrator candidates" |
| 30 | +// message_admins("Not enough infiltrator candidates! Was making [n_agents], but we need [required_enemies]!") |
| 31 | +// return FALSE |
| 32 | + |
| 33 | +// /datum/game_mode/infiltration/post_setup() |
| 34 | +// sit_team = new /datum/team/infiltrator |
| 35 | +// for(var/datum/mind/sit_mind in pre_sit) |
| 36 | +// sit_mind.add_antag_datum(ANTAG_DATUM_INFILTRATOR, sit_team) |
| 37 | +// sit_team.update_objectives() |
| 38 | +// return ..() |
| 39 | + |
| 40 | +// /datum/game_mode/infiltration/generate_report() //make this less shit |
| 41 | +// return "Reports show that the Syndicate is rounding up it's elite agents, possibly for a raid on a Nanotrasen-controlled station. Keep an eye out for unusual people." |
| 42 | + |
| 43 | +// /datum/game_mode/infiltration/set_round_result() |
| 44 | +// ..() |
| 45 | +// var/result = sit_team.get_result() |
| 46 | +// switch(result) |
| 47 | +// if(INFILTRATION_ALLCOMPLETE) |
| 48 | +// SSticker.mode_result = "major win - objectives complete" |
| 49 | +// if(INFILTRATION_MOSTCOMPLETE) |
| 50 | +// SSticker.mode_result = "minor win - most objectives complete" |
| 51 | +// if(INFILTRATION_SOMECOMPLETE) |
| 52 | +// SSticker.mode_result = "neutral - some objectives complete" |
| 53 | +// else |
| 54 | +// SSticker.mode_result = "loss - no objectives complete" |
0 commit comments