From 8ec4abe6e1bd69a33edf4ea7044aecb57592a870 Mon Sep 17 00:00:00 2001 From: uporotiy Date: Wed, 11 May 2011 20:06:24 +0000 Subject: [PATCH] I accidentally a memory leak. Anyhow, HUDs' memory leak fixed, also security HUD added (only shows current ID assignment for now, gotta figure out why it doesn't want to show the arrest/prisoner status). git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1569 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/clothing/glasses.dm | 16 ++++++-- code/game/jobs/access.dm | 19 ++++++++- code/modules/mob/living/carbon/human/life.dm | 40 +++++++++++++++---- icons/mob/eyes.dmi | Bin 4832 -> 4980 bytes icons/mob/hud.dmi | Bin 645 -> 1788 bytes icons/obj/clothing/glasses.dmi | Bin 3469 -> 3783 bytes maps/tgstation.2.0.7.dmm | 6 +-- 7 files changed, 67 insertions(+), 14 deletions(-) diff --git a/code/defines/obj/clothing/glasses.dm b/code/defines/obj/clothing/glasses.dm index d6de1488699e9..3a4c119d8e07e 100644 --- a/code/defines/obj/clothing/glasses.dm +++ b/code/defines/obj/clothing/glasses.dm @@ -59,11 +59,21 @@ icon_state = "thermoncle" flags = null //doesn't protect eyes because it's a monocle, duh -/obj/item/clothing/glasses/healthscanner +/obj/item/clothing/glasses/hud + name = "HUD" + desc = "A heads-up display that provides important info in (almost) real time." + flags = null //doesn't protect eyes because it's a monocle, duh + +/obj/item/clothing/glasses/hud/health name = "Health Scanner HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." - icon_state = "healthscanner" - flags = null //doesn't protect eyes because it's a monocle, duh + icon_state = "healthhud" + var/list/icon/current = list() //the current hud icons + +/obj/item/clothing/glasses/hud/security + name = "Security HUD" + desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." + icon_state = "securityhud" var/list/icon/current = list() //the current hud icons /proc/RoundHealth(health) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 85db305b3ba82..d74f121c54019 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -364,4 +364,21 @@ return list("Assistant", "Station Engineer", "Shaft Miner", "Detective", "Medical Doctor", "Captain", "Security Officer", "Warden", "Geneticist", "Scientist", "Head of Security", "Head of Personnel", "Atmospheric Technician", "Chaplain", "Barman", "Chemist", "Janitor", "Clown", "Mime", "Chef", "Roboticist", "Quartermaster", - "Chief Engineer", "Research Director", "Botanist", "Librarian", "Lawyer", "Virologist", "Cargo Technician", "Chief Medical Officer") \ No newline at end of file + "Chief Engineer", "Research Director", "Botanist", "Librarian", "Lawyer", "Virologist", "Cargo Technician", "Chief Medical Officer") + +/obj/proc/GetJobName() + if (!istype(src, /obj/item/device/pda) && !istype(src,/obj/item/weapon/card/id)) + return + + var/jobName + + if(istype(src, /obj/item/device/pda)) + if(src:id) + jobName = src:id:assignment + if(istype(src, /obj/item/weapon/card/id)) + jobName = src:assignment + + if(jobName in get_all_jobs()) + return jobName + else + return "Unknown" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index f136c5e2ef84a..cdb1ae3a563e1 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -746,7 +746,7 @@ if(client) for(var/image/hud in client.images) - if(copytext(hud.icon_state,6) == "health") //ugly, but icon comparison is worse, I believe + if(copytext(hud.icon_state,4) == "hud") //ugly, but icon comparison is worse, I believe del(hud) if (src.stat == 2 || src.mutations & XRAY) @@ -795,19 +795,45 @@ src.sight |= SEE_OBJS if (!src.druggy) src.see_invisible = 0 - else if (istype(glasses, /obj/item/clothing/glasses/healthscanner)) + else if (istype(glasses, /obj/item/clothing/glasses/hud/security)) + if(client) + var/icon/tempHud = 'hud.dmi' + for(var/mob/living/carbon/human/perp in view(src)) + if(perp.wear_id) + client.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]") + for (var/datum/data/record/E in data_core.general) + var/perpname = "wot" + if(istype(perp.wear_id,/obj/item/weapon/card/id)) + perpname = perp.wear_id:registered + else if(istype(perp.wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/tempPda = perp.wear_id + perpname = tempPda.owner + world << "[perpname]" + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.security) + if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*")) + client.images += image(tempHud,perp,"hudwanted") + break + else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated")) + client.images += image(tempHud,perp,"hudprisoner") + break + else + client.images += image(tempHud,perp,"hudunknown") + if (!src.druggy) + src.see_invisible = 0 + else if (istype(glasses, /obj/item/clothing/glasses/hud/health)) if(client) var/icon/tempHud = 'hud.dmi' for(var/mob/living/carbon/human/patient in view(src)) - client.images += image(tempHud,patient,RoundHealth(patient.health)) + client.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]") if(patient.stat == 2) - client.images += image(tempHud,patient,"healthdead") + client.images += image(tempHud,patient,"huddead") else if(patient.alien_egg_flag) - client.images += image(tempHud,patient,"healthxeno") + client.images += image(tempHud,patient,"hudxeno") else if(patient.virus) - client.images += image(tempHud,patient,"healthill") + client.images += image(tempHud,patient,"hudill") else - client.images += image(tempHud,patient,"healthy") + client.images += image(tempHud,patient,"hudhealthy") if (!src.druggy) src.see_invisible = 0 diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index d8c4e544a54a8bf075c3cc14f4fbe0992bb6c44c..ecebb787f9985ed184a03c4cd921693bfaba8c76 100644 GIT binary patch delta 4478 zcmYLMby!r}*Pa6*I!X=NDM&msiG+TRHRJbfw`|$S9ORYS%NDS{2(=F9Vw!ljYM(&F?Z|h}L(8{ zh+LJlReh!mT=ypf@m~@^vJuDD5&9HeKVrK0)7*OlC5bPyL!Q1Vp zlV}%vK##dT)A8FHE2_D~!!iv(V z+y*NT#AB>lo8H>yI7KO6l@{{T6Tg2yCk+KZPhOK{YaJF@i z6yZ>5rH{H4x4Nf9*R|-0{0`*=-jG#SRu1_1`EibU=4+psJ$`K8;vi{t_5dCH)z@lx zV&cv-rIyOB8^X*^4hW$v=5O7?7(1_Q)ps4U*r(nIg zJBddirRON%Dk;!vSeHMHPDHVC{cV5}Pc1%LyE^D4{K=PRbtse=16E19l?o9DA%DjT zCqt5GIgkw0l)$%dkowU0H=D;0*ubBuGdR_LwrK6j=hz&a(M0}Q;> hNQLD<_Ag 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 G)&BrbL&%^2 literal 4832 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 HUF81&5ck#I diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 38f3e5213ae1667892186f19e22e0c7ab1780daf..dcce261c23a7b3cfc9f50478e013fa41f62cefec 100644 GIT binary patch literal 1788 zcmV+9<~005&`t6iKCZHW&pIR?43 z4KgnUDmx*2D}VRTUt~xJdOrn(7y^L;0>%IUga823m<=x?1J!T}Js$$dKn70^0Z#z| zdjJ4R007JYGoDZj$aV~w05kspGxen!|NsAk008Fz0D4?6v4%u5U$dvDr&ovP|8sNm zcL4LBC(8f;_rp*3yF>TaYhRlHf43K-(>GI7Qvd(}Gcz;F%1ZzLnUaoBp`Mrr)LymcC-Y{u6>p&)7H7>Yu=K(9hhk)0&4aM^fhk(p9W*m9TI$EsX4WYUytlui z5+j0nCXaBhoHD}gGd!Koarklqdoh7MpTM3irxZ7V#nE4Gt!nTbX;;nV(eeksW3bs< zO2*KvN0pKjE5e$RdzRGyoBZNv@y*fEXe0^jkI&s$*CnUKkgQ!0?l|?57^_3MFsTa_ zWM>)j`3N$w7e_I7oj5Gi%bL_!2P%d+xWI!HL(t-clYy}2RW@-Ty%EhZ_aNPKV*KvU zCi;xFo@~fv46NdeT}U+&L0WpZ>!UkG8YNI?gMbTB*sWD;H$f1dYYiqF#@1LpL#5W? zQUV7MWu>HG4a^-B zjlk>loc>7pu)Te}`S{Ct17XF6P4R=D`Tzg~E=fc|RCt{2+iQ0dHxP$$n^2lyJ1r1% zX}J_yY=g&}i-}W62%#nP`+uWKT5fw(%?QNSj`RGScVj#H?`U_=*-1K`ZmpAYrIxI3 z)ROh9wPgK+ADW{2wWg^4W7FqCcXM-VYjZOh@XGZd8E~W5cY4WyR|kXb?ZLnd_)|k1 z@aHewxDf}u`Oz)!s{-y^cR%TX{Xh#iyggiIz^&lhJJ@$E?5P0it2ZpqWZn2sQyb+RR6Ups^4#l>KjdQzz4y@58{B2oZmi)13rHIB7apEkq+dkvQ{AOHXW000000036qXk^#N6aPxTr?lRt(X(f2!qM~Rqsdg9={WVC z$<)1Js@A7ky;V5@$A0-D$rg<31EAD>zI44^8C!JX18N---$7A3JXPvTH?9M!9TK&! zcX;V0^%hk+q?r5xO|ch z=y#A@@PMKR+}jgb>wp)$gH=eVckn`=gX?~g>CA$3eK+|3)&l?l0001Tv^}5O58A6A z1nGLl{LP%tX|sX-`CMc^Pp+`Ee$ek%{eC~4(4O9yb#*pS9?(Cw)B?V!suxN?vqRyz zs5<>oC$z-@#n(j%=o(m61s$vde)IIlb-+bvaf?<{900000xOA)sr&j$iXs>SlMY2`* z^EK_!w^ct}h%6S1CK zl@1`*IqJ)5K;s)#=uU!SrCLp~*7C>LC0M6a*^Z2|xQ0000004^Qt!Rc{uaqIrs zz9`d~?~Xno$-O9K{OWC{aj96%-D+TSJs00000 z007|9S@wh3(;!`c6Qt{wV=*7CTeE?pNB5^)|M_k*;hVEFk+ZX`gm3?HufN|#3$%wD z>U_`77S!>W9?+%hc0~#3;z?e>cjxcjD++jG3^=U;q&2|QJA7JyUh80Xz{CPVf|loZ zB^}J)qKO3<6WFkWwYoll%;=yM&?^XNo$i41(*yy@d1;hh*KqdbFpJ>^X@a9e1#F31U`^vsOU+#3RF_WH&nf9W4 z(Tnc0UUZ+7WmT1BG+;XKL<0(22R0fobFOKe8xqjY!xs;zJE;JFf8$dDRp; X3`;QEJEbOT00000NkvXXu0mjfqTl>* diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index 3af65d9c262fd593e16de9df7874f3730a2eac4e..21e45acb3a9a09cc3e45da9a1cbd15a5fd2ca740 100644 GIT binary patch literal 3783 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 joHc9xHxmEPx_=BGO$