From c81d482edbf9d61d8ed6df541a61d77d1026a6d9 Mon Sep 17 00:00:00 2001 From: Raeschen Date: Wed, 23 Nov 2022 13:46:25 +0100 Subject: [PATCH] Shadekin gentle-phase, colorable teshplush, more traits for noncustom > Shadekin can now 'gentle-phase'. No light destruction, less flickering but a stun after phasing in. Toggle between normal-mode and gentle-mode with a verb in the abilities tab > Colorable teshplush in loadout - general > Some traits added for noncustoms; Hard feet, deep sleeper, master linguist. --- .../subtypes/vore/shadekin/ability_procs.dm | 5 +- .../subtypes/vore/shadekin/shadekin_ch.dm | 3 -- .../loadout/loadout_general.dm | 7 +++ .../human/species/station/traits/negative.dm | 2 + .../human/species/station/traits/positive.dm | 5 ++ .../subtypes/vore/shadekin/shadekin.dm | 49 +++++++++++++++++++ vorestation.dme | 5 +- 7 files changed, 71 insertions(+), 5 deletions(-) delete mode 100644 code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin_ch.dm create mode 100644 modular_chomp/code/modules/client/preference_setup/loadout/loadout_general.dm create mode 100644 modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm create mode 100644 modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm create mode 100644 modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm index ec1161630a..2953e59a8d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm @@ -49,7 +49,8 @@ // Do this after the potential vore, so we get the belly update_icon() - + + /* CHOMPEdit, comment out and handle in custom proc //Affect nearby lights var/destroy_lights = 0 if(eye_state == RED_EYES) @@ -66,6 +67,8 @@ L.broken() else L.flicker(10) + */ + handle_phasein_flicker() //Shifting out else diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin_ch.dm deleted file mode 100644 index 61d888b62f..0000000000 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin_ch.dm +++ /dev/null @@ -1,3 +0,0 @@ -// Allow horizontal -/mob/living/simple_mob/shadekin/update_transform() - update_transform_horizontal() diff --git a/modular_chomp/code/modules/client/preference_setup/loadout/loadout_general.dm b/modular_chomp/code/modules/client/preference_setup/loadout/loadout_general.dm new file mode 100644 index 0000000000..c19394a5b9 --- /dev/null +++ b/modular_chomp/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -0,0 +1,7 @@ +/datum/gear/plushieteshcolor + display_name = "plushie, lifelike teshari, colorable" + path = /obj/item/toy/plushie/teshari/w_yw + +/datum/gear/plushieteshcolor/New() + ..() + gear_tweaks += gear_tweak_free_color_choice \ No newline at end of file diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm new file mode 100644 index 0000000000..8f8fe428f1 --- /dev/null +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm @@ -0,0 +1,2 @@ +/datum/trait/negative/deep_sleeper + custom_only = FALSE diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm new file mode 100644 index 0000000000..afe2932f35 --- /dev/null +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm @@ -0,0 +1,5 @@ +/datum/trait/positive/hardfeet + custom_only = FALSE + +/datum/trait/positive/linguist + custom_only = FALSE diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm new file mode 100644 index 0000000000..bc61d1e7dc --- /dev/null +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -0,0 +1,49 @@ +/mob/living/simple_mob/shadekin + var/phase_gentle = 0 + +/mob/living/simple_mob/shadekin/Login() + . = ..() + verbs |= /mob/living/simple_mob/shadekin/proc/phase_strength_toggle + + +// Allow horizontal resting +/mob/living/simple_mob/shadekin/update_transform() + update_transform_horizontal() + +//custom light flicker proc +/mob/living/simple_mob/shadekin/proc/handle_phasein_flicker() + if(phase_gentle) // gentle case: No light destruction. Flicker in 4 tile radius for 3s. Weaken for 3sec after + for(var/obj/machinery/light/L in machines) + if(L.z != z || get_dist(src,L) > 4) + continue + L.flicker(3) + src.Stun(3) + else //normal case. Flicker in 10 tile radius for 10s. chance to destroy light based on eye type. + var/destroy_lights = 0 + if(eye_state == RED_EYES) + destroy_lights = 80 + if(eye_state == PURPLE_EYES) + destroy_lights = 25 + + for(var/obj/machinery/light/L in machines) + if(L.z != z || get_dist(src,L) > 10) + continue + + if(prob(destroy_lights)) + spawn(rand(5,25)) + L.broken() + else + L.flicker(10) + +//toggle proc for toggling gentle/normal phasing +/mob/living/simple_mob/shadekin/proc/phase_strength_toggle() + set name = "Toggle Phase Strength" + set desc = "Toggle strength of phase. Gentle but slower, or faster but destructive to lights." + set category = "Abilities" + + if(phase_gentle) + to_chat(src, "Phasing toggled to Normal. You may damage lights.") + phase_gentle = 0 + else + to_chat(src, "Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun.") + phase_gentle = 1 \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index 7b144a8f5b..7f9bb7eee1 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3423,7 +3423,6 @@ #include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\rakshasa_abilities.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\rakshasa_trap.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin.dm" -#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin_ch.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\types.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\types_ch.dm" #include "code\modules\mob\living\voice\voice.dm" @@ -4517,6 +4516,7 @@ #include "modular_chomp\code\modules\client\preferences.dm" #include "modular_chomp\code\modules\client\preferences_spawnpoints.dm" #include "modular_chomp\code\modules\client\preference_setup\global\setting_datums.dm" +#include "modular_chomp\code\modules\client\preference_setup\loadout\loadout_general.dm" #include "modular_chomp\code\modules\clothing\clothing.dm" #include "modular_chomp\code\modules\clothing\spacesuits\rig\clockwork_ch.dm" #include "modular_chomp\code\modules\clothing\spacesuits\rig\rig.dm" @@ -4547,6 +4547,8 @@ #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_powers.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_rig.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_species.dm" +#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\negative.dm" +#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\positive.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\donteatbossmonsters.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\simple_mob.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\simple_mob_abilities.dm" @@ -4557,6 +4559,7 @@ #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\greatwolf.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\vore.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm" +#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin.dm" #include "modular_chomp\code\modules\mob\new_player\sprite_accessories_extra.dm" #include "modular_chomp\code\modules\mob\new_player\sprite_accessories_tail.dm" #include "modular_chomp\code\modules\mob\new_player\sprite_accessories_taur.dm"