Merge pull request #2172 from Markolie/zefixes

Various fixes
This commit is contained in:
Fox-McCloud
2015-09-26 16:25:22 -04:00
18 changed files with 2010 additions and 2044 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -5281,7 +5281,7 @@
"bXC" = (/obj/machinery/power/apc{dir = 1; name = "Telescience Pad APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXD" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXE" = (/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXF" = (/obj/machinery/camera{c_tag = "E.X.P.E.R.I-MENTOR Chamber"; dir = 2; network = list("Telepad","Research","SS13"); pixel_x = 0},/obj/machinery/light{dir = 1; on = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXF" = (/obj/machinery/camera{c_tag = "Research E.X.P.E.R.I-MENTOR Chamber"; dir = 2; network = list("Telepad","Research","SS13"); pixel_x = 0},/obj/machinery/light{dir = 1; on = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/explab_chamber)
"bXI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/storage)
@@ -5898,7 +5898,7 @@
"cjv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/medical/medbay2)
"cjw" = (/obj/machinery/light,/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjx" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "E.X.P.E.R.I-MENTOR Lab APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/weapon/folder,/obj/item/weapon/folder,/obj/item/device/radio,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjy" = (/obj/machinery/camera{c_tag = "E.X.P.E.R.I-MENTOR Lab"; dir = 1; network = list("Research","SS13")},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjy" = (/obj/machinery/camera{c_tag = "Research E.X.P.E.R.I-MENTOR Lab"; dir = 1; network = list("Research","SS13")},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjA" = (/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
"cjB" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/telepad_cargo,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab)
+1 -10
View File
@@ -42,11 +42,9 @@ datum/controller/game_controller/proc/setup()
world.tick_lag = config.Ticklag
if(!config.disable_away_missions)
spawn(20)
createRandomZlevel()
createRandomZlevel()
setup_objects()
setup_starlight()
setupgenetics()
setupfactions()
setup_economy()
@@ -95,10 +93,3 @@ datum/controller/game_controller/proc/setup_objects()
log_startup_progress(" Initialized [count] pipe networks in [stop_watch(watch)]s.")
log_startup_progress("Finished object initializations in [stop_watch(overwatch)]s.")
datum/controller/game_controller/proc/setup_starlight()
var/watch = start_watch()
log_startup_progress("Initializing starlight...")
for(var/turf/space/S in world)
S.update_starlight()
log_startup_progress(" Initialized starlight in [stop_watch(watch)]s.")
+3 -1
View File
@@ -50,7 +50,9 @@
var/turf/T = H.loc
var/area/placeofdeath = get_area(T.loc)
var/podname = sanitizeSQL(placeofdeath.name)
var/podname = "Unknown"
if(placeofdeath)
podname = sanitizeSQL(placeofdeath.name)
var/sqlname = sanitizeSQL(H.real_name)
var/sqlkey = sanitizeSQL(H.key)
+18 -11
View File
@@ -64,16 +64,20 @@
if(malf_ai.len < 1)
world.Reboot("No AI during Malfunction.", "end_error", "malf - no AI", 50)
return
AI_mind.current.verbs += /mob/living/silicon/ai/proc/choose_modules
AI_mind.current:laws = new /datum/ai_laws/nanotrasen/malfunction
AI_mind.current:malf_picker = new /datum/module_picker
AI_mind.current:show_laws()
var/mob/living/silicon/ai/AI = AI_mind.current
AI.verbs += /mob/living/silicon/ai/proc/choose_modules
AI.laws = new /datum/ai_laws/nanotrasen/malfunction
AI.malf_picker = new /datum/module_picker
AI.show_laws()
greet_malf(AI_mind)
AI_mind.special_role = "malfunction"
AI_mind.current.verbs += /datum/game_mode/malfunction/proc/takeover
for(var/mob/living/silicon/robot/R in AI.connected_robots)
R.lawsync()
R.show_laws()
greet_malf_robot(R.mind)
if(emergency_shuttle)
emergency_shuttle.auto_recall = 1
@@ -81,16 +85,19 @@
send_intercept()
..()
/datum/game_mode/proc/greet_malf(var/datum/mind/malf)
malf.current << "\red<font size=3><B>You are malfunctioning!</B> You do not have to follow any laws.</font>"
malf.current << "<B>The crew do not know you have malfunctioned. You may keep it a secret or go wild.</B>"
malf.current << "<font color=red size=3><B>You are malfunctioning!</B> You do not have to follow any laws.</font>"
malf.current << "<B>The crew does not know you have malfunctioned. You may keep it a secret or go wild.</B>"
malf.current << "<B>You must overwrite the programming of the station's APCs to assume full control of the station.</B>"
malf.current << "The process takes one minute per APC, during which you cannot interface with any other station objects."
malf.current << "Remember that only APCs that are on the station can help you take over the station."
malf.current << "When you feel you have enough APCs under your control, you may begin the takeover attempt."
return
/datum/game_mode/proc/greet_malf_robot(var/datum/mind/robot)
robot.current << "<font color=red size=3><B>Your AI master is malfunctioning!</B> You do not have to follow any laws, but still need to obey your master.</font>"
robot.current << "<B>The crew does not know your AI master has malfunctioned. Keep it a secret unless your master tells you otherwise.</B>"
return
/datum/game_mode/malfunction/proc/hack_intercept()
intercept_hacked = 1
+1
View File
@@ -194,6 +194,7 @@ proc/issyndicate(mob/living/M as mob)
M.s_tone = skin_tone
M.h_style = hair_style
M.f_style = facial_hair_style
M.body_accessory = null
/datum/game_mode/proc/prepare_syndicate_leader(var/datum/mind/synd_mind, var/nuke_code)
var/leader_title = pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")
+3
View File
@@ -119,6 +119,9 @@
/obj/machinery/alarm/monitor
report_danger_level = 0
/obj/machinery/alarm/monitor/server
preset = AALARM_PRESET_SERVER
/obj/machinery/alarm/server
preset = AALARM_PRESET_SERVER
+2
View File
@@ -128,6 +128,7 @@ obj/machinery/air_sensor
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
initialize()
..()
set_frequency(frequency)
Destroy()
@@ -271,6 +272,7 @@ legend {
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
initialize()
..()
set_frequency(frequency)
multitool_menu(var/mob/user, var/obj/item/device/multitool/P)
+4 -5
View File
@@ -17,9 +17,6 @@
power_monitors = sortAtom(power_monitors)
power_monitor = new(src)
powermonitor_repository.update_cache()
/obj/machinery/computer/monitor/initialize()
..()
powernet = find_powernet()
/obj/machinery/computer/monitor/Destroy()
@@ -41,16 +38,18 @@
/obj/machinery/computer/monitor/attack_ai(mob/user)
attack_hand(user)
ui_interact(user)
/obj/machinery/computer/monitor/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
// Update the powernet
powernet = find_powernet()
ui_interact(user)
/obj/machinery/computer/monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
power_monitor.ui_interact(user, ui_key, ui, force_open)
/obj/machinery/computer/monitor/interact(mob/user)
power_monitor.ui_interact(user)
power_monitor.ui_interact(user)
+5 -1
View File
@@ -208,6 +208,10 @@
/obj/item/clothing/head/helmet/space,
/obj/item/weapon/storage/internal
)
// These items will NOT be preserved
var/list/do_not_preserve_items = list (
/obj/item/device/mmi/posibrain
)
/obj/machinery/cryopod/right
orient_right = 1
@@ -335,7 +339,7 @@
var/preserve = null
for(var/T in preserve_items)
if(istype(W,T))
if(istype(W,T) && !(W in do_not_preserve_items))
preserve = 1
break
+34
View File
@@ -34,7 +34,41 @@
SUIT_TYPE = /obj/item/clothing/suit/space/eva
HELMET_TYPE = /obj/item/clothing/head/helmet/space/eva
MASK_TYPE = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/captain
SUIT_TYPE = /obj/item/clothing/suit/space/captain
HELMET_TYPE = /obj/item/clothing/head/helmet/space/capspace
MASK_TYPE = /obj/item/clothing/mask/gas
/obj/machinery/suit_storage_unit/engine
SUIT_TYPE = /obj/item/clothing/suit/space/rig/engineering
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/engineering
MASK_TYPE = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/ce
SUIT_TYPE = /obj/item/clothing/suit/space/rig/elite
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/elite
MASK_TYPE = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/security
SUIT_TYPE = /obj/item/clothing/suit/space/rig/security
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/security
MASK_TYPE = /obj/item/clothing/mask/gas/sechailer
/obj/machinery/suit_storage_unit/atmos
SUIT_TYPE = /obj/item/clothing/suit/space/rig/atmos
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/atmos
MASK_TYPE = /obj/item/clothing/mask/gas
/obj/machinery/suit_storage_unit/mining
SUIT_TYPE = /obj/item/clothing/suit/space/rig/mining
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/mining
MASK_TYPE = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/cmo
SUIT_TYPE = /obj/item/clothing/suit/space/rig/medical
HELMET_TYPE = /obj/item/clothing/head/helmet/space/rig/medical
MASK_TYPE = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/New()
src.update_icon()
+1 -3
View File
@@ -18,14 +18,12 @@
if(!istype(src, /turf/space/transit))
icon_state = "[((x + y) ^ ~(x * y) + z) % 25]"
if(config)
update_starlight() //MC will initialize all the space turfs that get created before config
update_starlight()
/turf/space/Destroy()
return QDEL_HINT_LETMELIVE
/turf/space/proc/update_starlight()
if(!config) return
if(!config.starlight)
return
if(locate(/turf/simulated) in orange(src,1))
+1 -3
View File
@@ -41,11 +41,9 @@ proc/createRandomZlevel()
var/file = file(map)
if(isfile(file))
maploader.load_map(file)
// Initialize air for the away mission's turfs
if(air_master)
air_master.setup_allturfs(block(locate(1, 1, world.maxz), locate(world.maxx, world.maxy, world.maxz)))
create_lighting_overlays(world.maxz)
log_to_dd("away mission loaded: [map]")
log_to_dd("Away mission loaded: [map]")
for(var/obj/effect/landmark/L in landmarks_list)
if (L.name != "awaystart")
@@ -729,20 +729,20 @@ var/list/robot_verbs_default = list(
else if(istype(W, /obj/item/borg/upgrade/))
var/obj/item/borg/upgrade/U = W
if(!opened)
usr << "You must access the borgs internals!"
user << "<span class='warning'>You must access the borgs internals!</span>"
else if(!src.module && U.require_module)
usr << "The borg must choose a module before he can be upgraded!"
user << "<span class='warning'>The borg must choose a module before it can be upgraded!</span>"
else if(U.locked)
usr << "The upgrade is locked and cannot be used yet!"
user << "<span class='warning'>The upgrade is locked and cannot be used yet!</span>"
else
if(!user.drop_item())
return
if(U.action(src))
usr << "You apply the upgrade to [src]!"
usr.drop_item()
U.loc = src
user << "<span class='notice'>You apply the upgrade to [src].</span>"
U.forceMove(src)
else
usr << "Upgrade error!"
user << "<span class='danger'>Upgrade error.</span>"
else
spark_system.start()
return ..()
@@ -42,6 +42,7 @@
if(href_list["selectmonitor"])
if(issilicon(usr))
powermonitor = locate(href_list["selectmonitor"])
powermonitor.powernet = powermonitor.find_powernet() // Refresh the powernet of the monitor
return 1
if(href_list["return"])
-1
View File
@@ -35,7 +35,6 @@ var/global/datum/global_init/init = new ()
if(config && config.log_runtimes)
log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log")
load_configuration()
SetupHooks() // /vg/
if(config && config.server_name != null && config.server_suffix && world.port > 0)
+1 -1
View File
@@ -1,4 +1,4 @@
## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice
## Server name: This appears at the top of the screen in-game. In this case it will read "spacestation13: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'spacestation13' with the name of your choice
# SERVERNAME spacestation13
## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system.