adds the gender change potion as the blood reaction of pink slimes (pink slimes previously only had one reaction, and it's not exactly a barnburner). (#20149)

This item changes up the gender var of any gendered mob/living. Including people. There are a few interesting applications of this item, mostly if your into animal husbandry (all generic animals unless programed otherwise are all the same gender) but mostly it's just here to fill the immensely niche gap the loss of gender reassignment surgery left. Also it's 2:30 am.

Also factors out the old human var gender_ambiguous, as that surgery was the only way to ever trigger it.
This commit is contained in:
Incoming5643
2016-08-27 19:29:20 -05:00
committed by KorPhaeron
parent a1ef223076
commit 09683bac79
5 changed files with 38 additions and 8 deletions
@@ -162,12 +162,6 @@
if(100 to 200)
msg += "<span class='warning'>[t_He] [t_is] twitching ever so slightly.</span>\n"
if(gender_ambiguous) //someone fucked up a gender reassignment surgery
if (gender == MALE)
msg += "[t_He] has a strange feminine quality to [t_him].\n"
else
msg += "[t_He] has a strange masculine quality to [t_him].\n"
var/appears_dead = 0
if(stat == DEAD || (status_flags & FAKEDEATH))
appears_dead = 1
@@ -42,8 +42,6 @@ var/global/default_martial_art = new/datum/martial_art
var/special_voice = "" // For changing our voice. Used by a symptom.
var/gender_ambiguous = 0 //if something goes wrong during gender reassignment this generates a line in examine
var/bleed_rate = 0 //how much are we bleeding
var/bleedsuppress = 0 //for stopping bloodloss, eventually this will be limb-based like bleeding
@@ -472,6 +472,20 @@
var/obj/item/slimepotion/docility/P = new /obj/item/slimepotion/docility
P.loc = get_turf(holder.my_atom)
/datum/chemical_reaction/gender
name = "Gender Potion"
id = "m_gender"
result = null
required_reagents = list("blood" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/pink
required_other = 1
/datum/chemical_reaction/gender/on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/genderchange/G = new /obj/item/slimepotion/genderchange
G.loc = get_turf(holder.my_atom)
//Black
/datum/chemical_reaction/slimemutate2
name = "Advanced Mutation Toxin"
@@ -383,6 +383,30 @@
if(!uses)
qdel(src)
/obj/item/slimepotion/genderchange
name = "gender change potion"
desc = "An interesting chemical mix that changes the biological gender of what its applied to. Cannot be used on things that lack gender entirely."
icon = 'icons/obj/chemical.dmi'
icon_state = "potlightpink"
/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user)
if(!istype(L) || L.stat == DEAD)
user << "<span class='warning'>The potion can only be used on living things!</span>"
return
if(L.gender != MALE && L.gender != FEMALE)
user << "<span class='warning'>The potion can only be used on gendered things!</span>"
return
if(L.gender == MALE)
L.gender = FEMALE
L.visible_message("<span class='notice'>[L] suddenly looks more feminine!</span>")
else
L.gender = MALE
L.visible_message("<span class='notice'>[L] suddenly looks more masculine!</span>")
L.regenerate_icons()
qdel(src)
////////Adamantine Golem stuff I dunno where else to put it
// This will eventually be removed.