Merge pull request #9234 from Fox-McCloud/gib-monkey

Fixes Monkey Gibbing Exploit
This commit is contained in:
Crazy Lemon
2018-07-21 20:25:33 -07:00
committed by GitHub
+10 -5
View File
@@ -24,6 +24,9 @@
H.canmove = 0
H.icon = null
H.invisibility = 101
var/has_primitive_form = H.dna.species.primitive_form // cache this
if(has_primitive_form)
H.set_species(has_primitive_form)
new /obj/effect/temp_visual/monkeyify(H.loc)
sleep(22)
@@ -31,12 +34,10 @@
H.SetStunned(0)
H.invisibility = initial(H.invisibility)
if(!H.dna.species.primitive_form) //If the creature in question has no primitive set, this is going to be messy.
if(!has_primitive_form) //If the pre-change mob in question has no primitive set, this is going to be messy.
H.gib()
return
H.set_species(H.dna.species.primitive_form)
QDEL_NULL(H.hud_used)
if(H.client)
@@ -50,6 +51,8 @@
/datum/dna/gene/monkey/deactivate(mob/living/carbon/human/H, connected, flags)
if(!istype(H))
return
if(!issmall(H))
return
for(var/obj/item/W in H)
if(W == H.w_uniform) // will be torn
continue
@@ -63,6 +66,9 @@
H.canmove = 0
H.icon = null
H.invisibility = 101
var/has_greater_form = H.dna.species.greater_form //cache this
if(has_greater_form)
H.set_species(has_greater_form)
new /obj/effect/temp_visual/monkeyify/humanify(H.loc)
sleep(22)
@@ -70,11 +76,10 @@
H.SetStunned(0)
H.invisibility = initial(H.invisibility)
if(!H.dna.species.greater_form) //If the creature in question has no primitive set, this is going to be messy.
if(!has_greater_form) //If the pre-change mob in question has no primitive set, this is going to be messy.
H.gib()
return
H.set_species(H.dna.species.greater_form)
H.real_name = H.dna.real_name
H.name = H.real_name