Larvae who chestburst while their host is swallowed are now properly added to stomach_contents, so they can be regurgitated. As are the gibs from the gibbing.

Tidied up the loop in alien_powers.dm
This commit is contained in:
Rolan7
2014-01-20 15:43:43 -05:00
parent 5f1fae05dd
commit 5d931d70ef
3 changed files with 13 additions and 8 deletions
+3
View File
@@ -42,6 +42,9 @@
for(var/j = 1, j<= gibamounts[i], j++)
var/gibType = gibtypes[i]
gib = new gibType(location)
if(istype(location,/mob/living/carbon))
var/mob/living/carbon/digester = location
digester.stomach_contents += gib
if(viruses.len > 0)
for(var/datum/disease/D in viruses)
@@ -161,12 +161,11 @@ Doesn't work on other aliens/AI.*/
set desc = "Empties the contents of your stomach"
set category = "Alien"
if(powerc())
if(stomach_contents.len)
for(var/mob/M in src)
if(M in stomach_contents)
stomach_contents.Remove(M)
M.loc = loc
//Paralyse(10)
src.visible_message("\green <B>[src] hurls out the contents of their stomach!</B>")
if(powerc() && stomach_contents.len)
for(var/atom/movable/A in stomach_contents)
if(A in stomach_contents)
stomach_contents.Remove(A)
A.loc = loc
//Paralyse(10)
src.visible_message("\green <B>[src] hurls out the contents of their stomach!</B>")
return
@@ -100,6 +100,9 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
new_xeno << sound('sound/voice/hiss5.ogg',0,0,0,100) //To get the player's attention
if(gib_on_success)
affected_mob.gib()
if(istype(new_xeno.loc,/mob/living/carbon))
var/mob/living/carbon/digester = new_xeno.loc
digester.stomach_contents += new_xeno
del(src)
/*----------------------------------------