From 914fe455058fba013b264763bda9f2056032b121 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sat, 11 May 2013 17:06:13 -0600 Subject: [PATCH 1/8] Updated hud icons to use their respective department's colours https://dl.dropboxusercontent.com/u/831776/hud.png Additionally, -HoP can assign IDs to "Prisoner" -CentCom titles have hud icons --- code/game/jobs/access.dm | 18 +++++++++--------- code/game/machinery/computer/card.dm | 8 +++++--- icons/mob/hud.dmi | Bin 2754 -> 2859 bytes 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 34e14958a2d..189db92bee6 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -177,13 +177,11 @@ switch(job) if("VIP Guest") return list(access_cent_general) - if("Prisoner") - return if("Custodian") return list(access_cent_general, access_cent_living, access_cent_storage) if("Thunderdome Overseer") return list(access_cent_general, access_cent_thunder) - if("Intel Officer") + if("CentCom Official") return list(access_cent_general, access_cent_living) if("Medical Officer") return list(access_cent_general, access_cent_living, access_cent_medical) @@ -191,9 +189,11 @@ return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) if("Research Officer") return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_teleporter, access_cent_storage) - if("BlackOps Commander") + if("Special Ops Officer") return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_living, access_cent_storage, access_cent_creed) - if("Supreme Commander") + if("Admiral") + return get_all_centcom_access() + if("CentCom Commander") return get_all_centcom_access() /proc/get_all_accesses() @@ -408,10 +408,10 @@ return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician", "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", - "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") + "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer", "Prisoner") /proc/get_all_centcom_jobs() - return list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer","BlackOps Commander","Supreme Commander") + return list("VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","CentCom Commander") /obj/proc/GetJobName() if (!istype(src, /obj/item/device/pda) && !istype(src,/obj/item/weapon/card/id)) @@ -427,6 +427,6 @@ if(jobName in get_all_jobs()) //Check station jobs return jobName - if(jobName == "Prisoner") //Check for Prisoner - return "Prisoner" + if(jobName in get_all_centcom_jobs()) //Check for Prisoner + return "Centcom" return "Unknown" //Return unknown if none of the above apply diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index df96f50b8c0..6a0ac629530 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -130,7 +130,7 @@ else if(check_access(scan)) // EDIT SPECIFIC JOB - dat = "Return
" + dat = "Return
" dat += "

[j.title]: [j.current_positions]/[j.total_positions]


