From 47b16ab8a3ac206c83a47a2de9bb0fef8844c419 Mon Sep 17 00:00:00 2001 From: Alberyk Date: Sat, 27 Oct 2018 15:54:37 -0300 Subject: [PATCH] Adds the electric razor (#5415) -adds the electric razor, that allow you to shave the hair or beard of your target -fixes #5228 and any species transformation keeping the old hair in --- code/game/objects/items/weapons/cosmetics.dm | 104 +++++++++++++++++- code/game/objects/random/random.dm | 3 +- code/game/objects/structures/mirror.dm | 9 +- code/modules/mob/living/carbon/human/human.dm | 4 +- .../carbon/human/species/outsider/vox.dm | 5 +- .../living/carbon/human/species/species.dm | 10 +- .../carbon/human/species/station/station.dm | 9 ++ html/changelogs/alberyk-razor.yml | 6 + icons/obj/weapons.dmi | Bin 36762 -> 37049 bytes maps/aurora/aurora-6_surface.dmm | 1 + 10 files changed, 137 insertions(+), 14 deletions(-) create mode 100644 html/changelogs/alberyk-razor.yml diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index e874075aec2..42644981f32 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -21,7 +21,7 @@ /obj/item/weapon/lipstick/black name = "black lipstick" colour = "black" - + /obj/item/weapon/lipstick/pink name = "pink lipstick" colour = "pink" @@ -82,3 +82,105 @@ /obj/item/weapon/haircomb/attack_self(mob/user) user.visible_message("[user] uses [src] to comb their hair with incredible style and sophistication. What a [user.gender == FEMALE ? "lady" : "guy"].") + +/obj/item/weapon/razor + name = "electric razor" + desc = "The latest and greatest power razor born from the science of shaving." + icon = 'icons/obj/weapons.dmi' + icon_state = "razor" + w_class = 2 + +/obj/item/weapon/razor/proc/shave(mob/living/carbon/human/H, location) + if(location == "head") + H.h_style = H.species.default_h_style + else + H.f_style = H.species.default_f_style + + H.update_hair() + playsound(H, 'sound/items/welder2.ogg', 20, 1) + + +/obj/item/weapon/razor/attack(mob/M, mob/user, var/target_zone) + if(!ishuman(M)) + return ..() + + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/E = H.get_organ(target_zone) + + if(!E || E.is_stump()) + to_chat(user, "They are missing that limb!") + return FALSE + + if(!ishuman_species(H) && !istajara(H)) //you can only shave humans and tajara for obvious reasons + return FALSE + + + if(target_zone == "head") + if(H.head && (H.head.body_parts_covered & HEAD)) + to_chat(user, "\The [H.head] is in the way!") + return FALSE + + if(H.h_style == "Bald" || H.h_style == "Balding Hair" || H.h_style == "Skinhead" || H.h_style == "Tajaran Ears") + to_chat(user, "There is not enough hair left to shave!") + return FALSE + + if(H == user) //shaving yourself + user.visible_message("\The [user] starts to shave \his head with \the [src].", \ + "You start to shave your head with \the [src].") + if(do_mob(user, user, 20)) + user.visible_message("\The [user] shaves \his head with \the [src].", \ + "You finish shaving with \the [src].") + shave(H, target_zone) + + return TRUE + + else + user.visible_message("\The [user] tries to shave \the [H]'s head with \the [src]!", \ + "You start shaving [H]'s head.") + if(do_mob(user, H, 20)) + user.visible_message("\The [user] shaves \the [H]'s head bald with \the [src]!", \ + "You shave \the [H]'s head bald.") + shave(H, target_zone) + + return TRUE + + else if(target_zone == "mouth") + + if(H.head && (H.head.body_parts_covered & FACE)) + to_chat(user, "\The [H.head] is in the way!") + return FALSE + + if(H.wear_mask && (H.wear_mask.body_parts_covered & FACE)) + to_chat(user, "\The [H.wear_mask] is in the way!") + return FALSE + + if(H.f_style == "Shaved") + to_chat(user, "There is not enough facial hair left to shave!") + return FALSE + + if(H == user) //shaving yourself + user.visible_message("\The [user] starts to shave \his facial hair with \the [src].", \ + "You take a moment to shave your facial hair with \the [src].") + if(do_mob(user, user, 20)) + user.visible_message("\The [user] shaves \his facial hair clean with \the [src].", \ + "You finish shaving with \the [src].") + shave(H, target_zone) + + return TRUE + + else + user.visible_message("\The [user] tries to shave \the [H]'s facial hair with \the [src].", \ + "You start shaving [H]'s facial hair.") + if(do_mob(user, H, 20)) + user.visible_message("\The [user] shaves off \the [H]'s facial hair with \the [src].", \ + "You shave [H]'s facial hair clean off.") + shave(H, target_zone) + + return TRUE + + + else + to_chat(user, "You need to target the mouth or head to shave \the [H]!") + return + + diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 609135cfc40..3e92ff3ff85 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -823,7 +823,8 @@ /obj/item/weapon/reagent_containers/inhaler/hyperzine = 0.1, /obj/item/weapon/storage/box/pineapple = 0.1, /obj/item/weapon/flag/america = 0.1, - /obj/item/weapon/flag/america/l = 0.1 + /obj/item/weapon/flag/america/l = 0.1, + /obj/item/weapon/razor = 0.5 ) /obj/random/hoodie diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index e6fab23344f..c6256068c33 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -94,8 +94,7 @@ spawn(1) var/newname = sanitizeSafe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN) if(!newname || newname == "") - var/datum/language/L = all_languages[vox.species.default_language] - newname = L.get_random_name() + newname = user.species.get_random_name() vox.real_name = newname vox.name = vox.real_name raiders.update_access(vox) @@ -149,10 +148,6 @@ var/newname = sanitizeSafe(input(user,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN) if(!newname || newname == "") - var/datum/language/L = all_languages[user.species.default_language] - newname = L.get_random_name() + newname = user.species.get_random_name() user.fully_replace_character_name(user.real_name,newname) - user.h_style = "Short Vox Quills" - user.f_style = "Shaved" - user.update_hair(0) ..() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d6049c69055..8af640fe128 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1319,7 +1319,9 @@ nutrition_loss = HUNGER_FACTOR * species.nutrition_loss_factor hydration_loss = THIRST_FACTOR * species.hydration_loss_factor - + + species.set_default_hair(src) + if(species) return 1 else diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 4a2d3a64ac2..99e1f68b2dc 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -5,6 +5,7 @@ icobase = 'icons/mob/human_races/r_vox.dmi' deform = 'icons/mob/human_races/r_def_vox.dmi' language = LANGUAGE_VOX + name_language = LANGUAGE_VOX num_alternate_languages = 1 unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong) rarity_value = 4 @@ -67,9 +68,7 @@ move_trail = /obj/effect/decal/cleanable/blood/tracks/claw -/datum/species/vox/get_random_name(var/gender) - var/datum/language/species_language = all_languages[default_language] - return species_language.get_random_name(gender) + default_h_style = "Short Vox Quills" /datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index f2c54d73e55..82464b91966 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -196,6 +196,9 @@ var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints // What marks are left when walking + var/default_h_style = "Bald" + var/default_f_style = "Shaved" + /datum/species/proc/get_eyes(var/mob/living/carbon/human/H) return @@ -507,4 +510,9 @@ return move_trail /datum/species/proc/bullet_act(var/obj/item/projectile/P, var/def_zone, var/mob/living/carbon/human/H) - return 0 \ No newline at end of file + return 0 + +/datum/species/proc/set_default_hair(var/mob/living/carbon/human/H) + H.h_style = H.species.default_h_style + H.f_style = H.species.default_f_style + H.update_hair() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index bd90a4c06fe..68f73f3e739 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -189,6 +189,8 @@ move_trail = /obj/effect/decal/cleanable/blood/tracks/paw + default_h_style = "Tajaran Ears" + /datum/species/tajaran/equip_survival_gear(var/mob/living/carbon/human/H) ..() var/obj/item/clothing/shoes/sandal/S = new /obj/item/clothing/shoes/sandal(H) @@ -249,6 +251,13 @@ /datum/species/skrell/can_breathe_water() return TRUE +/datum/species/skrell/set_default_hair(var/mob/living/carbon/human/H) + if(H.gender == MALE) + H.h_style = "Skrell Male Tentacles" + else + H.h_style = "Skrell Female Tentacles" + H.update_hair() + /datum/species/diona name = "Diona" short_name = "dio" diff --git a/html/changelogs/alberyk-razor.yml b/html/changelogs/alberyk-razor.yml new file mode 100644 index 00000000000..91d6220df59 --- /dev/null +++ b/html/changelogs/alberyk-razor.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - rscadd: "Added an electric razor, you can find one in the locker room." diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index c870b0d58373a768b412a3f32d8fe1891e0581ee..0f3fbc54df88a37342c8649d19469f617fc3f72f 100644 GIT binary patch delta 16701 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