diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index fcfeaf4777..0ebb68bc1e 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -58,8 +58,23 @@ G.client.mob = B del(G) - - - - - +/* + Pulse(var/pulse = 0, var/origin_dir = 0)//Todo: Fix spaceblob expand + set background = 1 + if(pulse > 20) return + //Looking for another blob to pulse + var/list/dirs = list(1,2,4,8) + dirs.Remove(origin_dir)//Dont pulse the guy who pulsed us + for(var/i = 1 to 4) + if(!dirs.len) break + var/dirn = pick(dirs) + dirs.Remove(dirn) + var/turf/T = get_step(src, dirn) + var/obj/effect/blob/B = (locate(/obj/effect/blob) in T) + if(!B) + expand(T)//No blob here so try and expand + return + B.Pulse((pulse+1),get_dir(src.loc,T)) + return + return +*/ \ No newline at end of file diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm index 6d853014fa..1340dab9f2 100644 --- a/code/game/gamemodes/blob/blobs/factory.dm +++ b/code/game/gamemodes/blob/blobs/factory.dm @@ -6,7 +6,7 @@ brute_resist = 1 fire_resist = 2 var/list/spores = list() - var/max_spores = 6 + var/max_spores = 4 update_icon() @@ -18,6 +18,6 @@ run_action() - if(spores.len > max_spores) return 0 + if(spores.len >= max_spores) return 0 new/obj/effect/critter/blob(src.loc, src) return 1 diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index e02ea63b45..6793212b57 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -11,12 +11,13 @@ var/health = 30 var/brute_resist = 4 var/fire_resist = 1 - /*Types - var/Blob - var/Node - var/Core - var/Factory - var/Shield + var/blob_type = "blob" + /*Types + Blob + Node + Core + Factory + Shield */ diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index 55d4f50c1e..86728bd2e0 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -241,8 +241,9 @@ text("[src.oddbutton ? "Yes" : "No" return - if(src.target && (src.target != null) && src.path.len == 0) + if(target && path.len == 0) spawn(0) + if(!src || !target) return src.path = AStar(src.loc, src.target.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, 0, 30) src.path = reverselist(src.path) if(src.path.len == 0) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 532457dc21..519e039f15 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -209,7 +209,7 @@ This method wont take into account storage items developed in the future and doe for(var/turf/T in get_area_turfs(shuttleat) ) var/obj/item/weapon/paper/slip = locate(/obj/item/weapon/paper/manifest) in T if(slip) - if(slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense + if(slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense supply_shuttle_points += SUPPLY_POINTSPERSLIP del(slip) var/crate = locate(/obj/structure/closet/crate) in T diff --git a/code/modules/critters/critters.dm b/code/modules/critters/critters.dm index 93f7befcef..bfb27e0698 100644 --- a/code/modules/critters/critters.dm +++ b/code/modules/critters/critters.dm @@ -91,6 +91,12 @@ brutevuln = 2 +/* process() + if(prob(50)) + TakeDamage(1) + ..()*/ + + Die() src.visible_message("[src] ruptures and explodes!") src.alive = 0 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 1efffcedb5..074eefef44 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -232,8 +232,7 @@ datum/preferences // Modify this if you added more jobs and it looks like a mess. Add the jobs in the splitJobs that you want to trigger and intitate a new table. if(splitJobs == null) - if (ticker.current_state >= GAME_STATE_PLAYING -) + if (ticker && ticker.current_state >= GAME_STATE_PLAYING) splitJobs = list() else splitJobs = list("Chief Engineer") diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 5c0d5d2616..f5e9f6a375 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -14,6 +14,7 @@ var/obj/item/weapon/am_containment/fueljar var/update_shield_icons = 0 var/stability = 100 + var/exploding = 0 var/active = 0//On or not var/fuel_injection = 2//How much fuel to inject @@ -27,6 +28,7 @@ var/stored_power = 0//Power to deploy per tick + New() ..() linked_shielding = list() @@ -40,6 +42,10 @@ process() + if(exploding) + explosion(get_turf(src),8,12,18,12) + if(src) del(src) + if(update_shield_icons && !shield_icon_delay) check_shield_icons() update_shield_icons = 0 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index b3eb519e68..35dbf263d2 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -25,8 +25,9 @@ proc/cardinalrange(var/center) var/stability = 100//If this gets low bad things tend to happen var/efficiency = 1//How many cores this core counts for when doing power processing, plasma in the air and stability could affect this - New(var/l) - ..(l) + + New(loc) + ..(loc) spawn(10) controllerscan() return @@ -182,8 +183,8 @@ proc/cardinalrange(var/center) proc/check_stability(var/injecting_fuel = 0) if(stability > 0) return - if(injecting_fuel) - explosion(get_turf(src),8,12,18,12) + if(injecting_fuel && control_unit) + control_unit.exploding = 1 if(src) del(src) return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 97ec4a0b6d..49280352ef 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -141,7 +141,7 @@ for(var/mob/O in viewers(src, null)) O.show_message("\red [user] cuts the cable.", 1) - if(!defer_powernet_rebuild) + if(defer_powernet_rebuild) if(netnum && powernets && powernets.len >= netnum) var/datum/powernet/PN = powernets[netnum] PN.cut_cable(src) diff --git a/tgstation.dme b/tgstation.dme index b5457d7701..ebe8d00b36 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -187,7 +187,6 @@ #define FILE_DIR "icons/vending_icons" #define FILE_DIR "interface" #define FILE_DIR "maps" -#define FILE_DIR "maps/backup" #define FILE_DIR "maps/RandomZLevels" #define FILE_DIR "sound" #define FILE_DIR "sound/AI"