mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
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:
@@ -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))
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user