From 64013f94cb522520509bcd74d447463d2ea6dd32 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 12:40:02 -0500 Subject: [PATCH 01/38] Update parts.dm --- code/modules/surgery/bodyparts/parts.dm | 77 +++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index eee42c49afb0..1e40cb1fc148 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -81,6 +81,18 @@ acceptable_bodytype = BODYTYPE_MONKEY dmg_overlay_type = SPECIES_MONKEY +/obj/item/bodypart/chest/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_chest" + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = FALSE + is_dimorphic = FALSE + wound_resistance = 15 + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + acceptable_bodytype = BODYTYPE_WEREWOLF + dmg_overlay_type = SPECIES_WEREWOLF + /obj/item/bodypart/chest/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -254,6 +266,22 @@ unarmed_effectiveness = 0 appendage_noun = "paw" +/obj/item/bodypart/arm/left/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_l_arm" + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = FALSE + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + wound_resistance = 15 + dmg_overlay_type = SPECIES_WEREWOLF + unarmed_damage_low = 20 + unarmed_damage_high = 30 + unarmed_effectiveness = 10 + px_x = -6 + px_y = 0 + appendage_noun = "clawed hand" + /obj/item/bodypart/arm/left/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -351,6 +379,23 @@ unarmed_effectiveness = 0 appendage_noun = "paw" +/obj/item/bodypart/arm/right/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_r_arm" + limb_id = SPECIES_WEREWOLF + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + should_draw_greyscale = FALSE + wound_resistance = 15 + px_x = 6 + px_y = 0 + dmg_overlay_type = SPECIES_WEREWOLF + unarmed_damage_low = 20 + unarmed_damage_high = 30 + unarmed_effectiveness = 10 + appendage_noun = "clawed hand" + + /obj/item/bodypart/arm/right/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -463,6 +508,22 @@ unarmed_damage_high = 3 unarmed_effectiveness = 0 +/obj/item/bodypart/leg/left/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_l_leg" + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = FALSE + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + wound_resistance = 15 + px_x = -2 + px_y = 12 + dmg_overlay_type = SPECIES_WEREWOLF + unarmed_damage_low = 25 + unarmed_damage_high = 35 + unarmed_effectiveness = 10 + + /obj/item/bodypart/leg/left/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -551,6 +612,22 @@ unarmed_damage_high = 3 unarmed_effectiveness = 0 +/obj/item/bodypart/leg/right/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_r_leg" + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = FALSE + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + wound_resistance = 15 + px_x = 2 + px_y = 12 + dmg_overlay_type = SPECIES_WEREWOLF + unarmed_damage_low = 25 + unarmed_damage_high = 35 + unarmed_effectiveness = 10 + + /obj/item/bodypart/leg/right/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' From 1147b2ffa97bff15d278b43875fec51ce3a6d162 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 12:48:04 -0500 Subject: [PATCH 02/38] Update head.dm --- code/modules/surgery/bodyparts/head.dm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 0b953e49a877..587d3a28c3f0 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -218,6 +218,27 @@ is_dimorphic = FALSE head_flags = HEAD_LIPS|HEAD_DEBRAIN +/obj/item/bodypart/head/werewolf + icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' + icon_state = "werewolf_head" + limb_id = SPECIES_WEREWOLF + bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC + should_draw_greyscale = FALSE + dmg_overlay_type = SPECIES_WEREWOLF + is_dimorphic = FALSE + px_x = 0 + px_y = -8 + wound_resistance = 15 +unarmed_attack_verb = "bite" + unarmed_attack_effect = ATTACK_EFFECT_BITE + unarmed_attack_sound = 'sound/weapons/bite.ogg' + unarmed_miss_sound = 'sound/weapons/bite.ogg' + unarmed_damage_low = 50 + unarmed_damage_high = 60 + unarmed_effectiveness = 25 + head_flags = HEAD_LIPS|HEAD_DEBRAIN + /obj/item/bodypart/head/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' From d3c4aceb6e3019e311a75865ec942906fe4b1623 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:01:24 -0500 Subject: [PATCH 03/38] Update _tongue.dm --- .../surgery/organs/internal/tongue/_tongue.dm | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 1ef4d3238b74..bb30760f4f18 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -597,6 +597,40 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) /obj/item/organ/internal/tongue/ethereal/get_possible_languages() return ..() + /datum/language/voltaic +/obj/item/organ/internal/tongue/werewolf + name = "wolf tongue" + desc = "A large tongue that looks like a mix of a human's and a wolf's." + icon_state = "tonguewerewolf" + say_mod = "growls" + modifies_speech = TRUE + taste_sensitivity = 5 + liked_foodtypes = GROSS | MEAT | RAW | GORE + disliked_foodtypes = NONE + +/obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) + var/message = speech_args[SPEECH_MESSAGE] + if(message[1] != "*") + + // all occurrences of characters "eiou" (case-insensitive) are replaced with "r" + message = replacetext(message, regex(@"[eiou]", "ig"), "r") + // all characters other than "zhrgbmna .!?-" (case-insensitive) are stripped + message = replacetext(message, regex(@"[^zhrgbmna.!?-\s]", "ig"), "") + // multiple spaces are replaced with a single (whitespace is trimmed) + message = replacetext(message, regex(@"(\s+)", "g"), " ") + + var/list/old_words = splittext(message, " ") + var/list/new_words = list() + for(var/word in old_words) + // lower-case "r" at the end of words replaced with "rh" + word = replacetext(word, regex(@"\lr\b"), "rh") + // an "a" or "A" by itself will be replaced with "hra" + word = replacetext(word, regex(@"\b[Aa]\b"), "hra") + new_words += word + + message = new_words.Join(" ") + message = capitalize(message) + speech_args[SPEECH_MESSAGE] = message + /obj/item/organ/internal/tongue/cat name = "felinid tongue" desc = "A fleshy muscle mostly used for meowing." From dc8d141c9857123fe550613bac77b9ed2a17923c Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:05:58 -0500 Subject: [PATCH 04/38] Update _eyes.dm --- code/modules/surgery/organs/internal/eyes/_eyes.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index faee59d0cd13..bcb462c88698 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -262,6 +262,12 @@ sight_flags = SEE_MOBS color_cutoffs = list(25, 5, 42) +/obj/item/organ/internal/eyes/werewolf + name = "wolf eyes" + desc = "Large and powerful eyes." + sight_flags = SEE_MOBS + color_cutoffs = list(25, 5, 42) + /obj/item/organ/internal/eyes/golem name = "resonating crystal" icon_state = "adamantine_cords" From 14735efa946793d310d93d4cb04e62014c2ddc52 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:10:56 -0500 Subject: [PATCH 05/38] Update _ears.dm --- .../surgery/organs/internal/ears/_ears.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index e95cb94637e0..e37bc9c016f7 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -152,6 +152,24 @@ ear_owner.dna.species.mutant_bodyparts -= "ears" ear_owner.update_body() +/obj/item/organ/internal/ears/werewolf + name = "wolf ears" + icon_state = "kitty" + desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" + // Same sensitivity as felinid ears + damage_multiplier = 2 + +// The original idea was to use signals to do this not traits. Unfortunately, the star effect used for whispers applies before any relevant signals +// This seems like the least invasive solution +/obj/item/organ/internal/ears/werewolf/on_mob_insert(mob/living/carbon/ear_owner) + . = ..() + ADD_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + +/obj/item/organ/internal/ears/werewolf/on_mob_remove(mob/living/carbon/ear_owner) + . = ..() + REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + + /obj/item/organ/internal/ears/penguin name = "penguin ears" desc = "The source of a penguin's happy feet." From 116b5a360e3032316c25a04f1c5832a3102fa09d Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:26:47 -0500 Subject: [PATCH 06/38] Create werewolf --- code/datums/mutations/werewolf | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 code/datums/mutations/werewolf diff --git a/code/datums/mutations/werewolf b/code/datums/mutations/werewolf new file mode 100644 index 000000000000..7c68f1fac45a --- /dev/null +++ b/code/datums/mutations/werewolf @@ -0,0 +1,28 @@ +/datum/mutation/werewolf + var/list/old_parts = list() + +/datum/mutation/werewolf/proc/transform(mob/living/carbon/dude) + old_parts = dude.bodyparts.Copy() + + var/list/new_parts = list( + new /obj/item/bodypart/werewolf_r_leg, + new /obj/item/bodypart/werewolf_l_arm, + new /obj/item/bodypart/werewolf_l_leg, + new /obj/item/bodypart/werewolf_r_arm, + new /obj/item/bodypart/werewolf_chest, + new /obj/item/bodypart/werewolf_head, + ) + + for(var/obj/item/new_part as anything in new_parts) + new_part.replace_limb(dude, TRUE) + +/datum/mutation/werewolf/proc/detransform(mob/living/carbon/dude) + var/list/werewolf_parts = dude.bodyparts.Copy() + for(var/obj/item/old_part as anything in old_parts) + old_part.replace_limb(dude, TRUE) + if(length(old_parts)) + // handle parts which failed to re-attach + old_parts.Cut() + for(var/obj/item/werewolf_part as anything in werewolf_parts) + if(werewolf_part.owner != dude) + qdel(werewolf_part) From 8f1e35bc320880fd042d4fdeae0f0b4d31928e78 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:30:34 -0500 Subject: [PATCH 07/38] Rename werewolf to werewolf.dm --- code/datums/mutations/{werewolf => werewolf.dm} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename code/datums/mutations/{werewolf => werewolf.dm} (100%) diff --git a/code/datums/mutations/werewolf b/code/datums/mutations/werewolf.dm similarity index 100% rename from code/datums/mutations/werewolf rename to code/datums/mutations/werewolf.dm From 825321ee734e888b51d8fa2332143080917d7570 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:02:14 -0500 Subject: [PATCH 08/38] Update misc_bodyparts.dm --- .../bodyparts/species_parts/misc_bodyparts.dm | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index ab56084b8d1a..73dc2b396f0a 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -245,6 +245,79 @@ limb_id = SPECIES_PODPERSON burn_modifier = 1.25 +///WEREWOLF +/obj/item/bodypart/head/werewolf + limb_id = SPECIES_WEREWOLF + is_dimorphic = FALSE + burn_modifier = 1.25 + brute_modifier = 0.5 + unarmed_attack_verb = "bite" + unarmed_attack_effect = ATTACK_EFFECT_BITE + unarmed_attack_sound = 'sound/weapons/bite.ogg' + unarmed_miss_sound = 'sound/weapons/bite.ogg' + unarmed_damage_low = 50 + unarmed_damage_high = 60 + unarmed_effectiveness = 25 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN + +/obj/item/bodypart/chest/werewolf + limb_id = SPECIES_WEREWOLF + is_dimorphic = TRUE + burn_modifier = 1.25 + brute_modifier = 0.5 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + bodypart_traits = list(TRAIT_NO_JUMPSUIT) + wing_types = NONE + +/obj/item/bodypart/arm/left/werewolf + limb_id = SPECIES_WEREWOLF + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + unarmed_effectiveness = 20 + burn_modifier = 1.25 + brute_modifier = 0.5 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/arm/right/werewolf + limb_id = SPECIES_WEREWOLF + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + unarmed_effectiveness = 20 + burn_modifier = 1.25 + brute_modifier = 0.5 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/werewolf + limb_id = SPECIES_WEREWOLF + burn_modifier = 1.25 + brute_modifier = 0.5 + speed_modifier = 0.5 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/right/werewolf + limb_id = SPECIES_WEREWOLF + burn_modifier = 1.5 + brute_modifier = 0.5 + speed_modifier = 0.5 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + ///FLY /obj/item/bodypart/head/fly limb_id = SPECIES_FLYPERSON From e2d66c281a433560d018dcc202f19d6043afb475 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:03:18 -0500 Subject: [PATCH 09/38] Update _tongue.dm --- code/modules/surgery/organs/internal/tongue/_tongue.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index bb30760f4f18..d9cfa59751f7 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -605,7 +605,7 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) modifies_speech = TRUE taste_sensitivity = 5 liked_foodtypes = GROSS | MEAT | RAW | GORE - disliked_foodtypes = NONE + disliked_foodtypes = SWEETS /obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] From b03e5ff3cf2077549ed1f12a1284f23e9f491a75 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:06:16 -0500 Subject: [PATCH 10/38] Update head.dm --- code/modules/surgery/bodyparts/head.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 587d3a28c3f0..bb5d330a478b 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -230,7 +230,7 @@ px_x = 0 px_y = -8 wound_resistance = 15 -unarmed_attack_verb = "bite" + unarmed_attack_verb = "bite" unarmed_attack_effect = ATTACK_EFFECT_BITE unarmed_attack_sound = 'sound/weapons/bite.ogg' unarmed_miss_sound = 'sound/weapons/bite.ogg' From 5a7de77f4db39ba121c5ce91acead80b0ac878de Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:15:19 -0500 Subject: [PATCH 11/38] Update misc_bodyparts.dm --- .../bodyparts/species_parts/misc_bodyparts.dm | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index 73dc2b396f0a..4e47a7de7748 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -249,8 +249,8 @@ /obj/item/bodypart/head/werewolf limb_id = SPECIES_WEREWOLF is_dimorphic = FALSE - burn_modifier = 1.25 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 unarmed_attack_verb = "bite" unarmed_attack_effect = ATTACK_EFFECT_BITE unarmed_attack_sound = 'sound/weapons/bite.ogg' @@ -265,8 +265,8 @@ /obj/item/bodypart/chest/werewolf limb_id = SPECIES_WEREWOLF is_dimorphic = TRUE - burn_modifier = 1.25 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) bodypart_traits = list(TRAIT_NO_JUMPSUIT) @@ -282,8 +282,8 @@ unarmed_damage_low = 20 unarmed_damage_high = 25 unarmed_effectiveness = 20 - burn_modifier = 1.25 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) @@ -297,25 +297,29 @@ unarmed_damage_low = 20 unarmed_damage_high = 25 unarmed_effectiveness = 20 - burn_modifier = 1.25 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) /obj/item/bodypart/leg/left/werewolf limb_id = SPECIES_WEREWOLF - burn_modifier = 1.25 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 speed_modifier = 0.5 dmg_overlay_type = null + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + footstep_type = FOOTSTEP_MOB_CLAW biological_state = (BIO_FLESH|BIO_BLOODED) /obj/item/bodypart/leg/right/werewolf limb_id = SPECIES_WEREWOLF - burn_modifier = 1.5 - brute_modifier = 0.5 + burn_modifier = 0.75 + brute_modifier = 0.25 speed_modifier = 0.5 dmg_overlay_type = null + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + footstep_type = FOOTSTEP_MOB_CLAW biological_state = (BIO_FLESH|BIO_BLOODED) ///FLY From edf02c9897c14be7d4da12b732cf13582ba66473 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:23:13 -0500 Subject: [PATCH 12/38] Update head.dm --- code/modules/surgery/bodyparts/head.dm | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index bb5d330a478b..0b953e49a877 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -218,27 +218,6 @@ is_dimorphic = FALSE head_flags = HEAD_LIPS|HEAD_DEBRAIN -/obj/item/bodypart/head/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_head" - limb_id = SPECIES_WEREWOLF - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - should_draw_greyscale = FALSE - dmg_overlay_type = SPECIES_WEREWOLF - is_dimorphic = FALSE - px_x = 0 - px_y = -8 - wound_resistance = 15 - unarmed_attack_verb = "bite" - unarmed_attack_effect = ATTACK_EFFECT_BITE - unarmed_attack_sound = 'sound/weapons/bite.ogg' - unarmed_miss_sound = 'sound/weapons/bite.ogg' - unarmed_damage_low = 50 - unarmed_damage_high = 60 - unarmed_effectiveness = 25 - head_flags = HEAD_LIPS|HEAD_DEBRAIN - /obj/item/bodypart/head/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' From e268dbdb7c8a5ee0f532d1fb1181ef05cbb8b732 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:24:06 -0500 Subject: [PATCH 13/38] Update parts.dm --- code/modules/surgery/bodyparts/parts.dm | 77 ------------------------- 1 file changed, 77 deletions(-) diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 1e40cb1fc148..eee42c49afb0 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -81,18 +81,6 @@ acceptable_bodytype = BODYTYPE_MONKEY dmg_overlay_type = SPECIES_MONKEY -/obj/item/bodypart/chest/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_chest" - limb_id = SPECIES_WEREWOLF - should_draw_greyscale = FALSE - is_dimorphic = FALSE - wound_resistance = 15 - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - acceptable_bodytype = BODYTYPE_WEREWOLF - dmg_overlay_type = SPECIES_WEREWOLF - /obj/item/bodypart/chest/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -266,22 +254,6 @@ unarmed_effectiveness = 0 appendage_noun = "paw" -/obj/item/bodypart/arm/left/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_l_arm" - limb_id = SPECIES_WEREWOLF - should_draw_greyscale = FALSE - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - wound_resistance = 15 - dmg_overlay_type = SPECIES_WEREWOLF - unarmed_damage_low = 20 - unarmed_damage_high = 30 - unarmed_effectiveness = 10 - px_x = -6 - px_y = 0 - appendage_noun = "clawed hand" - /obj/item/bodypart/arm/left/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -379,23 +351,6 @@ unarmed_effectiveness = 0 appendage_noun = "paw" -/obj/item/bodypart/arm/right/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_r_arm" - limb_id = SPECIES_WEREWOLF - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - should_draw_greyscale = FALSE - wound_resistance = 15 - px_x = 6 - px_y = 0 - dmg_overlay_type = SPECIES_WEREWOLF - unarmed_damage_low = 20 - unarmed_damage_high = 30 - unarmed_effectiveness = 10 - appendage_noun = "clawed hand" - - /obj/item/bodypart/arm/right/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -508,22 +463,6 @@ unarmed_damage_high = 3 unarmed_effectiveness = 0 -/obj/item/bodypart/leg/left/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_l_leg" - limb_id = SPECIES_WEREWOLF - should_draw_greyscale = FALSE - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - wound_resistance = 15 - px_x = -2 - px_y = 12 - dmg_overlay_type = SPECIES_WEREWOLF - unarmed_damage_low = 25 - unarmed_damage_high = 35 - unarmed_effectiveness = 10 - - /obj/item/bodypart/leg/left/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' @@ -612,22 +551,6 @@ unarmed_damage_high = 3 unarmed_effectiveness = 0 -/obj/item/bodypart/leg/right/werewolf - icon = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_static = 'icons/mob/human/species/werewolf/bodyparts.dmi' - icon_state = "werewolf_r_leg" - limb_id = SPECIES_WEREWOLF - should_draw_greyscale = FALSE - bodytype = BODYTYPE_WEREWOLF | BODYTYPE_ORGANIC - wound_resistance = 15 - px_x = 2 - px_y = 12 - dmg_overlay_type = SPECIES_WEREWOLF - unarmed_damage_low = 25 - unarmed_damage_high = 35 - unarmed_effectiveness = 10 - - /obj/item/bodypart/leg/right/alien icon = 'icons/mob/human/species/alien/bodyparts.dmi' icon_static = 'icons/mob/human/species/alien/bodyparts.dmi' From 2bb6e9ae02addc0047400680e45b666fff8283b2 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:27:42 -0500 Subject: [PATCH 14/38] Update misc_bodyparts.dm --- code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index 4e47a7de7748..e1aa544abed4 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -285,6 +285,7 @@ burn_modifier = 0.75 brute_modifier = 0.25 dmg_overlay_type = null + bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) /obj/item/bodypart/arm/right/werewolf @@ -300,6 +301,7 @@ burn_modifier = 0.75 brute_modifier = 0.25 dmg_overlay_type = null + bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) /obj/item/bodypart/leg/left/werewolf From 01b725bb699e2f96c972a3f5cd7ffaeb40d7e0eb Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:34:25 -0500 Subject: [PATCH 15/38] Update _tongue.dm --- code/modules/surgery/organs/internal/tongue/_tongue.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index d9cfa59751f7..0798cd000dc2 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -605,7 +605,7 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) modifies_speech = TRUE taste_sensitivity = 5 liked_foodtypes = GROSS | MEAT | RAW | GORE - disliked_foodtypes = SWEETS + disliked_foodtypes = SUGAR /obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] From 14c86d36cf92ea763af8f5387f6dfcfdab5a7ca1 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Mon, 12 Aug 2024 21:24:50 -0500 Subject: [PATCH 16/38] Update werewolf.dm --- code/datums/mutations/werewolf.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/datums/mutations/werewolf.dm b/code/datums/mutations/werewolf.dm index 7c68f1fac45a..e6fce4808415 100644 --- a/code/datums/mutations/werewolf.dm +++ b/code/datums/mutations/werewolf.dm @@ -11,6 +11,9 @@ new /obj/item/bodypart/werewolf_r_arm, new /obj/item/bodypart/werewolf_chest, new /obj/item/bodypart/werewolf_head, + new /obj/item/organ/internal/ears/werewolf, + new /obj/item/organ/internal/eyes/werewolf, + new /obj/item/organ/internal/tongue/werewolf, ) for(var/obj/item/new_part as anything in new_parts) From 414cd6cd20c68347866a890b249abc21c0d510de Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Tue, 13 Aug 2024 23:17:02 -0500 Subject: [PATCH 17/38] Create werewolf.dm --- .../carbon/human/species_types/werewolf.dm | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 code/modules/mob/living/carbon/human/species_types/werewolf.dm diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm new file mode 100644 index 000000000000..cf793d286213 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -0,0 +1,46 @@ +/datum/species/werewolf + name = "werewolf" + id = SPECIES_WEREWOLF + inherent_traits = list( + TRAIT_USES_SKINTONES, + ) + mutanttongue = /obj/item/organ/internal/tongue/werewolf + mutantears = /obj/item/organ/internal/ears/werewolf + mutanteyes = /obj/item/organ/internal/eyes/werewolf + external_organs = list( + /obj/item/organ/external/tail/cat = "Fox", + skinned_type = /obj/item/stack/sheet/animalhide/human + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + payday_modifier = 1.1 + +/datum/species/werewolf/prepare_werewolf_for_preview(mob/living/carbon/werewolf/werewolf) + human.set_haircolor("#bb9966", update = FALSE) // brown + human.set_hairstyle("Business Hair", update = TRUE) + + +/datum/species/werewolf/get_species_description() + return "N/A" + +/datum/species/human/get_species_lore() + return list( + "N/A", + ) + +/datum/species/werewolf/create_pref_unique_perks() + var/list/to_add = list() + + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "paw", + SPECIES_PERK_NAME = "Primal Primate", + SPECIES_PERK_DESC = "Werewolves are monstrous humans, and can't do most things a human can do. Computers are impossible, \ + complex machines are right out, and most clothes don't fit your smaller form.", + )) + + to_add += list(list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "assistive-listening-systems", + SPECIES_PERK_NAME = "Sensitive Hearing", + SPECIES_PERK_DESC = "Werewolves are more sensitive to loud sounds, such as flashbangs.", + )) + + return to_add From 9049fe59747122d8a3ef36728c8d0e941d2138cf Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:12:45 -0500 Subject: [PATCH 18/38] Update mobs.dm --- code/__DEFINES/mobs.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index df2972091008..4fa2aec4af32 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -127,6 +127,7 @@ #define SPECIES_PODPERSON "pod" #define SPECIES_SHADOW "shadow" #define SPECIES_SKELETON "skeleton" +#define SPECIES_WEREWOLF "werewolf" #define SPECIES_SNAIL "snail" #define SPECIES_VAMPIRE "vampire" #define SPECIES_ZOMBIE "zombie" From 74164d3921644710902e194039a304290370a9e1 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:19:41 -0500 Subject: [PATCH 19/38] Update maplestation.dme --- maplestation.dme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/maplestation.dme b/maplestation.dme index 9b8f1c2f49dd..f76f4ef4ae6e 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -1612,6 +1612,7 @@ #include "code\datums\mutations\touch.dm" #include "code\datums\mutations\void_magnet.dm" #include "code\datums\mutations\webbing.dm" +#include "code\datums\mutations\werewolf.dm" #include "code\datums\proximity_monitor\field.dm" #include "code\datums\proximity_monitor\proximity_monitor.dm" #include "code\datums\proximity_monitor\fields\gravity.dm" @@ -4872,6 +4873,7 @@ #include "code\modules\mob\living\carbon\human\species_types\skeletons.dm" #include "code\modules\mob\living\carbon\human\species_types\snail.dm" #include "code\modules\mob\living\carbon\human\species_types\vampire.dm" +#include "code\modules\mob\living\carbon\human\species_types\werewolf.dm" #include "code\modules\mob\living\carbon\human\species_types\zombies.dm" #include "code\modules\mob\living\silicon\damage_procs.dm" #include "code\modules\mob\living\silicon\death.dm" From 5a231691acf77a17a98e6cf47f944dbd412cf597 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:39:01 -0500 Subject: [PATCH 20/38] Update werewolf.dm --- .../mob/living/carbon/human/species_types/werewolf.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index cf793d286213..38a4537f4170 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -6,9 +6,10 @@ ) mutanttongue = /obj/item/organ/internal/tongue/werewolf mutantears = /obj/item/organ/internal/ears/werewolf - mutanteyes = /obj/item/organ/internal/eyes/werewolf + mutanteyes = /obj/item/organ/internal/eyes/werewolf external_organs = list( /obj/item/organ/external/tail/cat = "Fox", + ) skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.1 @@ -17,7 +18,6 @@ human.set_haircolor("#bb9966", update = FALSE) // brown human.set_hairstyle("Business Hair", update = TRUE) - /datum/species/werewolf/get_species_description() return "N/A" @@ -29,7 +29,8 @@ /datum/species/werewolf/create_pref_unique_perks() var/list/to_add = list() - SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + to_add += list(list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "paw", SPECIES_PERK_NAME = "Primal Primate", SPECIES_PERK_DESC = "Werewolves are monstrous humans, and can't do most things a human can do. Computers are impossible, \ From c2025053788b77d2f7a8d1b7d77ac38e2d603810 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:47:09 -0500 Subject: [PATCH 21/38] Update werewolf.dm --- code/modules/mob/living/carbon/human/species_types/werewolf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 38a4537f4170..99294864579c 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -8,7 +8,7 @@ mutantears = /obj/item/organ/internal/ears/werewolf mutanteyes = /obj/item/organ/internal/eyes/werewolf external_organs = list( - /obj/item/organ/external/tail/cat = "Fox", + /obj/item/organ/external/tail/cat = "Cat", ) skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT From 39c86111b9207a91aafaaaf0d2b4367eff4e44df Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:58:55 -0500 Subject: [PATCH 22/38] Update werewolf.dm --- code/modules/mob/living/carbon/human/species_types/werewolf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 99294864579c..9e9bb21043d6 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -6,7 +6,7 @@ ) mutanttongue = /obj/item/organ/internal/tongue/werewolf mutantears = /obj/item/organ/internal/ears/werewolf - mutanteyes = /obj/item/organ/internal/eyes/werewolf + mutanteyes = /obj/item/organ/internal/eyes/werewolf external_organs = list( /obj/item/organ/external/tail/cat = "Cat", ) From 363eb9aa1887b62b959cf89ddfae68c3b858fc54 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:05:53 -0500 Subject: [PATCH 23/38] Update werewolf.dm --- code/modules/mob/living/carbon/human/species_types/werewolf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 9e9bb21043d6..899de234421d 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -14,7 +14,7 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.1 -/datum/species/werewolf/prepare_werewolf_for_preview(mob/living/carbon/werewolf/werewolf) +/datum/species/werewolf/prepare_human_for_preview(mob/living/carbon/human/human_for_preview) human.set_haircolor("#bb9966", update = FALSE) // brown human.set_hairstyle("Business Hair", update = TRUE) From faec84bd82fbf621e35dd263a4ab830859aae656 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:11:21 -0500 Subject: [PATCH 24/38] Update werewolf.dm --- .../mob/living/carbon/human/species_types/werewolf.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 899de234421d..ed7c8eb2e96c 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -29,15 +29,15 @@ /datum/species/werewolf/create_pref_unique_perks() var/list/to_add = list() - to_add += list(list( + to_add += list( + list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "paw", SPECIES_PERK_NAME = "Primal Primate", SPECIES_PERK_DESC = "Werewolves are monstrous humans, and can't do most things a human can do. Computers are impossible, \ - complex machines are right out, and most clothes don't fit your smaller form.", - )) - - to_add += list(list( + complex machines are right out, and most clothes don't fit your larger form.", + ), + list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "assistive-listening-systems", SPECIES_PERK_NAME = "Sensitive Hearing", From cd36053c5a6b24f98bba53489e05e62d1678c3c0 Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:17:12 -0500 Subject: [PATCH 25/38] Update misc_bodyparts.dm --- .../bodyparts/species_parts/misc_bodyparts.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index e1aa544abed4..aaec4ba545e4 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -246,7 +246,7 @@ burn_modifier = 1.25 ///WEREWOLF -/obj/item/bodypart/head/werewolf +/obj/item/bodypart/werewolf_head limb_id = SPECIES_WEREWOLF is_dimorphic = FALSE burn_modifier = 0.75 @@ -262,7 +262,7 @@ biological_state = (BIO_FLESH|BIO_BLOODED) head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN -/obj/item/bodypart/chest/werewolf +/obj/item/bodypart/werewolf_chest limb_id = SPECIES_WEREWOLF is_dimorphic = TRUE burn_modifier = 0.75 @@ -272,7 +272,7 @@ bodypart_traits = list(TRAIT_NO_JUMPSUIT) wing_types = NONE -/obj/item/bodypart/arm/left/werewolf +/obj/item/bodypart/werewolf_l_arm limb_id = SPECIES_WEREWOLF unarmed_attack_verb = "slash" grappled_attack_verb = "lacerate" @@ -288,7 +288,7 @@ bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/arm/right/werewolf +/obj/item/bodypart/werewolf_r_arm limb_id = SPECIES_WEREWOLF unarmed_attack_verb = "slash" grappled_attack_verb = "lacerate" @@ -304,7 +304,7 @@ bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/leg/left/werewolf +/obj/item/bodypart/werewolf_l_leg limb_id = SPECIES_WEREWOLF burn_modifier = 0.75 brute_modifier = 0.25 @@ -314,7 +314,7 @@ footstep_type = FOOTSTEP_MOB_CLAW biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/leg/right/werewolf +/obj/item/bodypart/werewolf_r_leg limb_id = SPECIES_WEREWOLF burn_modifier = 0.75 brute_modifier = 0.25 From 07a3fada31f5be058e193356bbd720d46ba7c9fd Mon Sep 17 00:00:00 2001 From: Carmine <104859726+Bluedino1025@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:19:04 -0500 Subject: [PATCH 26/38] Update werewolf.dm --- code/datums/mutations/werewolf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/mutations/werewolf.dm b/code/datums/mutations/werewolf.dm index e6fce4808415..ba9e9391c08d 100644 --- a/code/datums/mutations/werewolf.dm +++ b/code/datums/mutations/werewolf.dm @@ -16,7 +16,7 @@ new /obj/item/organ/internal/tongue/werewolf, ) - for(var/obj/item/new_part as anything in new_parts) + for(var/obj/item/bodypart/new_part as anything in new_parts) new_part.replace_limb(dude, TRUE) /datum/mutation/werewolf/proc/detransform(mob/living/carbon/dude) From 8f89e24ffd908c7f362e9bf0d5350e2ffc12813c Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sat, 17 Aug 2024 19:08:04 -0500 Subject: [PATCH 27/38] extreme agony --- code/datums/mutations/werewolf.dm | 31 ----------------- .../carbon/human/species_types/werewolf.dm | 21 +++++++++++- .../bodyparts/species_parts/misc_bodyparts.dm | 33 ++++++++++--------- maplestation.dme | 1 - 4 files changed, 37 insertions(+), 49 deletions(-) delete mode 100644 code/datums/mutations/werewolf.dm diff --git a/code/datums/mutations/werewolf.dm b/code/datums/mutations/werewolf.dm deleted file mode 100644 index ba9e9391c08d..000000000000 --- a/code/datums/mutations/werewolf.dm +++ /dev/null @@ -1,31 +0,0 @@ -/datum/mutation/werewolf - var/list/old_parts = list() - -/datum/mutation/werewolf/proc/transform(mob/living/carbon/dude) - old_parts = dude.bodyparts.Copy() - - var/list/new_parts = list( - new /obj/item/bodypart/werewolf_r_leg, - new /obj/item/bodypart/werewolf_l_arm, - new /obj/item/bodypart/werewolf_l_leg, - new /obj/item/bodypart/werewolf_r_arm, - new /obj/item/bodypart/werewolf_chest, - new /obj/item/bodypart/werewolf_head, - new /obj/item/organ/internal/ears/werewolf, - new /obj/item/organ/internal/eyes/werewolf, - new /obj/item/organ/internal/tongue/werewolf, - ) - - for(var/obj/item/bodypart/new_part as anything in new_parts) - new_part.replace_limb(dude, TRUE) - -/datum/mutation/werewolf/proc/detransform(mob/living/carbon/dude) - var/list/werewolf_parts = dude.bodyparts.Copy() - for(var/obj/item/old_part as anything in old_parts) - old_part.replace_limb(dude, TRUE) - if(length(old_parts)) - // handle parts which failed to re-attach - old_parts.Cut() - for(var/obj/item/werewolf_part as anything in werewolf_parts) - if(werewolf_part.owner != dude) - qdel(werewolf_part) diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/code/modules/mob/living/carbon/human/species_types/werewolf.dm index ed7c8eb2e96c..0c40c2b6218f 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -3,18 +3,37 @@ id = SPECIES_WEREWOLF inherent_traits = list( TRAIT_USES_SKINTONES, + TRAIT_NO_UNDERWEAR, + TRAIT_NO_AUGMENTS, ) mutanttongue = /obj/item/organ/internal/tongue/werewolf mutantears = /obj/item/organ/internal/ears/werewolf mutanteyes = /obj/item/organ/internal/eyes/werewolf + mutantbrain = /obj/item/organ/internal/brain/werewolf external_organs = list( /obj/item/organ/external/tail/cat = "Cat", ) skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE payday_modifier = 1.1 -/datum/species/werewolf/prepare_human_for_preview(mob/living/carbon/human/human_for_preview) + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/werewolf, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/werewolf, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/werewolf, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/werewolf, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/werewolf, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/werewolf, + ) + +/obj/item/organ/internal/brain/werewolf/get_attacking_limb(mob/living/carbon/human/target) + organ_traits = list(TRAIT_PRIMITIVE) + if(target.body_position == LYING_DOWN) + return owner.get_bodypart(BODY_ZONE_HEAD) + return ..() + +/datum/species/werewolf/prepare_human_for_preview(mob/living/carbon/human/human) human.set_haircolor("#bb9966", update = FALSE) // brown human.set_hairstyle("Business Hair", update = TRUE) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index aaec4ba545e4..c1c77805e8a2 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -246,33 +246,34 @@ burn_modifier = 1.25 ///WEREWOLF -/obj/item/bodypart/werewolf_head +/obj/item/bodypart/head/werewolf limb_id = SPECIES_WEREWOLF is_dimorphic = FALSE burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 unarmed_attack_verb = "bite" + grappled_attack_verb = "mauls" unarmed_attack_effect = ATTACK_EFFECT_BITE unarmed_attack_sound = 'sound/weapons/bite.ogg' unarmed_miss_sound = 'sound/weapons/bite.ogg' - unarmed_damage_low = 50 - unarmed_damage_high = 60 - unarmed_effectiveness = 25 + unarmed_damage_low = 60 + unarmed_damage_high = 75 + unarmed_effectiveness = 50 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN -/obj/item/bodypart/werewolf_chest +/obj/item/bodypart/chest/werewolf limb_id = SPECIES_WEREWOLF is_dimorphic = TRUE burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) - bodypart_traits = list(TRAIT_NO_JUMPSUIT) + bodypart_traits = list(TRAIT_NO_JUMPSUIT, TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE) wing_types = NONE -/obj/item/bodypart/werewolf_l_arm +/obj/item/bodypart/arm/left/werewolf limb_id = SPECIES_WEREWOLF unarmed_attack_verb = "slash" grappled_attack_verb = "lacerate" @@ -283,12 +284,12 @@ unarmed_damage_high = 25 unarmed_effectiveness = 20 burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 dmg_overlay_type = null bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/werewolf_r_arm +/obj/item/bodypart/arm/right/werewolf limb_id = SPECIES_WEREWOLF unarmed_attack_verb = "slash" grappled_attack_verb = "lacerate" @@ -299,25 +300,25 @@ unarmed_damage_high = 25 unarmed_effectiveness = 20 burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 dmg_overlay_type = null bodypart_traits = list(TRAIT_CHUNKYFINGERS) biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/werewolf_l_leg +/obj/item/bodypart/leg/left/werewolf limb_id = SPECIES_WEREWOLF burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 speed_modifier = 0.5 dmg_overlay_type = null bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE footstep_type = FOOTSTEP_MOB_CLAW biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/werewolf_r_leg +/obj/item/bodypart/leg/right/werewolf limb_id = SPECIES_WEREWOLF burn_modifier = 0.75 - brute_modifier = 0.25 + brute_modifier = 0.25 speed_modifier = 0.5 dmg_overlay_type = null bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE diff --git a/maplestation.dme b/maplestation.dme index f76f4ef4ae6e..59b1a80b0f71 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -1612,7 +1612,6 @@ #include "code\datums\mutations\touch.dm" #include "code\datums\mutations\void_magnet.dm" #include "code\datums\mutations\webbing.dm" -#include "code\datums\mutations\werewolf.dm" #include "code\datums\proximity_monitor\field.dm" #include "code\datums\proximity_monitor\proximity_monitor.dm" #include "code\datums\proximity_monitor\fields\gravity.dm" From 6aafb3b4eb2ff3eff12b4b54f03371e203a183b2 Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 02:21:23 -0500 Subject: [PATCH 28/38] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --- .../bodyparts/species_parts/misc_bodyparts.dm | 80 ------------ .../surgery/organs/internal/ears/_ears.dm | 18 --- .../surgery/organs/internal/eyes/_eyes.dm | 6 - .../surgery/organs/internal/tongue/_tongue.dm | 34 ----- maplestation.dme | 1 - .../carbon/human/species_types/werewolf.dm | 8 +- .../code/modules/surgery/organs/ears.dm | 10 ++ .../code/modules/surgery/organs/eyes.dm | 6 + .../modules/surgery/organs/misc_bodyparts.dm | 121 ++++++++++++++++++ .../code/modules/surgery/organs/tongue.dm | 34 +++++ .../icons/mob/bodyparts_greyscale.dmi | Bin 0 -> 1578 bytes 11 files changed, 176 insertions(+), 142 deletions(-) rename {code => maplestation_modules/code}/modules/mob/living/carbon/human/species_types/werewolf.dm (92%) create mode 100644 maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm create mode 100644 maplestation_modules/icons/mob/bodyparts_greyscale.dmi diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index c1c77805e8a2..ab56084b8d1a 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -245,86 +245,6 @@ limb_id = SPECIES_PODPERSON burn_modifier = 1.25 -///WEREWOLF -/obj/item/bodypart/head/werewolf - limb_id = SPECIES_WEREWOLF - is_dimorphic = FALSE - burn_modifier = 0.75 - brute_modifier = 0.25 - unarmed_attack_verb = "bite" - grappled_attack_verb = "mauls" - unarmed_attack_effect = ATTACK_EFFECT_BITE - unarmed_attack_sound = 'sound/weapons/bite.ogg' - unarmed_miss_sound = 'sound/weapons/bite.ogg' - unarmed_damage_low = 60 - unarmed_damage_high = 75 - unarmed_effectiveness = 50 - dmg_overlay_type = null - biological_state = (BIO_FLESH|BIO_BLOODED) - head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN - -/obj/item/bodypart/chest/werewolf - limb_id = SPECIES_WEREWOLF - is_dimorphic = TRUE - burn_modifier = 0.75 - brute_modifier = 0.25 - dmg_overlay_type = null - biological_state = (BIO_FLESH|BIO_BLOODED) - bodypart_traits = list(TRAIT_NO_JUMPSUIT, TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE) - wing_types = NONE - -/obj/item/bodypart/arm/left/werewolf - limb_id = SPECIES_WEREWOLF - unarmed_attack_verb = "slash" - grappled_attack_verb = "lacerate" - unarmed_attack_effect = ATTACK_EFFECT_CLAW - unarmed_attack_sound = 'sound/weapons/slice.ogg' - unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' - unarmed_damage_low = 20 - unarmed_damage_high = 25 - unarmed_effectiveness = 20 - burn_modifier = 0.75 - brute_modifier = 0.25 - dmg_overlay_type = null - bodypart_traits = list(TRAIT_CHUNKYFINGERS) - biological_state = (BIO_FLESH|BIO_BLOODED) - -/obj/item/bodypart/arm/right/werewolf - limb_id = SPECIES_WEREWOLF - unarmed_attack_verb = "slash" - grappled_attack_verb = "lacerate" - unarmed_attack_effect = ATTACK_EFFECT_CLAW - unarmed_attack_sound = 'sound/weapons/slice.ogg' - unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' - unarmed_damage_low = 20 - unarmed_damage_high = 25 - unarmed_effectiveness = 20 - burn_modifier = 0.75 - brute_modifier = 0.25 - dmg_overlay_type = null - bodypart_traits = list(TRAIT_CHUNKYFINGERS) - biological_state = (BIO_FLESH|BIO_BLOODED) - -/obj/item/bodypart/leg/left/werewolf - limb_id = SPECIES_WEREWOLF - burn_modifier = 0.75 - brute_modifier = 0.25 - speed_modifier = 0.5 - dmg_overlay_type = null - bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE - footstep_type = FOOTSTEP_MOB_CLAW - biological_state = (BIO_FLESH|BIO_BLOODED) - -/obj/item/bodypart/leg/right/werewolf - limb_id = SPECIES_WEREWOLF - burn_modifier = 0.75 - brute_modifier = 0.25 - speed_modifier = 0.5 - dmg_overlay_type = null - bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE - footstep_type = FOOTSTEP_MOB_CLAW - biological_state = (BIO_FLESH|BIO_BLOODED) - ///FLY /obj/item/bodypart/head/fly limb_id = SPECIES_FLYPERSON diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index e37bc9c016f7..e95cb94637e0 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -152,24 +152,6 @@ ear_owner.dna.species.mutant_bodyparts -= "ears" ear_owner.update_body() -/obj/item/organ/internal/ears/werewolf - name = "wolf ears" - icon_state = "kitty" - desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" - // Same sensitivity as felinid ears - damage_multiplier = 2 - -// The original idea was to use signals to do this not traits. Unfortunately, the star effect used for whispers applies before any relevant signals -// This seems like the least invasive solution -/obj/item/organ/internal/ears/werewolf/on_mob_insert(mob/living/carbon/ear_owner) - . = ..() - ADD_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) - -/obj/item/organ/internal/ears/werewolf/on_mob_remove(mob/living/carbon/ear_owner) - . = ..() - REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) - - /obj/item/organ/internal/ears/penguin name = "penguin ears" desc = "The source of a penguin's happy feet." diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index bcb462c88698..faee59d0cd13 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -262,12 +262,6 @@ sight_flags = SEE_MOBS color_cutoffs = list(25, 5, 42) -/obj/item/organ/internal/eyes/werewolf - name = "wolf eyes" - desc = "Large and powerful eyes." - sight_flags = SEE_MOBS - color_cutoffs = list(25, 5, 42) - /obj/item/organ/internal/eyes/golem name = "resonating crystal" icon_state = "adamantine_cords" diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 0798cd000dc2..1ef4d3238b74 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -597,40 +597,6 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) /obj/item/organ/internal/tongue/ethereal/get_possible_languages() return ..() + /datum/language/voltaic -/obj/item/organ/internal/tongue/werewolf - name = "wolf tongue" - desc = "A large tongue that looks like a mix of a human's and a wolf's." - icon_state = "tonguewerewolf" - say_mod = "growls" - modifies_speech = TRUE - taste_sensitivity = 5 - liked_foodtypes = GROSS | MEAT | RAW | GORE - disliked_foodtypes = SUGAR - -/obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) - var/message = speech_args[SPEECH_MESSAGE] - if(message[1] != "*") - - // all occurrences of characters "eiou" (case-insensitive) are replaced with "r" - message = replacetext(message, regex(@"[eiou]", "ig"), "r") - // all characters other than "zhrgbmna .!?-" (case-insensitive) are stripped - message = replacetext(message, regex(@"[^zhrgbmna.!?-\s]", "ig"), "") - // multiple spaces are replaced with a single (whitespace is trimmed) - message = replacetext(message, regex(@"(\s+)", "g"), " ") - - var/list/old_words = splittext(message, " ") - var/list/new_words = list() - for(var/word in old_words) - // lower-case "r" at the end of words replaced with "rh" - word = replacetext(word, regex(@"\lr\b"), "rh") - // an "a" or "A" by itself will be replaced with "hra" - word = replacetext(word, regex(@"\b[Aa]\b"), "hra") - new_words += word - - message = new_words.Join(" ") - message = capitalize(message) - speech_args[SPEECH_MESSAGE] = message - /obj/item/organ/internal/tongue/cat name = "felinid tongue" desc = "A fleshy muscle mostly used for meowing." diff --git a/maplestation.dme b/maplestation.dme index 59b1a80b0f71..9b8f1c2f49dd 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -4872,7 +4872,6 @@ #include "code\modules\mob\living\carbon\human\species_types\skeletons.dm" #include "code\modules\mob\living\carbon\human\species_types\snail.dm" #include "code\modules\mob\living\carbon\human\species_types\vampire.dm" -#include "code\modules\mob\living\carbon\human\species_types\werewolf.dm" #include "code\modules\mob\living\carbon\human\species_types\zombies.dm" #include "code\modules\mob\living\silicon\damage_procs.dm" #include "code\modules\mob\living\silicon\death.dm" diff --git a/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm similarity index 92% rename from code/modules/mob/living/carbon/human/species_types/werewolf.dm rename to maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 0c40c2b6218f..cde964184c77 100644 --- a/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -4,7 +4,7 @@ inherent_traits = list( TRAIT_USES_SKINTONES, TRAIT_NO_UNDERWEAR, - TRAIT_NO_AUGMENTS, + TRAIT_NO_AUGMENTS ) mutanttongue = /obj/item/organ/internal/tongue/werewolf mutantears = /obj/item/organ/internal/ears/werewolf @@ -16,7 +16,6 @@ skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE - payday_modifier = 1.1 bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/werewolf, @@ -26,9 +25,12 @@ BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/werewolf, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/werewolf, ) +/obj/item/organ/internal/brain/werewolf + name = "werewolf brain" + desc = "a strange mixture of a human and wolf brain" + organ_traits = list(TRAIT_PRIMITIVE, TRAIT_CAN_STRIP) /obj/item/organ/internal/brain/werewolf/get_attacking_limb(mob/living/carbon/human/target) - organ_traits = list(TRAIT_PRIMITIVE) if(target.body_position == LYING_DOWN) return owner.get_bodypart(BODY_ZONE_HEAD) return ..() diff --git a/maplestation_modules/code/modules/surgery/organs/ears.dm b/maplestation_modules/code/modules/surgery/organs/ears.dm index c3a7380ce876..af557ddf1d86 100644 --- a/maplestation_modules/code/modules/surgery/organs/ears.dm +++ b/maplestation_modules/code/modules/surgery/organs/ears.dm @@ -31,3 +31,13 @@ icon_state = "catcyber" icon = 'maplestation_modules/icons/mob/mutant_bodyparts.dmi' locked = TRUE + +/obj/item/organ/internal/ears/werewolf + name = "wolf ears" + icon_state = "kitty" + desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" + // Same sensitivity as felinid ears + damage_multiplier = 2 +/obj/item/organ/internal/ears/werewolf/on_mob_insert(mob/living/carbon/ear_owner) + . = ..() + organ_traits = list(TRAIT_GOOD_HEARING) diff --git a/maplestation_modules/code/modules/surgery/organs/eyes.dm b/maplestation_modules/code/modules/surgery/organs/eyes.dm index 1515021eb4b6..a7e9a9e94279 100644 --- a/maplestation_modules/code/modules/surgery/organs/eyes.dm +++ b/maplestation_modules/code/modules/surgery/organs/eyes.dm @@ -5,3 +5,9 @@ /mob/living/carbon /// Overlay file to take (missing) eye icons from var/missing_eye_file = 'icons/mob/human/human_face.dmi' + +/obj/item/organ/internal/eyes/werewolf + name = "wolf eyes" + desc = "Large and powerful eyes." + sight_flags = SEE_MOBS + color_cutoffs = list(25, 5, 42) diff --git a/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm b/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm new file mode 100644 index 000000000000..392f798c0044 --- /dev/null +++ b/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm @@ -0,0 +1,121 @@ +///WEREWOLF +/obj/item/bodypart/head/werewolf + limb_id = SPECIES_WEREWOLF + is_dimorphic = FALSE + should_draw_greyscale = TRUE + +/obj/item/bodypart/head/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + unarmed_attack_verb = "bite" + grappled_attack_verb = "maul" + unarmed_attack_effect = ATTACK_EFFECT_BITE + unarmed_attack_sound = 'sound/weapons/bite.ogg' + unarmed_miss_sound = 'sound/weapons/bite.ogg' + unarmed_damage_low = 60 + unarmed_damage_high = 75 + unarmed_effectiveness = 50 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN + +/obj/item/bodypart/chest/werewolf + limb_id = SPECIES_WEREWOLF + is_dimorphic = TRUE + should_draw_greyscale = TRUE + +/obj/item/bodypart/chest/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + bodypart_traits = list(TRAIT_NO_JUMPSUIT, TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE) + wing_types = NONE + +/obj/item/bodypart/arm/left/werewolf + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = TRUE + +/obj/item/bodypart/arm/left/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + unarmed_effectiveness = 20 + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + bodypart_traits = list(TRAIT_CHUNKYFINGERS) + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/arm/right/werewolf + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = TRUE + +/obj/item/bodypart/arm/right/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + unarmed_effectiveness = 20 + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + bodypart_traits = list(TRAIT_CHUNKYFINGERS) + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/werewolf + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = TRUE + +/obj/item/bodypart/leg/left/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + speed_modifier = 2.5 + dmg_overlay_type = null + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + footstep_type = FOOTSTEP_MOB_CLAW + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/right/werewolf + limb_id = SPECIES_WEREWOLF + should_draw_greyscale = TRUE + +/obj/item/bodypart/leg/right/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + speed_modifier = 2.5 + dmg_overlay_type = null + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + footstep_type = FOOTSTEP_MOB_CLAW + biological_state = (BIO_FLESH|BIO_BLOODED) diff --git a/maplestation_modules/code/modules/surgery/organs/tongue.dm b/maplestation_modules/code/modules/surgery/organs/tongue.dm index e7c13530e991..731f60e46c33 100644 --- a/maplestation_modules/code/modules/surgery/organs/tongue.dm +++ b/maplestation_modules/code/modules/surgery/organs/tongue.dm @@ -36,3 +36,37 @@ /obj/item/organ/internal/tongue/lizard/get_possible_languages() return ..() + /datum/language/impdraconic + +/obj/item/organ/internal/tongue/werewolf + name = "wolf tongue" + desc = "A large tongue that looks like a mix of a human's and a wolf's." + icon_state = "tonguewerewolf" + say_mod = "growls" + modifies_speech = TRUE + taste_sensitivity = 5 + liked_foodtypes = GROSS | MEAT | RAW | GORE + disliked_foodtypes = SUGAR + +/obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) + var/message = speech_args[SPEECH_MESSAGE] + if(message[1] != "*") + + // all occurrences of characters "eiou" (case-insensitive) are replaced with "r" + message = replacetext(message, regex(@"[eiou]", "ig"), "r") + // all characters other than "zhrgbmna .!?-" (case-insensitive) are stripped + message = replacetext(message, regex(@"[^zhrgbmna.!?-\s]", "ig"), "") + // multiple spaces are replaced with a single (whitespace is trimmed) + message = replacetext(message, regex(@"(\s+)", "g"), " ") + + var/list/old_words = splittext(message, " ") + var/list/new_words = list() + for(var/word in old_words) + // lower-case "r" at the end of words replaced with "rh" + word = replacetext(word, regex(@"\lr\b"), "rh") + // an "a" or "A" by itself will be replaced with "hra" + word = replacetext(word, regex(@"\b[Aa]\b"), "hra") + new_words += word + + message = new_words.Join(" ") + message = capitalize(message) + speech_args[SPEECH_MESSAGE] = message diff --git a/maplestation_modules/icons/mob/bodyparts_greyscale.dmi b/maplestation_modules/icons/mob/bodyparts_greyscale.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c988a0e48eaafffe9488fa912371c976b9beec90 GIT binary patch literal 1578 zcmV+_2G#kAP)12@eAV2n?4^U;qFB0d!JMQvg8b*k%9#0G)bNSad{Xb7OL8aCB*J zZU6vyoRyJ53c@fDMc2tGhITJn-MWz$>B3$i1T*Ob(iSGcT)(YuMV#IL@ZN`EYPfax zet`DT>lbng%M4ez9FAI*;4*FH+-OA@M#`U(vdy@~svu)oqBn%rRa&{gX_vL~Y$x3F z=?ncNOxa9Q!T&F?u`Jk+GMo+BS#WO@@@yiGlKCHa4c*YbpSuD*ypwy|4C;6Q00kOJ zL_t(|ob6molH)cEl^9IcrqHt&MIT^jI(v#%dOed|V5%$kKSQXVZVLeEkJ_55REDoN z21Me4AGra3+%)&0y|dh!+FZMPh;Y{?1H{Dchlav3sXweEFpb`|{bjicgP~%hx&hV@ zSmT|g1W9HV0X--1F03I?h$h?){;uS2sb ztQ&g5KOl7gT02-eM(sRitLE_yoDe+*B74o`EeISnI3~VL`!G6>hd^cLsr)de)J1e! zC)u%S{vZI1b9*4NMci*W$Pjf$=Q)hdPZvvnz&;qS>5B(x5L_p?Zbuy zfEpP=defgSmi`EV^X?cHc}nlWrUbA5Psl7%&bgKURIdZv-W;#U4EX%CA8xcH&`9m}l#TpnfPu`gAy zOEG=VzMtK_RoF>;ZMph*Zgbln?^vuqm(T3U1nv#Wotx0QJC<41nLyY}{uL|0GRlgj zlotT+4(Z%pu{u%qx6M~nR8&+{R8&;_S0N60ZI6+k+}j?2yR|vgN`jOAsrH*G%Y(KB zz|S57g7#SCvP)Xoh^1@QtU~LGz10zdk!MXS&(kX1m(+$5@U`}pEog?K7M6Aa1oo)t z&}CfkhuPfn#8^c|MMXtLMMcFgkNtUrp`3eg<%u7ex(9mMBDrH<&60hoa&(-Fgjf9sdecLdI&x{(2Ro5jYSWH@7H z&&x;=*w0TiN`GMmCc3?m5kQnVR`2AmOSJrwxH9tB9c09B{6Y!C5cpH&z^oxoC^In!l-sbqc_A;P2%b49!PYDHeAPd*SN#?$c62#AAq(SEj zkx;1o$0#y_6CL*O=V$TQ{2>(a8;SS-&R)Y$pG6;h;(hk~EGi6A0WaSd;U)X7`29Hu cMf^eVFKBR^m!=9y+yDRo07*qoM6N<$f|+3ga{vGU literal 0 HcmV?d00001 From d6be63ebdd026c90c49d380587281e58397383ba Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 12:26:38 -0500 Subject: [PATCH 29/38] this caused so many errors --- code/__DEFINES/mobs.dm | 1 - maplestation.dme | 2 ++ maplestation_modules/code/__DEFINES/DNA.dm | 1 + ...s_greyscale.dmi => werewolf_parts_greyscale.dmi} | Bin 4 files changed, 3 insertions(+), 1 deletion(-) rename maplestation_modules/icons/mob/{bodyparts_greyscale.dmi => werewolf_parts_greyscale.dmi} (100%) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 4fa2aec4af32..df2972091008 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -127,7 +127,6 @@ #define SPECIES_PODPERSON "pod" #define SPECIES_SHADOW "shadow" #define SPECIES_SKELETON "skeleton" -#define SPECIES_WEREWOLF "werewolf" #define SPECIES_SNAIL "snail" #define SPECIES_VAMPIRE "vampire" #define SPECIES_ZOMBIE "zombie" diff --git a/maplestation.dme b/maplestation.dme index 9b8f1c2f49dd..457fdabc1b78 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6441,6 +6441,7 @@ #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\skrell.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\species.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\vampire.dm" +#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\werewolf.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\synth.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\synth_ion.dm" #include "maplestation_modules\code\modules\mob\living\silicon\robot\robot_defines.dm" @@ -6482,6 +6483,7 @@ #include "maplestation_modules\code\modules\surgery\organs\ears.dm" #include "maplestation_modules\code\modules\surgery\organs\eyes.dm" #include "maplestation_modules\code\modules\surgery\organs\liver.dm" +#include "maplestation_modules\code\modules\surgery\organs\misc_bodyparts.dm" #include "maplestation_modules\code\modules\surgery\organs\tails.dm" #include "maplestation_modules\code\modules\surgery\organs\tongue.dm" #include "maplestation_modules\code\modules\uplink\uplink_devices.dm" diff --git a/maplestation_modules/code/__DEFINES/DNA.dm b/maplestation_modules/code/__DEFINES/DNA.dm index c4249c288de3..8e4959f01702 100644 --- a/maplestation_modules/code/__DEFINES/DNA.dm +++ b/maplestation_modules/code/__DEFINES/DNA.dm @@ -5,3 +5,4 @@ #define SPECIES_REPLOID "reploid" #define SPECIES_SYNTH "synth" #define SPECIES_ORNITHID "ornithid" +#define SPECIES_WEREWOLF "werewolf" diff --git a/maplestation_modules/icons/mob/bodyparts_greyscale.dmi b/maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi similarity index 100% rename from maplestation_modules/icons/mob/bodyparts_greyscale.dmi rename to maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi From 5b32ffed6be59cf422b01b0db8e3af890c5759a3 Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 13:03:51 -0500 Subject: [PATCH 30/38] eck --- .../code/modules/surgery/organs/misc_bodyparts.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm b/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm index 392f798c0044..d4f90f8b1756 100644 --- a/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm +++ b/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm @@ -1,6 +1,7 @@ ///WEREWOLF /obj/item/bodypart/head/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" is_dimorphic = FALSE should_draw_greyscale = TRUE @@ -25,6 +26,7 @@ /obj/item/bodypart/chest/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" is_dimorphic = TRUE should_draw_greyscale = TRUE @@ -42,6 +44,7 @@ /obj/item/bodypart/arm/left/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" should_draw_greyscale = TRUE /obj/item/bodypart/arm/left/werewolf/update_limb(dropping_limb, is_creating) @@ -65,6 +68,7 @@ /obj/item/bodypart/arm/right/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" should_draw_greyscale = TRUE /obj/item/bodypart/arm/right/werewolf/update_limb(dropping_limb, is_creating) @@ -88,6 +92,7 @@ /obj/item/bodypart/leg/left/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" should_draw_greyscale = TRUE /obj/item/bodypart/leg/left/werewolf/update_limb(dropping_limb, is_creating) @@ -97,7 +102,7 @@ draw_color = species_color burn_modifier = 0.75 brute_modifier = 0.25 - speed_modifier = 2.5 + speed_modifier = 3 dmg_overlay_type = null bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE footstep_type = FOOTSTEP_MOB_CLAW @@ -105,6 +110,7 @@ /obj/item/bodypart/leg/right/werewolf limb_id = SPECIES_WEREWOLF + icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" should_draw_greyscale = TRUE /obj/item/bodypart/leg/right/werewolf/update_limb(dropping_limb, is_creating) @@ -114,7 +120,7 @@ draw_color = species_color burn_modifier = 0.75 brute_modifier = 0.25 - speed_modifier = 2.5 + speed_modifier = 3 dmg_overlay_type = null bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE footstep_type = FOOTSTEP_MOB_CLAW From b9b8952568a2f1893aa6a7d0760605de936ea74b Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 15:50:25 -0500 Subject: [PATCH 31/38] holy shit it finally works --- maplestation.dme | 2 +- .../carbon/human/species_types/werewolf.dm | 12 +++++++++--- .../{misc_bodyparts.dm => werewolf_parts.dm} | 12 ++++++------ .../icons/mob/werewolf_parts_greyscale.dmi | Bin 1578 -> 1578 bytes 4 files changed, 16 insertions(+), 10 deletions(-) rename maplestation_modules/code/modules/surgery/organs/{misc_bodyparts.dm => werewolf_parts.dm} (88%) diff --git a/maplestation.dme b/maplestation.dme index 457fdabc1b78..7b94b2b4ff07 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6483,9 +6483,9 @@ #include "maplestation_modules\code\modules\surgery\organs\ears.dm" #include "maplestation_modules\code\modules\surgery\organs\eyes.dm" #include "maplestation_modules\code\modules\surgery\organs\liver.dm" -#include "maplestation_modules\code\modules\surgery\organs\misc_bodyparts.dm" #include "maplestation_modules\code\modules\surgery\organs\tails.dm" #include "maplestation_modules\code\modules\surgery\organs\tongue.dm" +#include "maplestation_modules\code\modules\surgery\organs\werewolf_parts.dm" #include "maplestation_modules\code\modules\uplink\uplink_devices.dm" #include "maplestation_modules\code\modules\uplink\uplink_infiltrator.dm" #include "maplestation_modules\code\modules\uplink\uplink_items.dm" diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm index cde964184c77..7397ed97ff50 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -4,7 +4,13 @@ inherent_traits = list( TRAIT_USES_SKINTONES, TRAIT_NO_UNDERWEAR, - TRAIT_NO_AUGMENTS + TRAIT_NO_AUGMENTS, + TRAIT_IGNOREDAMAGESLOWDOWN, + TRAIT_PUSHIMMUNE, + TRAIT_STUNIMMUNE, + TRAIT_PRIMITIVE, + TRAIT_CAN_STRIP, + TRAIT_CHUNKYFINGERS ) mutanttongue = /obj/item/organ/internal/tongue/werewolf mutantears = /obj/item/organ/internal/ears/werewolf @@ -25,12 +31,12 @@ BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/werewolf, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/werewolf, ) -/obj/item/organ/internal/brain/werewolf + +/obj/item/organ/internal/brain/werewolf/get_attacking_limb(mob/living/carbon/human/target) name = "werewolf brain" desc = "a strange mixture of a human and wolf brain" organ_traits = list(TRAIT_PRIMITIVE, TRAIT_CAN_STRIP) -/obj/item/organ/internal/brain/werewolf/get_attacking_limb(mob/living/carbon/human/target) if(target.body_position == LYING_DOWN) return owner.get_bodypart(BODY_ZONE_HEAD) return ..() diff --git a/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm b/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm similarity index 88% rename from maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm rename to maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm index d4f90f8b1756..479f574ee971 100644 --- a/maplestation_modules/code/modules/surgery/organs/misc_bodyparts.dm +++ b/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm @@ -1,7 +1,7 @@ ///WEREWOLF /obj/item/bodypart/head/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' is_dimorphic = FALSE should_draw_greyscale = TRUE @@ -26,7 +26,7 @@ /obj/item/bodypart/chest/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' is_dimorphic = TRUE should_draw_greyscale = TRUE @@ -44,7 +44,7 @@ /obj/item/bodypart/arm/left/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' should_draw_greyscale = TRUE /obj/item/bodypart/arm/left/werewolf/update_limb(dropping_limb, is_creating) @@ -68,7 +68,7 @@ /obj/item/bodypart/arm/right/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' should_draw_greyscale = TRUE /obj/item/bodypart/arm/right/werewolf/update_limb(dropping_limb, is_creating) @@ -92,7 +92,7 @@ /obj/item/bodypart/leg/left/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' should_draw_greyscale = TRUE /obj/item/bodypart/leg/left/werewolf/update_limb(dropping_limb, is_creating) @@ -110,7 +110,7 @@ /obj/item/bodypart/leg/right/werewolf limb_id = SPECIES_WEREWOLF - icon_greyscale = "maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi" + icon_greyscale = 'maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi' should_draw_greyscale = TRUE /obj/item/bodypart/leg/right/werewolf/update_limb(dropping_limb, is_creating) diff --git a/maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi b/maplestation_modules/icons/mob/werewolf_parts_greyscale.dmi index c988a0e48eaafffe9488fa912371c976b9beec90..677d2081622e98db6d4031b448e4c67e5bd3459c 100644 GIT binary patch delta 1336 zcmV-81;_fT45|#U1Ob1|a^p4(mRPiBQ%LWk=m#iG_fFB8J$Jh=u#?IAKSSv>F#(W{ ztynwL>GI3PfJl7&fgON9>bm>T-&t-=ZLZxtM7Zmd0b*kJuZF@hX*{eWFrD7@<8`?U zlc8d#h6&aXSmT|g1W9HV0X--1F03I?hM-{qA(*(la=Rw z2#A^zXs<)JDXg1D!apHx0Q7dUbdLJ-oUQWX8#p0)3`F*t$y*ROYH&_`n~q_09uI-a z&QtkeENO_STPJ_nF*kn@0LHmJ5ZNN`x13~%dZ2y|v-8W<(x0#o#%ub;gXBa{TlQcX z@W6g*takgbApxL9Mv%VgPghHShQN7u3|U^%_h3_k*Z(KPimGS@N+&E@YDUB0(Jg0vIhsFOXYVbtvCM|*pt7-i% zYMG{LM`OX0<2lorkjgPd)3kx-IEKfPDNtffu&8OK9h1o7f34j>WYDN(eU^ZL9USig zPaqbJDB^!jWw4Gn(C`LzFgTv~+LXjm1160ai~lvv^Z^FVBe_IqNMHo#ES1KVDZWob zlocT&9g%-DDcaM(YC*?FL_z8TO%RqOABo$AS$mpMr1;=gwT*?~h zBqulJ2?r-k^~G94O8uD(Y-yrX9+?}a?-BEwP^*8>eoCSY=T8Hh)LZfYjr!-+me5HB z)zsquTlJYN9yc^JG&D5)#ON!Z-mxn**OVV%SN-@(*#A+h;BrG0`r8C98M!L{b{@xC1)GcMd-nb8?ybU3+Ux7p=S!da{&>e?{iS?iPbP40Q0~%&-rcdx zsxE&7!d_}$wF2Z>RxG8w0(ftbF6~vT6Xkf@d_zM+LqkJDL&JX+;*i(&nEA=Q?E$!3 zn?tQ6IO!j1zgvntXj=gM=s6(hk5w+4)5=aPU8`;tdRHB-fe_3*Yg&1pR_U>(Hk5#` zwXf_!H&wNe`vnl#qiTb$<4Sv&%`H!iH8g)TG&D3cG&KD5*k3jn>bVD3p7@ced!X|c z$sPM@mh4N_qvIkTHtz?1`g)4Ym62|I@#}VP_JdF;b+J(2G~?|Ax@}b3i0dUmw$R^m zSces<5eyq%W9cjF4slv{pX_4-EL|#2h3Wy6*MD8x;#$*4o&liLz}{X0k%*uOR;cz!8V5WjCo(9qD((9qD3k>i}lSHf!+ei`%U zYTz8M+f!Pe(~D(}+TPa571Iq5jEGn4u7^(8z5+~WBNE)q*a9v?>IuMA3`B*sqNeo&_ zD5$+6TrV%Rhf^Nqxkf*7MdSp5mshnxxDWt*m9hM{;-x8(mibnusOC?h`1LUNoT|gi uck%S4*!+WMQs%k*t(d+D#cy9;?f(M>Hk_p|B$v7X0000kv=!* z46V?i@A?%4`{eNxkztktQ5fg_w1|`U$Xaw0#+sfO3~3CQgOT@{@!qZKq6Vgk$;$J2 z2#A^zXs<)FDXbfM!apE&09rd(I!5h0W~=7$4V(}?1|oaS`|P5Ur9kB2~I z=c)WKrqo4rS|@+mv1$Gw0E}~cAhJc=Z#l>ibw}qpjLuINOMk#V7_aGz2Wb*LZP|jU z!vp)OvD)p!h6I2b89{o}pDvdE2!ZqN7#4X-@4==7um4ZTEK<(7mH$+)1Ki#mugDK0 zOzDp*W;vA0R#a3}R8;(bQHcNb%J_e9uJ0F7DUAbpJf?pHhsFOXYVbsE1}%aJt7-iv zYMG{LM`OX0<2lnzNadKKY3kq{$M9G(1xm~Xi<)NIF^Mex*V=VN28~+QX9)<{&hZxT z1Y**NBL3G@2J5(khC9?i=Xl<0QxZoFnABq|{?|0q2k119YBE-zIR2L1_<*1i1L2 z{2j}z{#+hqG zIn+vmlm4mpn<>kKwgte?9s`2*Smd%xTG@!DYt^hm>x#YA5rUCtO)JmSD&3dVh7$0# z_LVJYhN2dhb^!$TsOZpTT=0k4-15X&MMZx_MMXtLMa3_V{dt3-oO^KPi65D|2YT5e zxnp0=l6|RibezS*=Ka7=TTYR=GSZDNe%X53Gp+eW30xK#!mvf^NfWENx-kAr9;AlU*mkd`iV3Q$2wE+7Q6lZ%8l}T2M|+KL&s(31B#^&1HYD zK^^3XLfrJ4j5=gFgjf9sde zcLdI&x{(2Ro5jYSWH@7H&&x;=*w0TiN`GMmCc3?m5kQnVR`2AmOSJrwxH9tB9c09B z{6Y!C5cpH&IM|Eau)brrqSJ#YAMhez1}0CF<1F_WA~ z(!i`CPAD@m2bA5*;5*V=DMsc43dTWdEY--3Hp~wDMdGw7gzH%gfc7$=ILnybQBMg4 zbs!7Z!%618j1t7pW28an3XxE#{KqIVf)gF~@aJdo*!&?B@f(Tv|IS{+PoFSFAAI6{ u_WUd=3{n9v-xuK}`>y!?IS57kLGUkVaGRH=3Q61m0000Y From 096ee3807e31e17a0a0626d8b40dfafab570706e Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 16:27:38 -0500 Subject: [PATCH 32/38] agh --- maplestation.dme | 2 -- .../code/modules/surgery/organs/ears.dm | 3 ++- .../code/modules/surgery/organs/tongue.dm | 3 ++- .../icons/mob/mutant_bodyparts.dmi | Bin 1711 -> 2632 bytes 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index 6066b8c1c9ca..7b94b2b4ff07 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6137,7 +6137,6 @@ #include "maplestation_modules\code\datums\ruins\space.dm" #include "maplestation_modules\code\datums\votes\transfer_vote.dm" #include "maplestation_modules\code\game\area\space_station_13_areas.dm" -#include "maplestation_modules\code\game\machinery\cloning_pod.dm" #include "maplestation_modules\code\game\machinery\fax_machine.dm" #include "maplestation_modules\code\game\machinery\guess_pass.dm" #include "maplestation_modules\code\game\machinery\pager.dm" @@ -6500,7 +6499,6 @@ #include "maplestation_modules\code\modules\vending\_vending.dm" #include "maplestation_modules\code\modules\vending\clothesmate.dm" #include "maplestation_modules\code\modules\vending\wardrobes.dm" -#include "maplestation_modules\code\modules\wiremod\shells.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" diff --git a/maplestation_modules/code/modules/surgery/organs/ears.dm b/maplestation_modules/code/modules/surgery/organs/ears.dm index af557ddf1d86..fc19bdeeed12 100644 --- a/maplestation_modules/code/modules/surgery/organs/ears.dm +++ b/maplestation_modules/code/modules/surgery/organs/ears.dm @@ -34,7 +34,8 @@ /obj/item/organ/internal/ears/werewolf name = "wolf ears" - icon_state = "kitty" + icon_state = "ears_werewolf" + icon = 'maplestation_modules/icons/mob/mutant_bodyparts.dmi' desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" // Same sensitivity as felinid ears damage_multiplier = 2 diff --git a/maplestation_modules/code/modules/surgery/organs/tongue.dm b/maplestation_modules/code/modules/surgery/organs/tongue.dm index 731f60e46c33..4c1e3e8fb789 100644 --- a/maplestation_modules/code/modules/surgery/organs/tongue.dm +++ b/maplestation_modules/code/modules/surgery/organs/tongue.dm @@ -40,7 +40,8 @@ /obj/item/organ/internal/tongue/werewolf name = "wolf tongue" desc = "A large tongue that looks like a mix of a human's and a wolf's." - icon_state = "tonguewerewolf" + icon_state = "werewolf_tongue" + icon = 'maplestation_modules/icons/mob/mutant_bodyparts.dmi' say_mod = "growls" modifies_speech = TRUE taste_sensitivity = 5 diff --git a/maplestation_modules/icons/mob/mutant_bodyparts.dmi b/maplestation_modules/icons/mob/mutant_bodyparts.dmi index eb3e768f68d75e282d419dd3a4a83db31e2522a7..36b95b91a42f878aa2727a761ef86ffcf0c9a1aa 100644 GIT binary patch literal 2632 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 Date: Sun, 18 Aug 2024 16:39:17 -0500 Subject: [PATCH 33/38] shit was fucked, less fucked now --- maplestation.dme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/maplestation.dme b/maplestation.dme index 7b94b2b4ff07..6066b8c1c9ca 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6137,6 +6137,7 @@ #include "maplestation_modules\code\datums\ruins\space.dm" #include "maplestation_modules\code\datums\votes\transfer_vote.dm" #include "maplestation_modules\code\game\area\space_station_13_areas.dm" +#include "maplestation_modules\code\game\machinery\cloning_pod.dm" #include "maplestation_modules\code\game\machinery\fax_machine.dm" #include "maplestation_modules\code\game\machinery\guess_pass.dm" #include "maplestation_modules\code\game\machinery\pager.dm" @@ -6499,6 +6500,7 @@ #include "maplestation_modules\code\modules\vending\_vending.dm" #include "maplestation_modules\code\modules\vending\clothesmate.dm" #include "maplestation_modules\code\modules\vending\wardrobes.dm" +#include "maplestation_modules\code\modules\wiremod\shells.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" From f6b8ab94c3694aaf74f3a9d2c9997c1f98bb099c Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 16:49:14 -0500 Subject: [PATCH 34/38] a --- .../icons/mob/mutant_bodyparts.dmi | Bin 2632 -> 5374 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/maplestation_modules/icons/mob/mutant_bodyparts.dmi b/maplestation_modules/icons/mob/mutant_bodyparts.dmi index 36b95b91a42f878aa2727a761ef86ffcf0c9a1aa..8b9d547aa12163b5e95ad46c5eab232e06b27fc7 100644 GIT binary patch literal 5374 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 literal 2632 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 Date: Sun, 18 Aug 2024 17:04:41 -0500 Subject: [PATCH 35/38] agony --- maplestation_modules/code/modules/surgery/organs/ears.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maplestation_modules/code/modules/surgery/organs/ears.dm b/maplestation_modules/code/modules/surgery/organs/ears.dm index fc19bdeeed12..3573d68c8ad9 100644 --- a/maplestation_modules/code/modules/surgery/organs/ears.dm +++ b/maplestation_modules/code/modules/surgery/organs/ears.dm @@ -34,7 +34,7 @@ /obj/item/organ/internal/ears/werewolf name = "wolf ears" - icon_state = "ears_werewolf" + icon_state = "werewolf" icon = 'maplestation_modules/icons/mob/mutant_bodyparts.dmi' desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" // Same sensitivity as felinid ears From 539dbf324efda98017387701c1be508c6147a5cc Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 17:32:57 -0500 Subject: [PATCH 36/38] fix the check --- maplestation_modules/code/modules/surgery/organs/ears.dm | 4 ++-- .../code/modules/surgery/organs/werewolf_parts.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/maplestation_modules/code/modules/surgery/organs/ears.dm b/maplestation_modules/code/modules/surgery/organs/ears.dm index 3573d68c8ad9..95697de99fbe 100644 --- a/maplestation_modules/code/modules/surgery/organs/ears.dm +++ b/maplestation_modules/code/modules/surgery/organs/ears.dm @@ -34,8 +34,8 @@ /obj/item/organ/internal/ears/werewolf name = "wolf ears" - icon_state = "werewolf" - icon = 'maplestation_modules/icons/mob/mutant_bodyparts.dmi' + icon = 'icons/obj/clothing/head/costume.dmi' + icon_state = "kitty" desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" // Same sensitivity as felinid ears damage_multiplier = 2 diff --git a/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm b/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm index 479f574ee971..0765ae15e3f0 100644 --- a/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm +++ b/maplestation_modules/code/modules/surgery/organs/werewolf_parts.dm @@ -22,7 +22,7 @@ unarmed_effectiveness = 50 dmg_overlay_type = null biological_state = (BIO_FLESH|BIO_BLOODED) - head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN + head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN|HEAD_HAIR /obj/item/bodypart/chest/werewolf limb_id = SPECIES_WEREWOLF From 8d5eedc238b36b207da4da7294d251bd9fd84003 Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 23:47:21 -0500 Subject: [PATCH 37/38] YIPPEE --- maplestation.dme | 1 + .../carbon/human/species_types/werewolf.dm | 2 ++ .../code/modules/surgery/organs/heart.dm | 10 ++++++++++ .../code/modules/surgery/organs/liver.dm | 20 +++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 maplestation_modules/code/modules/surgery/organs/heart.dm diff --git a/maplestation.dme b/maplestation.dme index 6066b8c1c9ca..28189726e034 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6483,6 +6483,7 @@ #include "maplestation_modules\code\modules\surgery\organs\autosurgeon.dm" #include "maplestation_modules\code\modules\surgery\organs\ears.dm" #include "maplestation_modules\code\modules\surgery\organs\eyes.dm" +#include "maplestation_modules\code\modules\surgery\organs\heart.dm" #include "maplestation_modules\code\modules\surgery\organs\liver.dm" #include "maplestation_modules\code\modules\surgery\organs\tails.dm" #include "maplestation_modules\code\modules\surgery\organs\tongue.dm" diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm index 7397ed97ff50..2536a4e953e6 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/werewolf.dm @@ -16,6 +16,8 @@ mutantears = /obj/item/organ/internal/ears/werewolf mutanteyes = /obj/item/organ/internal/eyes/werewolf mutantbrain = /obj/item/organ/internal/brain/werewolf + mutantliver = obj/item/organ/internal/liver/werewolf + mutantheart = obj/item/organ/internal/heart/werewolf external_organs = list( /obj/item/organ/external/tail/cat = "Cat", ) diff --git a/maplestation_modules/code/modules/surgery/organs/heart.dm b/maplestation_modules/code/modules/surgery/organs/heart.dm new file mode 100644 index 000000000000..29b445e90659 --- /dev/null +++ b/maplestation_modules/code/modules/surgery/organs/heart.dm @@ -0,0 +1,10 @@ +/obj/item/organ/internal/heart/werewolf + name = "massive heart" + desc = "An absolutely monstrous heart." + icon_state = "heart-on" + base_icon_state = "heart" + maxHealth = 2 * STANDARD_ORGAN_THRESHOLD +/obj/item/organ/internal/heart/wolf/Initialize(mapload) + . = ..() + transform = transform.Scale(1.5) + diff --git a/maplestation_modules/code/modules/surgery/organs/liver.dm b/maplestation_modules/code/modules/surgery/organs/liver.dm index c31b633e2529..2a577b52ce1f 100644 --- a/maplestation_modules/code/modules/surgery/organs/liver.dm +++ b/maplestation_modules/code/modules/surgery/organs/liver.dm @@ -12,3 +12,23 @@ /obj/item/organ/internal/liver/lizard/Initialize(mapload) . = ..() disease_free_foods = typecacheof(/obj/item/food/deadmouse) + +/obj/item/organ/internal/liver/werewolf + + name = "Beastly liver" + desc = "A large monstrous liver." + icon_state = "liver" + organ_traits = list(TRAIT_STABLELIVER) + ///Var for brute healing via blood + var/blood_brute_healing = 2.5 + ///Var for burn healing via blood + var/blood_burn_healing = 2.5 + +/obj/item/organ/internal/liver/werewolf/handle_chemical(mob/living/carbon/organ_owner, datum/reagent/chem, seconds_per_tick, times_fired) + . = ..() + // parent returned COMSIG_MOB_STOP_REAGENT_CHECK or we are failing + if((. & COMSIG_MOB_STOP_REAGENT_CHECK) || (organ_flags & ORGAN_FAILING)) + return + if(istype(chem, /datum/reagent/silver)) + organ_owner.adjustStaminaLoss(7.5 * REM * seconds_per_tick, updating_stamina = TRUE) + organ_owner.adjustFireLoss(5.0 * REM * seconds_per_tick, updating_health = TRUE) From b67f97dc6d7319c5fd10840d5da05bb1618cb79d Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Sun, 18 Aug 2024 23:50:13 -0500 Subject: [PATCH 38/38] forgor a detail --- maplestation_modules/code/modules/surgery/organs/liver.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maplestation_modules/code/modules/surgery/organs/liver.dm b/maplestation_modules/code/modules/surgery/organs/liver.dm index 2a577b52ce1f..4909875fe62b 100644 --- a/maplestation_modules/code/modules/surgery/organs/liver.dm +++ b/maplestation_modules/code/modules/surgery/organs/liver.dm @@ -18,7 +18,7 @@ name = "Beastly liver" desc = "A large monstrous liver." icon_state = "liver" - organ_traits = list(TRAIT_STABLELIVER) + organ_traits = list(TRAIT_STABLELIVER|ORGAN_UNREMOVABLE) ///Var for brute healing via blood var/blood_brute_healing = 2.5 ///Var for burn healing via blood