fixes unremovable mutations, fixes weird tail organ shennanigans (#49771)

* THE mutations fix

* removes !owner

* removes redundant code (yay)
This commit is contained in:
tralezab
2020-03-06 23:39:50 +01:00
committed by GitHub
parent 49c015e334
commit 43ec902cd1
4 changed files with 8 additions and 37 deletions
@@ -189,7 +189,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!oldorgan && should_have && !(initial(neworgan.zone) in excluded_zones))
used_neworgan = TRUE
neworgan.Insert(C)
neworgan.Insert(C, TRUE, FALSE)
if(!used_neworgan)
qdel(neworgan)
@@ -201,9 +201,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
I.Remove(C)
QDEL_NULL(I)
for(var/path in mutant_organs)
var/obj/item/organ/I = new path()
I.Insert(C)
for(var/thing in mutant_organs)
var/current_organ = C.getorgan(thing)
if(!current_organ || replace_current)
var/obj/item/organ/missed = new thing()
missed.Insert(C, TRUE, FALSE)
/datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load)
// Drop the items the new species can't wear
@@ -64,37 +64,6 @@
mutant_organs = list()
return ..()
/datum/species/human/felinid/on_species_loss(mob/living/carbon/H, datum/species/new_species, pref_load)
var/obj/item/organ/ears/cat/ears = H.getorgan(/obj/item/organ/ears/cat)
// var/obj/item/organ/tail/cat/tail = H.getorgan(/obj/item/organ/tail/cat)
if(ears)
var/obj/item/organ/ears/NE
if(new_species && new_species.mutantears)
// Roundstart cat ears override new_species.mutantears, reset it here.
new_species.mutantears = initial(new_species.mutantears)
if(new_species.mutantears)
NE = new new_species.mutantears
if(!NE)
// Go with default ears
NE = new /obj/item/organ/ears
NE.Insert(H, drop_if_replaced = FALSE)
/*
if(tail)
var/obj/item/organ/tail/NT
NT = locate(/obj/item/organ/tail) in new_species.mutant_organs
if(NT)
// Roundstart cat tail overrides new_species tail, reset it here.
new_species.mutanttail = initial(new_species.mutanttail)
if(new_species.mutanttail)
NT = new new_species.mutanttail
if(NT)
NT.Insert(H, drop_if_replaced = FALSE)
else
tail.Remove(H)
*/
/proc/mass_purrbation()
for(var/M in GLOB.mob_list)
if(ishuman(M))