Merge pull request #565 from Tastyfish/master

fixed security hud, manifest problems with alt titles
This commit is contained in:
SkyMarshal
2012-02-29 16:12:16 -08:00
8 changed files with 48 additions and 19 deletions
@@ -30,6 +30,7 @@
viruses = list()
for(var/datum/disease/D in O.viruses)
D.affected_mob = O
O.flavor_text = flavor_text
if (client)
client.mob = O
+8 -7
View File
@@ -135,27 +135,28 @@
for(var/datum/data/record/t in data_core.general)
var/name = t.fields["name"]
var/rank = t.fields["rank"]
var/real_rank = t.fields["real_rank"]
//world << "[name]: [rank]"
if(rank in command_positions)
if(real_rank in command_positions)
heads[name] = rank
if(rank in security_positions)
if(real_rank in security_positions)
sec[name] = rank
continue
if(rank in engineering_positions)
if(real_rank in engineering_positions)
eng[name] = rank
continue
if(rank in medical_positions)
if(real_rank in medical_positions)
med[name] = rank
continue
if(rank in science_positions)
if(real_rank in science_positions)
sci[name] = rank
continue
if(rank in civilian_positions)
if(real_rank in civilian_positions)
civ[name] = rank
continue
if(rank in nonhuman_positions)
if(real_rank in nonhuman_positions)
bot[name] = rank
continue
+6
View File
@@ -504,6 +504,12 @@
if(jobName in get_all_jobs())
return jobName
// hack for alt titles
if(istype(loc, /mob))
var/mob/M = loc
if(M.mind.role_alt_title == jobName && M.mind.assigned_role in get_all_jobs())
return M.mind.assigned_role
var/centcom = 0
for(var/i = 1, i <= accesses.len, i++)
if(accesses[i] > 100)
+14 -4
View File
@@ -147,11 +147,14 @@ Pod/Blast Doors computer
var/obj/item/weapon/card/id/C = H.wear_id
if (C)
G.fields["rank"] = C.assignment
G.fields["real_rank"] = H.mind.assigned_role
else
if(H.job)
G.fields["rank"] = H.job
if(H.mind && H.mind.assigned_role)
G.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
G.fields["real_rank"] = H.mind.assigned_role
else
G.fields["rank"] = "Unassigned"
G.fields["real_rank"] = G.fields["rank"]
G.fields["name"] = H.real_name
G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6))
M.fields["name"] = G.fields["name"]
@@ -190,6 +193,7 @@ Pod/Blast Doors computer
L.fields["age"] = H.age
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
L.fields["real_rank"] = H.mind.assigned_role
L.fields["b_type"] = H.dna.b_type
L.fields["b_dna"] = H.dna.unique_enzymes
L.fields["enzymes"] = H.dna.struc_enzymes
@@ -213,6 +217,8 @@ Pod/Blast Doors computer
if(foundrecord)
foundrecord.fields["rank"] = assignment
if(assignment in get_all_jobs())
foundrecord.fields["real_rank"] = assignment
/obj/datacore/proc/manifest_inject(var/mob/living/carbon/human/H)
@@ -224,11 +230,14 @@ Pod/Blast Doors computer
var/obj/item/weapon/card/id/C = H.wear_id
if (C)
G.fields["rank"] = C.assignment
G.fields["real_rank"] = H.job
else
if(H.job)
G.fields["rank"] = H.job
if(H.mind && H.mind.assigned_role)
G.fields["rank"] = H.mind.assigned_role
G.fields["real_rank"] = H.mind.assigned_role
else
G.fields["rank"] = "Unassigned"
G.fields["real_rank"] = G.fields["rank"]
G.fields["name"] = H.real_name
G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6))
M.fields["name"] = G.fields["name"]
@@ -267,6 +276,7 @@ Pod/Blast Doors computer
L.fields["age"] = H.age
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
L.fields["real_rank"] = H.mind.assigned_role
L.fields["b_type"] = H.dna.b_type
L.fields["b_dna"] = H.dna.unique_enzymes
L.fields["enzymes"] = H.dna.struc_enzymes
+2
View File
@@ -487,6 +487,8 @@ What a mess.*/
if ("Change Rank")
if (active1)
active1.fields["rank"] = href_list["rank"]
if(href_list["rank"] in get_all_jobs())
active1.fields["real_rank"] = href_list["real_rank"]
if ("Change Criminal Status")
if (active2)
+2
View File
@@ -87,6 +87,7 @@ obj/machinery/scanner/attack_hand(mob/living/carbon/human/user)
var/datum/data/record/S = new()
var/datum/data/record/L = new()
G.fields["rank"] = "Unassigned"
G.fields["real_rank"] = G.fields["rank"]
G.fields["name"] = mname
G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6))
M.fields["name"] = G.fields["name"]
@@ -125,6 +126,7 @@ obj/machinery/scanner/attack_hand(mob/living/carbon/human/user)
L.fields["age"] = age
L.fields["id"] = md5("[mname][user.mind.assigned_role]")
L.fields["rank"] = "Unknown"
L.fields["real_rank"] = L.fields["rank"]
L.fields["b_type"] = bloodtype
L.fields["b_dna"] = dna
L.fields["enzymes"] = user.dna.struc_enzymes
+7 -7
View File
@@ -1,11 +1,11 @@
/obj/walllocker
/obj/structure/walllocker
name = "Wall Locker"
icon = 'lockwall.dmi'
icon_state = "emerg"
var/list/spawnitems = list()
anchored = 1
var/amount = 3 // spawns each items X times.
/obj/walllocker/attack_hand(mob/user as mob)
/obj/structure/walllocker/attack_hand(mob/user as mob)
if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
if(!amount)
@@ -16,18 +16,18 @@
new path(src.loc)
amount--
return
/obj/walllocker/emerglocker
/obj/structure/walllocker/emerglocker
name = "Emergency Locker"
spawnitems = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/crowbar)
/obj/walllocker/emerglocker/north
/obj/structure/walllocker/emerglocker/north
pixel_y = 32
dir = SOUTH
/obj/walllocker/emerglocker/south
/obj/structure/walllocker/emerglocker/south
pixel_y = -32
dir = NORTH
/obj/walllocker/emerglocker/west
/obj/structure/walllocker/emerglocker/west
pixel_x = -32
dir = WEST
/obj/walllocker/emerglocker/east
/obj/structure/walllocker/emerglocker/east
pixel_x = 32
dir = EAST
+8 -1
View File
@@ -292,8 +292,14 @@
var/obj/item/weapon/card/id/C = H.wear_id
if (C)
G.fields["rank"] = C.assignment
G.fields["real_rank"] = H.mind.assigned_role
else
G.fields["rank"] = "Unassigned"
if(H.mind && H.mind.assigned_role)
G.fields["rank"] = H.mind.assigned_role
G.fields["real_rank"] = H.mind.assigned_role
else
G.fields["rank"] = "Unassigned"
G.fields["real_rank"] = G.fields["rank"]
G.fields["name"] = H.real_name
G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6))
M.fields["name"] = G.fields["name"]
@@ -332,6 +338,7 @@
L.fields["age"] = H.age
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
L.fields["real_rank"] = H.mind.assigned_role
L.fields["b_type"] = H.dna.b_type
L.fields["b_dna"] = H.dna.unique_enzymes
L.fields["enzymes"] = H.dna.struc_enzymes