This commit is contained in:
Zuhayr
2015-05-30 04:38:41 +09:30
parent 6564fd6663
commit 4a012a90ca

View File

@@ -1,16 +1,20 @@
/proc/spawn_diona_nymph_from_organ(var/obj/item/organ/organ) /proc/spawn_diona_nymph_from_organ(var/obj/item/organ/organ)
if(!istype(organ)) if(!istype(organ))
return return 0
//This is a terrible hack and I should be ashamed. //This is a terrible hack and I should be ashamed.
var/datum/seed/diona = plant_controller.seeds["diona"] var/datum/seed/diona = plant_controller.seeds["diona"]
if(!diona) if(!diona)
qdel(src) return 0
spawn(1) // So it has time to be thrown about by the gib() proc. spawn(1) // So it has time to be thrown about by the gib() proc.
var/mob/living/carbon/alien/diona/D = new(get_turf(organ)) var/mob/living/carbon/alien/diona/D = new(get_turf(organ))
diona.request_player(D) diona.request_player(D)
qdel(organ) spawn(60)
if(D)
if(!D.ckey || !D.client)
D.death()
return 1
/obj/item/organ/external/diona /obj/item/organ/external/diona
name = "tendril" name = "tendril"
@@ -128,16 +132,13 @@
//DIONA ORGANS. //DIONA ORGANS.
/obj/item/organ/external/diona/removed() /obj/item/organ/external/diona/removed()
var/mob/living/carbon/human/H = owner
..() ..()
if(!istype(owner)) if(!istype(H) || !H.organs || !H.organs.len)
H.death()
if(prob(50) && spawn_diona_nymph_from_organ(src))
qdel(src) qdel(src)
if(!owner.organs.len)
owner.death()
if(prob(50))
spawn_diona_nymph_from_organ(src)
/obj/item/organ/diona/process() /obj/item/organ/diona/process()
return return
@@ -172,16 +173,13 @@
organ_tag = "special" // Turns into a nymph instantly, no transplanting possible. organ_tag = "special" // Turns into a nymph instantly, no transplanting possible.
/obj/item/organ/diona/removed(var/mob/living/user) /obj/item/organ/diona/removed(var/mob/living/user)
var/mob/living/carbon/human/H = owner
..() ..()
if(!istype(owner)) if(!istype(H) || !H.organs || !H.organs.len)
H.death()
if(prob(50) && spawn_diona_nymph_from_organ(src))
qdel(src) qdel(src)
if(!owner.internal_organs.len)
owner.death()
spawn_diona_nymph_from_organ(src)
// These are different to the standard diona organs as they have a purpose in other // These are different to the standard diona organs as they have a purpose in other
// species (absorbing radiation and light respectively) // species (absorbing radiation and light respectively)
/obj/item/organ/diona/nutrients /obj/item/organ/diona/nutrients