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
+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)