Adds Mimestrogen! (#27028)

* Mimestrogen start

* Removes some clown bits from Mimestrogen

* Forgot to use M instead of C when copying a line

* Fixes the emote.

Hadn't realised it calls an emote instead doing a custom one.

* Uses mind.miming instead of the mute trait

* Makes the screen greyscale, some comments in the code

* Fixed perma greyscale

* Changed a mime_message.

* Removes an unneeded variable

The variable was already commented out anyway.

* Forgot something in a comment

* Fixed the description and added a drink description

* Recipes for Mimestrogen

* Stops Vox from taking damage that's for IPC

* Moved a comment one space

* Wrong variable for the pasted check

* Remove proposed recipe 1, add a comment space

* Change check method for damage dealing

Instead of relying on syntheticness, it's better to check if the individual is affected by Toxin damage or not.

Also removes some unneeded comments.

* Just so I don't have to deal with a conflict.

* Make the tox_mod check work better

Makes it so people can't heal from a negative tox mod.

* Accidentally had a line to remove

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* makes mind.miming switch make more sense

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* Applying suggestion from code review

I don't know why there needs to be a line between client.color and update_client_colour so I've just done an if else with the trait removal in both.

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* funny -> entertaining

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

* Better formatting in message list

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>

---------

Signed-off-by: WenlockTheBritishHobo <168675688+WenlockTheBritishHobo@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
WenlockTheBritishHobo
2024-11-09 21:25:31 +00:00
committed by GitHub
parent 1a2c836073
commit d67c8b4b11
2 changed files with 83 additions and 1 deletions
@@ -514,8 +514,81 @@
if(M.mind?.assigned_role != "Clown")
REMOVE_TRAIT(M, TRAIT_COMIC_SANS, id)
M.RemoveElement(/datum/element/waddling)
M.DeleteComponent(/datum/component/squeak)
M.DeleteComponent(/datum/component/squeak)
/datum/reagent/mimestrogen
name = "Mimestrogen"
id = "mimestrogen"
description = "Mimestrogen is an odd chemical compound that induces a variety of annoying side-effects in the average person. It also causes mild intoxication, and is toxic to clowns."
color = "#353535" // Should be dark grey, there are already a fair number of white chemicals
process_flags = ORGANIC | SYNTHETIC
drink_desc = "The color of the glass' surroundings seem to drain as you look at it."
taste_description = "an entertaining flavour"
/datum/reagent/mimestrogen/on_new()
..()
var/mob/living/carbon/C = holder.my_atom
if(!istype(C))
return
if(C.mind)
if(C.mind.assigned_role == "Mime")
to_chat(C, "<span class='notice'>Whatever that was, it feels great!</span>")
else if(C.mind.assigned_role == "Clown")
to_chat(C, "<span class='warning'>You feel nauseous.</span>")
C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT)
C.mind.miming = TRUE
ADD_TRAIT(C, TRAIT_COLORBLIND, id)
else
to_chat(C, "<span class='warning'>Something doesn't feel right...</span>")
C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT)
C.mind.miming = TRUE // Jestosterone gives comic sans which makes one more clown-like, comic sans also unlocks clown healing, minus Jestoserone. So, mind.miming makes one more like a mime and unlocks mime healing, minus Mimestrogen.
ADD_TRAIT(C, TRAIT_COLORBLIND, id)
/datum/reagent/mimestrogen/on_mob_life(mob/living/carbon/human/M)
var/update_flags = STATUS_UPDATE_NONE
if(prob(10))
M.emote("giggle")
if(!M.mind)
return ..() | update_flags
if(M.mind.assigned_role == "Mime")
update_flags |= M.adjustBruteLoss(-1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE)
else
M.AdjustDizzy(20 SECONDS, 0, 100 SECONDS)
if(M.client)
M.client.color = MATRIX_GREYSCALE
M.update_client_colour() // TRAIT_COLORBLIND only makes you colourblind for the wires, this fully makes it greyscale
if(prob(10))
M.EyeBlurry(10 SECONDS)
if(prob(6))
var/static/list/mime_message = list("You feel light-headed.",
"You can't see straight.",
"You feel about as entertaining as the station mime.",
"Muted colors and berets cloud your vision.",
"Your voice box feels numb.",
"What was that?!",
"You can hear silence in the distance, somehow.",
"You feel like miming.",
"Silence permeates your ears.",
"...",
"You feel like miming a performance.")
to_chat(M, "<span class='warning'>[pick(mime_message)]</span>")
if(M.mind.assigned_role == "Clown")
if(M.dna.species.tox_mod <= 0) // If they can't take tox damage, make them take burn damage
update_flags |= M.adjustFireLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE)
else
update_flags |= M.adjustToxLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER)
return ..() | update_flags
/datum/reagent/mimestrogen/on_mob_delete(mob/living/M)
..()
if(M.mind?.assigned_role != "Mime")
M.mind.miming = FALSE
if(M.client)
M.client.color = null
REMOVE_TRAIT(M, TRAIT_COLORBLIND, id)
M.update_client_colour() // You get stuck with permanent greyscale if it's not separated from client.color by at least one line
else
REMOVE_TRAIT(M, TRAIT_COLORBLIND, id)
/datum/reagent/royal_bee_jelly
name = "Royal bee jelly"
@@ -289,6 +289,15 @@
/datum/chemical_reaction/jestosterone/on_reaction(datum/reagents/holder, created_volume)
playsound(get_turf(holder.my_atom), 'sound/items/bikehorn.ogg', 50, 1)
/datum/chemical_reaction/mimestrogen
name = "Mimestrogen"
id = "mimestrogen"
result = "mimestrogen"
required_reagents = list("blood" = 1, "sodiumchloride" = 1, "nothing" = 1, "capulettium_plus" = 1) // Or one freshly-squeezed mime
min_temp = T0C + 100
result_amount = 5
mix_message = "The mixture seems to drain of color before stopping at a dark grey."
/datum/chemical_reaction/royal_bee_jelly
name = "royal bee jelly"
id = "royal_bee_jelly"