mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Fixes #8929
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user