From fb2e7c6ecdcd8197b5fb7ab8734b426de37730e9 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 19 Dec 2020 15:38:26 +0000 Subject: [PATCH] Slime People Colours --- code/game/objects/effects/gibs.dm | 46 ++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm index 39f3f250e00..3b56364babf 100644 --- a/code/game/objects/effects/gibs.dm +++ b/code/game/objects/effects/gibs.dm @@ -18,37 +18,39 @@ /obj/effect/gibspawner/New(location, datum/dna/MobDNA) ..() + ASSERT(length(gibtypes) == length(gibamounts)) + ASSERT(length(gibamounts) == length(gibdirections)) - if(istype(loc,/turf)) //basically if a badmin spawns it + if(istype(loc, /turf)) //basically if a badmin spawns it Gib(loc, MobDNA) /obj/effect/gibspawner/proc/Gib(atom/location, datum/dna/MobDNA = null) - if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len) - to_chat(world, "Gib list length mismatch!") - return - var/obj/effect/decal/cleanable/blood/gibs/gib = null if(sparks) do_sparks(2, 1, location) - for(var/i = 1, i<= gibtypes.len, i++) - if(gibamounts[i]) - for(var/j = 1, j<= gibamounts[i], j++) - var/gibType = gibtypes[i] - gib = new gibType(location) + for(var/I in 1 to length(gibtypes)) + if(!gibamounts[I]) + continue + for(var/J in 1 to gibamounts[I]) + var/gib_type = gibtypes[I] + gib = new gib_type(location) + gib.blood_DNA = list() + if(MobDNA) + gib.basecolor = MobDNA.species.blood_color + gib.update_icon() + gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.blood_type - gib.blood_DNA = list() - if(MobDNA) - gib.color = MobDNA.species.blood_color - gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.blood_type - else if(istype(src, /obj/effect/gibspawner/xeno)) - gib.blood_DNA["UNKNOWN DNA"] = "X*" - else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey - gib.blood_DNA["Non-human DNA"] = "A+" - var/list/directions = gibdirections[i] - if(directions.len) - gib.streak(directions) + else if(istype(src, /obj/effect/gibspawner/xeno)) + gib.blood_DNA["UNKNOWN DNA"] = "X*" - qdel(src) + else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey + gib.blood_DNA["Non-human DNA"] = "A+" + + var/list/directions = gibdirections[I] + if(length(directions)) + gib.streak(directions) + + qdel(src) // qdel once done