Master into dev-freeze.

This commit is contained in:
Zuhayr
2015-03-07 11:33:39 +10:30
10 changed files with 49 additions and 25 deletions

View File

@@ -47,9 +47,8 @@ proc/sql_report_death(var/mob/living/carbon/human/H)
if(!H.key || !H.mind) if(!H.key || !H.mind)
return return
var/turf/T = H.loc var/area/placeofdeath = get_area(H)
var/area/placeofdeath = get_area(T.loc) var/podname = placeofdeath ? placeofdeath.name : "Unknown area"
var/podname = placeofdeath.name
var/sqlname = sanitizeSQL(H.real_name) var/sqlname = sanitizeSQL(H.real_name)
var/sqlkey = sanitizeSQL(H.key) var/sqlkey = sanitizeSQL(H.key)
@@ -82,9 +81,8 @@ proc/sql_report_cyborg_death(var/mob/living/silicon/robot/H)
if(!H.key || !H.mind) if(!H.key || !H.mind)
return return
var/turf/T = H.loc var/area/placeofdeath = get_area(H)
var/area/placeofdeath = get_area(T.loc) var/podname = placeofdeath ? placeofdeath.name : "Unknown area"
var/podname = placeofdeath.name
var/sqlname = sanitizeSQL(H.real_name) var/sqlname = sanitizeSQL(H.real_name)
var/sqlkey = sanitizeSQL(H.key) var/sqlkey = sanitizeSQL(H.key)

View File

@@ -158,7 +158,7 @@
for(var/mob/living/silicon/ai/O in living_mob_list) for(var/mob/living/silicon/ai/O in living_mob_list)
if(!O.client) continue if(!O.client) continue
if(U.name == "Unknown") O << "<b>[U]</b> holds \a [itemname] up to one of your cameras ..." if(U.name == "Unknown") O << "<b>[U]</b> holds \a [itemname] up to one of your cameras ..."
else O << "<b><a href='byond://?src=\ref[O];track2=\ref[O];track=\ref[U]'>[U]</a></b> holds \a [itemname] up to one of your cameras ..." else O << "<b><a href='byond://?src=\ref[O];track2=\ref[O];track=\ref[U];trackname=[U.name]'>[U]</a></b> holds \a [itemname] up to one of your cameras ..."
O << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", itemname, info), text("window=[]", itemname)) O << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", itemname, info), text("window=[]", itemname))
for(var/mob/O in player_list) for(var/mob/O in player_list)
if (istype(O.machine, /obj/machinery/computer/security)) if (istype(O.machine, /obj/machinery/computer/security))

View File

