/datum/surgery/gender_reassignment name = "gender reassignment" steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/reshape_genitals, /datum/surgery_step/close) species = list(/mob/living/carbon/human) possible_locs = list("groin") //reshape_genitals /datum/surgery_step/reshape_genitals name = "reshape genitals" implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/hatchet = 50, /obj/item/weapon/wirecutters = 35) time = 64 /datum/surgery_step/reshape_genitals/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.gender == FEMALE) user.visible_message("[user] begins to reshape [target]'s genitals to look more masculine.", "You begin to reshape [target]'s genitals to look more masculine...") else user.visible_message("[user] begins to reshape [target]'s genitals to look more feminine.", "You begin to reshape [target]'s genitals to look more feminine...") /datum/surgery_step/reshape_genitals/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/mob/living/carbon/human/H = target //no type check, as that should be handled by the surgery H.gender_ambiguous = 0 if(target.gender == FEMALE) user.visible_message("[user] has made a man of [target]!", "You made [target] a man.") target.gender = MALE else user.visible_message("[user] has made a woman of [target]!", "You made [target] a woman.") target.gender = FEMALE target.regenerate_icons() return 1 /datum/surgery_step/reshape_genitals/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/mob/living/carbon/human/H = target H.gender_ambiguous = 1 user.visible_message("[user] accidentally mutilates [target]'s genitals beyond the point of recognition!", "You accidentally mutilate [target]'s genitals beyond the point of recognition!") target.gender = pick(MALE, FEMALE) target.regenerate_icons() return 1