Tweaked metroids a bit and fixed some bugs. Most noteably, Metroids could still evolve/reproduce if they were dead.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2224 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-09-18 19:17:36 +00:00
parent 3c62948582
commit 34ec02d080
3 changed files with 55 additions and 3 deletions

View File

@@ -660,9 +660,55 @@ datum
sleep(20)
M.client.screen -= blueeffect
del(blueeffect)
metroidcrit
name = "Metroid Crit"
id = "m_tele"
result = null
required_reagents = list("cryoxadone" = 1, "plasma" = 1, "mutagen" = 1, "uranium" = 1, "blood" = 1)
result_amount = 1
required_container = /obj/item/metroid_core
required_other = 4
on_reaction(var/datum/reagents/holder, var/created_volume)
var/list/critters = typesof(/obj/critter) - /obj/critter // list of possible critters
playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1)
for(var/mob/living/carbon/M in viewers(get_turf_loc(holder.my_atom), null))
flick("e_flash", M.flash)
for(var/i = 1, i <= created_volume, i++)
var/chosen = pick(critters)
var/obj/critter/C = new chosen
C.loc = get_turf_loc(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
metroidbork
name = "Metroid Bork"
id = "m_tele"
result = null
required_reagents = list("sugar" = 1, "water" = 1)
result_amount = 2
required_container = /obj/item/metroid_core
required_other = 4
on_reaction(var/datum/reagents/holder, var/created_volume)
var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks
// BORK BORK BORK
playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1)
for(var/mob/living/carbon/M in viewers(get_turf_loc(holder.my_atom), null))
flick("e_flash", M.flash)
for(var/i = 1, i <= created_volume, i++)
var/chosen = pick(borks)
var/obj/B = new chosen
B.loc = get_turf_loc(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(B, pick(NORTH,SOUTH,EAST,WEST))

View File

@@ -155,8 +155,6 @@
if((hungry || starving) && targets.len > 0)
if(!istype(src, /mob/living/carbon/metroid/adult))
if(!starving)
@@ -216,7 +214,7 @@
AIprocess() // the master AI process
if(AIproc) return
if(AIproc || stat == 2) return
var/hungry = 0
var/starving = 0
@@ -476,6 +474,9 @@
handle_nutrition()
if(stat == 2) return // haha wow
if(prob(20))
if(istype(src, /mob/living/carbon/metroid/adult)) nutrition-=rand(4,6)
else nutrition-=rand(2,3)

View File

@@ -217,6 +217,11 @@
if(amount_grown >= 10)
switch(input("Are you absolutely sure you want to reproduce? Your current body will cease to be, but your consciousness will be transferred into a produced metroid.") in list("Yes","No"))
if("Yes")
if(stat)
src << "<i>I must be conscious to do this...</i>"
return
var/number = pick(2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4)
var/list/babies = list()
for(var/i=1,i<=number,i++) // reproduce (has a small chance of producing 3 or 4 offspring)