April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -39,23 +39,23 @@
|
||||
areas = list()
|
||||
|
||||
var/list/new_latejoin = list()
|
||||
for(var/area/shuttle/arrival/A in sortedAreas)
|
||||
for(var/area/shuttle/arrival/A in GLOB.sortedAreas)
|
||||
for(var/obj/structure/chair/C in A)
|
||||
new_latejoin += C
|
||||
if(!console)
|
||||
console = locate(/obj/machinery/requests_console) in A
|
||||
areas += A
|
||||
|
||||
if(latejoin.len)
|
||||
if(GLOB.latejoin.len)
|
||||
WARNING("Map contains predefined latejoin spawn points and an arrivals shuttle. Using the arrivals shuttle.")
|
||||
|
||||
if(!new_latejoin.len)
|
||||
WARNING("Arrivals shuttle contains no chairs for spawn points. Reverting to latejoin landmarks.")
|
||||
if(!latejoin.len)
|
||||
if(!GLOB.latejoin.len)
|
||||
WARNING("No latejoin landmarks exist. Players will spawn unbuckled on the shuttle.")
|
||||
return
|
||||
|
||||
latejoin = new_latejoin
|
||||
GLOB.latejoin = new_latejoin
|
||||
|
||||
/obj/docking_port/mobile/arrivals/dockRoundstart()
|
||||
SSshuttle.generate_transit_dock(src)
|
||||
@@ -66,12 +66,12 @@
|
||||
|
||||
/obj/docking_port/mobile/arrivals/check()
|
||||
. = ..()
|
||||
|
||||
|
||||
if(perma_docked)
|
||||
if(mode != SHUTTLE_CALL)
|
||||
sound_played = FALSE
|
||||
mode = SHUTTLE_IDLE
|
||||
else
|
||||
else
|
||||
SendToStation()
|
||||
return
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
if(!CheckTurfsPressure())
|
||||
damaged = FALSE
|
||||
if(console)
|
||||
console.say("Repairs complete, launching soon.")
|
||||
console.say("Repairs complete, launching soon.")
|
||||
return
|
||||
|
||||
//If this proc is high on the profiler add a cooldown to the stuff after this line
|
||||
@@ -88,12 +88,12 @@
|
||||
damaged = TRUE
|
||||
if(console)
|
||||
console.say("Alert, hull breach detected!")
|
||||
var/obj/machinery/announcement_system/announcer = pick(announcement_systems)
|
||||
var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
|
||||
announcer.announce("ARRIVALS_BROKEN", channels = list())
|
||||
if(mode != SHUTTLE_CALL)
|
||||
sound_played = FALSE
|
||||
mode = SHUTTLE_IDLE
|
||||
else
|
||||
else
|
||||
SendToStation()
|
||||
return
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
Launch(FALSE)
|
||||
|
||||
/obj/docking_port/mobile/arrivals/proc/CheckTurfsPressure()
|
||||
for(var/I in latejoin)
|
||||
for(var/I in GLOB.latejoin)
|
||||
var/turf/open/T = get_turf(I)
|
||||
var/pressure = T.air.return_pressure()
|
||||
if(pressure < HAZARD_LOW_PRESSURE || pressure > HAZARD_HIGH_PRESSURE) //simple safety check
|
||||
@@ -120,7 +120,7 @@
|
||||
return FALSE
|
||||
|
||||
/obj/docking_port/mobile/arrivals/proc/PersonCheck()
|
||||
for(var/M in (living_mob_list & player_list))
|
||||
for(var/M in (GLOB.living_mob_list & GLOB.player_list))
|
||||
var/mob/living/L = M
|
||||
if((get_area(M) in areas) && L.stat != DEAD)
|
||||
return TRUE
|
||||
@@ -130,7 +130,7 @@
|
||||
var/dockTime = config.arrivals_shuttle_dock_window
|
||||
if(mode == SHUTTLE_CALL && timeLeft(1) > dockTime)
|
||||
if(console)
|
||||
console.say(damaged ? "Initiating emergency docking for repairs!" : "Now approaching: [SSmapping.config.map_name].")
|
||||
console.say(damaged ? "Initiating emergency docking for repairs!" : "Now approaching: [station_name()].")
|
||||
hyperspace_sound(HYPERSPACE_LAUNCH, areas) //for the new guy
|
||||
setTimer(dockTime)
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
/obj/docking_port/mobile/arrivals/proc/RequireUndocked(mob/user)
|
||||
if(mode == SHUTTLE_CALL || damaged)
|
||||
return
|
||||
|
||||
|
||||
Launch(TRUE)
|
||||
|
||||
user << "<span class='notice'>Calling your shuttle. One moment...</span>"
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
/obj/item/device/assault_pod/attack_self(mob/living/user)
|
||||
var/target_area
|
||||
target_area = input("Area to land", "Select a Landing Zone", target_area) in teleportlocs
|
||||
var/area/picked_area = teleportlocs[target_area]
|
||||
target_area = input("Area to land", "Select a Landing Zone", target_area) in GLOB.teleportlocs
|
||||
var/area/picked_area = GLOB.teleportlocs[target_area]
|
||||
if(!src || QDELETED(src))
|
||||
return
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
landing_zone.height = height
|
||||
landing_zone.setDir(lz_dir)
|
||||
|
||||
for(var/obj/machinery/computer/shuttle/S in machines)
|
||||
for(var/obj/machinery/computer/shuttle/S in GLOB.machines)
|
||||
if(S.shuttleId == shuttle_id)
|
||||
S.possible_destinations = "[landing_zone.id]"
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
say("Please equip your ID card into your ID slot to authenticate.")
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/computer/emergency_shuttle/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = human_adjacent_state)
|
||||
/obj/machinery/computer/emergency_shuttle/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.human_adjacent_state)
|
||||
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
@@ -63,7 +63,7 @@
|
||||
to_chat(user, "<span class='warning'>You don't have an ID.</span>")
|
||||
return
|
||||
|
||||
if(!(access_heads in ID.access))
|
||||
if(!(GLOB.access_heads in ID.access))
|
||||
to_chat(user, "<span class='warning'>The access level of your card is not high enough.</span>")
|
||||
return
|
||||
|
||||
@@ -118,7 +118,14 @@
|
||||
// Launch check is in process in case auth_need changes for some reason
|
||||
// probably external.
|
||||
. = FALSE
|
||||
if(!SSshuttle.emergency || ENGINES_STARTED || (!IS_DOCKED))
|
||||
if(!SSshuttle.emergency)
|
||||
return
|
||||
|
||||
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
|
||||
authorized.Cut()
|
||||
emagged = FALSE
|
||||
|
||||
if(ENGINES_STARTED || (!IS_DOCKED))
|
||||
return .
|
||||
|
||||
// Check to see if we've reached criteria for early launch
|
||||
@@ -236,7 +243,7 @@
|
||||
/obj/docking_port/mobile/emergency/proc/is_hijacked()
|
||||
var/has_people = FALSE
|
||||
|
||||
for(var/mob/living/player in player_list)
|
||||
for(var/mob/living/player in GLOB.player_list)
|
||||
if(player.mind)
|
||||
if(player.stat != DEAD)
|
||||
if(issilicon(player)) //Borgs are technically dead anyways
|
||||
@@ -288,7 +295,7 @@
|
||||
// Gangs only have one attempt left if the shuttle has
|
||||
// docked with the station to prevent suffering from
|
||||
// endless dominator delays
|
||||
for(var/datum/gang/G in ticker.mode.gangs)
|
||||
for(var/datum/gang/G in SSticker.mode.gangs)
|
||||
if(G.is_dominating)
|
||||
G.dom_attempts = 0
|
||||
else
|
||||
@@ -323,7 +330,7 @@
|
||||
if(time_left <= 50 && !sound_played) //4 seconds left:REV UP THOSE ENGINES BOYS. - should sync up with the launch
|
||||
sound_played = 1 //Only rev them up once.
|
||||
var/list/areas = list()
|
||||
for(var/area/shuttle/escape/E in sortedAreas)
|
||||
for(var/area/shuttle/escape/E in GLOB.sortedAreas)
|
||||
areas += E
|
||||
hyperspace_sound(HYPERSPACE_WARMUP, areas)
|
||||
|
||||
@@ -337,7 +344,7 @@
|
||||
|
||||
//now move the actual emergency shuttle to its transit dock
|
||||
var/list/areas = list()
|
||||
for(var/area/shuttle/escape/E in sortedAreas)
|
||||
for(var/area/shuttle/escape/E in GLOB.sortedAreas)
|
||||
areas += E
|
||||
hyperspace_sound(HYPERSPACE_LAUNCH, areas)
|
||||
enterTransit()
|
||||
@@ -352,7 +359,7 @@
|
||||
if(SHUTTLE_ESCAPE)
|
||||
if(sound_played && time_left <= HYPERSPACE_END_TIME)
|
||||
var/list/areas = list()
|
||||
for(var/area/shuttle/escape/E in sortedAreas)
|
||||
for(var/area/shuttle/escape/E in GLOB.sortedAreas)
|
||||
areas += E
|
||||
hyperspace_sound(HYPERSPACE_END, areas)
|
||||
if(areaInstance.parallax_movedir && time_left <= PARALLAX_LOOP_TIME)
|
||||
@@ -397,7 +404,7 @@
|
||||
/obj/docking_port/mobile/pod/request()
|
||||
var/obj/machinery/computer/shuttle/S = getControlConsole()
|
||||
|
||||
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA || (S && S.emagged))
|
||||
if(GLOB.security_level == SEC_LEVEL_RED || GLOB.security_level == SEC_LEVEL_DELTA || (S && S.emagged))
|
||||
if(launch_status == UNLAUNCHED)
|
||||
launch_status = EARLY_LAUNCHED
|
||||
return ..()
|
||||
@@ -503,7 +510,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/pod/MouseDrop(over_object, src_location, over_location)
|
||||
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA || unlocked)
|
||||
if(GLOB.security_level == SEC_LEVEL_RED || GLOB.security_level == SEC_LEVEL_DELTA || unlocked)
|
||||
. = ..()
|
||||
else
|
||||
to_chat(usr, "The storage unit will only unlock during a Red or Delta security alert.")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
circuit = /obj/item/weapon/circuitboard/computer/ferry
|
||||
shuttleId = "ferry"
|
||||
possible_destinations = "ferry_home;ferry_away"
|
||||
req_access = list(access_cent_general)
|
||||
req_access = list(GLOB.access_cent_general)
|
||||
|
||||
var/aiControlDisabled = 1
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
var/last_request //prevents spamming admins
|
||||
var/cooldown = 600
|
||||
possible_destinations = "ferry_home;ferry_away"
|
||||
req_access = list(access_cent_general)
|
||||
req_access = list(GLOB.access_cent_general)
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/obj/machinery/computer/shuttle/ferry/request/Topic(href, href_list)
|
||||
@@ -30,4 +30,4 @@
|
||||
return
|
||||
last_request = world.time
|
||||
to_chat(usr, "<span class='notice'>Your request has been recieved by Centcom.</span>")
|
||||
to_chat(admins, "<b>FERRY: <font color='blue'>[key_name_admin(usr)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[usr]'>FLW</A>) (<A HREF='?_src_=holder;secrets=moveferry'>Move Ferry</a>)</b> is requesting to move the transport ferry to Centcom.</font>")
|
||||
to_chat(GLOB.admins, "<b>FERRY: <font color='blue'>[key_name_admin(usr)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[usr]'>FLW</A>) (<A HREF='?_src_=holder;secrets=moveferry'>Move Ferry</a>)</b> is requesting to move the transport ferry to Centcom.</font>")
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/machinery/shuttle_manipulator/ui_interact(mob/user, ui_key = "main", \
|
||||
datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, \
|
||||
datum/ui_state/state = admin_state)
|
||||
datum/ui_state/state = GLOB.admin_state)
|
||||
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
|
||||
@@ -428,7 +428,7 @@
|
||||
return ripple_turfs
|
||||
|
||||
/obj/docking_port/mobile/proc/check_poddoors()
|
||||
for(var/obj/machinery/door/poddoor/shuttledock/pod in airlocks)
|
||||
for(var/obj/machinery/door/poddoor/shuttledock/pod in GLOB.airlocks)
|
||||
pod.check()
|
||||
|
||||
//this is the main proc. It instantly moves our mobile port to stationary port S1
|
||||
|
||||
@@ -65,9 +65,10 @@
|
||||
var/never_spoken = TRUE
|
||||
flags = NODECONSTRUCT
|
||||
|
||||
/obj/structure/table/abductor/wabbajack/New()
|
||||
/obj/structure/table/abductor/wabbajack/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
grant_language(/datum/language/common)
|
||||
|
||||
/obj/structure/table/abductor/wabbajack/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
@@ -145,14 +146,13 @@
|
||||
laws = "1. Serve drinks.\n\
|
||||
2. Talk to patrons.\n\
|
||||
3. Don't get messed up in their affairs."
|
||||
languages_spoken = ALL
|
||||
languages_understood = ALL
|
||||
status_flags = GODMODE // Please don't punch the barkeeper
|
||||
unique_name = FALSE // disables the (123) number suffix
|
||||
|
||||
/mob/living/simple_animal/drone/snowflake/bardrone/Initialize()
|
||||
. = ..()
|
||||
access_card.access |= access_cent_bar
|
||||
access_card.access |= GLOB.access_cent_bar
|
||||
grant_all_languages(omnitongue=TRUE)
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/maid/barmaid
|
||||
gold_core_spawnable = 0
|
||||
@@ -160,8 +160,6 @@
|
||||
desc = "A barmaid, a maiden found in a bar."
|
||||
pass_flags = PASSTABLE
|
||||
status_flags = GODMODE
|
||||
languages_spoken = ALL
|
||||
languages_understood = ALL
|
||||
unique_name = FALSE
|
||||
AIStatus = AI_OFF
|
||||
stop_automated_movement = TRUE
|
||||
@@ -171,9 +169,11 @@
|
||||
access_card = new /obj/item/weapon/card/id(src)
|
||||
var/datum/job/captain/C = new /datum/job/captain
|
||||
access_card.access = C.get_access()
|
||||
access_card.access |= access_cent_bar
|
||||
access_card.access |= GLOB.access_cent_bar
|
||||
access_card.flags |= NODROP
|
||||
|
||||
grant_all_languages(omnitongue=TRUE)
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/maid/barmaid/Destroy()
|
||||
qdel(access_card)
|
||||
. = ..()
|
||||
@@ -212,13 +212,13 @@
|
||||
return TRUE
|
||||
|
||||
var/obj/item/weapon/card/id/ID = user.get_idcard()
|
||||
if(ID && (access_cent_bar in ID.access))
|
||||
if(ID && (GLOB.access_cent_bar in ID.access))
|
||||
return TRUE
|
||||
|
||||
//Luxury Shuttle Blockers
|
||||
|
||||
/obj/effect/forcefield/luxury_shuttle
|
||||
var/threshhold = 500
|
||||
var/threshold = 500
|
||||
var/static/list/approved_passengers = list()
|
||||
|
||||
/obj/effect/forcefield/luxury_shuttle/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
@@ -234,15 +234,15 @@
|
||||
for(var/obj/item/weapon/coin/C in mover.GetAllContents())
|
||||
total_cash += C.value
|
||||
counted_money += C
|
||||
if(total_cash >= threshhold)
|
||||
if(total_cash >= threshold)
|
||||
break
|
||||
for(var/obj/item/stack/spacecash/S in mover.GetAllContents())
|
||||
total_cash += S.value * S.amount
|
||||
counted_money += S
|
||||
if(total_cash >= threshhold)
|
||||
if(total_cash >= threshold)
|
||||
break
|
||||
|
||||
if(total_cash >= threshhold)
|
||||
if(total_cash >= threshold)
|
||||
for(var/obj/I in counted_money)
|
||||
qdel(I)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var/list/blacklisted_cargo_types = typecacheof(list(
|
||||
GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
|
||||
/mob/living,
|
||||
/obj/structure/blob,
|
||||
/obj/effect/rune,
|
||||
@@ -18,7 +18,7 @@ var/list/blacklisted_cargo_types = typecacheof(list(
|
||||
/obj/effect/clockwork/spatial_gateway,
|
||||
/obj/structure/destructible/clockwork/powered/clockwork_obelisk,
|
||||
/obj/item/device/warp_cube
|
||||
))
|
||||
)))
|
||||
|
||||
/obj/docking_port/mobile/supply
|
||||
name = "supply shuttle"
|
||||
@@ -49,7 +49,7 @@ var/list/blacklisted_cargo_types = typecacheof(list(
|
||||
for(var/trf in areaInstance)
|
||||
var/turf/T = trf
|
||||
for(var/a in T.GetAllContents())
|
||||
if(is_type_in_typecache(a, blacklisted_cargo_types))
|
||||
if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -102,7 +102,7 @@ var/list/blacklisted_cargo_types = typecacheof(list(
|
||||
/obj/docking_port/mobile/supply/proc/sell()
|
||||
var/presale_points = SSshuttle.points
|
||||
|
||||
if(!exports_list.len) // No exports list? Generate it!
|
||||
if(!GLOB.exports_list.len) // No exports list? Generate it!
|
||||
setupExports()
|
||||
|
||||
var/msg = ""
|
||||
@@ -116,7 +116,7 @@ var/list/blacklisted_cargo_types = typecacheof(list(
|
||||
if(sold_atoms)
|
||||
sold_atoms += "."
|
||||
|
||||
for(var/a in exports_list)
|
||||
for(var/a in GLOB.exports_list)
|
||||
var/datum/export/E = a
|
||||
var/export_text = E.total_printout()
|
||||
if(!export_text)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_screen = "syndishuttle"
|
||||
icon_keyboard = "syndie_key"
|
||||
light_color = LIGHT_COLOR_RED
|
||||
req_access = list(access_syndicate)
|
||||
req_access = list(GLOB.access_syndicate)
|
||||
shuttleId = "syndicate"
|
||||
possible_destinations = "syndicate_away;syndicate_z5;syndicate_ne;syndicate_nw;syndicate_n;syndicate_se;syndicate_sw;syndicate_s"
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
@@ -32,11 +32,11 @@
|
||||
var/moved = FALSE
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/syndicate_shuttle/New()
|
||||
syndicate_shuttle_boards += src
|
||||
GLOB.syndicate_shuttle_boards += src
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/syndicate_shuttle/Destroy()
|
||||
syndicate_shuttle_boards -= src
|
||||
GLOB.syndicate_shuttle_boards -= src
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/shuttle/syndicate/drop_pod
|
||||
@@ -44,7 +44,7 @@
|
||||
icon = 'icons/obj/terminals.dmi'
|
||||
icon_state = "dorm_available"
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
req_access = list(access_syndicate)
|
||||
req_access = list(GLOB.access_syndicate)
|
||||
shuttleId = "steel_rain"
|
||||
possible_destinations = null
|
||||
clockwork = TRUE //it'd look weird
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
/obj/effect/landmark/transit/New()
|
||||
. = ..()
|
||||
transit_markers += src
|
||||
GLOB.transit_markers += src
|
||||
|
||||
/obj/effect/landmark/transit/Destroy()
|
||||
transit_markers -= src
|
||||
GLOB.transit_markers -= src
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user