From 550fdd3ae39e68ed926c33eabfd726b15baa4caf Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 18:41:19 -0300 Subject: [PATCH 01/11] effect/blob to structure/blob --- code/game/gamemodes/blob/blob.dm | 2 +- code/game/gamemodes/blob/blobs/blob_mobs.dm | 6 +- code/game/gamemodes/blob/blobs/core.dm | 22 +++--- code/game/gamemodes/blob/blobs/factory.dm | 8 +-- code/game/gamemodes/blob/blobs/node.dm | 14 ++-- code/game/gamemodes/blob/blobs/resource.dm | 6 +- code/game/gamemodes/blob/blobs/shield.dm | 8 +-- code/game/gamemodes/blob/blobs/storage.dm | 6 +- code/game/gamemodes/blob/overmind.dm | 4 +- code/game/gamemodes/blob/powers.dm | 68 +++++++++---------- code/game/gamemodes/blob/theblob.dm | 60 ++++++++-------- code/game/machinery/overview.dm | 2 +- .../items/weapons/grenades/flashbang.dm | 2 +- .../items/weapons/grenades/smokebomb.dm | 2 +- code/modules/events/blob.dm | 4 +- code/modules/shuttle/supply.dm | 2 +- 16 files changed, 108 insertions(+), 108 deletions(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 16f98927e17..336d66b8df8 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -135,7 +135,7 @@ var/list/blob_nodes = list() else if(blob_client && location) burst++ C.gib() - var/obj/effect/blob/core/core = new(location, 200, blob_client, blob_point_rate) + var/obj/structure/blob/core/core = new(location, 200, blob_client, blob_point_rate) if(core.overmind && core.overmind.mind) core.overmind.mind.name = blob.name infected_crew -= blob diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 67229b51a1a..71a6b5be37f 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -37,7 +37,7 @@ attacktext = "hits" attack_sound = 'sound/weapons/genhit1.ogg' speak_emote = list("pulses") - var/obj/effect/blob/factory/factory = null + var/obj/structure/blob/factory/factory = null var/list/human_overlays = list() var/is_zombie = 0 gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE @@ -48,11 +48,11 @@ /mob/living/simple_animal/hostile/blob/blobspore/CanPass(atom/movable/mover, turf/target, height=0) - if(istype(mover, /obj/effect/blob)) + if(istype(mover, /obj/structure/blob)) return 1 return ..() -/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/effect/blob/factory/linked_node) +/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/structure/blob/factory/linked_node) if(istype(linked_node)) factory = linked_node factory.spores += src diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index 0142d198cc3..9dcb5b7e3eb 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/core +/obj/structure/blob/core name = "blob core" icon = 'icons/mob/blob.dmi' icon_state = "blank_blob" @@ -11,7 +11,7 @@ var/is_offspring = null var/selecting = 0 -/obj/effect/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring) +/obj/structure/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring) blob_cores += src processing_objects.Add(src) poi_list |= src @@ -26,7 +26,7 @@ ..(loc, h) -/obj/effect/blob/core/adjustcolors(var/a_color) +/obj/structure/blob/core/adjustcolors(var/a_color) overlays.Cut() color = null var/image/I = new('icons/mob/blob.dmi', "blob") @@ -36,7 +36,7 @@ overlays += C -/obj/effect/blob/core/Destroy() +/obj/structure/blob/core/Destroy() blob_cores -= src if(overmind) overmind.blob_core = null @@ -45,10 +45,10 @@ poi_list.Remove(src) return ..() -/obj/effect/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return -/obj/effect/blob/core/update_icon() +/obj/structure/blob/core/update_icon() if(health <= 0) qdel(src) return @@ -57,10 +57,10 @@ overmind.update_health() return -/obj/effect/blob/core/RegenHealth() +/obj/structure/blob/core/RegenHealth() return // Don't regen, we handle it in Life() -/obj/effect/blob/core/Life() +/obj/structure/blob/core/Life() if(!overmind) create_overmind() else @@ -79,9 +79,9 @@ for(var/b_dir in alldirs) if(!prob(5)) continue - var/obj/effect/blob/normal/B = locate() in get_step(src, b_dir) + var/obj/structure/blob/normal/B = locate() in get_step(src, b_dir) if(B) - B.change_to(/obj/effect/blob/shield) + B.change_to(/obj/structure/blob/shield) if(B && overmind) B.color = overmind.blob_reagent_datum.color else @@ -90,7 +90,7 @@ ..() -/obj/effect/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay) +/obj/structure/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay) if(overmind_get_delay > world.time && !override_delay) return diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm index 5ea20b49e58..81d3ab47493 100644 --- a/code/game/gamemodes/blob/blobs/factory.dm +++ b/code/game/gamemodes/blob/blobs/factory.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/factory +/obj/structure/blob/factory name = "factory blob" icon = 'icons/mob/blob.dmi' icon_state = "blob_factory" @@ -9,18 +9,18 @@ var/spore_delay = 0 var/mob/camera/blob/overmind -/obj/effect/blob/factory/update_icon() +/obj/structure/blob/factory/update_icon() if(health <= 0) qdel(src) -/obj/effect/blob/factory/Destroy() +/obj/structure/blob/factory/Destroy() for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores) if(spore.factory == src) spore.factory = null spores = null return ..() -/obj/effect/blob/factory/run_action() +/obj/structure/blob/factory/run_action() if(spores.len >= max_spores) return 0 if(spore_delay > world.time) diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm index f9a89391ee7..232511744ea 100644 --- a/code/game/gamemodes/blob/blobs/node.dm +++ b/code/game/gamemodes/blob/blobs/node.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/node +/obj/structure/blob/node name = "blob node" icon = 'icons/mob/blob.dmi' icon_state = "blank_blob" @@ -6,12 +6,12 @@ fire_resist = 2 var/mob/camera/blob/overmind -/obj/effect/blob/node/New(loc, var/h = 100) +/obj/structure/blob/node/New(loc, var/h = 100) blob_nodes += src processing_objects.Add(src) ..(loc, h) -/obj/effect/blob/node/adjustcolors(var/a_color) +/obj/structure/blob/node/adjustcolors(var/a_color) overlays.Cut() color = null var/image/I = new('icons/mob/blob.dmi', "blob") @@ -20,15 +20,15 @@ var/image/C = new('icons/mob/blob.dmi', "blob_node_overlay") src.overlays += C -/obj/effect/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return -/obj/effect/blob/node/Destroy() +/obj/structure/blob/node/Destroy() blob_nodes -= src processing_objects.Remove(src) return ..() -/obj/effect/blob/node/Life() +/obj/structure/blob/node/Life() if(overmind) for(var/i = 1; i < 8; i += i) Pulse(5, i, overmind.blob_reagent_datum.color) @@ -38,7 +38,7 @@ health = min(initial(health), health + 1) color = null -/obj/effect/blob/node/update_icon() +/obj/structure/blob/node/update_icon() if(health <= 0) qdel(src) return diff --git a/code/game/gamemodes/blob/blobs/resource.dm b/code/game/gamemodes/blob/blobs/resource.dm index d5b867e96c0..f5d838fd0a2 100644 --- a/code/game/gamemodes/blob/blobs/resource.dm +++ b/code/game/gamemodes/blob/blobs/resource.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/resource +/obj/structure/blob/resource name = "resource blob" icon = 'icons/mob/blob.dmi' icon_state = "blob_resource" @@ -7,11 +7,11 @@ var/mob/camera/blob/overmind = null var/resource_delay = 0 -/obj/effect/blob/resource/update_icon() +/obj/structure/blob/resource/update_icon() if(health <= 0) qdel(src) -/obj/effect/blob/resource/run_action() +/obj/structure/blob/resource/run_action() if(resource_delay > world.time) return 0 diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm index 1c145f4404f..5ae1a040ab6 100644 --- a/code/game/gamemodes/blob/blobs/shield.dm +++ b/code/game/gamemodes/blob/blobs/shield.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/shield +/obj/structure/blob/shield name = "strong blob" icon = 'icons/mob/blob.dmi' icon_state = "blob_idle" @@ -7,15 +7,15 @@ fire_resist = 2 -/obj/effect/blob/shield/update_icon() +/obj/structure/blob/shield/update_icon() if(health <= 0) qdel(src) return return -/obj/effect/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return -/obj/effect/blob/shield/CanPass(atom/movable/mover, turf/target, height=0) +/obj/structure/blob/shield/CanPass(atom/movable/mover, turf/target, height=0) if(istype(mover) && mover.checkpass(PASSBLOB)) return 1 return 0 diff --git a/code/game/gamemodes/blob/blobs/storage.dm b/code/game/gamemodes/blob/blobs/storage.dm index b6c993f82fe..f29fb9af405 100644 --- a/code/game/gamemodes/blob/blobs/storage.dm +++ b/code/game/gamemodes/blob/blobs/storage.dm @@ -1,4 +1,4 @@ -/obj/effect/blob/storage +/obj/structure/blob/storage name = "storage blob" icon = 'icons/mob/blob.dmi' icon_state = "blob_resource" @@ -6,11 +6,11 @@ fire_resist = 2 var/mob/camera/blob/overmind = null -/obj/effect/blob/storage/update_icon() +/obj/structure/blob/storage/update_icon() if(health <= 0) overmind.max_blob_points -= 50 qdel(src) -/obj/effect/blob/storage/proc/update_max_blob_points(var/new_point_increase) +/obj/structure/blob/storage/proc/update_max_blob_points(var/new_point_increase) if(overmind) overmind.max_blob_points += new_point_increase \ No newline at end of file diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index e6bb0e76be9..87d2fd2b99c 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -11,7 +11,7 @@ pass_flags = PASSBLOB faction = list("blob") - var/obj/effect/blob/core/blob_core = null // The blob overmind's core + var/obj/structure/blob/core/blob_core = null // The blob overmind's core var/blob_points = 0 var/max_blob_points = 100 var/last_attack = 0 @@ -117,7 +117,7 @@ stat(null, "Power Stored: [blob_points]/[max_blob_points]") /mob/camera/blob/Move(var/NewLoc, var/Dir = 0) - var/obj/effect/blob/B = locate() in range("3x3", NewLoc) + var/obj/structure/blob/B = locate() in range("3x3", NewLoc) if(B) loc = NewLoc else diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index cfd72f71a7e..dfae19f5135 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -27,7 +27,7 @@ for(var/i = 1; i <= blob_nodes.len; i++) nodes["Blob Node #[i]"] = blob_nodes[i] var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes - var/obj/effect/blob/node/chosen_node = nodes[node_name] + var/obj/structure/blob/node/chosen_node = nodes[node_name] if(chosen_node) src.loc = chosen_node.loc @@ -41,13 +41,13 @@ /mob/camera/blob/proc/create_shield(var/turf/T) - var/obj/effect/blob/B = (locate(/obj/effect/blob) in T) + var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B)//We are on a blob to_chat(src, "There is no blob here!") return - if(!istype(B, /obj/effect/blob/normal)) + if(!istype(B, /obj/structure/blob/normal)) to_chat(src, "Unable to use this blob, find a normal one.") return @@ -55,7 +55,7 @@ return B.color = blob_reagent_datum.color - B.change_to(/obj/effect/blob/shield) + B.change_to(/obj/structure/blob/shield) return @@ -72,17 +72,17 @@ if(!T) return - var/obj/effect/blob/B = (locate(/obj/effect/blob) in T) + var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B)//We are on a blob to_chat(src, "There is no blob here!") return - if(!istype(B, /obj/effect/blob/normal)) + if(!istype(B, /obj/structure/blob/normal)) to_chat(src, "Unable to use this blob, find a normal one.") return - for(var/obj/effect/blob/resource/blob in orange(4, T)) + for(var/obj/structure/blob/resource/blob in orange(4, T)) to_chat(src, "There is a resource blob nearby, move more than 4 tiles away from it!") return @@ -90,8 +90,8 @@ return B.color = blob_reagent_datum.color - B.change_to(/obj/effect/blob/resource) - var/obj/effect/blob/resource/R = locate() in T + B.change_to(/obj/structure/blob/resource) + var/obj/structure/blob/resource/R = locate() in T if(R) R.overmind = src @@ -108,25 +108,25 @@ if(!T) return - var/obj/effect/blob/B = (locate(/obj/effect/blob) in T) + var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B)//We are on a blob to_chat(src, "There is no blob here!") return - if(!istype(B, /obj/effect/blob/normal)) + if(!istype(B, /obj/structure/blob/normal)) to_chat(src, "Unable to use this blob, find a normal one.") return - for(var/obj/effect/blob/node/blob in orange(5, T)) + for(var/obj/structure/blob/node/blob in orange(5, T)) to_chat(src, "There is another node nearby, move more than 5 tiles away from it!") return if(!can_buy(60)) return - B.change_to(/obj/effect/blob/node) - var/obj/effect/blob/node/R = locate() in T + B.change_to(/obj/structure/blob/node) + var/obj/structure/blob/node/R = locate() in T if(R) R.adjustcolors(blob_reagent_datum.color) R.overmind = src @@ -144,25 +144,25 @@ if(!T) return - var/obj/effect/blob/B = locate(/obj/effect/blob) in T + var/obj/structure/blob/B = locate(/obj/structure/blob) in T if(!B) to_chat(src, "You must be on a blob!") return - if(!istype(B, /obj/effect/blob/normal)) + if(!istype(B, /obj/structure/blob/normal)) to_chat(src, "Unable to use this blob, find a normal one.") return - for(var/obj/effect/blob/factory/blob in orange(7, T)) + for(var/obj/structure/blob/factory/blob in orange(7, T)) to_chat(src, "There is a factory blob nearby, move more than 7 tiles away from it!") return if(!can_buy(60)) return - B.change_to(/obj/effect/blob/factory) + B.change_to(/obj/structure/blob/factory) B.color = blob_reagent_datum.color - var/obj/effect/blob/factory/R = locate() in T + var/obj/structure/blob/factory/R = locate() in T if(R) R.overmind = src return @@ -178,12 +178,12 @@ if(!T) return - var/obj/effect/blob/B = locate(/obj/effect/blob) in T + var/obj/structure/blob/B = locate(/obj/structure/blob) in T if(!B) to_chat(src, "You must be on a blob!") return - if(!istype(B, /obj/effect/blob/factory)) + if(!istype(B, /obj/structure/blob/factory)) to_chat(src, "Unable to use this blob, find a factory blob.") return @@ -210,7 +210,7 @@ if(!T) return - var/obj/effect/blob/node/B = locate(/obj/effect/blob/node) in T + var/obj/structure/blob/node/B = locate(/obj/structure/blob/node) in T if(!B) to_chat(src, "You must be on a blob node!") return @@ -234,12 +234,12 @@ if(!T) return - var/obj/effect/blob/B = locate(/obj/effect/blob) in T + var/obj/structure/blob/B = locate(/obj/structure/blob) in T if(!B) to_chat(src, "You must be on a blob!") return - if(istype(B, /obj/effect/blob/core)) + if(istype(B, /obj/structure/blob/core)) to_chat(src, "Unable to remove this blob.") return @@ -261,12 +261,12 @@ if(!can_attack()) return - var/obj/effect/blob/B = locate() in T + var/obj/structure/blob/B = locate() in T if(B) to_chat(src, "There is a blob here!") return - var/obj/effect/blob/OB = locate() in circlerange(T, 1) + var/obj/structure/blob/OB = locate() in circlerange(T, 1) if(!OB) to_chat(src, "There is no blob adjacent to you.") return @@ -319,7 +319,7 @@ if(!blob_nodes || !blob_nodes.len) to_chat(src, "A node is required to birth your offspring...") return - var/obj/effect/blob/node/N = locate(/obj/effect/blob) in blob_nodes + var/obj/structure/blob/node/N = locate(/obj/structure/blob) in blob_nodes if(!N) to_chat(src, "A node is required to birth your offspring...") return @@ -328,7 +328,7 @@ return verbs -= /mob/camera/blob/verb/split_consciousness //we've used our split_consciousness - new /obj/effect/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring") + new /obj/structure/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring") qdel(N) if(ticker && ticker.mode.name == "blob") @@ -362,17 +362,17 @@ if(!T) return - var/obj/effect/blob/B = (locate(/obj/effect/blob) in T) + var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B)//We are on a blob to_chat(src, "There is no blob here!") return - if(!istype(B, /obj/effect/blob/normal)) + if(!istype(B, /obj/structure/blob/normal)) to_chat(src, "Unable to use this blob, find a normal one.") return - for(var/obj/effect/blob/storage/blob in orange(3, T)) + for(var/obj/structure/blob/storage/blob in orange(3, T)) to_chat(src, "There is a storage blob nearby, move more than 4 tiles away from it!") return @@ -380,8 +380,8 @@ return B.color = blob_reagent_datum.color - B.change_to(/obj/effect/blob/storage) - var/obj/effect/blob/storage/R = locate() in T + B.change_to(/obj/structure/blob/storage) + var/obj/structure/blob/storage/R = locate() in T if(R) R.overmind = src R.update_max_blob_points(50) @@ -400,7 +400,7 @@ var/datum/reagent/blob/B = pick((subtypesof(/datum/reagent/blob) - blob_reagent_datum.type)) blob_reagent_datum = new B - for(var/obj/effect/blob/BL in blobs) + for(var/obj/structure/blob/BL in blobs) BL.adjustcolors(blob_reagent_datum.color) for(var/mob/living/simple_animal/hostile/blob/BLO) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 1de939c40e7..50d70d582ce 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -1,5 +1,5 @@ //I will need to recode parts of this but I am way too tired atm -/obj/effect/blob +/obj/structure/blob name = "blob" icon = 'icons/mob/blob.dmi' light_range = 3 @@ -13,7 +13,7 @@ var/fire_resist = 1 -/obj/effect/blob/New(loc) +/obj/structure/blob/New(loc) blobs += src src.dir = pick(1, 2, 4, 8) src.update_icon() @@ -23,37 +23,37 @@ return -/obj/effect/blob/Destroy() +/obj/structure/blob/Destroy() blobs -= src if(isturf(loc)) //Necessary because Expand() is retarded and spawns a blob and then deletes it playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) return ..() -/obj/effect/blob/CanPass(atom/movable/mover, turf/target, height=0) +/obj/structure/blob/CanPass(atom/movable/mover, turf/target, height=0) if(height==0) return 1 if(istype(mover) && mover.checkpass(PASSBLOB)) return 1 return 0 -/obj/effect/blob/CanAStarPass(ID, dir, caller) +/obj/structure/blob/CanAStarPass(ID, dir, caller) . = 0 if(ismovableatom(caller)) var/atom/movable/mover = caller . = . || mover.checkpass(PASSBLOB) -/obj/effect/blob/process() +/obj/structure/blob/process() Life() return -/obj/effect/blob/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/blob/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() var/damage = Clamp(0.01 * exposed_temperature, 0, 4) take_damage(damage, BURN) -/obj/effect/blob/proc/Life() +/obj/structure/blob/proc/Life() return -/obj/effect/blob/proc/RegenHealth() +/obj/structure/blob/proc/RegenHealth() // All blobs heal over time when pulsed, but it has a cool down if(health_timestamp > world.time) return 0 @@ -63,7 +63,7 @@ health_timestamp = world.time + 10 // 1 seconds -/obj/effect/blob/proc/Pulse(var/pulse = 0, var/origin_dir = 0, var/a_color)//Todo: Fix spaceblob expand +/obj/structure/blob/proc/Pulse(var/pulse = 0, var/origin_dir = 0, var/a_color)//Todo: Fix spaceblob expand set background = BACKGROUND_ENABLED @@ -83,7 +83,7 @@ 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) + var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B) expand(T,1,a_color)//No blob here so try and expand return @@ -94,11 +94,11 @@ return -/obj/effect/blob/proc/run_action() +/obj/structure/blob/proc/run_action() return 0 -/obj/effect/blob/proc/expand(var/turf/T = null, var/prob = 1, var/a_color) +/obj/structure/blob/proc/expand(var/turf/T = null, var/prob = 1, var/a_color) if(prob && !prob(health)) return if(istype(T, /turf/space) && prob(75)) return if(!T) @@ -107,11 +107,11 @@ var/dirn = pick(dirs) dirs.Remove(dirn) T = get_step(src, dirn) - if(!(locate(/obj/effect/blob) in T)) break + if(!(locate(/obj/structure/blob) in T)) break else T = null if(!T) return 0 - var/obj/effect/blob/normal/B = new /obj/effect/blob/normal(src.loc, min(src.health, 30)) + var/obj/structure/blob/normal/B = new /obj/structure/blob/normal(src.loc, min(src.health, 30)) B.color = a_color B.density = 1 if(T.Enter(B,src))//Attempt to move into the tile @@ -126,22 +126,22 @@ A.blob_act() return 1 -/obj/effect/blob/ex_act(severity) +/obj/structure/blob/ex_act(severity) ..() var/damage = 150 - 20 * severity take_damage(damage, BRUTE) -/obj/effect/blob/bullet_act(var/obj/item/projectile/Proj) +/obj/structure/blob/bullet_act(var/obj/item/projectile/Proj) ..() take_damage(Proj.damage, Proj.damage_type) return 0 -/obj/effect/blob/Crossed(var/mob/living/L) +/obj/structure/blob/Crossed(var/mob/living/L) ..() L.blob_act() -/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/living/user, params) +/obj/structure/blob/attackby(var/obj/item/weapon/W, var/mob/living/user, params) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1) @@ -150,7 +150,7 @@ playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) take_damage(W.force, W.damtype) -/obj/effect/blob/attack_animal(mob/living/simple_animal/M as mob) +/obj/structure/blob/attack_animal(mob/living/simple_animal/M as mob) M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1) @@ -159,7 +159,7 @@ take_damage(damage, BRUTE) return -/obj/effect/blob/attack_alien(mob/living/carbon/alien/humanoid/M as mob) +/obj/structure/blob/attack_alien(mob/living/carbon/alien/humanoid/M as mob) M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1) @@ -168,7 +168,7 @@ take_damage(damage, BRUTE) return -/obj/effect/blob/proc/take_damage(damage, damage_type) +/obj/structure/blob/proc/take_damage(damage, damage_type) if(!damage || damage_type == STAMINA) // Avoid divide by zero errors return switch(damage_type) @@ -179,38 +179,38 @@ health -= damage update_icon() -/obj/effect/blob/proc/change_to(var/type) +/obj/structure/blob/proc/change_to(var/type) if(!ispath(type)) error("[type] is an invalid type for the blob.") - var/obj/effect/blob/B = new type(src.loc) - if(!istype(type, /obj/effect/blob/core) || !istype(type, /obj/effect/blob/node)) + var/obj/structure/blob/B = new type(src.loc) + if(!istype(type, /obj/structure/blob/core) || !istype(type, /obj/structure/blob/node)) B.color = color else B.adjustcolors(color) qdel(src) -/obj/effect/blob/proc/adjustcolors(var/a_color) +/obj/structure/blob/proc/adjustcolors(var/a_color) if(a_color) color = a_color return -/obj/effect/blob/examine(mob/user) +/obj/structure/blob/examine(mob/user) ..(user) to_chat(user, "It looks like it's of a [get_chem_name()] kind.") -/obj/effect/blob/proc/get_chem_name() +/obj/structure/blob/proc/get_chem_name() for(var/mob/camera/blob/B in mob_list) if(lowertext(B.blob_reagent_datum.color) == lowertext(src.color)) // Goddamit why we use strings for these return B.blob_reagent_datum.name return "unknown" -/obj/effect/blob/normal +/obj/structure/blob/normal icon_state = "blob" light_range = 0 health = 21 -/obj/effect/blob/normal/update_icon() +/obj/structure/blob/normal/update_icon() if(health <= 0) qdel(src) else if(health <= 15) diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm index 734bb09f60b..e98c4e90c30 100644 --- a/code/game/machinery/overview.dm +++ b/code/game/machinery/overview.dm @@ -258,7 +258,7 @@ else colour = rgb(255,128,128) - //if(istype(AM, /obj/effect/blob)) + //if(istype(AM, /obj/structure/blob)) // colour = rgb(255,0,255) var/area/A = T.loc diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 4241c9c5c0c..3b82b972663 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -12,7 +12,7 @@ for(var/mob/living/M in hearers(7, flashbang_turf)) bang(get_turf(M), M) - for(var/obj/effect/blob/B in hear(8,flashbang_turf)) //Blob damage here + for(var/obj/structure/blob/B in hear(8,flashbang_turf)) //Blob damage here var/damage = round(30/(get_dist(B,get_turf(src))+1)) B.health -= damage B.update_icon() diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index b5838839cba..798565e63fd 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -30,7 +30,7 @@ sleep(10) src.smoke.start() - for(var/obj/effect/blob/B in view(8,src)) + for(var/obj/structure/blob/B in view(8,src)) var/damage = round(30/(get_dist(B,src)+1)) B.health -= damage B.update_icon() diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 3432b7215d4..ef5a816d2ff 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -1,7 +1,7 @@ /datum/event/blob announceWhen = 60 endWhen = 120 - var/obj/effect/blob/core/Blob + var/obj/structure/blob/core/Blob /datum/event/blob/announce() event_announcement.Announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak5.ogg') @@ -14,7 +14,7 @@ var/mob/C if(candidates.len) C = pick(candidates) - Blob = new /obj/effect/blob/core(T, new_overmind=C.client) + Blob = new /obj/structure/blob/core(T, new_overmind=C.client) for(var/i in 1 to 5) Blob.process() else diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 6fc4cae582e..ded15ea8d59 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -236,7 +236,7 @@ /proc/forbidden_atoms_check(atom/A) var/list/blacklist = list( /mob/living, - /obj/effect/blob, + /obj/structure/blob, /obj/effect/spider/spiderling, /obj/item/weapon/disk/nuclear, /obj/machinery/nuclearbomb, From ad55f42695e259c0320040f7a7a0501d1bd77f13 Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 18:47:43 -0300 Subject: [PATCH 02/11] effect/swarmer to structure/swarmer --- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 74 +++++++++---------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 70b5f82172f..e82d41f8eae 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -269,7 +269,7 @@ resources++ do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) - var/obj/effect/swarmer/integrate/I = new /obj/effect/swarmer/integrate(get_turf(target)) + var/obj/structure/swarmer/integrate/I = new /obj/structure/swarmer/integrate(get_turf(target)) I.pixel_x = target.pixel_x I.pixel_y = target.pixel_y if(istype(target, /obj/item/stack)) @@ -283,7 +283,7 @@ return /mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(var/atom/movable/target) - new /obj/effect/swarmer/disintegration(get_turf(target)) + new /obj/structure/swarmer/disintegration(get_turf(target)) do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) target.ex_act(3) @@ -317,7 +317,7 @@ /mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(var/obj/machinery/target) do_attack_animation(target) to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") - var/obj/effect/swarmer/dismantle/D = new /obj/effect/swarmer/dismantle(get_turf(target)) + var/obj/structure/swarmer/dismantle/D = new /obj/structure/swarmer/dismantle(get_turf(target)) D.pixel_x = target.pixel_x D.pixel_y = target.pixel_y if(do_mob(src, target, 100)) @@ -330,7 +330,7 @@ if(target.component_parts && target.component_parts.len) for(var/obj/item/I in target.component_parts) I.forceMove(M.loc) - var/obj/effect/swarmer/disintegration/N = new /obj/effect/swarmer/disintegration(get_turf(target)) + var/obj/structure/swarmer/disintegration/N = new /obj/structure/swarmer/disintegration(get_turf(target)) N.pixel_x = target.pixel_x N.pixel_y = target.pixel_y target.dropContents() @@ -342,74 +342,74 @@ -/obj/effect/swarmer //Default swarmer effect object visual feedback +/obj/structure/swarmer //Default swarmer effect object visual feedback name = "swarmer ui" desc = null gender = NEUTER icon = 'icons/mob/swarmer.dmi' icon_state = "ui_light" - mouse_opacity = 0 - layer = 4 + anchored = 1 + layer = MOB_LAYER unacidable = 1 -/obj/effect/swarmer/disintegration +/obj/structure/swarmer/disintegration icon_state = "disintegrate" -/obj/effect/swarmer/disintegration/New() +/obj/structure/swarmer/disintegration/New() playsound(src.loc, "sparks", 100, 1) spawn(10) qdel(src) -/obj/effect/swarmer/dismantle +/obj/structure/swarmer/dismantle icon_state = "dismantle" -/obj/effect/swarmer/dismantle/New() +/obj/structure/swarmer/dismantle/New() spawn(25) qdel(src) -/obj/effect/swarmer/integrate +/obj/structure/swarmer/integrate icon_state = "integrate" -/obj/effect/swarmer/integrate/New() +/obj/structure/swarmer/integrate/New() spawn(5) qdel(src) -/obj/effect/swarmer/destructible //Default destroyable object for swarmer constructions +/obj/structure/swarmer/destructible //Default destroyable object for swarmer constructions light_range = 1 mouse_opacity = 1 var/health = 30 -/obj/effect/swarmer/destructible/proc/TakeDamage(damage) +/obj/structure/swarmer/proc/TakeDamage(damage) health -= damage if(health <= 0) qdel(src) -/obj/effect/swarmer/destructible/bullet_act(obj/item/projectile/Proj) +/obj/structure/swarmer/bullet_act(obj/item/projectile/Proj) if(Proj.damage) if((Proj.damage_type == BRUTE || Proj.damage_type == BURN)) TakeDamage(Proj.damage) ..() -/obj/effect/swarmer/destructible/attackby(obj/item/weapon/I, mob/living/user, params) +/obj/structure/swarmer/attackby(obj/item/weapon/I, mob/living/user, params) if(istype(I, /obj/item/weapon)) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) TakeDamage(I.force) return -/obj/effect/swarmer/destructible/ex_act() +/obj/structure/swarmer/ex_act() qdel(src) return -/obj/effect/swarmer/destructible/blob_act() +/obj/structure/swarmer/blob_act() qdel(src) return -/obj/effect/swarmer/destructible/emp_act() +/obj/structure/swarmer/emp_act() qdel(src) return -/obj/effect/swarmer/destructible/attack_animal(mob/living/user) +/obj/structure/swarmer/attack_animal(mob/living/user) if(isanimal(user)) var/mob/living/simple_animal/S = user S.do_attack_animation(src) @@ -418,24 +418,14 @@ TakeDamage(rand(S.melee_damage_lower, S.melee_damage_upper)) return -/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap() - set name = "Create trap" - set category = "Swarmer" - set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources" - if(/obj/effect/swarmer/destructible/trap in loc) - to_chat(src, "There is already a trap here. Aborting.") - return - Fabricate(/obj/effect/swarmer/destructible/trap, 5) - return - -/obj/effect/swarmer/destructible/trap +/obj/structure/swarmer/trap name = "swarmer trap" desc = "A quickly assembled trap that electrifies living beings and overwhelms machine sensors. Will not retain its form if damaged enough." icon_state = "trap" light_range = 1 health = 10 -/obj/effect/swarmer/destructible/trap/Crossed(var/atom/movable/AM) +/obj/structure/swarmer/trap/Crossed(var/atom/movable/AM) if(isliving(AM)) var/mob/living/L = AM if(!istype(L, /mob/living/simple_animal/hostile/swarmer)) @@ -446,21 +436,29 @@ qdel(src) ..() +/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap() + set name = "Create trap" + set category = "Swarmer" + set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources" + if(locate(/obj/structure/swarmer/trap) in loc) + to_chat(src, "There is already a trap here. Aborting.") + return + Fabricate(/obj/structure/swarmer/trap, 5) + /mob/living/simple_animal/hostile/swarmer/proc/CreateBarricade() set name = "Create barricade" set category = "Swarmer" set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through." - if(/obj/effect/swarmer/destructible/blockade in loc) + if(locate(/obj/structure/swarmer/blockade) in loc) to_chat(src, "There is already a blockade here. Aborting.") return if(resources < 5) to_chat(src, "We do not have the resources for this!") return if(do_mob(src, src, 10)) - Fabricate(/obj/effect/swarmer/destructible/blockade, 5) - return + Fabricate(/obj/structure/swarmer/blockade, 5) -/obj/effect/swarmer/destructible/blockade +/obj/structure/swarmer/blockade name = "swarmer blockade" desc = "A quickly assembled energy blockade. Will not retain its form if damaged enough, but disabler beams and swarmers pass right through." icon_state = "barricade" @@ -469,7 +467,7 @@ density = 1 anchored = 1 -/obj/effect/swarmer/destructible/blockade/CanPass(atom/movable/O) +/obj/structure/swarmer/blockade/CanPass(atom/movable/O) if(isswarmer(O)) return 1 if(istype(O, /obj/item/projectile/beam/disabler)) From 82bfd6e4b3a580d85a87fe479e96494a70a9953a Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 18:51:08 -0300 Subject: [PATCH 03/11] effect/spacevine to structure/spacevine --- code/modules/events/spacevine.dm | 162 +++++++++--------- code/modules/hydroponics/grown/kudzu.dm | 2 +- .../simple_animal/friendly/farm_animals.dm | 6 +- .../reagents/chemistry/reagents/toxins.dm | 4 +- 4 files changed, 87 insertions(+), 87 deletions(-) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 0aac60319b8..9008edcec70 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -6,7 +6,7 @@ /datum/event/spacevine/start() var/list/turfs = list() //list of all the empty floor turfs in the hallway areas - var/obj/effect/spacevine/SV = new() + var/obj/structure/spacevine/SV = new() for(var/area/hallway/A in world) for(var/turf/F in A) @@ -17,7 +17,7 @@ if(turfs.len) //Pick a turf to spawn at if we can var/turf/T = pick(turfs) - var/obj/effect/spacevine_controller/SC = new /obj/effect/spacevine_controller(T, , rand(30,70),rand(5,2)) //spawn a controller at turf + var/obj/structure/spacevine_controller/SC = new /obj/structure/spacevine_controller(T, , rand(30,70),rand(5,2)) //spawn a controller at turf // Make the event start fun - give the vine a random hostile mutation if(SC.vines.len) @@ -40,11 +40,11 @@ // For stuff that isn't fun as a random-event vine var/nofun = FALSE -/datum/spacevine_mutation/proc/add_mutation_to_vinepiece(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/add_mutation_to_vinepiece(obj/structure/spacevine/holder) holder.mutations |= src holder.color = hue -/datum/spacevine_mutation/proc/remove_mutation_from_vinepiece(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/remove_mutation_from_vinepiece(obj/structure/spacevine/holder) holder.mutations -= src var/datum/spacevine_mutation/oldmutation if(holder.mutations.len) @@ -53,46 +53,46 @@ else holder.color = "" -/datum/spacevine_mutation/proc/process_mutation(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/process_mutation(obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/process_temperature(obj/effect/spacevine/holder, temp, volume) +/datum/spacevine_mutation/proc/process_temperature(obj/structure/spacevine/holder, temp, volume) return -/datum/spacevine_mutation/proc/on_birth(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_birth(obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_grow(obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/on_death(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_death(obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/on_deletion(obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_deletion(obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/on_hit(obj/effect/spacevine/holder, mob/hitter, obj/item/I, expected_damage) +/datum/spacevine_mutation/proc/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage) . = expected_damage -/datum/spacevine_mutation/proc/on_cross(obj/effect/spacevine/holder, mob/crosser) +/datum/spacevine_mutation/proc/on_cross(obj/structure/spacevine/holder, mob/crosser) return -/datum/spacevine_mutation/proc/on_chem(obj/effect/spacevine/holder, datum/reagent/R) +/datum/spacevine_mutation/proc/on_chem(obj/structure/spacevine/holder, datum/reagent/R) return -/datum/spacevine_mutation/proc/on_eat(obj/effect/spacevine/holder, mob/living/eater) +/datum/spacevine_mutation/proc/on_eat(obj/structure/spacevine/holder, mob/living/eater) return -/datum/spacevine_mutation/proc/on_spread(obj/effect/spacevine/holder, turf/target) +/datum/spacevine_mutation/proc/on_spread(obj/structure/spacevine/holder, turf/target) return -/datum/spacevine_mutation/proc/on_buckle(obj/effect/spacevine/holder, mob/living/buckled) +/datum/spacevine_mutation/proc/on_buckle(obj/structure/spacevine/holder, mob/living/buckled) return -/datum/spacevine_mutation/proc/on_explosion(severity, obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_explosion(severity, obj/structure/spacevine/holder) return -/datum/spacevine_mutation/proc/on_search(severity, obj/effect/spacevine/holder) +/datum/spacevine_mutation/proc/on_search(severity, obj/structure/spacevine/holder) return @@ -140,7 +140,7 @@ /turf/simulated/floor/vines/ChangeTurf(turf/open/floor/T) . = ..() //Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't - for(var/obj/effect/spacevine/SV in src) + for(var/obj/structure/spacevine/SV in src) SV.wither() /datum/spacevine_mutation/space_covering @@ -156,22 +156,22 @@ /turf/space/transit )) -/datum/spacevine_mutation/space_covering/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/space_covering/on_grow(obj/structure/spacevine/holder) process_mutation(holder) -/datum/spacevine_mutation/space_covering/on_spread(obj/effect/spacevine/holder, turf/target) - if(target.type == /turf/space && !locate(/obj/effect/spacevine) in target) +/datum/spacevine_mutation/space_covering/on_spread(obj/structure/spacevine/holder, turf/target) + if(target.type == /turf/space && !locate(/obj/structure/spacevine) in target) holder.master.spawn_spacevine_piece(target, holder) . = TRUE -/datum/spacevine_mutation/space_covering/process_mutation(obj/effect/spacevine/holder) +/datum/spacevine_mutation/space_covering/process_mutation(obj/structure/spacevine/holder) var/turf/T = get_turf(holder) if(is_type_in_typecache(T, coverable_turfs)) var/currtype = T.type T.ChangeTurf(/turf/simulated/floor/vines) T.baseturf = currtype -/datum/spacevine_mutation/space_covering/on_deletion(obj/effect/spacevine/holder) +/datum/spacevine_mutation/space_covering/on_deletion(obj/structure/spacevine/holder) var/turf/T = get_turf(holder) if(istype(T, /turf/simulated/floor/vines)) T.ChangeTurf(T.baseturf) @@ -181,8 +181,8 @@ hue = "#3333ff" quality = MINOR_NEGATIVE -/datum/spacevine_mutation/bluespace/on_spread(obj/effect/spacevine/holder, turf/target) - if(holder.energy > 1 && !locate(/obj/effect/spacevine) in target) +/datum/spacevine_mutation/bluespace/on_spread(obj/structure/spacevine/holder, turf/target) + if(holder.energy > 1 && !locate(/obj/structure/spacevine) in target) // Lose bluespace upon piercing a single tile, and drop it from our own mutations too // Representing a loss in "high potential" // also conveniently prevents this from spreading too crazily @@ -197,7 +197,7 @@ quality = POSITIVE severity = 4 -/datum/spacevine_mutation/light/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/light/on_grow(obj/structure/spacevine/holder) if(holder.energy) holder.set_light(severity) @@ -207,14 +207,14 @@ severity = 10 quality = NEGATIVE -/datum/spacevine_mutation/toxicity/on_cross(obj/effect/spacevine/holder, mob/living/crosser) +/datum/spacevine_mutation/toxicity/on_cross(obj/structure/spacevine/holder, mob/living/crosser) if(issilicon(crosser)) return if(prob(severity) && istype(crosser) && !isvineimmune(crosser)) to_chat(crosser, "You accidently touch the vine and feel a strange sensation.") crosser.adjustToxLoss(5) -/datum/spacevine_mutation/toxicity/on_eat(obj/effect/spacevine/holder, mob/living/eater) +/datum/spacevine_mutation/toxicity/on_eat(obj/structure/spacevine/holder, mob/living/eater) if(!isvineimmune(eater)) eater.adjustToxLoss(5) @@ -226,7 +226,7 @@ // kaboom events aren't fun nofun = TRUE -/datum/spacevine_mutation/explosive/on_explosion(explosion_severity, obj/effect/spacevine/holder) +/datum/spacevine_mutation/explosive/on_explosion(explosion_severity, obj/structure/spacevine/holder) if(explosion_severity < 3) qdel(holder) else @@ -234,7 +234,7 @@ spawn(5) holder.wither() -/datum/spacevine_mutation/explosive/on_death(obj/effect/spacevine/holder, mob/hitter, obj/item/I) +/datum/spacevine_mutation/explosive/on_death(obj/structure/spacevine/holder, mob/hitter, obj/item/I) explosion(holder.loc, 0, 0, severity, 0, 0) /datum/spacevine_mutation/fire_proof @@ -242,10 +242,10 @@ hue = "#ff8888" quality = MINOR_NEGATIVE -/datum/spacevine_mutation/fire_proof/process_temperature(obj/effect/spacevine/holder, temp, volume) +/datum/spacevine_mutation/fire_proof/process_temperature(obj/structure/spacevine/holder, temp, volume) return 1 -/datum/spacevine_mutation/fire_proof/on_hit(obj/effect/spacevine/holder, mob/hitter, obj/item/I, expected_damage) +/datum/spacevine_mutation/fire_proof/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage) if(I && I.damtype == "fire") . = 0 else @@ -256,8 +256,8 @@ hue = "#ff7700" quality = MINOR_NEGATIVE -/datum/spacevine_mutation/vine_eating/on_spread(obj/effect/spacevine/holder, turf/target) - var/obj/effect/spacevine/prey = locate() in target +/datum/spacevine_mutation/vine_eating/on_spread(obj/structure/spacevine/holder, turf/target) + var/obj/structure/spacevine/prey = locate() in target if(prey && !prey.mutations.Find(src)) //Eat all vines that are not of the same origin prey.wither() . = TRUE @@ -268,20 +268,20 @@ severity = 3 quality = NEGATIVE -/datum/spacevine_mutation/aggressive_spread/on_spread(obj/effect/spacevine/holder, turf/target) +/datum/spacevine_mutation/aggressive_spread/on_spread(obj/structure/spacevine/holder, turf/target) if(istype(target, /turf/simulated/wall/r_wall)) // Too tough to pierce - should lead to interesting spread patterns return // Bust through windows or other stuff blocking the way if(!target.Enter(holder)) for(var/atom/movable/AM in target) - if(istype(AM, /obj/effect/spacevine) || !AM.density) + if(istype(AM, /obj/structure/spacevine) || !AM.density) continue AM.ex_act(severity) target.ex_act(severity) // vine immunity handled at /mob/ex_act . = TRUE -/datum/spacevine_mutation/aggressive_spread/on_buckle(obj/effect/spacevine/holder, mob/living/buckled) +/datum/spacevine_mutation/aggressive_spread/on_buckle(obj/structure/spacevine/holder, mob/living/buckled) buckled.ex_act(severity) /datum/spacevine_mutation/transparency @@ -289,7 +289,7 @@ hue = "" quality = POSITIVE -/datum/spacevine_mutation/transparency/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/transparency/on_grow(obj/structure/spacevine/holder) holder.set_opacity(0) holder.alpha = 125 @@ -299,13 +299,13 @@ severity = 10 quality = NEGATIVE -/datum/spacevine_mutation/thorns/on_cross(obj/effect/spacevine/holder, mob/living/crosser) +/datum/spacevine_mutation/thorns/on_cross(obj/structure/spacevine/holder, mob/living/crosser) if(prob(severity) && istype(crosser) && !isvineimmune(holder)) var/mob/living/M = crosser M.adjustBruteLoss(5) to_chat(M, "You cut yourself on the thorny vines.") -/datum/spacevine_mutation/thorns/on_hit(obj/effect/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) +/datum/spacevine_mutation/thorns/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) if(prob(severity) && istype(hitter) && !isvineimmune(holder)) var/mob/living/M = hitter M.adjustBruteLoss(5) @@ -317,13 +317,13 @@ hue = "#997700" quality = NEGATIVE -/datum/spacevine_mutation/woodening/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/woodening/on_grow(obj/structure/spacevine/holder) if(holder.energy) holder.density = 1 holder.maxhealth = 100 holder.health = holder.maxhealth -/datum/spacevine_mutation/woodening/on_hit(obj/effect/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) +/datum/spacevine_mutation/woodening/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) if(!is_sharp(I)) . = expected_damage * 0.5 else @@ -335,11 +335,11 @@ quality = NEGATIVE severity = 10 -/datum/spacevine_mutation/flowering/on_grow(obj/effect/spacevine/holder) +/datum/spacevine_mutation/flowering/on_grow(obj/structure/spacevine/holder) if(holder.energy == 2 && prob(severity) && !locate(/obj/structure/alien/resin/flower_bud_enemy) in range(5,holder)) new /obj/structure/alien/resin/flower_bud_enemy(get_turf(holder)) -/datum/spacevine_mutation/flowering/on_cross(obj/effect/spacevine/holder, mob/living/crosser) +/datum/spacevine_mutation/flowering/on_cross(obj/structure/spacevine/holder, mob/living/crosser) if(prob(25)) holder.entangle(crosser) @@ -349,7 +349,7 @@ hue = "#FF8080" quality = MINOR_NEGATIVE -/datum/spacevine_mutation/virulent_spread/on_search(obj/effect/spacevine/holder) +/datum/spacevine_mutation/virulent_spread/on_search(obj/structure/spacevine/holder) return 1 // Sure, let's encourage crew members to deliberately breed a highly dangerous @@ -364,7 +364,7 @@ /obj/item/stack/sheet/metal = 1 ) -/datum/spacevine_mutation/mineral/on_death(obj/effect/spacevine/holder) +/datum/spacevine_mutation/mineral/on_death(obj/structure/spacevine/holder) if(!prob(drop_rate)) return var/itemtype = pickweight(mineral_results) @@ -403,7 +403,7 @@ ) // SPACE VINES (Note that this code is very similar to Biomass code) -/obj/effect/spacevine +/obj/structure/spacevine name = "space vines" desc = "An extremely expansionistic species of vine." icon = 'icons/effects/spacevines.dmi' @@ -416,14 +416,14 @@ var/health = 50 var/maxhealth = 50 var/energy = 0 - var/obj/effect/spacevine_controller/master = null + var/obj/structure/spacevine_controller/master = null var/list/mutations = list() -/obj/effect/spacevine/New() +/obj/structure/spacevine/New() ..() color = "#ffffff" -/obj/effect/spacevine/examine(mob/user) +/obj/structure/spacevine/examine(mob/user) ..() var/text = "This one is a" if(mutations.len) @@ -435,13 +435,13 @@ text += " vine." to_chat(user, text) -/obj/effect/spacevine/proc/wither() +/obj/structure/spacevine/proc/wither() for(var/datum/spacevine_mutation/SM in mutations) SM.on_death(src) qdel(src) -/obj/effect/spacevine/Destroy() +/obj/structure/spacevine/Destroy() for(var/datum/spacevine_mutation/SM in mutations) SM.on_deletion(src) if(master) @@ -460,11 +460,11 @@ unbuckle_mob() return ..() -/obj/effect/spacevine/proc/add_mutation(datum/spacevine_mutation/mutation) +/obj/structure/spacevine/proc/add_mutation(datum/spacevine_mutation/mutation) mutations |= mutation color = mutation.hue -/obj/effect/spacevine/proc/on_chem_effect(datum/reagent/R) +/obj/structure/spacevine/proc/on_chem_effect(datum/reagent/R) var/override = 0 for(var/datum/spacevine_mutation/SM in mutations) override += SM.on_chem(src, R) @@ -472,7 +472,7 @@ if(prob(50)) wither() -/obj/effect/spacevine/proc/eat(mob/eater) +/obj/structure/spacevine/proc/eat(mob/eater) var/override = 0 for(var/datum/spacevine_mutation/SM in mutations) override += SM.on_eat(src, eater) @@ -481,7 +481,7 @@ eater.say("Nom") wither() -/obj/effect/spacevine/attackby(obj/item/weapon/W, mob/user, params) +/obj/structure/spacevine/attackby(obj/item/weapon/W, mob/user, params) if (!W || !user || !W.type) return user.changeNext_move(CLICK_CD_MELEE) @@ -491,7 +491,7 @@ var/obj/item/weapon/scythe/S = W if(S.extend) //so folded telescythes won't get damage boosts / insta-clears (they instead will instead be treated like non-scythes) force = force * 4 - for(var/obj/effect/spacevine/B in range(1,src)) + for(var/obj/structure/spacevine/B in range(1,src)) if(B.health > force) //this only is going to occur for woodening mutation vines (increased health) or if we nerf scythe damage/multiplier B.health -= force else @@ -513,29 +513,29 @@ ..() -/obj/effect/spacevine/Crossed(mob/crosser) +/obj/structure/spacevine/Crossed(mob/crosser) if(isliving(crosser)) for(var/datum/spacevine_mutation/SM in mutations) SM.on_cross(src, crosser) -/obj/effect/spacevine/attack_hand(mob/user) +/obj/structure/spacevine/attack_hand(mob/user) for(var/datum/spacevine_mutation/SM in mutations) SM.on_hit(src, user) user_unbuckle_mob(user, user) -/obj/effect/spacevine/attack_alien(mob/living/user) +/obj/structure/spacevine/attack_alien(mob/living/user) eat(user) -/obj/effect/spacevine_controller +/obj/structure/spacevine_controller invisibility = 101 - var/list/obj/effect/spacevine/vines = list() + var/list/obj/structure/spacevine/vines = list() var/list/growth_queue = list() var/spread_multiplier = 5 var/spread_cap = 30 var/list/mutations_list = list() var/mutativeness = 1 -/obj/effect/spacevine_controller/New(loc, list/muts, potency, production) +/obj/structure/spacevine_controller/New(loc, list/muts, potency, production) color = "#ffffff" spawn_spacevine_piece(loc, , muts) processing_objects.Add(src) @@ -556,21 +556,21 @@ ..() -/obj/effect/spacevine_controller/ex_act() //only killing all vines will end this suffering +/obj/structure/spacevine_controller/ex_act() //only killing all vines will end this suffering return -/obj/effect/spacevine_controller/singularity_act() +/obj/structure/spacevine_controller/singularity_act() return -/obj/effect/spacevine_controller/singularity_pull() +/obj/structure/spacevine_controller/singularity_pull() return -/obj/effect/spacevine_controller/Destroy() +/obj/structure/spacevine_controller/Destroy() processing_objects.Remove(src) return ..() -/obj/effect/spacevine_controller/proc/spawn_spacevine_piece(turf/location, obj/effect/spacevine/parent, list/muts) - var/obj/effect/spacevine/SV = new(location) +/obj/structure/spacevine_controller/proc/spawn_spacevine_piece(turf/location, obj/structure/spacevine/parent, list/muts) + var/obj/structure/spacevine/SV = new(location) growth_queue += SV vines += SV SV.master = src @@ -590,7 +590,7 @@ for(var/datum/spacevine_mutation/SM in SV.mutations) SM.on_birth(SV) -/obj/effect/spacevine_controller/process() +/obj/structure/spacevine_controller/process() if(!vines || !vines.len) qdel(src) //space vines exterminated. Remove the controller return @@ -602,9 +602,9 @@ length = min( spread_cap , max( 1 , vines.len / spread_multiplier ) ) var/i = 0 - var/list/obj/effect/spacevine/queue_end = list() + var/list/obj/structure/spacevine/queue_end = list() - for(var/obj/effect/spacevine/SV in growth_queue) + for(var/obj/structure/spacevine/SV in growth_queue) if(qdeleted(SV)) continue i++ @@ -625,7 +625,7 @@ growth_queue = growth_queue + queue_end -/obj/effect/spacevine/proc/grow() +/obj/structure/spacevine/proc/grow() if(!energy) icon_state = pick("Med1", "Med2", "Med3") energy = 1 @@ -637,7 +637,7 @@ for(var/datum/spacevine_mutation/SM in mutations) SM.on_grow(src) -/obj/effect/spacevine/proc/entangle_mob() +/obj/structure/spacevine/proc/entangle_mob() if(!buckled_mob && prob(25)) for(var/mob/living/V in loc) entangle(V) @@ -645,7 +645,7 @@ break //only capture one mob at a time -/obj/effect/spacevine/proc/entangle(mob/living/V) +/obj/structure/spacevine/proc/entangle(mob/living/V) if(!V || isvineimmune(V)) return for(var/datum/spacevine_mutation/SM in mutations) @@ -654,7 +654,7 @@ to_chat(V, "The vines [pick("wind", "tangle", "tighten")] around you!") buckle_mob(V, 1) -/obj/effect/spacevine/proc/spread() +/obj/structure/spacevine/proc/spread() var/list/dir_list = cardinal.Copy() var/spread_search = FALSE // Whether to exhaustive search all 4 cardinal dirs for an open direction for(var/datum/spacevine_mutation/SM in mutations) @@ -666,7 +666,7 @@ var/spread_success = FALSE for(var/datum/spacevine_mutation/SM in mutations) spread_success |= SM.on_spread(src, stepturf) // If this returns 1, spreading succeeded - if(!locate(/obj/effect/spacevine, stepturf)) + if(!locate(/obj/structure/spacevine, stepturf)) // snowflake for space turf, but space turf is super common and a big deal if(!istype(stepturf, /turf/space) && stepturf.Enter(src)) if(master) @@ -675,21 +675,21 @@ if(spread_success || !spread_search) break -/obj/effect/spacevine/ex_act(severity) +/obj/structure/spacevine/ex_act(severity) var/i for(var/datum/spacevine_mutation/SM in mutations) i += SM.on_explosion(severity, src) if(!i && prob(100/severity)) wither() -/obj/effect/spacevine/temperature_expose(null, temp, volume) +/obj/structure/spacevine/temperature_expose(null, temp, volume) var/override = 0 for(var/datum/spacevine_mutation/SM in mutations) override += SM.process_temperature(src, temp, volume) if(!override) wither() -/obj/effect/spacevine/CanPass(atom/movable/mover, turf/target, height=0) +/obj/structure/spacevine/CanPass(atom/movable/mover, turf/target, height=0) if(isvineimmune(mover)) . = TRUE else diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index e62d2df093e..1e975b4b79f 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -32,7 +32,7 @@ var/turf/T = get_turf(src) message_admins("Kudzu planted by [key_name_admin(user)](?) (FLW) at ([T.x],[T.y],[T.z] - (JMP))",0,1) investigate_log("was planted by [key_name(user)] at ([T.x],[T.y],[T.z])","kudzu") - new /obj/effect/spacevine_controller(user.loc, mutations, potency, production) + new /obj/structure/spacevine_controller(user.loc, mutations, potency, production) user.drop_item() qdel(src) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index b1b31461b77..adbc309412e 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -34,7 +34,7 @@ for(var/direction in shuffle(list(1,2,4,8,5,6,9,10))) var/step = get_step(src, direction) if(step) - if(locate(/obj/effect/spacevine) in step) + if(locate(/obj/structure/spacevine) in step) Move(step, get_dir(src, step)) /mob/living/simple_animal/hostile/retaliate/goat/handle_automated_action() @@ -47,7 +47,7 @@ LoseTarget() src.visible_message("\blue [src] calms down.") - var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc + var/obj/structure/spacevine/SV = locate(/obj/structure/spacevine) in loc if(SV) SV.eat(src) @@ -64,7 +64,7 @@ /mob/living/simple_animal/hostile/retaliate/goat/Move() ..() if(!stat) - var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc + var/obj/structure/spacevine/SV = locate(/obj/structure/spacevine) in loc if(SV) SV.eat(src) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 73109f0f7e5..2ca2ae6aa72 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -926,8 +926,8 @@ alien_weeds.healthcheck() else if(istype(O, /obj/effect/glowshroom)) //even a small amount is enough to kill it qdel(O) - else if(istype(O,/obj/effect/spacevine)) - var/obj/effect/spacevine/SV = O + else if(istype(O,/obj/structure/spacevine)) + var/obj/structure/spacevine/SV = O SV.on_chem_effect(src) /datum/reagent/glyphosate/reaction_mob(mob/living/M, method=TOUCH, volume) From b91fbe264e11be2fc41055c0b51423b4b02561c5 Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 18:52:19 -0300 Subject: [PATCH 04/11] effect/glowshroom to structure/glowshroom --- code/game/asteroid.dm | 4 +-- .../shadowling/shadowling_abilities.dm | 2 +- code/game/objects/effects/glowshroom.dm | 34 +++++++++---------- code/game/smoothwall.dm | 2 +- code/modules/hydroponics/grown/mushrooms.dm | 8 ++--- .../reagents/chemistry/reagents/toxins.dm | 6 ++-- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm index dd68e1a2f6e..25e9f43b588 100644 --- a/code/game/asteroid.dm +++ b/code/game/asteroid.dm @@ -124,7 +124,7 @@ var/global/max_secret_rooms = 6 treasureitems = list(/obj/item/weapon/gun/energy/floragun=1,/obj/item/seeds/ambrosia/deus=2,/obj/item/seeds/tomato/blue/bluespace=2,/obj/item/seeds/tomato/blue=2, /obj/item/seeds/coffee/robusta=2, /obj/item/seeds/tobacco/space=2) fluffitems = list(/obj/item/weapon/twohanded/required/kirbyplants=1,/obj/structure/table/reinforced=2,/obj/machinery/hydroponics=1, - /obj/effect/glowshroom/single=2,/obj/item/weapon/reagent_containers/syringe/charcoal=2, + /obj/structure/glowshroom/single=2,/obj/item/weapon/reagent_containers/syringe/charcoal=2, /obj/item/weapon/reagent_containers/glass/bottle/diethylamine=3,/obj/item/weapon/reagent_containers/glass/bottle/ammonia=3) /*if("poly") @@ -194,7 +194,7 @@ var/global/max_secret_rooms = 6 A.fullUpdateMineralOverlays() T = pick(emptyturfs) if(T) - new /obj/effect/glowshroom/single(T) //Just to make it a little more visible + new /obj/structure/glowshroom/single(T) //Just to make it a little more visible var/surprise = null surprise = pickweight(treasureitems) new surprise(T)//here's the prize diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index 6bcc43f97af..fd63864442d 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -109,7 +109,7 @@ charge_counter = charge_max return to_chat(user, "You silently disable all nearby lights.") - for(var/obj/effect/glowshroom/G in orange(2, user)) //Why the fuck was this in the loop below? + for(var/obj/structure/glowshroom/G in orange(2, user)) //Why the fuck was this in the loop below? G.visible_message("\The [G] withers away!") qdel(G) for(var/turf/T in targets) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 1f28e089832..4df0c51ed4d 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -1,6 +1,6 @@ //separate dm since hydro is getting bloated already -/obj/effect/glowshroom +/obj/structure/glowshroom name = "glowshroom" desc = "Mycena Bregprox, a species of mushroom that glows in the dark." anchored = 1 @@ -16,32 +16,32 @@ var/spreadIntoAdjacentChance = 60 var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom -/obj/effect/glowshroom/glowcap +/obj/structure/glowshroom/glowcap name = "glowcap" desc = "Mycena Ruthenia, a species of mushroom that, while it does glow in the dark, is not actually bioluminescent." icon_state = "glowcap" myseed = /obj/item/seeds/glowshroom/glowcap -/obj/effect/glowshroom/shadowshroom +/obj/structure/glowshroom/shadowshroom name = "shadowshroom" desc = "Mycena Umbra, a species of mushroom that emits shadow instead of light." icon_state = "shadowshroom" myseed = /obj/item/seeds/glowshroom/shadowshroom -/obj/effect/glowshroom/single/Spread() +/obj/structure/glowshroom/single/Spread() return -/obj/effect/glowshroom/examine(mob/user) +/obj/structure/glowshroom/examine(mob/user) . = ..() to_chat(user, "This is a [generation]\th generation [name]!") -/obj/effect/glowshroom/Destroy() +/obj/structure/glowshroom/Destroy() if(myseed) qdel(myseed) myseed = null return ..() -/obj/effect/glowshroom/New(loc, obj/item/seeds/newseed, mutate_stats) +/obj/structure/glowshroom/New(loc, obj/item/seeds/newseed, mutate_stats) ..() if(newseed) myseed = newseed.Copy() @@ -76,7 +76,7 @@ addtimer(src, "Spread", delay, FALSE) -/obj/effect/glowshroom/proc/Spread() +/obj/structure/glowshroom/proc/Spread() var/turf/ownturf = get_turf(src) var/shrooms_planted = 0 for(var/i in 1 to myseed.yield) @@ -90,7 +90,7 @@ for(var/turf/simulated/floor/earth in view(3,src)) if(!ownturf.CanAtmosPass(earth)) continue - if(spreadsIntoAdjacent || !locate(/obj/effect/glowshroom) in view(1,earth)) + if(spreadsIntoAdjacent || !locate(/obj/structure/glowshroom) in view(1,earth)) possibleLocs += earth CHECK_TICK @@ -101,7 +101,7 @@ var/shroomCount = 0 //hacky var/placeCount = 1 - for(var/obj/effect/glowshroom/shroom in newLoc) + for(var/obj/structure/glowshroom/shroom in newLoc) shroomCount++ for(var/wallDir in cardinal) var/turf/isWall = get_step(newLoc,wallDir) @@ -110,7 +110,7 @@ if(shroomCount >= placeCount) continue - var/obj/effect/glowshroom/child = new type(newLoc, myseed, TRUE) + var/obj/structure/glowshroom/child = new type(newLoc, myseed, TRUE) child.generation = generation + 1 shrooms_planted++ @@ -121,7 +121,7 @@ myseed.yield -= shrooms_planted addtimer(src, "Spread", delay, FALSE) -/obj/effect/glowshroom/proc/CalcDir(turf/location = loc) +/obj/structure/glowshroom/proc/CalcDir(turf/location = loc) var/direction = 16 for(var/wallDir in cardinal) @@ -129,7 +129,7 @@ if(newTurf.density) direction |= wallDir - for(var/obj/effect/glowshroom/shroom in location) + for(var/obj/structure/glowshroom/shroom in location) if(shroom == src) continue if(shroom.floor) //special @@ -153,13 +153,13 @@ floor = 1 return 1 -/obj/effect/glowshroom/attackby(obj/item/I, mob/user) +/obj/structure/glowshroom/attackby(obj/item/I, mob/user) ..() if(I.damtype != STAMINA) endurance -= I.force CheckEndurance() -/obj/effect/glowshroom/ex_act(severity) +/obj/structure/glowshroom/ex_act(severity) switch(severity) if(1) qdel(src) @@ -170,11 +170,11 @@ if(prob(5)) qdel(src) -/obj/effect/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) endurance -= 5 CheckEndurance() -/obj/effect/glowshroom/proc/CheckEndurance() +/obj/structure/glowshroom/proc/CheckEndurance() if(endurance <= 0) qdel(src) diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm index 48d150dfb85..20dea8de7b0 100644 --- a/code/game/smoothwall.dm +++ b/code/game/smoothwall.dm @@ -83,7 +83,7 @@ // JESUS WHY for(var/direction in cardinal) - for(var/obj/effect/glowshroom/shroom in get_step(src,direction)) + for(var/obj/structure/glowshroom/shroom in get_step(src,direction)) if(!shroom.floor) //shrooms drop to the floor shroom.floor = 1 shroom.icon_state = "glowshroomf" diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 935730efd9b..f923d08c694 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -229,7 +229,7 @@ desc = "Mycena Bregprox: This species of mushroom glows in the dark." icon_state = "glowshroom" filling_color = "#00FA9A" - var/effect_path = /obj/effect/glowshroom + var/effect_path = /obj/structure/glowshroom origin_tech = "biotech=4;plasmatech=6" light_color = "#006622" @@ -245,7 +245,7 @@ var/turf/simulated/wall = get_step(user.loc, tempdir) if(istype(wall)) maxcount++ - for(var/obj/effect/glowshroom/G in user.loc) + for(var/obj/structure/glowshroom/G in user.loc) count++ if(count >= maxcount) to_chat(user, "There are too many shrooms here to plant [src].") @@ -277,7 +277,7 @@ desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but isn't actually bioluminescent. They're warm to the touch..." icon_state = "glowcap" filling_color = "#00FA9A" - effect_path = /obj/effect/glowshroom/glowcap + effect_path = /obj/structure/glowshroom/glowcap origin_tech = "biotech=4;powerstorage=6;plasmatech=4" light_color = "#8E0300" @@ -324,5 +324,5 @@ name = "shadowshroom cluster" desc = "Mycena Umbra: This species of mushroom emits shadow instead of light." icon_state = "shadowshroom" - effect_path = /obj/effect/glowshroom/shadowshroom + effect_path = /obj/structure/glowshroom/shadowshroom origin_tech = "biotech=4;plasmatech=4;magnets=4" diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 2ca2ae6aa72..8c0d4fb32e3 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -269,7 +269,7 @@ M.take_organ_damage(0,20) /datum/reagent/sacid/reaction_obj(obj/O, volume) - if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(40)) + if((istype(O,/obj/item) || istype(O,/obj/structure/glowshroom)) && prob(40)) if(!O.unacidable) var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc) I.desc = "Looks like this was \an [O] some time ago." @@ -615,7 +615,7 @@ H.status_flags |= DISFIGURED /datum/reagent/facid/reaction_obj(obj/O, volume) - if((istype(O, /obj/item) || istype(O, /obj/effect/glowshroom))) + if((istype(O, /obj/item) || istype(O, /obj/structure/glowshroom))) if(!O.unacidable) var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc) I.desc = "Looks like this was \an [O] some time ago." @@ -924,7 +924,7 @@ var/obj/structure/alien/weeds/alien_weeds = O alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast alien_weeds.healthcheck() - else if(istype(O, /obj/effect/glowshroom)) //even a small amount is enough to kill it + else if(istype(O, /obj/structure/glowshroom)) //even a small amount is enough to kill it qdel(O) else if(istype(O,/obj/structure/spacevine)) var/obj/structure/spacevine/SV = O From 82d8e6ad5ce1ce99cb9e8307fabf3d2f5d3b4367 Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 19:00:01 -0300 Subject: [PATCH 05/11] Machine construction. --- code/ATMOSPHERICS/atmospherics.dm | 2 +- code/game/machinery/Freezer.dm | 4 ++-- code/game/machinery/computer/computer.dm | 6 ++++++ code/game/machinery/cryo.dm | 2 +- code/game/machinery/machinery.dm | 20 +++++++++++++------- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index b4819294256..80086cd75f9 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -217,7 +217,7 @@ Pipelines + Other Objects -> Pipe network qdel(src) -/obj/machinery/atmospherics/construction(D, P, C) +/obj/machinery/atmospherics/on_construction(D, P, C) if(C) color = C dir = D diff --git a/code/game/machinery/Freezer.dm b/code/game/machinery/Freezer.dm index 0c207c8217e..244b3b04977 100644 --- a/code/game/machinery/Freezer.dm +++ b/code/game/machinery/Freezer.dm @@ -44,7 +44,7 @@ min_temperature = max(0,T0C - (170 + (T*15))) current_heat_capacity = 1000 * ((H - 1) ** 2) -/obj/machinery/atmospherics/unary/cold_sink/freezer/construction() +/obj/machinery/atmospherics/unary/cold_sink/freezer/on_construction() ..(dir,dir) /obj/machinery/atmospherics/unary/cold_sink/freezer/attackby(obj/item/I, mob/user, params) @@ -193,7 +193,7 @@ component_parts += new /obj/item/stack/cable_coil(src, 1) RefreshParts() -/obj/machinery/atmospherics/unary/heat_reservoir/heater/construction() +/obj/machinery/atmospherics/unary/heat_reservoir/heater/on_construction() ..(dir,dir) /obj/machinery/atmospherics/unary/heat_reservoir/heater/RefreshParts() diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 11778503e9d..955ed3b7e56 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -19,6 +19,12 @@ overlay_layer = layer ..() +/obj/machinery/computer/Destroy() + if(circuit) + qdel(circuit) + circuit = null + return ..() + /obj/machinery/computer/initialize() ..() power_change() diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index de5d69c2bbc..55e1e2ba5eb 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -52,7 +52,7 @@ component_parts += new /obj/item/stack/cable_coil(null, 1) RefreshParts() -/obj/machinery/atmospherics/unary/cryo_cell/construction() +/obj/machinery/atmospherics/unary/cryo_cell/on_construction() ..(dir,dir) /obj/machinery/atmospherics/unary/cryo_cell/RefreshParts() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 90c4d82befe..8891625ba07 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -396,15 +396,18 @@ Class Procs: /obj/machinery/proc/default_deconstruction_crowbar(var/obj/item/weapon/crowbar/C, var/ignore_panel = 0) if(istype(C) && (panel_open || ignore_panel)) playsound(loc, C.usesound, 50, 1) - spawn_frame() - for(var/obj/item/I in component_parts) - if(I.reliability != 100 && crit_fail) - I.crit_fail = 1 - I.forceMove(loc) - qdel(src) + deconstruct() return 1 return 0 +/obj/machinery/proc/deconstruct() + on_deconstruction() + spawn_frame() + for(var/obj/item/I in component_parts) + if(I.reliability != 100 && crit_fail) + I.crit_fail = 1 + I.forceMove(loc) + qdel(src) /obj/machinery/proc/spawn_frame() var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc) @@ -573,7 +576,10 @@ Class Procs: return 0 //called on machinery construction (i.e from frame to machinery) but not on initialization -/obj/machinery/proc/construction() +/obj/machinery/proc/on_construction() + return + +/obj/machinery/proc/on_deconstruction() return /obj/machinery/proc/can_be_overridden() From 8963e96c4155c200ae6366c66af715ec586fd9ad Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 19:01:25 -0300 Subject: [PATCH 06/11] effect/spider to structure/spider --- .../gamemodes/changeling/powers/spiders.dm | 2 +- .../gamemodes/miniantags/abduction/gland.dm | 2 +- code/game/objects/effects/spiders.dm | 44 +++++++++---------- code/modules/events/infestation.dm | 4 +- code/modules/events/spider_infestation.dm | 2 +- code/modules/events/spider_terror.dm | 2 +- code/modules/hydroponics/hydroponics.dm | 2 +- .../living/silicon/robot/drone/drone_items.dm | 2 +- .../simple_animal/hostile/giant_spider.dm | 10 ++--- .../hostile/terror_spiders/actions.dm | 18 ++++---- .../hostile/terror_spiders/empress.dm | 6 +-- .../hostile/terror_spiders/gray.dm | 2 +- .../hostile/terror_spiders/green.dm | 2 +- .../hostile/terror_spiders/hive.dm | 4 +- .../hostile/terror_spiders/mother.dm | 2 +- .../hostile/terror_spiders/queen.dm | 8 ++-- .../hostile/terror_spiders/reproduction.dm | 24 +++++----- .../hostile/terror_spiders/terror_ai.dm | 8 ++-- .../hostile/terror_spiders/terror_spiders.dm | 2 +- .../xenoarchaeology/finds/finds_special.dm | 2 +- code/modules/shuttle/supply.dm | 2 +- code/modules/surgery/organs/parasites.dm | 8 ++-- 22 files changed, 79 insertions(+), 79 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm index 135fd92479c..348924c7d7b 100644 --- a/code/game/gamemodes/changeling/powers/spiders.dm +++ b/code/game/gamemodes/changeling/powers/spiders.dm @@ -9,7 +9,7 @@ //Makes some spiderlings. Good for setting traps and causing general trouble. /obj/effect/proc_holder/changeling/spiders/sting_action(var/mob/user) for(var/i=0, i<2, i++) - var/obj/effect/spider/spiderling/S = new(user.loc) + var/obj/structure/spider/spiderling/S = new(user.loc) S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter feedback_add_details("changeling_powers","SI") diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index b59f1fd8454..d3e60b2fb98 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -165,7 +165,7 @@ /obj/item/organ/internal/gland/spiderman/activate() to_chat(owner, "You feel something crawling in your skin.") owner.faction |= "spiders" - new /obj/effect/spider/spiderling(owner.loc) + new /obj/structure/spider/spiderling(owner.loc) /obj/item/organ/internal/gland/egg origin_tech = "materials=4;biotech=6;abductor=3" diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 848c681576c..8ed8d045de4 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -1,5 +1,5 @@ //generic procs copied from obj/effect/alien -/obj/effect/spider +/obj/structure/spider name = "web" desc = "it's stringy and sticky" icon = 'icons/effects/effects.dmi' @@ -8,7 +8,7 @@ var/health = 15 //similar to weeds, but only barfed out by nurses manually -/obj/effect/spider/ex_act(severity) +/obj/structure/spider/ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -20,7 +20,7 @@ qdel(src) return -/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user, params) +/obj/structure/spider/attackby(var/obj/item/weapon/W, var/mob/user, params) if(W.attack_verb.len) visible_message("[user] has [pick(W.attack_verb)] \the [src] with \the [W]!") else @@ -38,28 +38,28 @@ health -= damage healthcheck() -/obj/effect/spider/bullet_act(var/obj/item/projectile/Proj) +/obj/structure/spider/bullet_act(var/obj/item/projectile/Proj) ..() health -= Proj.damage healthcheck() -/obj/effect/spider/proc/healthcheck() +/obj/structure/spider/proc/healthcheck() if(health <= 0) qdel(src) -/obj/effect/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() -/obj/effect/spider/stickyweb +/obj/structure/spider/stickyweb icon_state = "stickyweb1" -/obj/effect/spider/stickyweb/New() +/obj/structure/spider/stickyweb/New() if(prob(50)) icon_state = "stickyweb2" -/obj/effect/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0) +/obj/structure/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0) if(height==0) return 1 if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider)) return 1 @@ -71,7 +71,7 @@ return prob(30) return 1 -/obj/effect/spider/eggcluster +/obj/structure/spider/eggcluster name = "egg cluster" desc = "They seem to pulse slightly with an inner life" icon_state = "eggs" @@ -80,24 +80,24 @@ var/faction = list() var/master_commander = null -/obj/effect/spider/eggcluster/New() +/obj/structure/spider/eggcluster/New() pixel_x = rand(3,-3) pixel_y = rand(3,-3) processing_objects.Add(src) -/obj/effect/spider/eggcluster/process() +/obj/structure/spider/eggcluster/process() amount_grown += rand(0,2) if(amount_grown >= 100) var/num = rand(3,12) for(var/i=0, i[src] dies!") new /obj/effect/decal/cleanable/spiderling_remains(src.loc) qdel(src) -/obj/effect/spider/spiderling/healthcheck() +/obj/structure/spider/spiderling/healthcheck() if(health <= 0) die() -/obj/effect/spider/spiderling/process() +/obj/structure/spider/spiderling/process() if(travelling_in_vent) if(istype(src.loc, /turf)) travelling_in_vent = 0 @@ -217,16 +217,16 @@ icon_state = "greenshatter" anchored = 1 -/obj/effect/spider/cocoon +/obj/structure/spider/cocoon name = "cocoon" desc = "Something wrapped in silky spider web" icon_state = "cocoon1" health = 60 -/obj/effect/spider/cocoon/New() +/obj/structure/spider/cocoon/New() icon_state = pick("cocoon1","cocoon2","cocoon3") -/obj/effect/spider/cocoon/Destroy() +/obj/structure/spider/cocoon/Destroy() src.visible_message("\The [src] splits open.") for(var/atom/movable/A in contents) A.loc = src.loc diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm index 8e4a5834ba2..c5a5873afa0 100644 --- a/code/modules/events/infestation.dm +++ b/code/modules/events/infestation.dm @@ -77,7 +77,7 @@ max_number = 6 vermstring = "lizards" if(VERM_SPIDERS) - spawn_types = list(/obj/effect/spider/spiderling) + spawn_types = list(/obj/structure/spider/spiderling) max_number = 3 vermstring = "spiders" @@ -89,7 +89,7 @@ num-- if(vermin == VERM_SPIDERS) - var/obj/effect/spider/spiderling/S = new(T) + var/obj/structure/spider/spiderling/S = new(T) S.amount_grown = -1 else var/spawn_type = pick(spawn_types) diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm index ab703f0edc9..90cc1ee28ad 100644 --- a/code/modules/events/spider_infestation.dm +++ b/code/modules/events/spider_infestation.dm @@ -22,7 +22,7 @@ while((spawncount >= 1) && vents.len) var/obj/vent = pick(vents) - var/obj/effect/spider/spiderling/S = new(vent.loc) + var/obj/structure/spider/spiderling/S = new(vent.loc) if(prob(66)) S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/nurse vents -= vent diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm index aed998713c2..ebcf1346db9 100644 --- a/code/modules/events/spider_terror.dm +++ b/code/modules/events/spider_terror.dm @@ -37,7 +37,7 @@ spawncount = 1 while(spawncount >= 1 && vents.len) var/obj/vent = pick(vents) - var/obj/effect/spider/spiderling/terror_spiderling/S = new(vent.loc) + var/obj/structure/spider/spiderling/terror_spiderling/S = new(vent.loc) S.name = "evil-looking spiderling" S.grow_as = spider_type S.amount_grown = 75 diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 21a810d7b2f..46f6f317434 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -485,7 +485,7 @@ log_game("[key_name(user)] caused spiderling pests to spawn in a hydro tray") visible_message("The pests seem to behave oddly...") for(var/i in 1 to 3) - var/obj/effect/spider/spiderling/S = new(get_turf(src)) + var/obj/structure/spider/spiderling/S = new(get_turf(src)) S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter else to_chat(user, "The pests seem to behave oddly, but quickly settle down...") diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index b691099d0f3..7148f780ff3 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -229,7 +229,7 @@ //Different classes of items give different commodities. if(istype(W,/obj/item/weapon/cigbutt)) stored_comms["plastic"]++ - else if(istype(W,/obj/effect/spider/spiderling)) + else if(istype(W,/obj/structure/spider/spiderling)) stored_comms["wood"]++ stored_comms["wood"]++ stored_comms["plastic"]++ diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 368626f49fe..e45d5a1a391 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -116,7 +116,7 @@ GiveUp(C) return //second, spin a sticky spiderweb on this tile - var/obj/effect/spider/stickyweb/W = locate() in get_turf(src) + var/obj/structure/spider/stickyweb/W = locate() in get_turf(src) if(!W) Web() else @@ -157,7 +157,7 @@ stop_automated_movement = 1 spawn(40) if(busy == SPINNING_WEB && src.loc == T) - new /obj/effect/spider/stickyweb(T) + new /obj/structure/spider/stickyweb(T) busy = 0 stop_automated_movement = 0 @@ -187,7 +187,7 @@ spawn(50) if(busy == SPINNING_COCOON) if(cocoon_target && istype(cocoon_target.loc, /turf) && get_dist(src,cocoon_target) <= 1) - var/obj/effect/spider/cocoon/C = new(cocoon_target.loc) + var/obj/structure/spider/cocoon/C = new(cocoon_target.loc) var/large_cocoon = 0 C.pixel_x = cocoon_target.pixel_x C.pixel_y = cocoon_target.pixel_y @@ -223,7 +223,7 @@ set category = "Spider" set desc = "Lay a clutch of eggs, but you must wrap a creature for feeding first." - var/obj/effect/spider/eggcluster/E = locate() in get_turf(src) + var/obj/structure/spider/eggcluster/E = locate() in get_turf(src) if(E) to_chat(src, "There is already a cluster of eggs here!") else if(!fed) @@ -236,7 +236,7 @@ if(busy == LAYING_EGGS) E = locate() in get_turf(src) if(!E) - var/obj/effect/spider/eggcluster/C = new /obj/effect/spider/eggcluster(src.loc) + var/obj/structure/spider/eggcluster/C = new /obj/structure/spider/eggcluster(src.loc) C.faction = faction C.master_commander = master_commander if(ckey) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index 98e0967c669..90cef39a98f 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -112,11 +112,11 @@ else if(istype(loc, /turf/space)) to_chat(src, "Webs cannot be spun in space.") else - var/obj/effect/spider/terrorweb/T = locate() in get_turf(src) + var/obj/structure/spider/terrorweb/T = locate() in get_turf(src) if(T) to_chat(src, "There is already a web here.") else - var/obj/effect/spider/terrorweb/W = new /obj/effect/spider/terrorweb(loc) + var/obj/structure/spider/terrorweb/W = new /obj/structure/spider/terrorweb(loc) W.creator_ckey = ckey if(thick) W.opacity = 1 @@ -125,7 +125,7 @@ W.infectious = 1 W.name = "sharp terror web" -/obj/effect/spider/terrorweb +/obj/structure/spider/terrorweb name = "terror web" desc = "it's stringy and sticky" icon = 'icons/effects/effects.dmi' @@ -136,18 +136,18 @@ var/creator_ckey = null var/infectious = 0 -/obj/effect/spider/terrorweb/New() +/obj/structure/spider/terrorweb/New() ..() if(prob(50)) icon_state = "stickyweb2" -/obj/effect/spider/terrorweb/proc/DeCloakNearby() +/obj/structure/spider/terrorweb/proc/DeCloakNearby() for(var/mob/living/simple_animal/hostile/poison/terror_spider/gray/G in view(6,src)) if(!G.ckey && G.stat != DEAD) G.GrayDeCloak() G.Aggro() -/obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target) +/obj/structure/spider/terrorweb/CanPass(atom/movable/mover, turf/target) if(istype(mover, /mob/living/simple_animal/hostile/poison/terror_spider)) return 1 if(istype(mover, /obj/item/projectile/terrorqueenspit)) @@ -178,7 +178,7 @@ return prob(20) return ..() -/obj/effect/spider/terrorweb/bullet_act(obj/item/projectile/Proj) +/obj/structure/spider/terrorweb/bullet_act(obj/item/projectile/Proj) if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) visible_message("[src] is undamaged by [Proj]!") // Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive. @@ -196,7 +196,7 @@ choices += L for(var/obj/O in oview(1,src)) if(Adjacent(O) && !O.anchored) - if(!istype(O, /obj/effect/spider/terrorweb) && !istype(O, /obj/effect/spider/cocoon) && !istype(O, /obj/effect/spider/spiderling/terror_spiderling)) + if(!istype(O, /obj/structure/spider/terrorweb) && !istype(O, /obj/structure/spider/cocoon) && !istype(O, /obj/structure/spider/spiderling/terror_spiderling)) choices += O if(choices.len) cocoon_target = input(src,"What do you wish to cocoon?") in null|choices @@ -215,7 +215,7 @@ if(do_after(src, 40, target = cocoon_target.loc)) if(busy == SPINNING_COCOON) if(cocoon_target && isturf(cocoon_target.loc) && get_dist(src,cocoon_target) <= 1) - var/obj/effect/spider/cocoon/C = new(cocoon_target.loc) + var/obj/structure/spider/cocoon/C = new(cocoon_target.loc) var/large_cocoon = 0 C.pixel_x = cocoon_target.pixel_x C.pixel_y = cocoon_target.pixel_y diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm index 750ba694a1b..2d2c9af9bda 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm @@ -74,7 +74,7 @@ var/numlings = input("How many?") as null|anything in list(10, 20, 30, 40, 50) var/sbpc = input("%chance to be stillborn?") as null|anything in list(0, 25, 50, 75, 100) for(var/i=0, iThrough the hivemind, the raw power of [src] floods into your body, burning it from the inside out!") - for(var/obj/effect/spider/eggcluster/terror_eggcluster/T in ts_egg_list) + for(var/obj/structure/spider/eggcluster/terror_eggcluster/T in ts_egg_list) qdel(T) - for(var/obj/effect/spider/spiderling/terror_spiderling/T in ts_spiderling_list) + for(var/obj/structure/spider/spiderling/terror_spiderling/T in ts_spiderling_list) T.stillborn = 1 to_chat(src, "All Terror Spiders, except yourself, will die off shortly.") diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm index 61c0ed42a25..fdaa36257d2 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm @@ -119,7 +119,7 @@ GrayCloak() else // otherwise, pick one of the valid turfs with no web to create a web there. - new /obj/effect/spider/terrorweb(pick(g_turfs_valid)) + new /obj/structure/spider/terrorweb(pick(g_turfs_valid)) visible_message("[src] spins a web.") else if(invisibility == SEE_INVISIBLE_LEVEL_ONE) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm index ace7509ccdf..89378e6a2ae 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm @@ -30,7 +30,7 @@ greeneggs_action.Grant(src) /mob/living/simple_animal/hostile/poison/terror_spider/green/proc/DoLayGreenEggs() - var/obj/effect/spider/eggcluster/E = locate() in get_turf(src) + var/obj/structure/spider/eggcluster/E = locate() in get_turf(src) if(E) to_chat(src, "There is already a cluster of eggs here!") else if(fed < feedings_to_lay) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm index e3eb1b1d49e..c3ee3dd6a35 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm @@ -46,10 +46,10 @@ if(T.stat != DEAD && !T.spider_placed && spider_awaymission == T.spider_awaymission) if(T.type == specific_type) numspiders += 1 - for(var/obj/effect/spider/eggcluster/terror_eggcluster/E in ts_egg_list) + for(var/obj/structure/spider/eggcluster/terror_eggcluster/E in ts_egg_list) if(E.spiderling_type == specific_type && E.z == z) numspiders += E.spiderling_number - for(var/obj/effect/spider/spiderling/terror_spiderling/L in ts_spiderling_list) + for(var/obj/structure/spider/spiderling/terror_spiderling/L in ts_spiderling_list) if(!L.stillborn && L.grow_as == specific_type && L.z == z) numspiders += 1 return numspiders \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm index fa162ab8848..b6e8a0680ae 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -36,7 +36,7 @@ if(canspawn) canspawn = 0 for(var/i in 0 to 30) - var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) + var/obj/structure/spider/spiderling/terror_spiderling/S = new /obj/structure/spider/spiderling/terror_spiderling(get_turf(src)) S.grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/red, /mob/living/simple_animal/hostile/poison/terror_spider/gray) if(prob(66)) S.stillborn = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm index 1a9b925d689..3b6266e777b 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm @@ -153,7 +153,7 @@ if(3) if(world.time > (spider_lastspawn + spider_spawnfrequency)) if(prob(20)) - var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) + var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) if(!N) spider_lastspawn = world.time DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/green, 2, 0) @@ -161,7 +161,7 @@ if(4) if(world.time > (spider_lastspawn + spider_spawnfrequency)) if(prob(20)) - var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) + var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) if(!N) spider_lastspawn = world.time DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/red, 2, 1) @@ -169,7 +169,7 @@ if(5) if(world.time > (spider_lastspawn + spider_spawnfrequency)) if(prob(20)) - var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) + var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src) if(!N) if(!spider_awaymission) QueenFakeLings() @@ -331,7 +331,7 @@ spider_can_fakelings-- var/numlings = 15 for(var/i in 1 to numlings) - var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src)) + var/obj/structure/spider/spiderling/terror_spiderling/S = new /obj/structure/spider/spiderling/terror_spiderling(get_turf(src)) S.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red S.stillborn = 1 S.name = "Evil-Looking Spiderling" diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm index f6188ced362..d1ffa073582 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm @@ -3,7 +3,7 @@ // ----------------- TERROR SPIDERS: SPIDERLINGS (USED BY GREEN, WHITE, QUEEN AND MOTHER TYPES) // -------------------------------------------------------------------------------- -/obj/effect/spider/spiderling/terror_spiderling +/obj/structure/spider/spiderling/terror_spiderling name = "spiderling" desc = "A fast-moving tiny spider, prone to making aggressive hissing sounds. Hope it doesn't grow up." icon_state = "spiderling" @@ -17,15 +17,15 @@ var/list/enemies = list() var/immediate_ventcrawl = 0 -/obj/effect/spider/spiderling/terror_spiderling/New() +/obj/structure/spider/spiderling/terror_spiderling/New() ..() ts_spiderling_list += src -/obj/effect/spider/spiderling/terror_spiderling/Destroy() +/obj/structure/spider/spiderling/terror_spiderling/Destroy() ts_spiderling_list -= src return ..() -/obj/effect/spider/spiderling/terror_spiderling/Bump(atom/A) +/obj/structure/spider/spiderling/terror_spiderling/Bump(atom/A) if(istype(A, /obj/structure/table)) forceMove(A.loc) else if(istype(A, /obj/machinery/recharge_station)) @@ -33,7 +33,7 @@ else ..() -/obj/effect/spider/spiderling/terror_spiderling/process() +/obj/structure/spider/spiderling/terror_spiderling/process() if(travelling_in_vent) if(isturf(loc)) travelling_in_vent = 0 @@ -104,7 +104,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/proc/DoLayTerrorEggs(lay_type, lay_number, lay_crawl) stop_automated_movement = 1 - var/obj/effect/spider/eggcluster/terror_eggcluster/C = new /obj/effect/spider/eggcluster/terror_eggcluster(get_turf(src)) + var/obj/structure/spider/eggcluster/terror_eggcluster/C = new /obj/structure/spider/eggcluster/terror_eggcluster(get_turf(src)) C.spiderling_type = lay_type C.spiderling_number = lay_number C.spiderling_ventcrawl = lay_crawl @@ -118,7 +118,7 @@ spawn(10) stop_automated_movement = 0 -/obj/effect/spider/eggcluster/terror_eggcluster +/obj/structure/spider/eggcluster/terror_eggcluster name = "terror egg cluster" desc = "A cluster of tiny spider eggs. They pulse with a strong inner life, and appear to have sharp thorns on the sides." icon_state = "eggs" @@ -130,7 +130,7 @@ var/spiderling_ventcrawl = 1 var/list/enemies = list() -/obj/effect/spider/eggcluster/terror_eggcluster/New() +/obj/structure/spider/eggcluster/terror_eggcluster/New() ..() ts_egg_list += src spawn(50) @@ -153,16 +153,16 @@ else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/queen) name = "queen of terror eggs" -/obj/effect/spider/eggcluster/terror_eggcluster/Destroy() +/obj/structure/spider/eggcluster/terror_eggcluster/Destroy() ts_egg_list -= src return ..() -/obj/effect/spider/eggcluster/terror_eggcluster/process() +/obj/structure/spider/eggcluster/terror_eggcluster/process() amount_grown += rand(0,2) if(amount_grown >= 100) var/num = spiderling_number for(var/i=0, i (last_spins_webs + freq_spins_webs)) last_spins_webs = world.time - var/obj/effect/spider/terrorweb/T = locate() in get_turf(src) + var/obj/structure/spider/terrorweb/T = locate() in get_turf(src) if(!T) - var/obj/effect/spider/terrorweb/W = new /obj/effect/spider/terrorweb(loc) + var/obj/structure/spider/terrorweb/W = new /obj/structure/spider/terrorweb(loc) if(web_infects) W.infectious = 1 W.name = "sharp terror web" @@ -275,7 +275,7 @@ var/list/potentials = list() for(var/turf/simulated/T in oview(3,get_turf(src))) if(T.density == 0 && get_dist(get_turf(src),T) == 3) - var/obj/effect/spider/terrorweb/W = locate() in T + var/obj/structure/spider/terrorweb/W = locate() in T if(!W) var/obj/structure/grille/G = locate() in T if(!G) @@ -288,7 +288,7 @@ var/list/webbed = list() for(var/turf/simulated/T in oview(3,get_turf(src))) if(T.density == 0 && get_dist(get_turf(src),T) == 3) - var/obj/effect/spider/terrorweb/W = locate() in T + var/obj/structure/spider/terrorweb/W = locate() in T if(W) webbed += T return webbed diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index 9134715aac3..caff5e2017f 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -168,7 +168,7 @@ var/global/list/ts_spiderling_list = list() visible_message("[src] harmlessly nuzzles [target].") T.CheckFaction() CheckFaction() - else if(istype(target, /obj/effect/spider/cocoon)) + else if(istype(target, /obj/structure/spider/cocoon)) to_chat(src, "Destroying our own cocoons would not help us.") else if(istype(target, /obj/machinery/door/firedoor)) var/obj/machinery/door/firedoor/F = target diff --git a/code/modules/research/xenoarchaeology/finds/finds_special.dm b/code/modules/research/xenoarchaeology/finds/finds_special.dm index 8ddcf27593b..f062724f20c 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_special.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_special.dm @@ -82,7 +82,7 @@ //use up stored charges if(charges >= 10) charges -= 10 - new /obj/effect/spider/eggcluster(pick(view(1,src))) + new /obj/structure/spider/eggcluster(pick(view(1,src))) if(charges >= 3) if(prob(5)) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index ded15ea8d59..24d76267b13 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -237,7 +237,7 @@ var/list/blacklist = list( /mob/living, /obj/structure/blob, - /obj/effect/spider/spiderling, + /obj/structure/spider/spiderling, /obj/item/weapon/disk/nuclear, /obj/machinery/nuclearbomb, /obj/item/device/radio/beacon, diff --git a/code/modules/surgery/organs/parasites.dm b/code/modules/surgery/organs/parasites.dm index 414a48cf5ab..0adca48bfd0 100644 --- a/code/modules/surgery/organs/parasites.dm +++ b/code/modules/surgery/organs/parasites.dm @@ -28,7 +28,7 @@ owner.emote("scream") var/spiders = rand(3,5) for(var/i in 1 to spiders) - new/obj/effect/spider/spiderling(get_turf(owner)) + new/obj/structure/spider/spiderling(get_turf(owner)) owner.visible_message("[owner] bursts open! Holy fuck!") owner.gib() @@ -86,17 +86,17 @@ owner.Stun(20) owner.Weaken(20) // yes, this is a long stun - that's intentional. Gotta give the spiderlings time to escape. - var/obj/effect/spider/spiderling/terror_spiderling/S1 = new(get_turf(owner)) + var/obj/structure/spider/spiderling/terror_spiderling/S1 = new(get_turf(owner)) S1.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red S1.name = "red spiderling" if(prob(50)) S1.stillborn = 1 - var/obj/effect/spider/spiderling/terror_spiderling/S2 = new(get_turf(owner)) + var/obj/structure/spider/spiderling/terror_spiderling/S2 = new(get_turf(owner)) S2.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/gray S2.name = "gray spiderling" if(prob(50)) S2.stillborn = 1 - var/obj/effect/spider/spiderling/terror_spiderling/S3 = new(get_turf(owner)) + var/obj/structure/spider/spiderling/terror_spiderling/S3 = new(get_turf(owner)) S3.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/green S3.name = "green spiderling" if(prob(50)) From 45b30b0603b6c19850ccf7e40220275de14498e5 Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 20:09:04 -0300 Subject: [PATCH 07/11] Fixes. --- .../RandomRuins/SpaceRuins/spacebar.dmm | 2 +- _maps/map_files/cyberiad/z5.dmm | 4 +- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 10 +- code/game/machinery/constructable_frame.dm | 2 +- code/game/machinery/doors/firedoor.dm | 2 +- code/game/machinery/machinery.dm | 2 +- code/game/machinery/pipe/construction.dm | 100 +++++++++--------- 7 files changed, 60 insertions(+), 62 deletions(-) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm index 1bab41147dc..2ef82125aae 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm @@ -62,7 +62,7 @@ "bj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"}) "bk" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"}) "bl" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"}) -"bm" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"}) +"bm" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"}) "bn" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/ruin/powered) "bo" = (/turf/simulated/floor/plating,/area/ruin/powered) "bp" = (/turf/simulated/floor/plating{icon_plating = "warnplate"; icon_state = "warnplate"},/area/ruin/powered) diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm index add7d07e23b..86b225e0d1b 100644 --- a/_maps/map_files/cyberiad/z5.dmm +++ b/_maps/map_files/cyberiad/z5.dmm @@ -827,7 +827,7 @@ "pU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/engine,/area/mine/podbay) "pV" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/multi_tile/three_tile_ver{id_tag = "minepodbay"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay) "pW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored) -"pX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) +"pX" = (/obj/structure/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "pY" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned) "pZ" = (/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned) "qa" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore) @@ -850,7 +850,7 @@ "qr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "qs" = (/obj/effect/decal/warning_stripes/north,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay) "qt" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored) -"qu" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) +"qu" = (/obj/structure/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "qv" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "qw" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/unexplored) "qx" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/unexplored) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index e82d41f8eae..a3ac5a9da6f 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -348,9 +348,12 @@ gender = NEUTER icon = 'icons/mob/swarmer.dmi' icon_state = "ui_light" - anchored = 1 layer = MOB_LAYER + anchored = 1 unacidable = 1 + light_range = 1 + mouse_opacity = 1 + var/health = 30 /obj/structure/swarmer/disintegration icon_state = "disintegrate" @@ -374,11 +377,6 @@ spawn(5) qdel(src) -/obj/structure/swarmer/destructible //Default destroyable object for swarmer constructions - light_range = 1 - mouse_opacity = 1 - var/health = 30 - /obj/structure/swarmer/proc/TakeDamage(damage) health -= damage if(health <= 0) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 99b53415e5b..a714e24febc 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -147,7 +147,7 @@ if(component_check) playsound(src.loc, P.usesound, 50, 1) var/obj/machinery/new_machine = new src.circuit.build_path(src.loc) - new_machine.construction() + new_machine.on_construction() for(var/obj/O in new_machine.component_parts) qdel(O) new_machine.component_parts = list() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 77d0f971d6e..dbbe53055a4 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -204,7 +204,7 @@ else close() -/obj/machinery/door/firedoor/proc/deconstruct(disassembled = TRUE) +/obj/machinery/door/firedoor/deconstruct(disassembled = TRUE) if(can_deconstruct) var/obj/structure/firelock_frame/F = new assembly_type(get_turf(src)) if(disassembled) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 8891625ba07..b245ade8794 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -400,7 +400,7 @@ Class Procs: return 1 return 0 -/obj/machinery/proc/deconstruct() +/obj/machinery/proc/deconstruct(disassembled = TRUE) on_deconstruction() spawn_frame() for(var/obj/item/I in component_parts) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index ef42de6ca60..9af2e836ef9 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -153,11 +153,11 @@ src.pipe_type = PIPE_OMNI_FILTER else if(istype(make_from, /obj/machinery/atmospherics/binary/circulator)) src.pipe_type = PIPE_CIRCULATOR - + var/obj/machinery/atmospherics/trinary/triP = make_from if(istype(triP) && triP.flipped) src.flipped = 1 - + var/obj/machinery/atmospherics/binary/circulator/circP = make_from if(istype(circP) && circP.side == circP.CIRC_RIGHT) src.flipped = 1 @@ -282,7 +282,7 @@ PIPE_INSULATED_BENT, \ PIPE_SUPPLY_BENT, \ PIPE_SCRUBBERS_BENT) - + // rotate the pipe item clockwise /obj/item/pipe/verb/rotate() @@ -292,7 +292,7 @@ if( usr.stat || usr.restrained() ) return - + if(pipe_type == PIPE_CIRCULATOR) flip() return @@ -302,7 +302,7 @@ fixdir() return - + /obj/item/pipe/verb/flip() set category = "Object" set name = "Flip Pipe" @@ -342,11 +342,11 @@ /obj/item/pipe/proc/get_pipe_dir() if(!dir) return 0 - + var/direct = dir if(flipped) - direct = turn(dir, 45) - + direct = turn(dir, 45) + var/flip = turn(direct, 180) var/cw = turn(direct, -90) var/acw = turn(direct, 90) @@ -415,7 +415,7 @@ return dir else return 0 - + /obj/item/pipe/proc/unflip(var/direction) if(!(direction in cardinal)) return turn(direction, 45) @@ -440,12 +440,12 @@ if(!istype(W, /obj/item/weapon/wrench)) return ..() - + if(!isturf(src.loc)) return 1 fixdir() - + var/pipe_dir = get_pipe_dir() for(var/obj/machinery/atmospherics/M in src.loc) @@ -456,79 +456,79 @@ switch(pipe_type) //What kind of heartless person thought of doing this? if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT) var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc ) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT) var/obj/machinery/atmospherics/pipe/simple/hidden/supply/P = new( src.loc ) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT) var/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers/P = new( src.loc ) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_UNIVERSAL) var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new( src.loc ) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_HE_STRAIGHT, PIPE_HE_BENT) var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc ) P.initialize_directions_he = pipe_dir - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_CONNECTOR) // connector var/obj/machinery/atmospherics/unary/portables_connector/C = new( src.loc ) if(pipename) C.name = pipename - C.construction(dir, pipe_dir, color) + C.on_construction(dir, pipe_dir, color) if(PIPE_MANIFOLD) //manifold var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc ) - M.construction(dir, pipe_dir, color) + M.on_construction(dir, pipe_dir, color) if(PIPE_SUPPLY_MANIFOLD) //manifold var/obj/machinery/atmospherics/pipe/manifold/hidden/supply/M = new( src.loc ) - M.construction(dir, pipe_dir, color) + M.on_construction(dir, pipe_dir, color) if(PIPE_SCRUBBERS_MANIFOLD) //manifold var/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers/M = new( src.loc ) - M.construction(dir, pipe_dir, color) + M.on_construction(dir, pipe_dir, color) if(PIPE_MANIFOLD4W) //4-way manifold var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc ) - M.construction(dir, pipe_dir, color) - + M.on_construction(dir, pipe_dir, color) + if(PIPE_SUPPLY_MANIFOLD4W) //4-way manifold var/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply/M = new( src.loc ) - M.construction(dir, pipe_dir, color) + M.on_construction(dir, pipe_dir, color) if(PIPE_SCRUBBERS_MANIFOLD4W) //4-way manifold var/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers/M = new( src.loc ) - M.construction(dir, pipe_dir, color) + M.on_construction(dir, pipe_dir, color) if(PIPE_JUNCTION) var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc ) P.initialize_directions_he = src.get_hdir() - P.construction(dir, get_pdir(), color) + P.on_construction(dir, get_pdir(), color) if(PIPE_UVENT) //unary vent var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc ) - V.construction(dir, pipe_dir, color) + V.on_construction(dir, pipe_dir, color) if(PIPE_MVALVE) //manual valve var/obj/machinery/atmospherics/binary/valve/V = new( src.loc) if(pipename) V.name = pipename - V.construction(dir, get_pdir(), color) - + V.on_construction(dir, get_pdir(), color) + if(PIPE_DVALVE) var/obj/machinery/atmospherics/binary/valve/digital/V = new( src.loc ) if(pipename) V.name = pipename - V.construction(dir, get_pdir(), color) - + V.on_construction(dir, get_pdir(), color) + if(PIPE_PUMP) //gas pump var/obj/machinery/atmospherics/binary/pump/P = new(src.loc) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE) var/obj/machinery/atmospherics/trinary/P @@ -544,81 +544,81 @@ P.flipped = flipped if(pipename) P.name = pipename - P.construction(unflip(dir), pipe_dir, color) - + P.on_construction(unflip(dir), pipe_dir, color) + if(PIPE_CIRCULATOR) //circulator var/obj/machinery/atmospherics/binary/circulator/C = new(src.loc) if(flipped) C.side = C.CIRC_RIGHT if(pipename) C.name = pipename - C.construction(C.dir, C.initialize_directions, color) + C.on_construction(C.dir, C.initialize_directions, color) if(PIPE_SCRUBBER) //scrubber var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc) if(pipename) S.name = pipename - S.construction(dir, pipe_dir, color) + S.on_construction(dir, pipe_dir, color) if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT) var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc ) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_CAP) var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc) - C.construction(dir, pipe_dir, color) + C.on_construction(dir, pipe_dir, color) if(PIPE_SUPPLY_CAP) var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(src.loc) - C.construction(dir, pipe_dir, color) + C.on_construction(dir, pipe_dir, color) if(PIPE_SCRUBBERS_CAP) var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(src.loc) - C.construction(dir, pipe_dir, color) + C.on_construction(dir, pipe_dir, color) if(PIPE_PASSIVE_GATE) //passive gate var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc) if(pipename) P.name = pipename - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_VOLUME_PUMP) //volume pump var/obj/machinery/atmospherics/binary/volume_pump/P = new(src.loc) if(pipename) P.name = pipename - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_HEAT_EXCHANGE) // heat exchanger var/obj/machinery/atmospherics/unary/heat_exchanger/C = new( src.loc ) if(pipename) C.name = pipename - C.construction(dir, pipe_dir, color) + C.on_construction(dir, pipe_dir, color) if(PIPE_INJECTOR) // air injector var/obj/machinery/atmospherics/unary/outlet_injector/P = new( src.loc ) if(pipename) P.name = pipename - P.construction(dir, pipe_dir, color) - + P.on_construction(dir, pipe_dir, color) + if(PIPE_DP_VENT) var/obj/machinery/atmospherics/binary/dp_vent_pump/P = new(src.loc) if(pipename) P.name = pipename - P.construction(dir, pipe_dir, color) - + P.on_construction(dir, pipe_dir, color) + if(PIPE_PASV_VENT) var/obj/machinery/atmospherics/unary/passive_vent/P = new(src.loc) if(pipename) P.name = pipename - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) if(PIPE_OMNI_MIXER) var/obj/machinery/atmospherics/omni/mixer/P = new(loc) - P.construction(dir, pipe_dir, color) - + P.on_construction(dir, pipe_dir, color) + if(PIPE_OMNI_FILTER) var/obj/machinery/atmospherics/omni/filter/P = new(loc) - P.construction(dir, pipe_dir, color) + P.on_construction(dir, pipe_dir, color) playsound(src.loc, W.usesound, 50, 1) user.visible_message( \ From ccdcc1e516df45b38e04856352393f0c53250beb Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 20:18:09 -0300 Subject: [PATCH 08/11] Oops. --- .../map_files/RandomZLevels/terrorspiders.dmm | 32 +++++++++---------- .../RandomZLevels/undergroundoutpost45.dmm | 6 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm index 11841b433a9..fbf21c23670 100644 --- a/_maps/map_files/RandomZLevels/terrorspiders.dmm +++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm @@ -6,7 +6,7 @@ "af" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "ag" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "ah" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "weld"; id_tag = "UO71_waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0; welded = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"ai" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"ai" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "aj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/plaza) "ak" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/plaza) "al" = (/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza) @@ -32,14 +32,14 @@ "aF" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "271"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) "aG" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/UO71/plaza) "aH" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) -"aI" = (/obj/effect/spider/terrorweb,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) +"aI" = (/obj/structure/spider/terrorweb,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) "aJ" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza) "aK" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/UO71/plaza) "aL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaymission/UO71/plaza) "aM" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaymission/UO71/plaza) "aN" = (/obj/machinery/door/airlock{id_tag = "awaydormE1"; locked = 0; name = "Executive Dorm 1"; req_access_txt = "271"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) -"aO" = (/obj/effect/spider/terrorweb,/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) -"aP" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) +"aO" = (/obj/structure/spider/terrorweb,/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) +"aP" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza) "aQ" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/UO71/plaza) "aR" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/UO71/plaza) "aS" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza) @@ -314,7 +314,7 @@ "gb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/UO71/centralhall) "gc" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) "gd" = (/turf/simulated/floor/vault,/area/awaymission/UO71/prince) -"ge" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/vault,/area/awaymission/UO71/prince) +"ge" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/vault,/area/awaymission/UO71/prince) "gf" = (/obj/machinery/camera{c_tag = "Research Lab"; dir = 2; network = list("UO71")},/turf/simulated/floor/vault,/area/awaymission/UO71/prince) "gg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) "gh" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) @@ -501,7 +501,7 @@ "jG" = (/turf/simulated/wall/r_wall,/area/awaymission/UO71/science) "jH" = (/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) "jI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) -"jJ" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) +"jJ" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) "jK" = (/obj/machinery/door/poddoor{id_tag = "UO71_Containment"; name = "Containment 1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/mother) "jL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/UO71/science) "jM" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/UO71/science) @@ -529,12 +529,12 @@ "ki" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plating,/area/awaymission/UO71/gateway) "kj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaymission/UO71/science) "kk" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/awaymission/UO71/gateway) -"kl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) +"kl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) "km" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaymission/UO71/science) "kn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'DANGER - LETHAL BIOHAZARDS WITHIN'"; name = "CONTAINMENT AREA"},/turf/simulated/wall/r_wall,/area/awaymission/UO71/science) "ko" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/paper/terrorspiders5,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/awaymission/UO71/science) "kp" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/awaymission/UO71/science) -"kq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) +"kq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) "kr" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/science) "ks" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaymission/UO71/science) "kt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/UO71/science) @@ -634,7 +634,7 @@ "mj" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating,/area/awaymission/UO71/eng) "mk" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaymission/UO71/gateway) "ml" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) -"mm" = (/obj/effect/spider/cocoon{contents = newlist(/obj/effect/decal/remains/human); icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/gateway) +"mm" = (/obj/structure/spider/cocoon{contents = newlist(/obj/effect/decal/remains/human); icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/gateway) "mn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; icon_state = "weld"; on = 1; pressure_checks = 1; welded = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaymission/UO71/gateway) "mo" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) "mp" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) @@ -1007,7 +1007,7 @@ "ts" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix to Filter"; on = 1},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng) "tt" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng) "tu" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng) -"tv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/obj/item/weapon/paper/terrorspiders7,/obj/effect/gibspawner,/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng) +"tv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/obj/item/weapon/paper/terrorspiders7,/obj/effect/gibspawner,/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng) "tw" = (/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/wall,/area/awaymission/UO71/eng) "tx" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "UO71_waste_in"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaymission/UO71/eng) "ty" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO71_waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaymission/UO71/eng) @@ -1315,7 +1315,7 @@ "zo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) "zp" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) "zq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"zr" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/outside) +"zr" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/outside) "zs" = (/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) "zt" = (/obj/structure/stool/bed/chair/wood/normal,/obj/item/clothing/shoes/syndigaloshes,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) "zu" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) @@ -1324,17 +1324,17 @@ "zx" = (/obj/machinery/door/airlock/external{name = "Strange Airlock"; req_access_txt = "271"},/obj/machinery/door/poddoor{id_tag = "UO71_Caves"; name = "Caves Lockdown Door"},/turf/simulated/floor/carpet,/area/awaymission/UO71/loot) "zy" = (/turf/simulated/wall,/area/awaymission/UO71/queen) "zz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/awaymission/UO71/queen) -"zA" = (/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"zA" = (/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zB" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "271"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"zC" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"zC" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zD" = (/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/queen) "zE" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "271"},/turf/simulated/wall/rust,/area/awaymission/UO71/queen) "zF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zG" = (/obj/machinery/door/poddoor{id_tag = "UO71_Caves"; name = "Caves Lockdown Door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zH" = (/mob/living/simple_animal/hostile/poison/terror_spider/green{wander = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"zI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"zJ" = (/obj/effect/spider/terrorweb,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) -"zK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"zI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"zJ" = (/obj/structure/spider/terrorweb,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) +"zK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zL" = (/obj/structure/table,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) "zM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/mineral/random/labormineral,/area/awaymission/UO71/queen) "zN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen) diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm index 56f63d7619b..9182b9e11df 100644 --- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm @@ -366,7 +366,7 @@ "hb" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "hc" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "hd" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) -"he" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"he" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "hf" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "hg" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "hh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) @@ -1259,12 +1259,12 @@ "ym" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yn" = (/obj/structure/closet/crate,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yo" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/stool/bed/nest,/obj/effect/landmark/corpse/miner/hardsuit,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) -"yp" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"yp" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yq" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/stool/bed/nest,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yr" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "ys" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yt" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/landmark/corpse/miner/hardsuit,/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) -"yu" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"yu" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yv" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yw" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "yx" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) From faa4e887eb23cfb2572387bcf1598a44962d4c41 Mon Sep 17 00:00:00 2001 From: davipatury Date: Mon, 27 Mar 2017 20:23:52 -0300 Subject: [PATCH 09/11] Metastation z5. --- _maps/map_files/MetaStation/z5.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/MetaStation/z5.dmm b/_maps/map_files/MetaStation/z5.dmm index c75dd6297e9..cdfad4b1cb4 100644 --- a/_maps/map_files/MetaStation/z5.dmm +++ b/_maps/map_files/MetaStation/z5.dmm @@ -742,7 +742,7 @@ "on" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore) "oo" = (/obj/structure/ore_box,/obj/machinery/camera{c_tag = "Research Outpost External Airlock"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore) "op" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored) -"oq" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) +"oq" = (/obj/structure/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "or" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "os" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "ot" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) @@ -779,7 +779,7 @@ "oY" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "oZ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "pa" = (/turf/space,/area/mine/dangerous/explored) -"pb" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) +"pb" = (/obj/structure/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored) "pc" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area/space) "pd" = (/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned) "pe" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "floorscorched2"},/area/mine/abandoned) From 5f572e74a28ec053a96574f95638d6133c6d2093 Mon Sep 17 00:00:00 2001 From: davipatury Date: Thu, 30 Mar 2017 09:24:41 -0300 Subject: [PATCH 10/11] Removes machinery dismantle proc --- code/game/machinery/machinery.dm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index b245ade8794..e5f4b3fc71f 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -493,18 +493,6 @@ Class Procs: if(user.research_scanner && component_parts) display_parts(user) -/obj/machinery/proc/dismantle() - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) - var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc) - M.state = 2 - M.icon_state = "box_1" - for(var/obj/I in component_parts) - if(I.reliability != 100 && crit_fail) - I.crit_fail = 1 - I.loc = loc - qdel(src) - return 1 - /obj/machinery/proc/on_assess_perp(mob/living/carbon/human/perp) return 0 From 1673340c2da6e0f5ea420977f53c6f220ceb50fa Mon Sep 17 00:00:00 2001 From: davipatury Date: Thu, 30 Mar 2017 10:48:16 -0300 Subject: [PATCH 11/11] effect/effect/foam to structure/foam --- code/game/machinery/ai_slipper.dm | 4 +-- code/game/objects/effects/effect_system.dm | 27 ++++++++++--------- .../objects/items/weapons/tanks/watertank.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 6ad0d3f3ecf..742a253015c 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -51,7 +51,7 @@ /obj/machinery/ai_slipper/attack_ai(mob/user) return attack_hand(user) - + /obj/machinery/ai_slipper/attack_ghost(mob/user) return attack_hand(user) @@ -93,7 +93,7 @@ if(cooldown_on || disabled) return else - new /obj/effect/effect/foam(loc) + new /obj/structure/foam(loc) uses-- cooldown_on = 1 cooldown_time = world.timeofday + 100 diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index fa6ea110c23..2f3995c1a8d 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -877,21 +877,22 @@ steam.start() -- spawns the effect // Similar to smoke, but spreads out more // metal foams leave behind a foamed metal wall -/obj/effect/effect/foam +/obj/structure/foam name = "foam" + icon = 'icons/effects/effects.dmi' icon_state = "foam" opacity = 0 anchored = 1 density = 0 layer = OBJ_LAYER + 0.9 mouse_opacity = 0 + animate_movement = 0 var/amount = 3 var/expand = 1 - animate_movement = 0 var/metal = 0 -/obj/effect/effect/foam/New(loc, var/ismetal=0) +/obj/structure/foam/New(loc, var/ismetal=0) ..(loc) icon_state = "[ismetal ? "m":""]foam" if(!ismetal && reagents) @@ -918,11 +919,11 @@ steam.start() -- spawns the effect flick("[icon_state]-disolve", src) sleep(5) - delete() + qdel(src) return // on delete, transfer any reagents to the floor -/obj/effect/effect/foam/Destroy() +/obj/structure/foam/Destroy() if(!metal && reagents) reagents.handle_reactions() for(var/atom/A in oview(1, src)) @@ -933,7 +934,7 @@ steam.start() -- spawns the effect reagents.reaction(A, TOUCH, fraction) return ..() -/obj/effect/effect/foam/process() +/obj/structure/foam/process() if(--amount < 0) return @@ -948,11 +949,11 @@ steam.start() -- spawns the effect if(!T.Enter(src)) continue - var/obj/effect/effect/foam/F = locate() in T + var/obj/structure/foam/F = locate() in T if(F) continue - F = new /obj/effect/effect/foam(T, metal) + F = new /obj/structure/foam(T, metal) F.amount = amount if(!metal) F.create_reagents(15) @@ -963,15 +964,15 @@ steam.start() -- spawns the effect // foam disolves when heated // except metal foams -/obj/effect/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(!metal && prob(max(0, exposed_temperature - 475))) flick("[icon_state]-disolve", src) spawn(5) - delete() + qdel(src) -/obj/effect/effect/foam/Crossed(var/atom/movable/AM) +/obj/structure/foam/Crossed(var/atom/movable/AM) if(metal) return @@ -1016,13 +1017,13 @@ steam.start() -- spawns the effect /datum/effect/system/foam_spread/start() spawn(0) - var/obj/effect/effect/foam/F = locate() in location + var/obj/structure/foam/F = locate() in location if(F) F.amount += amount F.amount = min(F.amount, 27) return - F = new /obj/effect/effect/foam(location, metal) + F = new /obj/structure/foam(location, metal) F.amount = amount if(!metal) // don't carry other chemicals if a metal foam diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm index 9068460ae80..00dc66e1b94 100644 --- a/code/game/objects/items/weapons/tanks/watertank.dm +++ b/code/game/objects/items/weapons/tanks/watertank.dm @@ -301,7 +301,7 @@ if(!Adj|| !istype(target, /turf)) return if(metal_synthesis_cooldown < 5) - var/obj/effect/effect/foam/F = new /obj/effect/effect/foam(get_turf(target), 1) + var/obj/structure/foam/F = new /obj/structure/foam(get_turf(target), 1) F.amount = 0 metal_synthesis_cooldown++ spawn(100) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 2aebeb5d04a..f9f1bbf1c08 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -98,7 +98,7 @@ if(prob(5)) //Spawns foam! visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!") - new /obj/effect/effect/foam(loc) + new /obj/structure/foam(loc) else if(prob(5)) audible_message("[src] makes an excited beeping booping sound!")