From f71b6af899d96ade52248594828133736ea66de9 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Thu, 31 Oct 2013 14:48:30 -0400 Subject: [PATCH] New job -- Customs Officer --- code/game/jobs/access.dm | 11 +- code/game/jobs/job/captain.dm | 2 +- code/game/jobs/job/security.dm | 33 +- code/game/jobs/jobs.dm | 7 +- code/modules/clothing/head/helmet.dm | 7 + code/modules/customitems/item_defines.dm | 4 +- code/modules/mob/mob.dm | 30 - icons/mob/head.dmi | Bin 163780 -> 163787 bytes icons/obj/clothing/hats.dmi | Bin 58522 -> 58525 bytes interface/interface.dm | 12 + maps/tgstation-redux-WIP.dmm | 21232 ++++++++++----------- sound/effects/stamp.ogg | Bin 0 -> 21674 bytes 12 files changed, 10670 insertions(+), 10668 deletions(-) create mode 100644 sound/effects/stamp.ogg diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index d3dfa7baf8c..39e5c42244b 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -67,6 +67,7 @@ /var/const/access_xenoarch = 65 /var/const/access_paramedic = 66 /var/const/access_blueshield = 67 +/var/const/access_customs = 68 //BEGIN CENTCOM ACCESS /*Should leave plenty of room if we need to add more access levels. @@ -212,7 +213,7 @@ access_hydroponics, access_library, access_lawyer, access_virology, access_psychiatrist, access_cmo, access_qm, access_clown, access_mime, access_surgery, access_theatre, access_research, access_mining, access_mailsorting, access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce, - access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_paramedic, access_blueshield) + access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_paramedic, access_blueshield, access_customs) /proc/get_all_centcom_access() return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_creed, access_cent_captain) @@ -233,7 +234,7 @@ if(4) //engineering and maintenance return list(access_construction, access_maint_tunnels, access_engine, access_engine_equip, access_external_airlocks, access_tech_storage, access_atmospherics, access_ce) if(5) //command - return list(access_heads, access_RC_announce, access_keycard_auth, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_tcomsat, access_gateway, access_all_personal_lockers, access_heads_vault, access_hop, access_captain, access_blueshield) + return list(access_heads, access_RC_announce, access_keycard_auth, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_tcomsat, access_gateway, access_all_personal_lockers, access_heads_vault, access_hop, access_captain, access_blueshield, access_customs) if(6) //station general return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime) if(7) //supply @@ -391,6 +392,12 @@ return "Gateway" if(access_sec_doors) return "Brig" + if(access_blueshield) + return "Blueshield" + if(access_paramedic) + return "Paramedic" + if(access_customs) + return "Customs" /proc/get_centcom_access_desc(A) switch(A) diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index e8ae28b2b96..72b84026c08 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -68,7 +68,7 @@ access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway) + access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_customs) equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 575064c3eed..60dc795b289 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -16,7 +16,7 @@ minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway) + access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_customs) minimal_player_age = 14 equip(var/mob/living/carbon/human/H) @@ -166,3 +166,34 @@ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) return 1 + + +/datum/job/customs + title = "Customs Officer" + flag = CUSTOMS + department_flag = ENGSEC + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of security" + selection_color = "#ffeeee" + access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue) + minimal_access = list(access_security, access_customs, access_maint_tunnels) + minimal_player_age = 7 + equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/fluff/milo_hachert(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/customs(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) + H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/stamp(H), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/stamp/denied(H), slot_in_backpack) + return 1 \ No newline at end of file diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 070659cfd05..ef1a1162a52 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -46,6 +46,7 @@ var/const/MIME =(1<<12) var/const/ASSISTANT =(1<<13) var/const/NANO =(1<<14) var/const/BLUESHIELD =(1<<15) +var/const/CUSTOMS =(1<<16) var/list/assistant_occupations = list( @@ -113,7 +114,8 @@ var/list/security_positions = list( "Head of Security", "Warden", "Detective", - "Security Officer" + "Security Officer", + "Customs Officer" ) @@ -124,7 +126,8 @@ var/list/nonhuman_positions = list( ) var/list/whitelisted_positions = list( - "Blueshield" + "Blueshield", + "Customs Officer" ) /proc/guest_jobbans(var/job) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 605d254e855..7ed648c6bc2 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -31,6 +31,13 @@ icon_state = "policehelm" flags_inv = 0 +/obj/item/clothing/head/helmet/customs + name = "customs officer's hat" + desc = "A serious looking hat for a serious job." + icon_state = "customshelm" + item_state = "customshelm" + flags_inv = 0 + /obj/item/clothing/head/helmet/riot name = "riot helmet" desc = "It's a helmet specifically designed to protect against close range attacks." diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 747318b2301..92b50c1a089 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -648,8 +648,8 @@ //////////// Uniforms //////////// /obj/item/clothing/under/fluff/milo_hachert //Field Dress Uniform - Milo Hachert - Commissar_Drew - name = "field dress uniform" - desc = "A uniform jacket, its buttons polished to a shine, coupled with a dark pair of trousers. 'Hachert' is embroidered upon the jacket’s shoulder bar." + name = "customs uniform" + desc = "A uniform jacket, its buttons polished to a shine, coupled with a dark pair of trousers. 'Customs' is embroidered upon the jacket’s shoulder bar." icon = 'icons/obj/custom_items.dmi' icon_state = "milohachert" item_state = "milohachert" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 372a49b51c6..6a4a85287e2 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -384,36 +384,6 @@ var/list/slot_equipment_priority = list( \ // M.Login() //wat return -/client/verb/changes() - set name = "Changelog" - set category = "OOC" - getFiles( - 'html/postcardsmall.jpg', - 'html/somerights20.png', - 'html/88x31.png', - 'html/bug-minus.png', - 'html/cross-circle.png', - 'html/hard-hat-exclamation.png', - 'html/image-minus.png', - 'html/image-plus.png', - 'html/music-minus.png', - 'html/music-plus.png', - 'html/tick-circle.png', - 'html/wrench-screwdriver.png', - 'html/spell-check.png', - 'html/burn-exclamation.png', - 'html/chevron.png', - 'html/chevron-expand.png', - 'html/changelog.css', - 'html/changelog.js', - 'html/changelog.html' - ) - src << browse('html/changelog.html', "window=changes;size=675x650") - if(prefs.lastchangelog != changelog_hash) - prefs.lastchangelog = changelog_hash - prefs.save_preferences() - winset(src, "rpane.changelog", "background-color=none;font-style=;") - /mob/verb/observe() set name = "Observe" set category = "OOC" diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 4b0c5f1ea2dd9e2d0c782b9ac118342746ae07bf..c858dd27ed05929e8a7ef481dcc1bf7f2c6bc84f 100644 GIT binary patch delta 1143 zcmV--1c>{@{|U?g36LazLwZzLbVOxyV{&P5bZKvH004NL#aqFS<2DRE&wPc^UdKf| z?H0YvrPyMzhixyt8??;W+{ltE$&<-`eGg7z$4N#{Zi^lRJU&tkMUj;JefH~bpFaPd zef;wI@s*tyYqFQ@ryn+t4|}OYo4sT|K0iLREKM86A3jjv>?QjSu4UbE`0nwc7U#2< z?5B~j6#)j3#~wU~r|077wm7EiRh-qfIUv@b!5Fn?H8=?v^$Cnoe}J?F5gg-0tG04=O@rwR?lxWdQAJVKIuVEp(Cuj;SZ2Pqc(78y5*?t1zl(5}P z0bt~RFt}c0c2Ce0TG;k$5g_f7mopetDHw(A50;(fan#SWvLgMs@4 zay1)_d4@$xO0Go#LyEEV!@*}}v;sxZ6_e{3s7_8mU_jZCM@E2095VD5wPVvV@TJ2H zi;Ys_lbSa+7MRpHX*M~94q%+1;NJ<;7AP%$X;EBuN;#&oNV-j1il!=CtqOSGO739F zoow0N*K->U6h6aF%8r5`>Qt9qimnz!e0?c_%y_IXsn#Tb$L3(*#>zTs%gRa9_@q@| z3Z^Pb`e&A+DL2GizltdXYwla?`_>{scS{KGr}1tY?xpcgI!fsW*C^^s@cWZF8Ydrr zi!7LZgyZzsM=Uci@XE$eXr*jfccp3>xNo?U0QLZj?kNOz-kMDbT@+u5B&sRW)fAYT zmc(tf-2=DN6BKxp;=~xp=ra--Vw<3BmsGRfkbxD!FWN8Q$g7XHT#=)9KHGeLymOa% z3J);LjVbBodS)wNW#H1Qn+n5M0MeBH=$taaNJ;tRmG}MY6Ms|C4VA7Jql& z1HIa}+y^Ed;@8|WES6n8*)XFib7TCQDeCkTTkK(Uoz_cCcYYy(?1s+UwX$p!|1$Y;S zHHJMo>bMq_^DCi--xB&?I?H**mw)5O#f6yfS=k<#ja^8==ih~tv5QA&kbz3rq!!D0 z!k3{pypdFE=kU>f%Y|t|qX*Mujt)!|Ld&kH(FD$<2@9Me4*9T0Ip~ufXFD<_u=hqB zNQlwhCHp@6?e~w_$1k5B{|3|V-rzJqa9RKWAOJ~3K~#90?45gDRAv6hKZAS-hkOVD Jw|oc!NOvYFBS8QF delta 1117 zcmV-j1fu)P{|UtZ36LazJbF}EbVOxyV{&P5bZKvH004NL#aqFS<2DRE&wPcky^f1` z+AVsSOR+_}P^E?-fT0tG04*KeS;te)rCcdbQf3zSw3I>0$- z!eX^%*;-p8Zv*CFsJw#8f+G$lgiC@29yp%#z>vu&AWjJzy%YdjM9AzjGJzB}{7NFO zWW3abOrM}Bw6O8lB9My?sM`;)*AJ;qKcrbbUc*9mPtX)v*!F7?pmUK9v;73bDPg;p z0>H?BVQ{_1?4F=0w6N{hB0$)Tu7J6kRQd`1(=;nekX(QmshO?v@bVPvhM*+)Lw~bd=H$u2IyN;P)qUG)_K$ z7FjU+2*>HMk6314;FXP`&`Q~|?n>1%aNlqx0qg-5-BSqcyfvE=x+uO9NmNs$t0^!w zEs5J|y9aKkCn)eH#fdSH(Ptzw#5O_ME~#d{Ap4+iwmAs*f(d;iv;iwpir`#Vx6p9Z)aN!07DXg;LqBBU1x$e=UN} z|5MczE7Xjp!Jju=NhByqYNKWX2`WxEAh?c`M8bcP;;bUwSw*U|iezUM-;-|#7JqNw z1HIa}+y^Ed;@8|WES6hbfS<%)%YaEc(3c$C#S1)`=+YDvsS5BO4r>d0a@27x zD(6>14ZkJyzx0*!dN0QhiwiN|vt_b9Fd4g$f=|B-DPtE;&>#bqut_bI^Mvn0Z+IiA z($3+7{gw;Ughmgh$s8S+D1;VWQ=18#NfQ=0MI7>3k8;olJ| diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 6de5fd2abf9b648f491b8c1d8c48b1a484ab1115..efbde0033efc749b84964ee2ec4fa0c31de5e61d 100644 GIT binary patch delta 1220 zcmV;#1Uvhh$pf9q1CS(tw0cxnbVOxyV{&P5bZKvH004NLomtCn<3WQxAoKy}T7-8I#%&$~aretY_{d;I=% ze_}0?;_hMh<+uL+ZV_AE?qT=G@Ar3(WpZ`>r&OxEd)R$)>;u<-Pxp6LwCo;s`}@0t zQsDLPE37Qk23e-+%0DyNHeV*gZPZJ&VyJTG*oSUX=J=tY&XOLtMkb{=ZQkS>)p?m5 zaIOCxyWbi-`g!waM^9$+y^NmB@nauj4gK&=yTCwd{VMQd-*S!Bk1on_k`J!QaT4B; z0!?I1*#RZI$SbLT?GAKoQ(CTUs+@o$Qmlk5Z|KN9glgZ7;aE)y09&pk?NqLAj+WJ? z&_3`iQ9yD>NyEgEl{|zsp}p=XX*h`{pQaZGT-eMi6$3w0l$sPH zHo~z=Y3JCO!dPa(fy3eisIWKqU%veZ3j{*?K~@8l=$4noszWAYbawqilL0uo^g~t zNgP~C?bYK90##DG2I8!R5&Jc!#dEtx3!9P-KzFm^hJ%-!0b!h!Il`(!8QAK`%5@mY z0`E!Ssz_>_IRdsabA|3akoZ7taWb>7P)eAYNAhidkLRe=S+Oi*YZ5d7&;YngH?1$s zP2GI?HTHQfRSai|?LPH_1A!0i0hM-UL^f`VRAnD$^c^_8rGbBC{e!Ol8_{ z4d}anAQ2|Vv3`D?x@Pqz@#rfG{ z+$#>|4HB?Bc>}`CE)}c;yvza7F<&|y#IRx!+zYAYh+$W4W-A7;NUJ!5;FGTd6@Rvc zQJMOVYQUg-9NKqCulXkS?UrTM$xt5F5{2Q|FB%sx<|5}v)yd%4hru|8riG#hpBA7k zy41v`TtB6Amz7JI6&Qf0b7x2iYN08#54U!$YGHdQhi4iXqO;D0_X5w%4dn)XvVccn7<+HOlu>AY$xVB$(mp+MtT zaF%b9W~_(10O6Og9F@JlcusJ-eH(-Q417_fQJIWGi>cCchc{jOjd)D`GbshOVmdz2 zrrjXyKkH&wGMkj!FV{^FTy!^4Xl>sF#RN@gZqHIDIhY&*AyrY ifGJ4-Gk5#E`}*T?_xSzk{$K35ix+5Wvf;Dd1iasztzc4zL5@=c-JMrKZwc^_^C9vblK!~+^UK%A@4L_6 z9`8@AMN-^7>^}Y0-`_1_tJ^*7{`md=&aq6cuK$!um3I%j4~~6*;QHbI&We`Z!)||n zcTftv{(Z&DLT$)0RagF*$+rDvGTf$~qZLDyJI6kBlQPG58FiNQxYaT##cA^SVo9|`xWRCCq7^~^KciII8LhEOS@B5akt-g0rj+4A|O^%cB zh7f3yHDw2+@FFjNq_#WIvF*}wWmDw@9FbxrWO+kJ?jfpuH-=+1DFEJbC25Cpb#t_= zHih5$XhNf;CZmAlj*^CnBP)4`HKD!kC}}u}CZDEf2rg`9m5RYn6s0D` z92?ZT zb;mizw#1%)Bzdl&%cE38wJ#c2*r3q}+;$+9(vGvzMTt*s?v$i`UPBq{Q4D1y_l%?L zN#fvAYOfw=5L8L+9Eh_PM#`@-EuPysTG*6y0J@u%8xCG_283}^<_N0_Wnil#E7xHp z3%n8ACC zxyhSPKWCrjQpIqV*zQv=ELi+pXsDFAuvpJ~fss-m&@>l7VsuJS#$8D~=R8><nGHJ<5V&k9>DpP;Z3;8)OT2&s50$wwC^}h5}6e##8jsJ zR)fBO3ld@HINNuNynwfXfqhq=qZQ02jP_k&^Y>TKD}trYoYl^}+_KU^^#;V9U zQgt#o_F*uNp=qJ$!KVdii!M2_Db`Qv+-2obW(5Y|>D(Dof?8+_?Zd6Llh(nc5GY!I z;E-$ewAEx?1)fu1EjDEKYVcau;pf=0sr}YX?YC{JWHKBiFj|27v_!Nl+R(J0(zz>@ z$=7yUa!Th_Q-9_36&&T8q#0}BE+G66mZP%wmy#14Zr|EqzXD$bX;dcT&|IqY)ZsnX zej|^Ge