Merge pull request #6139 from Perakp/droneFix

Drone fixes
This commit is contained in:
phil235
2014-12-30 13:23:35 +01:00
6 changed files with 14 additions and 39 deletions
+6 -7
View File
@@ -179,7 +179,7 @@
return
else if (istype(user, /mob/living/silicon) && src.aidisabled)
else if (user.has_unlimited_silicon_privilege && src.aidisabled)
user << "AI control for this Air Alarm interface has been disabled."
user << browse(null, "window=air_alarm")
return
@@ -248,11 +248,10 @@
/obj/machinery/alarm/proc/return_text()
var/dat = ""
if(!(istype(usr, /mob/living/silicon)) && locked)
dat += "<div class='notice icon'>Swipe ID card to unlock interface</div>"
dat += "<div class='notice icon'>Swipe ID card to [locked ? "unlock" : "lock"] interface.</div>"
if(!usr.has_unlimited_silicon_privilege && locked)
dat += "[return_status()]"
else
dat += "<div class='notice icon'>Swipe ID card to lock interface</div>"
dat += "[return_status()]<hr>[return_controls()]"
return dat
@@ -564,7 +563,7 @@ table tr:first-child th:first-child { border: none;}
var/datum/tlv/tlv = TLV[env]
var/newval = input("Enter [varname] for env", "Alarm triggers", tlv.vars[varname]) as num|null
if (isnull(newval) || ..() || (locked && !issilicon(usr)))
if (isnull(newval) || ..() || (locked && !(usr.has_unlimited_silicon_privilege)))
return
if (newval<0)
tlv.vars[varname] = -1.0
@@ -1108,7 +1107,7 @@ FIRE ALARM
var/d1
var/d2
var/dat = ""
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon))
if (istype(user, /mob/living/carbon/human) || user.has_unlimited_silicon_privilege)
A = A.loc
if (A.fire)
@@ -1281,7 +1280,7 @@ Code shamelessly copied from apc_frame
var/area/A = src.loc
var/d1
var/dat
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
if (istype(user, /mob/living/carbon/human) || user.has_unlimited_silicon_privilege)
A = A.loc
if (A.party)
@@ -7,34 +7,6 @@
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
/obj/item/weapon/storage/belt/proc/can_use()
if(!ismob(loc)) return 0
var/mob/M = loc
if(src in M.get_equipped_items())
return 1
else
return 0
/obj/item/weapon/storage/belt/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if(!istype(over_object, /obj/screen))
return ..()
playsound(src.loc, "rustle", 50, 1, -5)
if (!M.restrained() && !M.stat && can_use())
switch(over_object.name)
if("r_hand")
M.unEquip(src)
M.put_in_r_hand(src)
if("l_hand")
M.unEquip(src)
M.put_in_l_hand(src)
src.add_fingerprint(usr)
return
/obj/item/weapon/storage/belt/utility
name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing.
desc = "Holds tools."
@@ -2,6 +2,7 @@
gender = NEUTER
voice_name = "synthesized voice"
languages = ROBOT | HUMAN
has_unlimited_silicon_privilege = 1
var/syndicate = 0
var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS
var/list/alarms_to_show = list()
@@ -30,6 +30,7 @@
voice_name = "synthesized chirp"
languages = DRONE
mob_size = 0
has_unlimited_silicon_privilege = 1
var/picked = FALSE
var/list/drone_overlays[TOTAL_LAYERS]
var/laws = \
+2
View File
@@ -155,6 +155,8 @@
var/digitalcamo = 0 // Can they be tracked by the AI?
var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics
var/list/radar_blips = list() // list of screen objects, radar blips
var/radar_open = 0 // nonzero is radar is open
+4 -4
View File
@@ -690,7 +690,7 @@
"chargingStatus" = charging,
"totalLoad" = lastused_equip + lastused_light + lastused_environ,
"coverLocked" = coverlocked,
"siliconUser" = istype(user, /mob/living/silicon),
"siliconUser" = user.has_unlimited_silicon_privilege,
"malfStatus" = get_malf_status(user),
"powerChannels" = list(
@@ -778,7 +778,7 @@
if(user.lying)
user << "<span class='warning'>You must stand to use [src]!</span>"
return 0
if (istype(user, /mob/living/silicon))
if(user.has_unlimited_silicon_privilege)
var/mob/living/silicon/ai/AI = user
var/mob/living/silicon/robot/robot = user
if ( \
@@ -844,7 +844,7 @@
update()
else if (href_list["overload"])
if(istype(usr, /mob/living/silicon))
if(usr.has_unlimited_silicon_privilege)
src.overload_lighting()
else if (href_list["malfhack"])
@@ -881,7 +881,7 @@
malfvacate()
else if (href_list["toggleaccess"])
if(istype(usr, /mob/living/silicon))
if(usr.has_unlimited_silicon_privilege)
if(emagged || (stat & (BROKEN|MAINT)))
usr << "The APC does not respond to the command."
else