@@ -669,6 +669,17 @@ var/list/admin_verbs_mentor = list(
log_admin("[key_name(usr)] used 'kill air'.") log_admin("[key_name(usr)] used 'kill air'.")
message_admins("\blue [key_name_admin(usr)] used 'kill air'.", 1) message_admins("\blue [key_name_admin(usr)] used 'kill air'.", 1)
/client/proc/readmin_self()
set name = "Re-Admin self"
set category = "Admin"
if(deadmin_holder)
deadmin_holder.reassociate()
log_admin("[src] re-admined themself.")
message_admins("[src] re-admined themself.", 1)
src << "<span class='interface'>You now have the keys to control the planet, or atleast a small space station</span>"
verbs -= /client/proc/readmin_self
/client/proc/deadmin_self() /client/proc/deadmin_self()
set name = "De-admin self" set name = "De-admin self"
set category = "Admin" set category = "Admin"
@@ -679,6 +690,7 @@ var/list/admin_verbs_mentor = list(
message_admins("[src] deadmined themself.", 1) message_admins("[src] deadmined themself.", 1)
deadmin() deadmin()
src << "<span class='interface'>You are now a normal player.</span>" src << "<span class='interface'>You are now a normal player.</span>"
verbs |= /client/proc/readmin_self
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/toggle_log_hrefs() /client/proc/toggle_log_hrefs()

View File

@@ -34,8 +34,16 @@ var/list/admin_datums = list()
if(owner) if(owner)
admins -= owner admins -= owner
owner.remove_admin_verbs() owner.remove_admin_verbs()
owner.deadmin_holder = owner.holder
owner.holder = null owner.holder = null
owner = null
/datum/admins/proc/reassociate()
if(owner)
admins += owner
owner.holder = src
owner.deadmin_holder = null
owner.add_admin_verbs()
/* /*
checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags) checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags)
@@ -82,8 +90,7 @@ you will have to do something like if(client.holder.rights & R_ADMIN) yourself.
/client/proc/deadmin() /client/proc/deadmin()
admin_datums -= ckey
if(holder) if(holder)
holder.disassociate() holder.disassociate()
del(holder) //del(holder)
return 1 return 1

View File

@@ -3,6 +3,7 @@
//ADMIN THINGS// //ADMIN THINGS//
//////////////// ////////////////
var/datum/admins/holder = null var/datum/admins/holder = null
var/datum/admins/deadmin_holder = null
var/buildmode = 0 var/buildmode = 0
var/last_message = "" //Contains the last message sent by this client - used to protect against copy-paste spamming. var/last_message = "" //Contains the last message sent by this client - used to protect against copy-paste spamming.

View File

@@ -32,7 +32,7 @@
EC.process() EC.process()
/datum/event_manager/proc/event_complete(var/datum/event/E) /datum/event_manager/proc/event_complete(var/datum/event/E)
if(!E.event_meta) // datum/event is used here and there for random reasons, maintaining "backwards compatibility" if(!E.event_meta || !E.severity) // datum/event is used here and there for random reasons, maintaining "backwards compatibility"
log_debug("Event of '[E.type]' with missing meta-data has completed.") log_debug("Event of '[E.type]' with missing meta-data has completed.")
return return

View File

@@ -858,9 +858,11 @@ note dizziness decrements automatically in the mob's Life() proc.
canmove = 1 canmove = 1
pixel_y = V.mob_offset_y pixel_y = V.mob_offset_y
else if(buckled) else if(buckled)
if(buckled.buckle_lying != -1) lying = buckled.buckle_lying if(buckled.buckle_lying != -1)
if (!buckled.buckle_movable) lying = buckled.buckle_lying
anchored = 1 // var/movable is defined at /obj/structure/stool/bed level
// If we're buckled to something else, such as vines, assume it's stationary.
if (!istype(buckled) || !buckled.movable) anchored = 1
canmove = 0 canmove = 0
else else
anchored = 0 anchored = 0

View File

@@ -392,6 +392,9 @@ nanoui is used to open and update nano browser uis
* @return nothing * @return nothing
*/ */
/datum/nanoui/proc/open() /datum/nanoui/proc/open()
if(!user.client)
return
var/window_size = "" var/window_size = ""
if (width && height) if (width && height)
window_size = "size=[width]x[height];" window_size = "size=[width]x[height];"

View File

@@ -97,7 +97,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
if(!pale) if(!pale)
pale = 1 pale = 1
update_body() update_body()
eye_blurry += 6 eye_blurry = max(eye_blurry,6)
if(oxyloss < 50) if(oxyloss < 50)
oxyloss += 10 oxyloss += 10
oxyloss += 1 oxyloss += 1

View File

@@ -13,9 +13,10 @@ proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne")
var/obj/item/I = M.wear_mask var/obj/item/I = M.wear_mask
//masks provide a small bonus and can replace overall bio protection //masks provide a small bonus and can replace overall bio protection
score = max(score, round(0.06*I.armor["bio"])) if(I)
if (istype(I, /obj/item/clothing/mask)) score = max(score, round(0.06*I.armor["bio"]))
score += 1 //this should be added after if (istype(I, /obj/item/clothing/mask))
score += 1 //this should be added after
if("Contact") if("Contact")
if(istype(M, /mob/living/carbon/human)) if(istype(M, /mob/living/carbon/human))