" //Make sure antags can't completely ruin rounds @@ -147,8 +147,8 @@ dat += "You have to wait [mins]:[(seconds < 10) ? "0[seconds]" : "[seconds]"] minutes before you can open this position." if(0) dat += "You cannot open positions for this job.
" - - + + switch(can_close_job(j)) if(1) dat += "Close Position" @@ -349,6 +349,8 @@ var/temp_t = copytext(sanitize(input("Enter a custom job assignment.","Assignment")),1,MAX_MESSAGE_LEN) if(temp_t) t1 = temp_t + else if(t1 == "Prisoner") + modify.access = null else var/datum/job/jobdatum for(var/jobtype in typesof(/datum/job)) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 709e3b2f5fbbdfa89cce9ab0de68589a942705a0..e909b6cc09b4c701e36e83c7fcde17d3df0f082e 100644 GIT binary patch delta 2719 zcmZ8hc{r4d7yigPmWW9qMwTqsk{R2TWh@zMvL;bd_NB~RjY+=xMA5yB?W&N;9%3x_ zDkNK3hGxpXWv3X7b(+Nd{O&)u=bq4ptzf%86y@;P zZ&}H~9E|0_IXO53rVGP<0Kln8aJhi9xQ_LW2)uy{3=abUe0D}AHEc{v@IAH5nQP@Q zsZT}62_x47PH&M{MPX<2)c>xYJ0DR^|7vAuP}>HJZt7}DKEej0^Bz+M>K?2mpDWvy zO{N$Hr)0ZbcCX7FqP#;#3++_B_R!$8m0J3m?@}5gQ?Qs3tvUzt$z1ZuJ|QvU)BcJMo^`ndph1(Ex|+d(0uCxs73VZCHCSl z9p2LK#!)lm{1~BvjKA`oPRBa`h?^ieC7Z~nPcqM5&>y#c!FMtHMk%5^Dzi+V`1#So zV^3n3!RaREYd7P3c+u$mCtkOk8D5ykBk0r|hpYO9zv|q3f=Tt}OH_jud5GBs8Q281$i0Za z+ACB4#+5-OSU0^D6PC&ZMH9I!&&I_FkrdTrld84X&~&|rx5q7tVW#V^VOq% z-(W!=-PUG7bsTN?ELq()4{SW%sq3D_+&FccaZ(qhVpRlHrMb^$2}j{x6Y%x9`#wLo zyu1-hN=5ToMl zJmnGhl=sE1#)?V7cZSc<+ZKj)$t0i8?^_pb>o;utYn4p-0f!Qn(kb zQ1JmNOV1Kb;C3|*MmO1p47(9&v8C@FlN2KZ*TX+0BAiVJr0u_NNf=u1hkr#Iv0V5+#oW@&DZBN?pn*&hps{?%hzwLW2j z{m5#JrLO7oP)`-nbB0=&)Va?233!mkq+xF5P{Pu0gR~r*xDqEHp@7$8;KWqTuAEiH zN`=VUAHmGQJ?@cN0Z1tu5y*^nl3Q&`e|6hzWV-No_eg)dz{#vM7xd^VZ=u z^Cb5TR{ckF|5xoH+~2nOUh=BI3swPV)y{9H;}y_H0~3y0Ivw5^zgM^z6sMY7xsAxW zy^Zi7GWVZ6`au1zefWSl_%C??FqNZ)HL?~2l3K7U5^e-e=r^h$dOjSFE`X(C%c$6dD1MyL7b=hD!#Nq9;Jr?0PNu+(c;@r7D_&u( zO;Cu$LM9E`l;=CiYT+<=T00(#kx8aB{`u2_{!#15S1aXj-!agec_JDNTeD9iH#|SC zKYUKhKr|uBbQGVPO`o>ze#g?Rq%EnwWW?jpkujh6iMh@Ds{$tI8GKX>MUCm^zGe-j zugL94k*1nZ9B-g#u9A*AvGin3fs1k%*IytE-|o)n74TP2u3N%j1?$D~m}jIIPH!WO zR5;dNBv(_)@O?@#0;DRfs3>CTqHgXl!<0m-%@w2lZVu(!_McgR1K9bs2Hk;G0u)V?x`GrE+a|2*CR#?Hp@e%R((1Ne|p;=H8CJMLwTz zCMlks5hL}(v?Du

