mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
-Added an "attack_larva" proc. It can be used for when you want larva to interact with things.
-Made the required 200 amount a variable, called max_grown. -Larva can now bite simple animals to get some grown amount. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4597 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
health = 25
|
||||
|
||||
var/amount_grown = 0
|
||||
var/max_grown = 200
|
||||
|
||||
//This is fine right now, if we're adding organ specific damage this needs to be updated
|
||||
/mob/living/carbon/alien/larva/New()
|
||||
@@ -64,7 +65,7 @@
|
||||
stat(null, "Move Mode: [m_intent]")
|
||||
|
||||
if (client.statpanel == "Status")
|
||||
stat(null, "Progress: [amount_grown]/200")
|
||||
stat(null, "Progress: [amount_grown]/[max_grown]")
|
||||
stat(null, "Plasma Stored: [getPlasma()]")
|
||||
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
proc/handle_mutations_and_radiation()
|
||||
|
||||
//grow!! but not if metroid or dead
|
||||
if(health>-100 && amount_grown < 200)
|
||||
if(health>-100 && amount_grown < max_grown)
|
||||
amount_grown++
|
||||
|
||||
if (radiation)
|
||||
@@ -235,7 +235,7 @@
|
||||
mutations.Add(FAT)
|
||||
else
|
||||
if(nutrition > 500)
|
||||
if(prob(5 + round((nutrition - 200) / 2)))
|
||||
if(prob(5 + round((nutrition - max_grown) / 2)))
|
||||
src << "\red You suddenly feel blubbery!"
|
||||
mutations.Add(FAT)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
set desc = "Evolve into a fully grown Alien."
|
||||
set category = "Alien"
|
||||
|
||||
if(amount_grown >= 200) //TODO ~Carn
|
||||
if(amount_grown >= max_grown) //TODO ~Carn
|
||||
src << "\green You are growing into a beautiful alien! It is time to choose a caste."
|
||||
src << "\green There are three to choose from:"
|
||||
src << "\green <B>Hunters</B> are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves."
|
||||
|
||||
@@ -282,7 +282,9 @@
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
|
||||
|
||||
switch(M.a_intent)
|
||||
|
||||
if ("help")
|
||||
for(var/mob/O in viewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
@@ -320,6 +322,22 @@
|
||||
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L as mob)
|
||||
|
||||
switch(L.a_intent)
|
||||
if("help")
|
||||
visible_message("\blue [L] rubs it's head against [src]")
|
||||
|
||||
else
|
||||
|
||||
var/damage = rand(5, 10)
|
||||
visible_message("\red <B>[L] bites [src]!</B>")
|
||||
|
||||
if(stat != DEAD)
|
||||
src.health -= damage
|
||||
L.amount_grown = min(L.amount_grown + damage, L.max_grown)
|
||||
|
||||
|
||||
/mob/living/simple_animal/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
|
||||
if(istype(O, /obj/item/stack/medical))
|
||||
if(stat != DEAD)
|
||||
|
||||
Reference in New Issue
Block a user