From 63b33f40cf2171e9daf5324fa5f2c9f45b949a2f Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 3 May 2015 15:15:09 +0200 Subject: [PATCH 1/3] Fixes button created teams not adding to gamemode --- code/modules/admin/verbs/one_click_antag.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index fb2f3bff40f..4737e42fa39 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -566,7 +566,7 @@ client/proc/one_click_antag() if(candidates.len >= 2) //Oh god why we can't have static functions var/teams_finished = 0 - if(ticker.mode.config_tag == "abductor") + if(ticker.mode.config_tag == "abduction") var/datum/game_mode/abduction/A = ticker.mode teams_finished = A.teams else @@ -574,7 +574,7 @@ client/proc/one_click_antag() var/number = teams_finished + 1 var/datum/game_mode/abduction/temp - if(ticker.mode.config_tag == "abductor") + if(ticker.mode.config_tag == "abduction") temp = ticker.mode else temp = new @@ -599,7 +599,7 @@ client/proc/one_click_antag() temp.abductors |= list(agent_mind,scientist_mind) temp.make_abductor_team(number,preset_scientist=scientist_mind,preset_agent=agent_mind) temp.post_setup_team(number) - if(ticker.mode.config_tag == "abductor") + if(ticker.mode.config_tag == "abduction") var/datum/game_mode/abduction/A = ticker.mode A.teams += 1 else From c532a21fe55bb51d6c6113af46b19599fbdc27cc Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 3 May 2015 20:49:40 +0200 Subject: [PATCH 2/3] Changes roundend to forced shuttle call. --- code/game/gamemodes/abduction/abduction.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/abduction/abduction.dm b/code/game/gamemodes/abduction/abduction.dm index f4d2c8efb47..6d4d1721121 100644 --- a/code/game/gamemodes/abduction/abduction.dm +++ b/code/game/gamemodes/abduction/abduction.dm @@ -14,6 +14,7 @@ var/list/datum/mind/agents = list() var/list/datum/objective/team_objectives = list() var/list/team_names = list() + var/finished = 0 /datum/game_mode/abduction/announce() world << "The current game mode is - Abduction!" @@ -259,11 +260,14 @@ /datum/game_mode/abduction/check_finished() - for(var/team_number=1,team_number<=teams,team_number++) - var/obj/machinery/abductor/console/con = get_team_console(team_number) - var/datum/objective/objective = team_objectives[team_number] - if (con.experiment.points > objective.target_amount) - return 1 + if(!finished) + for(var/team_number=1,team_number<=teams,team_number++) + var/obj/machinery/abductor/console/con = get_team_console(team_number) + var/datum/objective/objective = team_objectives[team_number] + if (con.experiment.points > objective.target_amount) + SSshuttle.emergency.request(null, 0.5) + finished = 1 + return ..() return ..() /datum/game_mode/abduction/declare_completion() @@ -298,7 +302,7 @@ world << printobjectives(abductee.mind) /datum/game_mode/proc/auto_declare_completion_abduction() - if(abductors.len) + if(abductors.len && ticker.mode.config_tag != "abduction") // no repeating for the gamemode world << "
The Abductors were:" for(var/datum/mind/M in abductors) world << "Abductor [M.current ? M.current.name : "Abductor"]([M.key])" From 98bf96dda9d9788f8955670d982f7f4f1397406f Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 8 May 2015 21:03:26 +0200 Subject: [PATCH 3/3] Fixes braindead abduction Experiment machine dumps abductees in arrivals/safe areas --- code/game/area/Space Station 13 areas.dm | 2 ++ code/game/gamemodes/abduction/machinery/experiment.dm | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 2ab48980639..2978e80f2b6 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -47,6 +47,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station var/static_environ var/has_gravity = 0 + var/safe = 0 //Is the area teleport-safe: no space / radiation / aggresive mobs / other dangers var/no_air = null var/area/master // master area used for power calcluations @@ -502,6 +503,7 @@ proc/process_ghost_teleport_locs() /area/crew_quarters name = "\improper Dormitories" icon_state = "Sleep" + safe = 1 /area/crew_quarters/toilet name = "\improper Dormitory Toilets" diff --git a/code/game/gamemodes/abduction/machinery/experiment.dm b/code/game/gamemodes/abduction/machinery/experiment.dm index 371011323df..2de8bdd41ff 100644 --- a/code/game/gamemodes/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/abduction/machinery/experiment.dm @@ -143,7 +143,7 @@ if(!GlandTest) say("Experimental dissection not detected!") return "No glands detected!" - if(H.mind != null || H.ckey != null) + if(H.mind != null && H.ckey != null) history += H say("Processing Specimen...") sleep(5) @@ -190,9 +190,11 @@ var/area/A if(console && console.pad && console.pad.teleport_target) A = console.pad.teleport_target - else - A = teleportlocs[pick(teleportlocs)] - TeleportToArea(H,A) + if(A.safe) // right now crew areas are safe - being locked behind closed doors is not fun + TeleportToArea(H,A) + //Area not chosen / It's not safe area - teleport to arrivals + H.forceMove(pick(latejoin)) + /obj/machinery/abductor/experiment/update_icon() if(state_open)