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.
This commit is contained in:
Raeschen
2022-11-23 13:46:25 +01:00
parent 47ec940c14
commit c81d482edb
7 changed files with 71 additions and 5 deletions

View File

@@ -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

View File

@@ -1,3 +0,0 @@
// Allow horizontal
/mob/living/simple_mob/shadekin/update_transform()
update_transform_horizontal()

View File

@@ -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

View File

@@ -0,0 +1,2 @@
/datum/trait/negative/deep_sleeper
custom_only = FALSE

View File

@@ -0,0 +1,5 @@
/datum/trait/positive/hardfeet
custom_only = FALSE
/datum/trait/positive/linguist
custom_only = FALSE

View File

@@ -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, "<span class='notice'>Phasing toggled to Normal. You may damage lights.</span>")
phase_gentle = 0
else
to_chat(src, "<span class='notice'>Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun.</span>")
phase_gentle = 1

View File

@@ -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"