mm-OqgMXhb}4(MhFm54R}#??ek4G*Pbc{eoc_YS1m}3eF~oM z7bnmb@*`L&h?4WjxiZ8#bd!Dk^#&RMUF)qxPO!cZLzJ@8c{YH&iRZ9+pWARJ_W?c3Wk(nywi6Cbq+ z5pp7FqN<(!$uH!dLrQ9CY4GQq^snn#5=T4{pjn*4OR}N>tRb|9^BZh*Y&nv-vp>6m zf8ldM@)gtrLqdPE#7bOxDYlNs5}}6MIccNt}78ugL_F zPR2)9!Mg&}1*`hg8$-NFL;t+#gt3=ud=XJq+yl!NsifFLd1eA;+}5vPsRYMqH9q@` l)9o#bl_wVUWPj#OWz+aw(I%e9g>wGiwzhPzs4%+%{SRE=5_JFo delta 2613 zcmY*Zc{J3E7oP$VPwe?%8=rRLG`SmQ9WCB8v8QHXnehf3Sr2eGBTFxCECQ; zibO_(p|Q_vESa$-hOG1R{&>INd-t5rx#!$-&$*w^=bn3?9)2%PQ~}FmtExhfMcHhpJ|mkn24 zyfBs~iMcj;q49?V6bpSsw$nGM>4&#haHhezMy54pk0g|D#;avTw4U)#HpX3Vc4vK` z;9DQ#TaSe#ynHAz&Ug4%+Cos!cX>>B4|izGEY`ElZ(04)tsw30Y@^GN_+Rm=)?U@7 zhRqsgRUJeN4{;#u^y{2L>64B+A$u_B$dK^J-P_oO4^C8jWl>`e1Lf*stSOB=-RU_j zq8Yz^TDr%I+_Ubi)4bPe{W+iUEjXqw|5~3#CPJP=|rT9Kf1^1;=z`HAoVYKWm>u0?RPDg2|IOi;Gqnbn%4C5G8M;PZrxd*dy;J9 z6n}pzVlE6I_qm_32IGdBY#6PbO~BIwIE?n%cG(`* z%BrO#;fG}nCqA*We7uXuMOc0b59r!T@SKt6cz%=SFsJu1yN?;X=FhxO?=31U1h7;2 z=LDpjEuYy4V51}JF1xu)LAOk+j`WF@y0~fztWCkpWIrTvzASE}fp`Dd{n4KSX^gf7 zfVm`#^n=wa!Bd*BS6&%R^RloqO}Rdway6L#OB+7yH&Hp_xcO@>IB{O$X|bqJfTQIx zXP?yG;~Prad}O(5Cm$=C&R30PL5FyU>z@*49{$)rpZ~{+gNZ#_g8)ry@P2&C)hRD>3udtO3G!5Mt}0daLfkB;hjFqpOH8D@<& zVD0;3SJFbVXO6c?Xk+c46($vmx;Rx5a>vaXLs5st>E^Miz40)OM$5Ik16&E@Tw_iE zHR^ERPAoC7lx0V-;<_+`+_ax0@_vs2iW&N7R~z;XDLB!^90>Xhy?6s9rl6jZRBdEb z9V*E(zE%?`e(M#yNt2V#wJ8`D2g_N6%*16lt}hOV*+Y+#}1`+3K6zJ=u=v6mZBtB41ZOX*IoD= zAqrR(HL{GXMt2cdtHXW6lw%!JDUC}Y_&dIWLN=&gR;d?JM(BWhS-{wo`4jNk$-1|y zodOF@P}`bxxaQ6cjKB(#+#$?@MopTnR?Oc^q(cAZ`&Xu>bQQbf+l$>jw&YT4xaz`V z-bZrcu5m(JT58({4Nv6(qvPW$%Mq3`(r#DMp4Kb4PQ%|QJh{EqJ{VK5dAeD`P>SbaOkC?d5uT=tYa${oLcAEdjSr z<7Q|XsNTUl%i@Wtd4g7xF5>VE>n(0SXHGXv(sg(j?K{mxsl~jQa8lsNy zbE;S5){c0rNY}XH%j6JKJJg#6ee$L(`RCM1VFBl#%0SWPxXAUcVrFB!;j_XCkt_wb zX<4j?#)mJ8TI}luje1pA+&vl--&{S4h{lhLIfj7)D7xbipR9r!+H?=UN{CpzUl#Bl z*abBZ+#%w$a2=vq>(7H&&VIYYFq0@nWF=an56snJ@k`(p8Fgk7U0Ad3>|0rtm|7DP z4_z7J6fst~xT?M`|xG|3=Ho z6t!JyjhsVBW<4qpig$PK_o*a2#Mr??)Q8%+_szYf)AKpbp z0C-+v$NnR+b6`&!naxr>)=!2T-ASN+#MnHK_~*Wp&eVnVbK8#gSTmb8=IP;+WEsM} zngm^g%7tdVxu|a@PZY?B)7u(Fjyb}aS+F%}wT$AkF5cIS33Yt_f_>t2n9MRbNQqC&n(f^N}H8ZW+(!&73EU zP2%ym_X1=&;=yX;1&$cJuU2srUrE67<`jI4uDyQK=;~|KHm=YduXIx6J=SXAAT9)@ z8zc6hB*%X_&*PCDYRn^J(o;Exc-7m81ja*O-`a~3Qa><~1S|;7DUqQAPZyH^NQXN! zS|8P3fK89d4wiFve^)?315&M#)n`###+{~DgghA$@VSBnEa#jgX10r1Gy4Vd3v_Gukbzt!Ug z(F5>~I(SDfsbLu*jCt2^j=^-HD^nEyN2sub2llSUEXt)V9{;OoeeS~98Vj$R{{`Ke B Date: Tue, 14 May 2013 08:38:19 -0600 Subject: [PATCH 2/8] Hopefully a less 'snowflake' method of determining job icons --- code/game/jobs/access.dm | 8 +++++++- code/game/machinery/computer/card.dm | 8 +++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 189db92bee6..a95df891680 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -405,6 +405,12 @@ return "Code Gold" /proc/get_all_jobs() + return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician", + "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", + "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", + "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") + +proc/get_all_job_icons() //For all existing HUD icons return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician", "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", @@ -425,7 +431,7 @@ if(istype(src, /obj/item/weapon/card/id)) jobName = src:assignment - if(jobName in get_all_jobs()) //Check station jobs + if(jobName in get_all_job_icons()) //Check station jobs return jobName if(jobName in get_all_centcom_jobs()) //Check for Prisoner return "Centcom" diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 6a0ac629530..df96f50b8c0 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -130,7 +130,7 @@ else if(check_access(scan)) // EDIT SPECIFIC JOB - dat = "Return


