diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index c68a2d0ca6a..38543abc5a8 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -10,6 +10,66 @@ ////////// Usable Items ////////// ////////////////////////////////// +/obj/item/device/fluff/tattoo_gun // Generic tattoo gun, make subtypes for different folks + name = "dispoable tattoo pen" + desc = "A cheap plastic tattoo application pen." + icon = 'icons/obj/custom_items.dmi' + icon_state = "tatgun" + force = 0 + throwforce = 0 + w_class = 1.0 + var/used = 0 + var/tattoo_name = "tiger stripe tattoo" // Tat name for visible messages + var/tattoo_icon = "Tiger Body" // body_accessory.dmi, new icons defined in sprite_accessories.dm + var/tattoo_r = 1 // RGB values for the body markings + var/tattoo_g = 1 + var/tattoo_b = 1 + +/obj/item/device/fluff/tattoo_gun/attack(mob/living/carbon/M as mob, mob/user as mob) + if(user.a_intent == "harm") + user.visible_message("[user] stabs [M] with the [src]!", "You stab [M] with the [src]!") + M << "[user] stabs you with the [src]!
You feel a tiny prick!" + return + + if(used) + user << "The [src] is out of ink." + return + + if(!istype(M, /mob/living/carbon/human)) + user << "You don't think tattooing [M] is the best idea." + return + + var/mob/living/carbon/human/target = M + + if(istype(target.species, /datum/species/machine)) + user << "[target] has no skin, how do you expect to tattoo them?" + return + + if(target.m_style != "None") + user << "[target] already has body markings, any more would look silly!" + return + + if(target == user) + user << "You use the [src] to apply a [tattoo_name] to yourself!" + + else + user.visible_message("[user] begins to apply a [tattoo_name] [target] with the [src].", "You begin to tattoo [target] with the [src]!") + if(!do_after(user,30, target = M)) + return + user.visible_message("[user] finishes the [tattoo_name] on [target].", "You finish the [tattoo_name].") + + if(!used) // No exploiting do_after to tattoo multiple folks. + target.m_style = tattoo_icon + target.r_markings = tattoo_r + target.g_markings = tattoo_g + target.b_markings = tattoo_b + + target.update_markings() + + playsound(src.loc, 'sound/items/Welder2.ogg', 20, 1) + icon_state = "tatgun_used" + used = 1 + /obj/item/weapon/claymore/fluff // MrBarrelrolll: Maximus Greenwood name = "Greenwood's Blade" desc = "A replica claymore with strange markings scratched into the blade." @@ -185,17 +245,6 @@ icon_state = "stobarico_jacket" //////////// Uniforms //////////// -/obj/item/clothing/under/fluff/WornTurtleneck // DaveTheHeadcrab: Makkota Atani - name = "Worn Combat Turtleneck" - desc = "A worn out turtleneck with 'J.C. NSS Regnare' stitched on the inside of the collar. The tag reveals it to be 99% NanoCotton." - icon= 'icons/obj/clothing/uniforms.dmi' - icon_state = "syndicate" - item_state = "bl_suit" - item_color = "syndicate" - has_sensor = 1 // Jumpsuit has no sensor by default - displays_id = 0 // Purely astetic, the ID does not show up on the player sprite when equipped. Examining still reveals it. - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standard Security jumpsuit stats - /obj/item/clothing/under/fluff/kharshai // Kharshai: Athena Castile name = "Castile formal outfit" desc = "A white and gold formal uniform, accompanied by a small pin with the numbers '004' etched upon it." @@ -364,4 +413,26 @@ name = "combat pants" desc = "Medium style tactical pants, for the fashion aware combat units out there." icon_state = "chaps" - item_color = "combat_pants" \ No newline at end of file + item_color = "combat_pants" + +/obj/item/clothing/suit/jacket/fluff/windbreaker // DaveTheHeadcrab: Elliot Campbell + name = "nylon windbreaker" + desc = "A cheap nylon windbreaker, according to the tag it was manufactured in New Chiba, Earth.
The color reminds you of a television tuned to a dead channel." + icon = 'icons/obj/custom_items.dmi' + icon_state = "elliot_windbreaker" + item_state = "elliot_windbreaker" + adjust_flavour = "unzip" + +/obj/item/clothing/ears/earring/fluff/industrial_piercing + name = "industrial piercing and stud earring" + desc = "A set of ear piercings containing an industrial rod and a small stud. They appear to be made out of some form of non-magnetic metal." + icon = 'icons/obj/custom_items.dmi' + icon_state = "elliot_earring" + +/obj/item/device/fluff/tattoo_gun/cybernetic_tat + desc = "A cheap plastic tattoo application pen.
This one seems to have light blue ink." + tattoo_name = "circuitry tattoo" + tattoo_icon = "Elliot Circuit Tattoo" + tattoo_r = 100 + tattoo_g = 150 + tattoo_b = 255 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index b9230c9821f..07fe43107f9 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -389,14 +389,13 @@ var/global/list/damage_icon_parts = list() //base icons var/icon/markings_standing = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - if(m_style && (src.species.bodyflags & HAS_MARKINGS)) + if(m_style && m_style != "None") var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] - if(marking_style && marking_style.species_allowed) - if(src.species.name in marking_style.species_allowed) - var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") - if(marking_style.do_colouration) - markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) - markings_standing.Blend(markings_s, ICON_OVERLAY) + if(marking_style) + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + if(marking_style.do_colouration) + markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) + markings_standing.Blend(markings_s, ICON_OVERLAY) else //warning("Invalid m_style for [species.name]: [m_style]") diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 72d35aef201..60b28f69213 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1809,4 +1809,13 @@ /datum/sprite_accessory/body_markings/tigerheadface_una name = "Unathi Tiger Body + Head + Face" species_allowed = list("Unathi") - icon_state = "markings_tigerheadface_una" \ No newline at end of file + icon_state = "markings_tigerheadface_una" + +/datum/sprite_accessory/body_markings/tattoo // Tattoos applied post-round startup with tattoo guns in item_defines.dm + name = "base tattoo" + species_allowed = list() + icon_state = "accessory_none" + +/datum/sprite_accessory/body_markings/tattoo/elliot + name = "Elliot Circuit Tattoo" + icon_state = "campbell_tattoo" \ No newline at end of file diff --git a/icons/mob/body_accessory.dmi b/icons/mob/body_accessory.dmi index 92068cd07ac..1794a4782a3 100644 Binary files a/icons/mob/body_accessory.dmi and b/icons/mob/body_accessory.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 58bfe9fb07e..0b7a5921355 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index 5c077de67c9..ffb0f2097f7 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