From 0af3ebe0544e46115ac58968a9af10b663bc03aa Mon Sep 17 00:00:00 2001 From: "rastaf.zero@gmail.com" Date: Wed, 2 Feb 2011 18:56:03 +0000 Subject: [PATCH] Fixed crashing master_controller() process when mob suddenly gets deleted during his Life(). Girder now have ex_act(), so it will not be indestructible anymore. Max amount of steel floor tiles in one stack was set to 60 (was 10). If you made too much of tiles you can put undue ones into autolathe. Fixed uncompilable line left by bizarre.babel in r939. Other her derp she should fix herself because I am mad >:[ git-svn-id: http://tgstation13.googlecode.com/svn/trunk@940 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj.dm | 2 +- code/game/master_controller.dm | 2 +- code/game/objects/structures.dm | 21 ++++++++++++++++++++- code/modules/power/cell.dm | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 6777cdbc97f..17e45f228e8 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -945,4 +945,4 @@ obj/item/brain throw_speed = 5 throw_range = 20 flags = FPRINT | TABLEPASS | CONDUCT - max_amount = 10 \ No newline at end of file + max_amount = 60 diff --git a/code/game/master_controller.dm b/code/game/master_controller.dm index 90b79f7b624..882eb9b405a 100644 --- a/code/game/master_controller.dm +++ b/code/game/master_controller.dm @@ -76,7 +76,7 @@ datum/controller/game_controller M.Life() else M.Life() - if (M.mind) + if (M && M.mind) //I think it will be better if author place this under mob/Life() - rastaf0 if (M.mind.special_role == "Changeling") M.chem_charges = between(0, (max((0.9 - (M.chem_charges / 50)), 0.1) + M.chem_charges), 50) sleep(-1) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 05cf90cdf0e..d0ee70a10f9 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -101,7 +101,26 @@ obj/structure /obj/structure/girder/blob_act() if(prob(40)) del(src) - + +/obj/structure/girder/ex_act(severity) + switch(severity) + if(1.0) + del(src) + return + if(2.0) + if (prob(30)) + var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal) + new remains(loc) + del(src) + return + if(3.0) + if (prob(5)) + var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal) + new remains(loc) + del(src) + return + else + return // LATTICE diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 85934c9cedb..1191e04e430 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -59,7 +59,7 @@ if(istype(G)) // var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread // s.set_up(3, 1, src) - s.start() + // s.start() // if (prob(80+(G.siemens_coefficient*100)) && electrocute_mob(user, src, src)) // return 1 if(charge < 1000)