Committing a patch for Giacom. See details here:

http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=9018

Also some very small metroid changes to make them more balanced and less KILL KILL KILL.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3839 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2012-06-16 06:11:14 +00:00
parent fa0a3efa34
commit 449610bee2
11 changed files with 478 additions and 167 deletions
+10 -9
View File
@@ -87,20 +87,20 @@
var/hungry = 0 // determines if the metroid is hungry
var/starving = 0 // determines if the metroid is starving-hungry
if(istype(src, /mob/living/carbon/metroid/adult))
if(istype(src, /mob/living/carbon/metroid/adult)) // 1200 max nutrition
switch(nutrition)
if(400 to 1100) hungry = 1
if(0 to 399)
if(301 to 600) hungry = 1
if(0 to 300)
starving = 1
else
switch(nutrition)
if(150 to 800) hungry = 1
if(0 to 149) starving = 1
switch(nutrition) // 1000 max nutrition
if(201 to 500) hungry = 1
if(0 to 200) starving = 1
if(starving && !client) // if a metroid is starving, it starts losing its friends
if(prob(15) && Friends.len > 0)
if(prob(1) && Friends.len > 0)
var/friendnum = 0
for(var/mob/M in Friends)
friendnum++
@@ -504,8 +504,8 @@
var/number = pick(2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4)
for(var/i=1,i<=number,i++) // reproduce (has a small chance of producing 3 or 4 offspring)
var/mob/living/carbon/metroid/M = new/mob/living/carbon/metroid(loc)
M.nutrition = round(nutrition/number)
M.powerlevel = round(powerlevel / number)
M.nutrition = round(nutrition * 0.9)
M.powerlevel = round(powerlevel/number)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
@@ -518,6 +518,7 @@
if(!client)
var/mob/living/carbon/metroid/adult/A = new/mob/living/carbon/metroid/adult(src.loc)
A.nutrition = nutrition
A.nutrition += 100
A.powerlevel = max(0, powerlevel-1)
A.Friends = Friends
A.tame = tame
@@ -76,6 +76,7 @@
if(Victim.health <= 0)
Victim.adjustToxLoss(rand(2,4))
// Heal yourself
adjustToxLoss(-10)
adjustOxyLoss(-10)
adjustBruteLoss(-10)
@@ -136,7 +137,8 @@
if(Victim && !rabid && !attacked)
if(Victim.LAssailant && Victim.LAssailant != Victim)
if(prob(50))
Friends |= Victim.LAssailant
if(!(Victim.LAssailant in Friends))
Friends.Add(Victim.LAssailant) // no idea why i was using the |= operator
if(M.client && istype(src, /mob/living/carbon/human))
if(prob(85))
@@ -205,7 +207,7 @@
var/list/babies = list()
for(var/i=1,i<=number,i++) // reproduce (has a small chance of producing 3 or 4 offspring)
var/mob/living/carbon/metroid/M = new/mob/living/carbon/metroid(loc)
M.nutrition = round(nutrition/number)
M.nutrition = round(nutrition * 0.9)
M.powerlevel = round(powerlevel / number)
if(i != 1) step_away(M,src)
babies += M