diff --git a/baystation12.dme b/baystation12.dme index aaa2864433..ec152e6857 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1291,6 +1291,7 @@ #include "code\WorkInProgress\Mini\ATM.dm" #include "code\WorkInProgress\Mini\atmos_control.dm" #include "code\WorkInProgress\Ported\policetape.dm" +#include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" #include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" #include "code\WorkInProgress\Susan\susan_desert_turfs.dm" #include "code\WorkInProgress\virus2\analyser.dm" diff --git a/code/WorkInProgress/SkyMarshal/officer_stuff.dm b/code/WorkInProgress/SkyMarshal/officer_stuff.dm new file mode 100644 index 0000000000..d57106d843 --- /dev/null +++ b/code/WorkInProgress/SkyMarshal/officer_stuff.dm @@ -0,0 +1,43 @@ + // Reference: http://www.teuse.net/personal/harrington/hh_bible.htm + // http://www.trmn.org/portal/images/uniforms/rmn/rmn_officer_srv_dress_lrg.png + +/obj/item/clothing/head/beret/centcom/officer + name = "officers beret" + desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces, announcing to the world that the wearer is a defender of NanoTrasen." + icon_state = "centcomofficerberet" + flags = FPRINT | TABLEPASS + +/obj/item/clothing/head/beret/centcom/captain + name = "captains beret" + desc = "A white beret adorned with the shield—a cobalt kite shield with an engraved sword—of the NanoTrasen security forces, worn only by those captaining a vessel of the NanoTrasen Navy." + icon_state = "centcomcaptain" + flags = FPRINT | TABLEPASS + +/obj/item/clothing/shoes/centcom + name = "dress shoes" + desc = "They appear impeccably polished." + icon_state = "laceups" + +/obj/item/clothing/under/rank/centcom/representative + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Ensign\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." + name = "\improper NanoTrasen Navy Uniform" + icon_state = "officer" + item_state = "g_suit" + color = "officer" + displays_id = 0 + +/obj/item/clothing/under/rank/centcom/officer + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." + name = "\improper NanoTrasen Officers Uniform" + icon_state = "officer" + item_state = "g_suit" + color = "officer" + displays_id = 0 + +/obj/item/clothing/under/rank/centcom/captain + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." + name = "\improper NanoTrasen Captains Uniform" + icon_state = "centcom" + item_state = "dg_suit" + color = "centcom" + displays_id = 0 \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index ef5c02be9a..9e9c8bf5c6 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -547,13 +547,14 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that "assassin", "death commando", "syndicate commando", - "centcom official", - "centcom commander", "special ops officer", "blue wizard", "red wizard", "marisa wizard", "emergency rescue team", + "nanotrasen representative", + "nanotrasen officer", + "nanotrasen captain" ) var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in dresspacks if (isnull(dresscode)) @@ -742,54 +743,79 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("syndicate commando") M.equip_syndicate_commando() - if("centcom official") - 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/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) + if("nanotrasen representative") + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/representative(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) + M.equip_if_possible(new /obj/item/device/radio/headset/heads/hop(M), slot_ears) var/obj/item/device/pda/heads/pda = new(M) pda.owner = M.real_name - pda.ownjob = "CentCom Review Official" + pda.ownjob = "NanoTrasen Navy Representative" pda.name = "PDA-[M.real_name] ([pda.ownjob])" - M.equip_to_slot_or_del(pda, slot_r_store) - - M.equip_to_slot_or_del(new /obj/item/weapon/clipboard(M), slot_l_hand) + M.equip_if_possible(pda, slot_r_store) + M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store) + M.equip_if_possible(new /obj/item/weapon/clipboard(M), slot_belt) var/obj/item/weapon/card/id/W = new(M) W.name = "[M.real_name]'s ID Card" W.icon_state = "centcom" + W.item_state = "id_inv" W.access = get_all_accesses() W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer") - W.assignment = "CentCom Review Official" + W.assignment = "NanoTrasen Navy Representative" W.registered_name = M.real_name - M.equip_to_slot_or_del(W, slot_wear_id) + M.equip_if_possible(W, slot_wear_id) - if("centcom commander") - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_commander(M), slot_w_uniform) - 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/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) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/mateba(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/ammo_magazine/a357(M), slot_l_store) + if("nanotrasen officer") + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/officer(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) + M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_ears) + M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head) - var/obj/item/weapon/card/id/W = new(M) + var/obj/item/device/pda/heads/pda = new(M) + pda.owner = M.real_name + pda.ownjob = "NanoTrasen Navy Officer" + pda.name = "PDA-[M.real_name] ([pda.ownjob])" + + M.equip_if_possible(pda, slot_r_store) + M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store) + M.equip_if_possible(new /obj/item/weapon/gun/energy(M), slot_belt) + + var/obj/item/weapon/card/id/centcom/W = new(M) W.name = "[M.real_name]'s ID Card" - W.icon_state = "centcom" W.access = get_all_accesses() W.access += get_all_centcom_access() - W.assignment = "CentCom Commanding Officer" + W.assignment = "NanoTrasen Navy Officer" W.registered_name = M.real_name - M.equip_to_slot_or_del(W, slot_wear_id) + M.equip_if_possible(W, slot_wear_id) + + + if("nanotrasen captain") + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/captain(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) + M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_ears) + M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/captain(M), slot_head) + + var/obj/item/device/pda/heads/pda = new(M) + pda.owner = M.real_name + pda.ownjob = "NanoTrasen Navy Captain" + pda.name = "PDA-[M.real_name] ([pda.ownjob])" + + M.equip_if_possible(pda, slot_r_store) + M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store) + M.equip_if_possible(new /obj/item/weapon/gun/energy(M), slot_belt) + + var/obj/item/weapon/card/id/centcom/W = new(M) + W.name = "[M.real_name]'s ID Card" + W.access = get_all_accesses() + W.access += get_all_centcom_access() + W.assignment = "NanoTrasen Navy Captain" + W.registered_name = M.real_name + M.equip_if_possible(W, slot_wear_id) if("emergency rescue team") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 88349d2075..7d8f1289ce 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -156,6 +156,7 @@ BLIND // can't see anything 3 = Report location */ var/obj/item/clothing/tie/hastie = null + var/displays_id = 1 /obj/item/clothing/under/attackby(obj/item/I, mob/user) if(!hastie && istype(I, /obj/item/clothing/tie)) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index e8d8525e7a..da0a999fdf 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -560,9 +560,13 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_wear_id(var/update_icons=1) if(wear_id) - overlays_lying[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id2") - overlays_standing[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id") wear_id.screen_loc = ui_id //TODO + if(w_uniform && w_uniform:displays_id) + overlays_lying[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id2") + overlays_standing[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id") + else + overlays_lying[ID_LAYER] = null + overlays_standing[ID_LAYER] = null else overlays_lying[ID_LAYER] = null overlays_standing[ID_LAYER] = null @@ -873,4 +877,4 @@ proc/get_damage_icon_part(damage_state, body_part) #undef R_HAND_LAYER #undef TAIL_LAYER #undef TARGETED_LAYER -#undef TOTAL_LAYERS +#undef TOTAL_LAYERS diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 6c07e1090c..7d7fcfdb6b 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 25683b36b0..940100057b 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 89731ab0c9..02f432f3dd 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index d4f7a2fcdc..a376ecab1b 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index c3b2d2284e..ea5a218804 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