" + dat = "Return
" dat += "

[j.title]: [j.current_positions]/[j.total_positions]


" //Make sure antags can't completely ruin rounds @@ -147,8 +147,8 @@ dat += "You have to wait [mins]:[(seconds < 10) ? "0[seconds]" : "[seconds]"] minutes before you can open this position." if(0) dat += "You cannot open positions for this job.
" - - + + switch(can_close_job(j)) if(1) dat += "Close Position" @@ -349,8 +349,6 @@ var/temp_t = copytext(sanitize(input("Enter a custom job assignment.","Assignment")),1,MAX_MESSAGE_LEN) if(temp_t) t1 = temp_t - else if(t1 == "Prisoner") - modify.access = null else var/datum/job/jobdatum for(var/jobtype in typesof(/datum/job)) From 350b389e5c7bb86544ca2848ba9dfadbb073b673 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Tue, 14 May 2013 11:14:36 -0500 Subject: [PATCH 3/8] Updated comments I swear I already fixed this. Must have been lost due to git magic --- code/game/jobs/access.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index a95df891680..08ca6fcb508 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -431,8 +431,8 @@ proc/get_all_job_icons() //For all existing HUD icons if(istype(src, /obj/item/weapon/card/id)) jobName = src:assignment - if(jobName in get_all_job_icons()) //Check station jobs + if(jobName in get_all_job_icons()) //Check if the job has a hud icon return jobName - if(jobName in get_all_centcom_jobs()) //Check for Prisoner + if(jobName in get_all_centcom_jobs()) //Return with the NT logo if it is a Centcom job return "Centcom" return "Unknown" //Return unknown if none of the above apply From 283c6b46261328ed1c3b518dcc6c87fc8caf1a5a Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 15 May 2013 23:00:43 -0600 Subject: [PATCH 4/8] -Reduced code duplication -CentCom roles get appropriate access levels, and centcom officers no longer have all station access (Plays better for inspection events) --- code/game/jobs/access.dm | 5 +---- code/modules/admin/verbs/debug.dm | 11 +++++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 08ca6fcb508..7d47df1dcc2 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -411,10 +411,7 @@ "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") proc/get_all_job_icons() //For all existing HUD icons - return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician", - "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", - "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", - "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer", "Prisoner") + return get_all_jobs() + list("Prisoner") /proc/get_all_centcom_jobs() return list("VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","CentCom Commander") diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 6cb18b9ec7d..d42adcec9d6 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -858,7 +858,7 @@ var/global/list/g_fancy_list_of_safe_types = null W.name = "[M.real_name]'s ID Card" W.icon_state = "centcom" W.access = get_all_accesses()//They get full station access. - W.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)//Let's add their alloted CentCom access. + W.access += get_centcom_access("Death Commando")//Let's add their alloted CentCom access. W.assignment = "Death Commando" W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) @@ -887,8 +887,7 @@ var/global/list/g_fancy_list_of_safe_types = null var/obj/item/weapon/card/id/W = new(M) W.name = "[M.real_name]'s ID Card (CentCom Official)" W.icon_state = "centcom" - W.access = get_all_accesses() - W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer") + W.access = get_centcom_access("CentCom Official") W.assignment = "CentCom Official" W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) @@ -910,7 +909,7 @@ var/global/list/g_fancy_list_of_safe_types = null W.name = "[M.real_name]'s ID Card (CentCom Commander)" W.icon_state = "centcom" W.access = get_all_accesses() - W.access += get_all_centcom_access() + W.access += get_centcom_access("CentCom Commander") W.assignment = "CentCom Commander" W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) @@ -932,7 +931,7 @@ var/global/list/g_fancy_list_of_safe_types = null W.name = "[M.real_name]'s ID Card (Special Ops Officer)" W.icon_state = "centcom" W.access = get_all_accesses() - W.access += get_all_centcom_access() + W.access += get_centcom_access("Special Ops Officer") W.assignment = "Special Ops Officer" W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) @@ -986,7 +985,7 @@ var/global/list/g_fancy_list_of_safe_types = null W.name = "[M.real_name]'s ID Card (Admiral)" W.icon_state = "centcom" W.access = get_all_accesses() - W.access += get_all_centcom_access() + W.access += get_centcom_access("Admiral") W.assignment = "Admiral" W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) From 6c0c3161debabc9f9b6e54f96a3949b66b0e07fe Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Thu, 16 May 2013 08:58:09 -0600 Subject: [PATCH 5/8] Updated hud icons https://dl.dropboxusercontent.com/u/831776/icon_full2.png --- icons/mob/hud.dmi | Bin 2859 -> 3009 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index e909b6cc09b4c701e36e83c7fcde17d3df0f082e..13ca74bd9814c3944e0af7aa2d15dd35a5c6c345 100644 GIT binary patch delta 2653 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 From 82c56a44e660d74546808240335da7a2ae250c4b Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sat, 18 May 2013 18:24:42 -0600 Subject: [PATCH 6/8] Created new icons for geneticists and roboticists https://dl.dropboxusercontent.com/u/831776/icon_full3.png --- icons/mob/hud.dmi | Bin 3009 -> 2803 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 13ca74bd9814c3944e0af7aa2d15dd35a5c6c345..79df757b53b160805f6d56d84d62ab4315ab5c9f 100644 GIT binary patch delta 1931 zcmZ9Jc{H1e8pbV2GlF4|KRS%#owN@>+qUEJDg>nI@={X%NyYUC!x z3`MGXEVZvm?TS=2O=@bXeThsLwU*MPaeMpE^z=RFIp;agU%&Txx-lClx`FIJ>-HPS zB2H!eaKV#ypy5~9<8ov#yff&Vc;{U~g#W}(s?;ju_CJ6ZL%(68-X3Y(jKOQMuynvZ z(z0Ap&$?vb27Psx?2<6bF*$nZ-f3*CKs-x&MXYMtdcO3EG7?oTR5p$c+}9Dd5P^Pi^8J3oGZ?3e3beolL^YlL$jUxtNc9B_81IvWFiqiO9Ee{Rn z`8xhf(8~Y?y!>LI9qQo+5T^HIub8>L0#O%@AF1V^UbhKzp_{PWsfP9(jU~zkEM!Y#e+%6j^4;y z$5jW*qBfXMdWy*xZw%(|*#HA>ZlMmU=H7$Q1$rC^IYkka zpwL>R4k5d3L-uc8)|l{mEp}N#qwrUbQu$455%FSS{Ps=p-nc?p10 z-886`vdsL1RgQM2UgnCSv3D>G67tCM^CD;xT3XdpfR=xl@`2-3KA>dBrTGt=ajw&W zmQtj?Sb@PJi7&rbcHdd=hQ%oytOGKHYf}oQ9-goDDvs|YRzZyYHD-q zg^=vf`1ow=+6#_q>-R&%_d}$1rHYhYTXj21x=G$a3q6~<-spwvWVzJAV}{7y}iHaB;82626-~~ALT}6-hjW#5Uqt{n86>trM=)* z0j$X>!4@NjY~dknnF~yGaz@w?RSWfgAo>wACI8DHFhFMrc+B3YuCLzJ%l>V0Tc{L(D3)RmHj|ewY~G=pu0J<~MQ?mn%NMJWXNxF`P!UP5 zt#VdoZ?25bwMr17MYv_svkzy@XD%!ERTciVxy_T^ZKDo;Djc6EH>#q}?t`2iuU9%pvv9hy`ybH+^F@5k}$JDt$v)Gd>?Xz z%XNL69O1m18yj~Cve%L%qVzFz20<@&B6<*#1aT{6Iv`qBa{I!`umT#lX!h=vp&m6wp4z?|AY@_WP8IMPJM%`t z#wy~mpK6gfh2J*D-lt3M7xnoO%GD-tbCS3jQ6CD6gn}y{$$!(oC9-gDiG;H_Mcxvx z#{@XIzu6=a(O&$ZI|c2kO7=Kh7N0+(`9@d!*F7JnmhbPa=p>nFmUSjs%Q;;xwRq;` z0>)}#&Ik_qIF()|Nhj?mQd;_dYwoQCVjG@#y_8Uprhq$B%0k@G(4Fj)*)|9~tc3{- zdSDlxo9NE$OP{DR`!0@H2e;OA#so&ehTl4;qtlR#7?i;#tH)n8udyec!jGVN*lB;o ao!Yf~;27v>+}V2n|0&+Z%emSy82TTa#f3Eh delta 2139 zcmZ9Mdpy&N8^U#$+JBa3n^OOirp zr{XN@NOEVPL=w$4m$I?B9Q>T~*Xca}J%2o}*XMbEp3fsxZB)-fNch$2AtbP-rsgMu zqkTvr@(OZjG}_6@$Xg9A;{0;1IqbaKGEe7Z_ntHG(0xv^CxI zQ&R{4*^2kmbcI+$`;6MsvKF`20_JAxEJsmWsv6@wqvx>Lr#my$#}6TZnXi20yL zZ1iKROA9a9t-9!7V^MuB4Y;DPi)AKXrNWBLr+$=j{RnlM+$qfb&2s-Ib?Ta^xX=W{j(g z{Qzda6-~7k!gOJ}h1u}5xkETc$$aq}Yot@htU9mJ&{?puAa%pAY)Qe3MSt!MJargf zITRt~TWT1h;*=jW1Ub)jHAc5iGUKy!TVp7cADYZineyLJ26ybhl38e*J^{sLwqA4v zm{(4{)&1n7GRY3@U}0|Fq?u>6Pj+=YXM<<9mEX6xwpDbcfw3r|c>uM~x;8I+V{8wl zhwHVCDKEAb(F&(mevrM6$_kd~4wM3dA>TL#rv1#&apP_lR_ z=3%Z~^Gi^sga~Az{VL(>Z)KmuCnWoazhu}nzuMz?C!SXw7ogCF4(nZGLfX){D)_`o zH|(*0Ua@^&_ceIhIBJ*7o6-sBzJ|68Mop)&?RSf9H;F)FRJ736hs91meEB(F4@M&6bD@tu@o_=H+9spgqyTxl}-<$G}Cy6!W zjwjO8?R(NW|1EBGROo%}gx_D0QBh3H;R%^9WY7I{%gZ;zubol9`D5js#_(X!*8zBw zxwV+W2x=1_aT3|^PshdOTjywYj|=n1a@IwvGq6kofWRCg!%3tP8Ae+A>o;HvjFgW< z=zG(E4sV_r3VB>x+w}BHna3CKDu{(@qOVyB0$Aq%3N?DF-%4%^_NE8$VvMH`qL3J- zbu}T)(D}2q;{(;;IeZTEaeP{_(OlH8m+!y{yqHUPfW1l-x;;=;Dq#?S*LW4+rdm9{ zQ4F(}Cvlm$VFjrP^Azx`s>(5ZzrO$P{^by$*&eX*i0u90#Kkh{lliCRJnsqOIGz7W z**_NZ2Cmwy_$3?=b1wCur7`qDIr8KuY{Hhu)c)H(NSbyy5=r>H2z_BYdd;D3xZ>53 zkR9*v3YCwlssyJsO0#$E6K_8dr{c83BRm{9Ik~phwHp;0zxJ-`1Q@^<5Z*3SKPamk zHul>1#j+b}RITRIRnf_Pv7GHLRQLVlym!X0}?iBAqB?#A_e2|Bnv zOEA*X0;A%>tf+aB^^DHl<_zyu7_O|#69L>tL8Eud9Pc#F`3!j=9e1y;Ma&|!59?x@ zVd)%g!ni>2kbSLW>aJ(seDOu^;Vc*eiwpV&bm%EYF<_LV;?2u z1-Y6xA2h}d)>#G_<4BV*Rq&)DJ0$|LSU=^}nekgkBPlQ-0@B=jaYL~iB``yE*Tjyl z@7=5YpJ*k=o^63oTrl~%$tK-M?Gwaa?{e;Fs(F$~O<2DjIK9yAQNtF#!^b50Ti{J{ zIU&e|Ep8}$eH75z9ZCK8VMGZ60eC%(g*;7gXlPQ%Sr`;?Y~N9jcS6nB5gA>Wa#l9B zhO_?d*vbafEqjwCeQQTp!nLhOZ-=Z$q$}S4eDA4vT!%kV?#Z{oSImFKB#P!{Hj@r@ zAkBKtWls6o6~tVP-E{1enY_GQWr-jW_?7TYl9W_^D#2T`9<&fBzFF~ga_ihdnCV#gwu1+3~kL&{({|5)B%<}*M From 944fa585700413a2d36b917a7a8a16aa09c22077 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Tue, 28 May 2013 01:21:06 -0600 Subject: [PATCH 7/8] -CentCom officials radios changed to only have the command channel -Replaced Captain's Headsets on CentCom roles with a centcom reskin, which was already in the code. --- code/game/objects/items/devices/radio/headset.dm | 7 +++++++ code/modules/admin/verbs/debug.dm | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index c9adef0d22d..5de2531ebfc 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -163,6 +163,13 @@ item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_service +/obj/item/device/radio/headset/headset_cent + name = "centcom headset" + desc = "A headset used by the upper echelons of Nanotrasen. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." + icon_state = "cent_headset" + item_state = "headset" + keyslot2 = new /obj/item/device/encryptionkey/heads/captain + /obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob) // ..() user.set_machine(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index d2a465e7099..82099ac728f 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -870,7 +870,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(M), slot_ears) + M.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_com(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/pen(M), slot_l_store) @@ -897,7 +897,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears) + M.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cent(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/cohiba(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/clothing/head/centhat(M), slot_head) @@ -919,7 +919,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/swat/officer(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat/combat(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears) + M.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cent(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head) @@ -975,7 +975,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/clothing/head/hgpiratecap(M), slot_head) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat/combat(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears) + M.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cent(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) From 5b0ef21cdf61483b473432fea056ea5fab5e093a Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Tue, 28 May 2013 20:19:08 -0600 Subject: [PATCH 8/8] Added an icon for IDs with unrecognized assignments. This is so that you can tell between those without IDs and those with custom assignments. https://dl.dropboxusercontent.com/u/831776/unknown.png --- code/game/jobs/access.dm | 2 +- code/modules/clothing/glasses/hud.dm | 4 ++-- code/modules/mob/living/silicon/pai/hud.dm | 4 ++-- icons/mob/hud.dmi | Bin 2803 -> 2815 bytes 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 7d47df1dcc2..fab08b5786c 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -416,7 +416,7 @@ proc/get_all_job_icons() //For all existing HUD icons /proc/get_all_centcom_jobs() return list("VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","CentCom Commander") -/obj/proc/GetJobName() +/obj/proc/GetJobName() //Used in secHUD icon generation if (!istype(src, /obj/item/device/pda) && !istype(src,/obj/item/weapon/card/id)) return diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index e9776ab7155..7b24260305a 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -116,11 +116,11 @@ C.images += holder else perpname = perp.name - holder.icon_state = "hudunknown" + holder.icon_state = "hudno_id" C.images += holder else perpname = perp.name - holder.icon_state = "hudunknown" + holder.icon_state = "hudno_id" C.images += holder for(var/datum/data/record/E in data_core.general) diff --git a/code/modules/mob/living/silicon/pai/hud.dm b/code/modules/mob/living/silicon/pai/hud.dm index c1f1a4b3eda..59d0afd6104 100644 --- a/code/modules/mob/living/silicon/pai/hud.dm +++ b/code/modules/mob/living/silicon/pai/hud.dm @@ -19,10 +19,10 @@ client.images += holder else perpname = perp.name - holder.icon_state = "hudunknown" + holder.icon_state = "hudno_id" client.images += holder else - holder.icon_state = "hudunknown" + holder.icon_state = "hudno_id" client.images += holder for(var/datum/data/record/E in data_core.general) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 79df757b53b160805f6d56d84d62ab4315ab5c9f..1fcea5ee0ece90952487cf2b080efeb725456b66 100644 GIT binary patch delta 2538 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 L;e6FOH`0FqbTz0C delta 2526 zcmZvbXH*ji7KH;OA_1fa2`w-nO$0^(5fDO=UIq{pG1%xuKd_v?H2p2v~ck{~E?{qk6ORDc6G>+9>g zw6r9x=11b?($wte=*S&ea=00`v$MnD3;_^Jrd6EF=_0r6ai;+Q0M~sNM^}I;bKDmI z;8r3bxFD#|32lL1`hY8NrBQnLg;d-}AAgXyG*85%Ua1tVV% zbUKN0ki}1^Bh6`Rc&7@MJf3PC^!TZ}w?}iq7_|qE6x^+)Ts^~WC%yEo$gMn>`n&di zhj`F=#A!)H!#IA7YFYGQBj6B{c~WHPY-|dPriS`ua-i$`4m54ex5nGIrupo6?uyJ8 z- ziMwdMqI3p-?qR2Cl&*RF3%d)ubE?c2B5BtnBT8zd-Ig}|Qo42$#e8L>UDVMKm8a^* zgQgcz>L-f#3JsW$;%kl%3ldJW)BU?jqbS?Sm%V%>iBlE??!LyzDFd{6a?U3y-1{%x z`98o0a|PG0eAlB_EK5}+?g)VTmEe5#*D~^m=*Rf`=WpdxOcQ{HgSdu>&99x4u*u&o z0V^^(@-TD5Z)E#J=p}qZkqf-Udcvssc&RvwT4Q{iaWLxawJO};QQM3A!?<`1h&^Ky zr_f)m`lR3CX4#@@87Qq7`at=Z`r;(sNyRgJvrk=YSg7Z^dq2Y5hO8|hlAuv8>M1(N zl1Zzj63x~ou7Vjg+o!K{WVRlYXKxnzsfNtaF7N$#c5YhWPHqJ){(#g@5RuNw_{9~~ zIX+Mxemv>)D=%ZCDJPEh5qC&L8`K9{Y6Af9I@(yk-C~}u4TJdjLS=b$X3$0%wS&K6zK3umxCBfrL0HtxP({)!n5 zEn5&&4fm4nU>*VV-ds$gd2d+~-HuQ`KilP>iu@@DVsx^{87GHK>PvEvzRXJ)>Vmd? zJ-UiMlrlT?Q2px!FaSQ&-nSg=$=JKQ-${gs8!!t*jTKVf_`3lDMtQgq0&BWpelL2eyLa70k zJ`={;WycqT4zpmIU-y2(qLf-P2TQ~rIyzS(RLaM$@^~I)&4CrokHI}Mp$0MVJ0R5N zL8es&VaRT|ypaFbIPmN4;76vy)Y8x`(qLEN?PO|pmaJWNtfN>D_u~!oHdr)Cy#+=D zX=;hVg|my$kURwn8a#zz6iYy4kgpe7+P1j_wGg?V z#*&JlGVqCO=b#p-N5>2?tv9X3u`jtuxzXzs**6Lg*G{QA-2kE&XgqUF^dx$DU4ak1 zDl+8?vJu*o;QDlw`>M&rYT8Tt2&~BBBa)FUzimO=gUwE01mCZO`)>;6 zrUx;V=-@Q}b&v7O>22K)JB{q@b368P8-_8#7kj~hEoV@gQ@vril6|~?QU7})3;PSb zYe4qsAgdB?JF|LcTkeJ2OKNJp<&)_j8JVeDbIVM0^SKY}xzCYd2|tEoAZCb3Rm=HR zOF_T(3F&ZNa1mlrmn0!+hZg7>dzA-^MJw@#9osri1Wif>I}NC%TfiHJINBX3(Tl&T}?iX_ID7zBP6NOe{`Q)%leO`oNEaOS>x^41}iOBp&#`F{E8GS&8sGL zFbZ#(M6ry?u3ST4tM;1|_owo3;Q{n7;o#lHL__O+(|GiK~KjutAlu8kS-KY$N7?J*vNY zH*{JO`0;%z|K}<|tWdESLqio0h(yMtH}~tvf`x)M1SA*l-53}`!GX};Ti`-ak*x;1 zWS=ZkDRqK*2o2+!DW}ruV~=F#t;=B>+ycNwRPe9?$fpHxiv)>J4;aSENNf+>eM?Hr z{XcE)E!1}9sk0z_DtxZs2#bCvQj|Y(V?@lZVTYS*N zT|_XZZ&BJ>`uIOJqN8HrBdg27%{i8Yc61>u97P+&=_v6*WwhL!9^b6OT<5_guJ^TBm->E7zg;gxmIl-(Gw;icq8W=^bSVCtPx*kyuF zh84jl9VPbxjLu?UqU1BFcp#isu5b;sD4x-5(;OlRHFItq5yiRY-XC!%e}lKs&Zb%Y zRv&P8>wi+sG2kr-5@H@jty9)Mr>%XOZDsTN7nrOf-|bz~obeOvsm%YfvrpsVv|*`- z`C~dfHQ2fR&+F?+CaAY9qRvXA^LrzGR#y0mHgaaBic>zDMW7bFp7Q<^ z-!i$jjd7g04T=={#LFDn=l3oI*RcgDuRz@H^5 zDt%sZx-5sSInYk4Y_*0Pp-kS@+zdoZ+uC~O%oP>KW~Pp#AnDEu;S+bMXf~qnCEzt0 zhmUWcpXam~c?Lm8u~o48u7_lvMDCkC>_yQ9-a?puQcXA8y)VedxPL9?;tZy+->VQd z2a2uYZKSlt-+(fbYq}fcGT?;RK1QE3oXIvs!(4CpqT9$Fp{C#z@DeZ&*H`fQS;%mg zC_haUC0z~knIC;x3Hzouv&5&b6V&f6T);}Cw~e<*%l9&S+?~rrCroD95i`sl2|Y0S z#>=-nfAe1(oG(?(rYugOc3GQYo)>MGc95|UM>^tZUc0b>v55(uPM?7;$;qbD|wxhk@P}T7zSp?*phluCn`0LN5s~GbfFfKUZKE|?-r?$6fiMN vLTQKGu`L