Merge remote-tracking branch 'upstream/dev-freeze' into dev

Conflicts:
	.travis.yml
	code/modules/mob/living/carbon/brain/life.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/living_defines.dm
	code/modules/mob/living/silicon/silicon.dm
	code/setup.dm
This commit is contained in:
PsiOmegaDelta
2015-06-30 08:59:34 +02:00
31 changed files with 1140 additions and 182 deletions
+2 -1
View File
@@ -1,7 +1,8 @@
/proc/send2irc(var/channel, var/msg)
if(config.use_irc_bot && config.irc_bot_host)
if(config.irc_bot_export)
world.Export("http://[config.irc_bot_host]:45678?[list2params(list(pwd=config.comms_password, chan=channel, mesg=msg))]")
spawn(-1) // spawn here prevents hanging in the case that the bot isn't reachable
world.Export("http://[config.irc_bot_host]:45678?[list2params(list(pwd=config.comms_password, chan=channel, mesg=msg))]")
else
if(config.use_lib_nudge)
var/nudge_lib
+1 -1
View File
@@ -141,7 +141,7 @@
if (stat != 2)
if (machine)
if (!( machine.check_eye(src) ))
if ( machine.check_eye(src) < 0)
reset_view(null)
else
if(client && !client.adminobs)
@@ -223,6 +223,13 @@
return 1
if (stat != 2)
if (machine)
if (machine.check_eye(src) < 0)
reset_view(null)
else
if(client && !client.adminobs)
reset_view(null)
/*/mob/living/carbon/brain/emp_act(severity)
if(!(container && istype(container, /obj/item/device/mmi)))
@@ -1356,3 +1356,8 @@
if(W in organs)
return
..()
/mob/living/carbon/human/reset_view(atom/A, update_hud = 1)
..()
if(update_hud)
handle_regular_hud_updates()
+6 -5
View File
@@ -1371,22 +1371,23 @@
client.screen |= global_hud.darkMask
if(machine)
if(!machine.check_eye(src))
reset_view(null)
var/viewflags = machine.check_eye(src)
if(viewflags < 0)
reset_view(null, 0)
else if(viewflags)
sight |= viewflags
else if(eyeobj)
if(eyeobj.owner != src)
reset_view(null)
else
src.sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS
else
var/isRemoteObserve = 0
if((mRemote in mutations) && remoteview_target)
if(remoteview_target.stat==CONSCIOUS)
isRemoteObserve = 1
if(!isRemoteObserve && client && !client.adminobs)
remoteview_target = null
reset_view(null)
reset_view(null, 0)
return 1
/mob/living/carbon/human/proc/process_glasses(var/obj/item/clothing/glasses/G)
+1 -1
View File
@@ -385,7 +385,7 @@ var/list/ai_verbs_default = list(
if (!camera)
return null
user.reset_view(camera)
return 1
return 0
/mob/living/silicon/ai/restrained()
return 0
+3 -6
View File
@@ -119,9 +119,9 @@
/mob/living/silicon/pai/check_eye(var/mob/user as mob)
if (!src.current)
return null
return -1
user.reset_view(src.current)
return 1
return 0
/mob/living/silicon/pai/blob_act()
if (src.stat != 2)
@@ -170,9 +170,6 @@
src << "<font color=green>You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.</font>"
/mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C)
if(istype(usr, /mob/living))
var/mob/living/U = usr
U.cameraFollow = null
if (!C)
src.unset_machine()
src.reset_view(null)
@@ -434,4 +431,4 @@
get_scooped(H)
return
else
return ..()
return ..()
@@ -57,15 +57,13 @@
updateicon()
/mob/living/silicon/robot/drone/init()
aiCamera = new/obj/item/device/camera/siliconcam/drone_camera(src)
if(!laws) laws = new law_type
if(!module) module = new module_type(src)
aiCamera = new/obj/item/device/camera/siliconcam/drone_camera(src)
flavor_text = "It's a tiny little repair drone. The casing is stamped with an NT logo and the subscript: 'NanoTrasen Recursive Repair Systems: Fixing Tomorrow's Problem, Today!'"
playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0)
spawn(1)
if(camera && ("Robots" in camera.network))
camera.add_network("Engineering")
//Redefining some robot procs...
/mob/living/silicon/robot/drone/SetName(pickedName as text)
@@ -285,7 +285,7 @@
if (src.stat != 2)
if (src.machine)
if (!( src.machine.check_eye(src) ))
if (src.machine.check_eye(src) < 0)
src.reset_view(null)
else
if(client && !client.adminobs)
@@ -125,15 +125,14 @@
radio = new /obj/item/device/radio/borg(src)
common_radio = radio
init()
if(!scrambledcodes && !camera)
camera = new /obj/machinery/camera(src)
camera.c_tag = real_name
camera.replace_networks(list("SS13","Robots"))
camera.replace_networks(list(NETWORK_EXODUS,NETWORK_ROBOTS))
if(wires.IsIndexCut(BORG_WIRE_CAMERA))
camera.status = 0
init()
initialize_components()
//if(!unfinished)
// Create all the robot parts.
@@ -1098,4 +1097,4 @@
user << "You fail to hack [src]'s interface."
src << "Hack attempt detected."
return 1
return
return
@@ -108,7 +108,7 @@ var/global/list/robot_modules = list(
added_languages.Cut()
/obj/item/weapon/robot_module/proc/add_camera_networks(var/mob/living/silicon/robot/R)
if(R.camera && "Robots" in R.camera.network)
if(R.camera && (NETWORK_ROBOTS in R.camera.network))
for(var/network in networks)
if(!(network in R.camera.network))
R.camera.add_network(network)
@@ -646,6 +646,7 @@ var/global/list/robot_modules = list(
/obj/item/weapon/robot_module/drone
name = "drone module"
no_slip = 1
networks = list(NETWORK_ENGINEERING)
/obj/item/weapon/robot_module/drone/New()
..()
@@ -19,6 +19,7 @@
var/local_transmit //If set, can only speak to others of the same type within a short range.
var/sensor_mode = 0 //Determines the current HUD.
var/mob/living/cameraFollow = null
var/next_alarm_notice
var/list/datum/alarm/queued_alarms = new()
@@ -356,3 +357,8 @@
/mob/living/silicon/setEarDamage()
return
/mob/living/silicon/reset_view()
..()
if(cameraFollow)
cameraFollow = null
+1 -5
View File
@@ -496,12 +496,8 @@
/mob/verb/cancel_camera()
set name = "Cancel Camera View"
set category = "OOC"
reset_view(null)
unset_machine()
if(istype(src, /mob/living))
var/mob/living/M = src
if(M.cameraFollow)
M.cameraFollow = null
reset_view(null)
/mob/Topic(href, href_list)
if(href_list["mach_close"])