Fixed silicate:

- You can no longer infinitely reinforce them, they have a limit. This should prevent them from becoming so reinforced that they become literally invisible.
     - You can now rotate silicated windows without the icon not updating properly.
     - Silicate now doesn't automatically double a window's integrity, instead, it now depends on the volume of silicate. This prevents windows from becoming virtually invincible. 1 unit of silicate is only 1/100ths as effective as 100 units of silicate, etc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2072 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-08-30 05:03:29 +00:00
parent 824d5e2bcf
commit 591c5303d5
3 changed files with 43 additions and 4 deletions
+24 -4
View File
@@ -453,10 +453,30 @@ datum
reaction_obj(var/obj/O, var/volume)
src = null
if(istype(O,/obj/window))
O:health = O:health * 2
var/icon/I = icon(O.icon,O.icon_state,O.dir)
I.SetIntensity(1.15,1.50,1.75)
O.icon = I
if(O:silicate <= 200)
O:silicate += volume
O:health += volume * 3
if(!O:silicateIcon)
var/icon/I = icon(O.icon,O.icon_state,O.dir)
var/r = (volume / 100) + 1
var/g = (volume / 70) + 1
var/b = (volume / 50) + 1
I.SetIntensity(r,g,b)
O.icon = I
O:silicateIcon = I
else
var/icon/I = O:silicateIcon
var/r = (volume / 100) + 1
var/g = (volume / 70) + 1
var/b = (volume / 50) + 1
I.SetIntensity(r,g,b)
O.icon = I
O:silicateIcon = I
return
oxygen