mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 16:47:13 +01:00
@@ -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"
|
||||
|
||||
@@ -13,6 +13,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 << "<B>The current game mode is - Abduction!</B>"
|
||||
@@ -258,11 +259,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()
|
||||
@@ -297,7 +301,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 << "<br><font size=3><b>The Abductors were:</b></font>"
|
||||
for(var/datum/mind/M in abductors)
|
||||
world << "<font size = 2><b>Abductor [M.current ? M.current.name : "Abductor"]([M.key])</b></font>"
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
if(!GlandTest)
|
||||
say("Experimental dissection not detected!")
|
||||
return "<span class='bad'>No glands detected!</span>"
|
||||
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)
|
||||
|
||||
@@ -564,7 +564,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
|
||||
@@ -572,7 +572,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
|
||||
@@ -597,7 +597,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
|
||||
|
||||
Reference in New Issue
Block a user