Skip to content

Commit

Permalink
Patch out a method to bypass xenobio progression (#67938)
Browse files Browse the repository at this point in the history
* Patch out a method to bypass xenobio progression

* Allow sentient humans to still turn into a random slime

* Apply suggestions from code review

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Use helper procs

* Add readability change to earlier lines as well

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
  • Loading branch information
RandomGamer123 and MrMelbert committed Jun 29, 2022
1 parent 4ea9cf6 commit fa722f6
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions code/datums/diseases/transformation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@
stage3 = list("<span class='danger'>Your appendages are melting away.</span>", "<span class='danger'>Your limbs begin to lose their shape.</span>")
stage4 = list("<span class='danger'>You are turning into a slime.</span>")
stage5 = list("<span class='danger'>You have become a slime.</span>")
new_form = /mob/living/simple_animal/slime/random
new_form = /mob/living/simple_animal/slime


/datum/disease/transformation/slime/stage_act(delta_time, times_fired)
Expand All @@ -237,15 +237,22 @@

switch(stage)
if(1)
if(ishuman(affected_mob) && affected_mob.dna)
if(affected_mob.dna.species.id == SPECIES_SLIMEPERSON || affected_mob.dna.species.id == SPECIES_STARGAZER || affected_mob.dna.species.id == SPECIES_LUMINESCENT)
if(ishuman(affected_mob))
var/mob/living/carbon/human/human = affected_mob
if(isjellyperson(human))
stage = 5
if(3)
if(ishuman(affected_mob))
var/mob/living/carbon/human/human = affected_mob
if(human.dna.species.id != SPECIES_SLIMEPERSON && affected_mob.dna.species.id != SPECIES_STARGAZER && affected_mob.dna.species.id != SPECIES_LUMINESCENT)
if(!ismonkey(human) && !isjellyperson(human))
human.set_species(/datum/species/jelly/slime)

/datum/disease/transformation/slime/do_disease_transformation(mob/living/affected_mob)
if(affected_mob.client && ishuman(affected_mob)) // if they are a human who's not a monkey and are sentient, then let them have the old fun
var/mob/living/carbon/human/human = affected_mob
if(!ismonkey(human))
new_form = /mob/living/simple_animal/slime/random
return ..()

/datum/disease/transformation/corgi
name = "The Barkening"
Expand Down

0 comments on commit fa722f6

Please sign in to comment.