TG: More sanity checks for:

- SecHUD Glasses
- Facehuggers
- Attack()

And a more likely fix for the Throwing runtime.
Revision: r3479
Author: 	 johnsonmt88
This commit is contained in:
Erthilo
2012-05-05 22:15:20 +01:00
parent 1a5d772ae5
commit babf3ea66e
2 changed files with 30 additions and 23 deletions

View File

@@ -297,39 +297,46 @@ mob/proc/flash_weak_pain()
Metroid.SStun = 0
spawn(0)
Metroid.canmove = 0
step_away(Metroid, user)
if(prob(25 + power*2))
sleep(2)
if(Metroid)
Metroid.canmove = 0
step_away(Metroid, user)
Metroid.canmove = 1
if(prob(25 + power))
sleep(2)
if(Metroid && user)
step_away(Metroid, user)
Metroid.canmove = 1
else
if(prob(10 + power*2))
if(Metroid)
if(Metroid.Victim)
if(prob(80) && !Metroid.client)
Metroid.Discipline++
if(Metroid.Victim)
if(prob(80) && !Metroid.client)
Metroid.Discipline++
if(Metroid.Discipline == 1)
Metroid.attacked = 0
if(Metroid.Discipline == 1)
Metroid.attacked = 0
spawn()
if(Metroid)
Metroid.SStun = 1
sleep(rand(5,20))
if(Metroid)
Metroid.SStun = 0
spawn()
Metroid.SStun = 1
sleep(rand(5,20))
Metroid.SStun = 0
Metroid.Victim = null
Metroid.anchored = 0
Metroid.Victim = null
Metroid.anchored = 0
spawn(0)
step_away(Metroid, user)
Metroid.canmove = 0
if(prob(25 + power*4))
sleep(2)
if(Metroid && user)
step_away(Metroid, user)
Metroid.canmove = 1
Metroid.canmove = 0
if(prob(25 + power*4))
sleep(2)
if(Metroid && user)
step_away(Metroid, user)
Metroid.canmove = 1
var/showname = "."
if(user)

View File

@@ -155,7 +155,7 @@
while(((((src.x < target.x && dx == EAST) || (src.x > target.x && dx == WEST)) && dist_travelled < range) || (a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf))
while(src && target &&((((src.x < target.x && dx == EAST) || (src.x > target.x && dx == WEST)) && dist_travelled < range) || (a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf))
// only stop when we've gone the whole distance (or max throw range) and are on a non-space tile, or hit something, or hit the end of the map, or someone picks it up
if(error < 0)
var/atom/step = get_step(src, dy)