From 6b7fb9b3e44e75cd506b2e44779c3ad4b19d79be Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sat, 18 Feb 2017 00:00:25 -0800 Subject: [PATCH 01/89] Strange reagent has a chance to gib you now anyways --- code/modules/reagents/chemistry/reagents/medicine.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 451452936fe..69fd80019b7 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -628,7 +628,7 @@ if(iscarbon(M)) if(method == INGEST) if(M.stat == DEAD) - if(M.getBruteLoss()+M.getFireLoss() >= 150) + if(M.getBruteLoss()+M.getFireLoss() >= 150 || prob(10)) M.visible_message("[M]'s body starts convulsing!") M.gib() return @@ -1003,4 +1003,4 @@ /datum/reagent/medicine/earthsblood/overdose_process(mob/living/M) M.SetHallucinate(min(max(0, M.hallucination + 10), 50)) - M.adjustToxLoss(5 * REAGENTS_EFFECT_MULTIPLIER) \ No newline at end of file + M.adjustToxLoss(5 * REAGENTS_EFFECT_MULTIPLIER) From f8a4c7feade9da983e79e31be06321cad45f243b Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Fri, 24 Feb 2017 19:09:23 -0800 Subject: [PATCH 02/89] Changes %gib to a volume floor and a clone damage per application --- code/modules/reagents/chemistry/reagents/medicine.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 69fd80019b7..75e8f7e8fc3 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -617,6 +617,9 @@ ..() /datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/M, method=TOUCH, volume) + if(volume < 1) + // gotta pay to play + return ..() if(isanimal(M)) if(method == TOUCH) var/mob/living/simple_animal/SM = M @@ -628,10 +631,11 @@ if(iscarbon(M)) if(method == INGEST) if(M.stat == DEAD) - if(M.getBruteLoss()+M.getFireLoss() >= 150 || prob(10)) + if(M.getBruteLoss()+M.getFireLoss()+M.getCloneLoss() >= 150) M.visible_message("[M]'s body starts convulsing!") M.gib() return + M.adjustCloneLoss(50) var/mob/dead/observer/ghost = M.get_ghost() if(ghost) to_chat(ghost, "You are attempting to be revived with Strange Reagent. Return to your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)") From d9ceb1df76eb3f503f52a3f1a01235fb2fe14e3e Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Fri, 24 Feb 2017 19:29:25 -0800 Subject: [PATCH 03/89] Adds a %chance to give a disease to the revived patient (given they have a mind, so that there's no abuse of this to infect the station) --- .../reagents/chemistry/reagents/medicine.dm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 75e8f7e8fc3..cf4bce5cec1 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -648,6 +648,21 @@ M.adjustBruteLoss(rand(0,15)) M.adjustToxLoss(rand(0,15)) M.adjustFireLoss(rand(0,15)) + if(ishuman(M) && M.mind && prob(10)) // To prevent people from using this on monkies to cause pandemics + var/mob/living/carbon/human/H = M + // Their body is being suffused with magical life-inducing stuff - so other things get lively, too + // Things are going to get interesting for the reviving party, too + var/virus_type = pick(list( + /datum/disease/advance/flu, + /datum/disease/advance/cold, + /datum/disease/brainrot, + /datum/disease/magnitis, + /datum/disease/fake_gbs, // honk + /datum/disease/cold9 + )) + var/datum/disease/D = new virus_type() + H.AddDisease(D) + M.update_revive() M.stat = UNCONSCIOUS add_logs(M, M, "revived", object="strange reagent") //Yes, the logs say you revived yourself. From 98e23c3202afe2a679912d99c4440178b29aa0b2 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 26 Feb 2017 11:04:24 -0800 Subject: [PATCH 04/89] Replaces random disease with necrosis --- .../reagents/chemistry/reagents/medicine.dm | 27 ++++++++++--------- code/modules/surgery/organs/organ.dm | 8 +++--- code/modules/surgery/organs/organ_external.dm | 18 ++++++++++--- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index cf4bce5cec1..2b3eee3237e 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -643,25 +643,26 @@ ghost << sound('sound/effects/genetics.ogg') M.visible_message("[M] doesn't appear to respond, perhaps try again later?") if(!M.suiciding && !ghost && !(NOCLONE in M.mutations)) + var/time_dead = world.time - M.timeofdeath M.visible_message("[M] seems to rise from the dead!") M.setOxyLoss(0) M.adjustBruteLoss(rand(0,15)) M.adjustToxLoss(rand(0,15)) M.adjustFireLoss(rand(0,15)) - if(ishuman(M) && M.mind && prob(10)) // To prevent people from using this on monkies to cause pandemics + if(ishuman(M)) var/mob/living/carbon/human/H = M - // Their body is being suffused with magical life-inducing stuff - so other things get lively, too - // Things are going to get interesting for the reviving party, too - var/virus_type = pick(list( - /datum/disease/advance/flu, - /datum/disease/advance/cold, - /datum/disease/brainrot, - /datum/disease/magnitis, - /datum/disease/fake_gbs, // honk - /datum/disease/cold9 - )) - var/datum/disease/D = new virus_type() - H.AddDisease(D) + var/necrosis_prob = 40 * min((20 MINUTES), max((time_dead - (1 MINUTES)), 0)) / ((20 MINUTES) - (1 MINUTES)) + to_chat(world, "Necrosis prob: [necrosis_prob]") + for(var/obj/item/organ/O in (H.organs | H.internal_organs)) + // Per non-vital body part: + // 0% chance of necrosis within 1 minute of death + // 40% chance of necrosis after 20 minutes of death + if(!O.vital && prob(necrosis_prob)) + // side effects may include: Organ failure + O.necrotize(FALSE) + if(O.status & ORGAN_DEAD) + O.germ_level = INFECTION_LEVEL_THREE + H.update_body() M.update_revive() M.stat = UNCONSCIOUS diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index 16a22ea81f6..aa32375792e 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -66,7 +66,7 @@ var/list/organ_cache = list() blood_DNA = list() blood_DNA[dna.unique_enzymes] = dna.b_type -/obj/item/organ/proc/die() +/obj/item/organ/proc/necrotize(update_sprite=TRUE) if(status & ORGAN_ROBOT) return damage = max_damage @@ -105,10 +105,10 @@ var/list/organ_cache = list() if(germ_level >= INFECTION_LEVEL_TWO) germ_level += rand(2,6) if(germ_level >= INFECTION_LEVEL_THREE) - die() + necrotize() if(damage >= max_damage) - die() + necrotize() else if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs //** Handle antibiotics and curing infections @@ -117,7 +117,7 @@ var/list/organ_cache = list() //check if we've hit max_damage if(damage >= max_damage) - die() + necrotize() /obj/item/organ/proc/is_preserved() if(istype(loc,/obj/item/device/mmi)) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 110584d5d2a..242b6e48217 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -68,6 +68,19 @@ var/can_stand var/wound_cleanup_timer +/obj/item/organ/external/necrotize(update_sprite=TRUE) + if(status & (ORGAN_ROBOT|ORGAN_DEAD)) + return + to_chat(owner, "You can't feel your [name] anymore...") + status |= ORGAN_DEAD + if(dead_icon) + icon_state = dead_icon + if(owner) + owner.update_body(update_sprite) + owner.bad_external_organs |= src + if(vital) + owner.death() + /obj/item/organ/external/Destroy() if(parent && parent.children) parent.children -= src @@ -541,10 +554,7 @@ Note that amputating the affected organ does in fact remove the infection from t parent.germ_level++ if(germ_level >= INFECTION_LEVEL_THREE && antibiotics < 30) //overdosing is necessary to stop severe infections - if(!(status & ORGAN_DEAD)) - status |= ORGAN_DEAD - to_chat(owner, "You can't feel your [name] anymore...") - owner.update_body(1) + necrotize() germ_level++ owner.adjustToxLoss(1) From c871cf7238fef567b972e7635e42a24809ace240 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 11 Mar 2017 14:59:13 +0400 Subject: [PATCH 05/89] gives shades directional sprites --- icons/mob/mob.dmi | Bin 264642 -> 264110 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index fd305492464d05398e936f77509f3cc862c278d4..636e78a7a43cc1bde6ec1a47bdd9b3875e6d6345 100644 GIT binary patch delta 57802 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 xb{Ju|2h($eV6_ Date: Sat, 11 Mar 2017 15:36:47 +0400 Subject: [PATCH 06/89] adds 5 runed metal to strong supply talisman --- code/game/gamemodes/cult/talisman.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index b518ce7887e..9e86a091625 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -59,6 +59,7 @@ dat += "Please choose the chant to be imbued into the fabric of reality.
" dat += "
" dat += "N'ath reth sh'yro eth d'raggathnor! - Summons an arcane tome, used to scribe runes and communicate with other cultists.
" + dat += "Bar'tea eas! - Provides 5 runed metal.
" dat += "Sas'so c'arta forbici! - Allows you to move to a selected teleportation rune.
" dat += "Ta'gh fara'qha fel d'amar det! - Allows you to destroy technology in a short range.
" dat += "Fuu ma'jin! - Allows you to stun a person by attacking them with the talisman.
" @@ -79,6 +80,12 @@ if("newtome") var/obj/item/weapon/tome/T = new(usr) usr.put_in_hands(T) + if("metal") + if(istype(src, /obj/item/weapon/paper/talisman/supply/weak)) + usr.visible_message("Lesser supply talismans lack the strength to materialize runed metal!") + return + var/obj/item/stack/sheet/runed_metal/R = new(usr,5) + usr.put_in_hands(R) if("teleport") var/obj/item/weapon/paper/talisman/teleport/T = new(usr) usr.put_in_hands(T) From 85260a72ba732c95b7bc3fad6431f23e068a4916 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 11 Mar 2017 10:08:46 +0400 Subject: [PATCH 07/89] plastic is not a mineral anymore, plastic flaps are deconstructible, new construction.dm construction defines --- code/__DEFINES/construction.dm | 7 +++ code/datums/supplypacks.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 31 ------------ .../items/stacks/sheets/sheet_types.dm | 38 ++++++++++++++ code/modules/clothing/spacesuits/breaches.dm | 6 +-- code/modules/crafting/recipes.dm | 2 +- code/modules/events/spacevine.dm | 2 +- .../food_and_drinks/drinks/bottler/bottler.dm | 2 +- .../mob/living/silicon/robot/drone/drone.dm | 8 +-- .../living/silicon/robot/drone/drone_items.dm | 4 +- .../reagents/chemistry/recipes/others.dm | 2 +- code/modules/shuttle/supply.dm | 50 +++++++++++++++++++ paradise.dme | 1 + 13 files changed, 110 insertions(+), 45 deletions(-) create mode 100644 code/__DEFINES/construction.dm diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm new file mode 100644 index 00000000000..ce1003d33a8 --- /dev/null +++ b/code/__DEFINES/construction.dm @@ -0,0 +1,7 @@ +/*ALL DEFINES RELATED TO CONSTRUCTION, CONSTRUCTING THINGS, OR CONSTRUCTED OBJECTS GO HERE*/ + +//Defines for construction states + +//plastic flaps construction states +#define PLASTIC_FLAPS_NORMAL 0 +#define PLASTIC_FLAPS_DETACHED 1 diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index ff754661c19..e4eda250cf9 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1173,7 +1173,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /datum/supply_packs/materials/plastic30 name = "30 Plastic Sheets Crate" - contains = list(/obj/item/stack/sheet/mineral/plastic) + contains = list(/obj/item/stack/sheet/plastic) amount = 30 cost = 25 containername = "plastic sheets crate" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index e77c665f040..ef9781f9a0d 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -5,7 +5,6 @@ Mineral Sheets - Diamond - Uranium - Plasma - - Plastic - Gold - Silver - Bananium @@ -77,23 +76,6 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \ new/datum/stack_recipe("Xenomorph Statue", /obj/structure/statue/plasma/xeno, 5, one_per_turf = 1, on_floor = 1), \ ) -var/global/list/datum/stack_recipe/plastic_recipes = list ( \ - new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic fork", /obj/item/weapon/kitchen/utensil/pfork, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/knife/plastic, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \ - new/datum/stack_recipe("bear mould", /obj/item/weapon/kitchen/mould/bear, 1, on_floor = 1), \ - new/datum/stack_recipe("worm mould", /obj/item/weapon/kitchen/mould/worm, 1, on_floor = 1), \ - new/datum/stack_recipe("bean mould", /obj/item/weapon/kitchen/mould/bean, 1, on_floor = 1), \ - new/datum/stack_recipe("ball mould", /obj/item/weapon/kitchen/mould/ball, 1, on_floor = 1), \ - new/datum/stack_recipe("cane mould", /obj/item/weapon/kitchen/mould/cane, 1, on_floor = 1), \ - new/datum/stack_recipe("cash mould", /obj/item/weapon/kitchen/mould/cash, 1, on_floor = 1), \ - new/datum/stack_recipe("coin mould", /obj/item/weapon/kitchen/mould/coin, 1, on_floor = 1), \ - new/datum/stack_recipe("sucker mould", /obj/item/weapon/kitchen/mould/loli, 1, on_floor = 1), \ - ) - var/global/list/datum/stack_recipe/bananium_recipes = list ( \ new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \ null, \ @@ -196,19 +178,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \ atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, amount*10) qdel(src) -/obj/item/stack/sheet/mineral/plastic - name = "Plastic" - icon_state = "sheet-plastic" - origin_tech = "materials=3" - -/obj/item/stack/sheet/mineral/plastic/New() - ..() - recipes = plastic_recipes - -/obj/item/stack/sheet/mineral/plastic/cyborg - name = "plastic sheets" - icon_state = "sheet-plastic" - /obj/item/stack/sheet/mineral/gold name = "gold" icon_state = "sheet-gold" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a28c216da76..9b708d04e24 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -4,7 +4,9 @@ * Plasteel * Wood * Cloth + * Plastic * Cardboard + * Runed Metal (cult) */ /* @@ -289,3 +291,39 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \ throw_speed = 1 throw_range = 3 origin_tech = "materials=2;biotech=2" + +var/global/list/datum/stack_recipe/plastic_recipes = list ( \ + new/datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = 1, on_floor = 1, time = 40), \ + new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("plastic fork", /obj/item/weapon/kitchen/utensil/pfork, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/knife/plastic, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \ + new/datum/stack_recipe("bear mould", /obj/item/weapon/kitchen/mould/bear, 1, on_floor = 1), \ + new/datum/stack_recipe("worm mould", /obj/item/weapon/kitchen/mould/worm, 1, on_floor = 1), \ + new/datum/stack_recipe("bean mould", /obj/item/weapon/kitchen/mould/bean, 1, on_floor = 1), \ + new/datum/stack_recipe("ball mould", /obj/item/weapon/kitchen/mould/ball, 1, on_floor = 1), \ + new/datum/stack_recipe("cane mould", /obj/item/weapon/kitchen/mould/cane, 1, on_floor = 1), \ + new/datum/stack_recipe("cash mould", /obj/item/weapon/kitchen/mould/cash, 1, on_floor = 1), \ + new/datum/stack_recipe("coin mould", /obj/item/weapon/kitchen/mould/coin, 1, on_floor = 1), \ + new/datum/stack_recipe("sucker mould", /obj/item/weapon/kitchen/mould/loli, 1, on_floor = 1), \ + ) + +/obj/item/stack/sheet/plastic + name = "plastic" + desc = "Compress dinosaur over millions of years, then refine, split and mold, and voila! You have plastic." + singular_name = "plastic sheet" + icon_state = "sheet-plastic" + throwforce = 7 + origin_tech = "materials=1;biotech=1" + +/obj/item/stack/sheet/plastic/New() + recipes = plastic_recipes + . = ..() + +/obj/item/stack/sheet/plastic/fifty + amount = 50 + +/obj/item/stack/sheet/plastic/five + amount = 5 diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index 37c88241173..86c1d2503b0 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -175,7 +175,7 @@ var/global/list/breach_burn_descriptors = list( //Handles repairs (and also upgrades). /obj/item/clothing/suit/space/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/stack/sheet/mineral/plastic) || istype(W,/obj/item/stack/sheet/metal)) + if(istype(W,/obj/item/stack/sheet/plastic) || istype(W,/obj/item/stack/sheet/metal)) if(istype(src.loc,/mob/living)) to_chat(user, "\red How do you intend to patch a hardsuit while someone is wearing it?") @@ -188,10 +188,10 @@ var/global/list/breach_burn_descriptors = list( var/obj/item/stack/sheet/P = W if(P.amount < 3) P.use(P.amount) - repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/mineral/plastic) ? P.amount : (P.amount*2) ), user) + repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/plastic) ? P.amount : (P.amount*2) ), user) else P.use(3) - repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/mineral/plastic) ? 3 : 5), user) + repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/plastic) ? 3 : 5), user) return else if(istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index d8111a3fed0..5698db29a0e 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -286,7 +286,7 @@ time = 150 reqs = list(/obj/item/stack/rods = 3, /obj/item/stack/cable_coil = 10, - /obj/item/stack/sheet/mineral/plastic = 3, + /obj/item/stack/sheet/plastic = 3, /obj/item/stack/sheet/wood = 5) tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index d0599fa7ebc..2a8dde1cd8c 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -348,7 +348,7 @@ name = "plasticine" hue = "#222288" mineral_results = list( - /obj/item/stack/sheet/mineral/plastic = 1 + /obj/item/stack/sheet/plastic = 1 ) /datum/spacevine_mutation/mineral/wood diff --git a/code/modules/food_and_drinks/drinks/bottler/bottler.dm b/code/modules/food_and_drinks/drinks/bottler/bottler.dm index 75270faf0e0..89c55a65f98 100644 --- a/code/modules/food_and_drinks/drinks/bottler/bottler.dm +++ b/code/modules/food_and_drinks/drinks/bottler/bottler.dm @@ -179,7 +179,7 @@ con_type = "glass bottle" max_define = MAX_GLASS mat_ratio = RATIO_GLASS - else if(istype(S, /obj/item/stack/sheet/mineral/plastic)) + else if(istype(S, /obj/item/stack/sheet/plastic)) con_type = "plastic bottle" max_define = MAX_PLAST mat_ratio = RATIO_PLAST diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index fdc1ace289c..14e05f0c7be 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -15,7 +15,7 @@ req_access = list(access_engine, access_robotics) ventcrawler = 2 magpulse = 1 - + default_language = "Drone" // We need to keep track of a few module items so we don't need to do list operations @@ -23,7 +23,7 @@ var/obj/item/stack/sheet/metal/cyborg/stack_metal = null var/obj/item/stack/sheet/wood/stack_wood = null var/obj/item/stack/sheet/glass/cyborg/stack_glass = null - var/obj/item/stack/sheet/mineral/plastic/cyborg/stack_plastic = null + var/obj/item/stack/sheet/plastic/stack_plastic = null var/obj/item/weapon/matter_decompiler/decompiler = null //Used for self-mailing. @@ -43,7 +43,7 @@ remove_language("Galactic Common") add_language("Drone Talk", 1) add_language("Drone", 1) - + // Disable the microphone wire on Drones if(radio) radio.wires.CutWireIndex(WIRE_TRANSMIT) @@ -70,7 +70,7 @@ stack_metal = locate(/obj/item/stack/sheet/metal/cyborg) in src.module stack_wood = locate(/obj/item/stack/sheet/wood) in src.module stack_glass = locate(/obj/item/stack/sheet/glass/cyborg) in src.module - stack_plastic = locate(/obj/item/stack/sheet/mineral/plastic/cyborg) in src.module + stack_plastic = locate(/obj/item/stack/sheet/plastic) in src.module //Grab decompiler. decompiler = locate(/obj/item/weapon/matter_decompiler) in src.module 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 9ae7acecff3..b691099d0f3 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -46,7 +46,7 @@ // /obj/item/weapon/paper_bundle, /obj/item/weapon/card/id ) - + /obj/item/weapon/gripper/New() ..() can_hold = typecacheof(can_hold) @@ -374,7 +374,7 @@ stack = stack_wood if("plastic") if(!stack_plastic) - stack_plastic = new /obj/item/stack/sheet/mineral/plastic/cyborg(src.module) + stack_plastic = new /obj/item/stack/sheet/plastic(src.module) stack_plastic.amount = 1 stack = stack_plastic diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index b97deb0ae8f..3bdcfd5c029 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -101,7 +101,7 @@ result_amount = 1 /datum/chemical_reaction/plastication/on_reaction(datum/reagents/holder) - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/mineral/plastic + var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/plastic M.amount = 10 M.forceMove(get_turf(holder.my_atom)) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 5e57fb4eff9..ded5c8345e7 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -789,6 +789,51 @@ /mob/living/silicon/robot/drone, /mob/living/simple_animal/bot/mulebot ) + var/state = PLASTIC_FLAPS_NORMAL + var/can_deconstruct = TRUE + +/obj/structure/plasticflaps/examine(mob/user) + . = ..() + switch(state) + if(PLASTIC_FLAPS_NORMAL) + to_chat(user, "[src] are screwed to the floor.") + if(PLASTIC_FLAPS_DETACHED) + to_chat(user, "[src] are no longer screwed to the floor, and the flaps can be cut apart.") + +/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params) + add_fingerprint(user) + if(isscrewdriver(W)) + if(state == PLASTIC_FLAPS_NORMAL) + playsound(loc, W.usesound, 100, 1) + user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.") + if(do_after(user, 100*W.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_NORMAL) + return + state = PLASTIC_FLAPS_DETACHED + anchored = FALSE + to_chat(user, "You unscrew [src] from the floor.") + else if(state == PLASTIC_FLAPS_DETACHED) + playsound(loc, W.usesound, 100, 1) + user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.") + if(do_after(user, 40*W.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_DETACHED) + return + state = PLASTIC_FLAPS_NORMAL + anchored = TRUE + to_chat(user, "You screw [src] from the floor.") + else if(iswirecutter(W)) + if(state == PLASTIC_FLAPS_DETACHED) + playsound(loc, W.usesound, 100, 1) + user.visible_message("[user] cuts apart [src].", "You start to cut apart [src].", "You hear cutting.") + if(do_after(user, 50*W.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_DETACHED) + return + to_chat(user, "You cut apart [src].") + var/obj/item/stack/sheet/plastic/five/P = new(loc) + P.add_fingerprint(user) + qdel(src) + else + . = ..() /obj/structure/plasticflaps/CanPass(atom/A, turf/T) if(istype(A) && A.checkpass(PASSGLASS)) @@ -844,6 +889,11 @@ if(prob(5)) qdel(src) +/obj/structure/plasticflaps/proc/deconstruct(disassembled = TRUE) + if(can_deconstruct) + new /obj/item/stack/sheet/plastic/five(loc) + qdel(src) + /obj/structure/plasticflaps/mining //A specific type for mining that doesn't allow airflow because of them damn crates name = "\improper Airtight plastic flaps" desc = "Heavy duty, airtight, plastic flaps." diff --git a/paradise.dme b/paradise.dme index f678cc2865e..015000935d1 100644 --- a/paradise.dme +++ b/paradise.dme @@ -21,6 +21,7 @@ #include "code\__DEFINES\bots.dm" #include "code\__DEFINES\clothing.dm" #include "code\__DEFINES\combat.dm" +#include "code\__DEFINES\construction.dm" #include "code\__DEFINES\crafting.dm" #include "code\__DEFINES\error_handler.dm" #include "code\__DEFINES\flags.dm" From 2af6b1de23ea251e15b81ac48e09a737c24eff29 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 11 Mar 2017 21:12:31 +0400 Subject: [PATCH 08/89] grille code updates from tg, removed attack_self() from rods they now use recipes, refactored grille (de)construction, added broken grille object for mapping, grilles can be damaged by throwing objs or mobs at them, also general code cleanup --- code/game/gamemodes/blob/blob_report.dm | 6 +- code/game/mecha/mecha.dm | 2 +- code/game/objects/items/stacks/rods.dm | 51 +---- code/game/objects/structures/grille.dm | 290 ++++++++++++++---------- 4 files changed, 185 insertions(+), 164 deletions(-) diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm index b937c16e74c..e1ac73a36ed 100644 --- a/code/game/gamemodes/blob/blob_report.dm +++ b/code/game/gamemodes/blob/blob_report.dm @@ -81,8 +81,10 @@ for(var/obj/O in T.contents) if(istype(O, /obj/structure/window)) src.window += 1 - else if(istype(O, /obj/structure/grille) && (!O:destroyed)) - src.grille += 1 + else if(istype(O, /obj/structure/grille)) + var/obj/structure/grille/GR = O + if(!GR.broken) + grille += 1 else if(istype(O, /obj/machinery/door)) src.door += 1 else if(istype(O, /obj/machinery)) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 78ff22723d9..85e4376c3eb 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -334,7 +334,7 @@ else if(istype(obstacle, /obj/structure/grille/)) var/obj/structure/grille/G = obstacle G.health = (0.25*initial(G.health)) - G.destroyed = 1 + G.broken = 1 G.icon_state = "[initial(G.icon_state)]-b" G.density = 0 new /obj/item/stack/rods(get_turf(G.loc)) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index aadf2d0b8fe..1b63eaae7f0 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -1,3 +1,7 @@ +var/global/list/datum/stack_recipe/rod_recipes = list ( \ + new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + ) + /obj/item/stack/rods name = "metal rod" desc = "Some rods. Can be used for building, or something." @@ -11,7 +15,7 @@ throw_speed = 3 throw_range = 7 materials = list(MAT_METAL=1000) - max_amount = 60 + max_amount = 50 attack_verb = list("hit", "bludgeoned", "whacked") hitsound = 'sound/weapons/grenadelaunch.ogg' toolspeed = 1 @@ -20,9 +24,9 @@ /obj/item/stack/rods/cyborg materials = list() -/obj/item/stack/rods/New(var/loc, var/amount=null) +/obj/item/stack/rods/New(loc, amount=null) ..() - + recipes = rod_recipes update_icon() /obj/item/stack/rods/update_icon() @@ -32,12 +36,12 @@ else icon_state = "rods" -/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob, params) +/obj/item/stack/rods/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(get_amount() < 2) - to_chat(user, "You need at least two rods to do this.") + to_chat(user, "You need at least two rods to do this!") return if(WT.remove_fuel(0,user)) @@ -47,9 +51,9 @@ // stack was moved into another one on the pile new_item = locate() in user.loc - user.visible_message("[user.name] shaped [src] into metal with the weldingtool.", \ - "You shaped [src] into metal with the weldingtool.", \ - "You hear welding.") + user.visible_message("[user.name] shape [src] into metal with the welding tool.", \ + "You shape [src] into metal with the welding tool.", \ + "You hear welding.") var/replace = user.get_inactive_hand() == src use(2) @@ -59,34 +63,3 @@ user.put_in_hands(new_item) return ..() - - -/obj/item/stack/rods/attack_self(mob/user as mob) - src.add_fingerprint(user) - - if(!istype(user.loc,/turf)) return 0 - - if(locate(/obj/structure/grille, usr.loc)) - for(var/obj/structure/grille/G in usr.loc) - if(G.destroyed) - G.health = 10 - G.density = 1 - G.destroyed = 0 - G.icon_state = "grille" - use(1) - else - return 1 - else - if(amount < 2) - to_chat(user, "\blue You need at least two rods to do this.") - return - to_chat(usr, "\blue Assembling grille...") - - if(!do_after(usr, 10, target = user)) - return - - var /obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc ) - to_chat(usr, "\blue You assemble a grille") - F.add_fingerprint(usr) - use(2) - return diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 5f0fbc175db..d773a868dab 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -7,11 +7,16 @@ anchored = 1 flags = CONDUCT pressure_resistance = 5*ONE_ATMOSPHERE - layer = 2.9 - var/health = 10 - var/destroyed = 0 + layer = BELOW_OBJ_LAYER level = 3 - + var/health = 10 + var/broken = 0 + var/can_deconstruct = TRUE + var/rods_type = /obj/item/stack/rods + var/rods_amount = 2 + var/rods_broken = 1 + var/grille_type = null + var/broken_type = /obj/structure/grille/broken /obj/structure/grille/fence/ var/width = 3 @@ -26,7 +31,6 @@ bound_width = world.icon_size bound_height = width * world.icon_size - /obj/structure/grille/fence/east_west //width=80 //height=42 @@ -37,20 +41,24 @@ //height=42 icon='icons/fence-ns.dmi' -/obj/structure/grille/ex_act(severity) - qdel(src) +/obj/structure/grille/ex_act(severity, target) + switch(severity) + if(1) + qdel(src) + else + take_damage(rand(5,10), BRUTE, 0) /obj/structure/grille/blob_act() - qdel(src) + if(!broken) + obj_break() /obj/structure/grille/Bumped(atom/user) - if(ismob(user)) shock(user, 70) + if(ismob(user)) + shock(user, 70) - -/obj/structure/grille/attack_hand(mob/living/user as mob) +/obj/structure/grille/attack_hand(mob/living/user) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) user.visible_message("[user] kicks [src].", \ "You kick [src].", \ "You hear twisting metal.") @@ -58,26 +66,23 @@ if(shock(user, 70)) return if(HULK in user.mutations) - health -= 5 + take_damage(5) else - health -= 1 - healthcheck() + take_damage(rand(1,2)) -/obj/structure/grille/attack_alien(mob/living/user as mob) - if(istype(user, /mob/living/carbon/alien/larva)) return +/obj/structure/grille/attack_alien(mob/living/user) + if(istype(user, /mob/living/carbon/alien/larva)) + return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) user.visible_message("[user] mangles [src].", \ "You mangle [src].", \ "You hear twisting metal.") if(!shock(user, 70)) - health -= 5 - healthcheck() - return + take_damage(5) -/obj/structure/grille/attack_slime(mob/living/user as mob) +/obj/structure/grille/attack_slime(mob/living/user) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) var/mob/living/carbon/slime/S = user @@ -89,12 +94,11 @@ "You smash against [src].", \ "You hear twisting metal.") - health -= rand(2,3) - healthcheck() - return + take_damage(rand(1,2)) -/obj/structure/grille/attack_animal(var/mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) return +/obj/structure/grille/attack_animal(mob/living/simple_animal/M) + if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN)) + return M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) @@ -102,18 +106,15 @@ "You smash against [src].", \ "You hear twisting metal.") - health -= M.melee_damage_upper - healthcheck() - return + take_damage(rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type) /obj/structure/grille/mech_melee_attack(obj/mecha/M) if(..()) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) - health -= M.force * 0.5 - healthcheck() + take_damage(M.force * 0.5, M.damtype) /obj/structure/grille/CanPass(atom/movable/mover, turf/target, height=0) - if(height==0) return 1 + if(height==0) + return 1 if(istype(mover) && mover.checkpass(PASSGRILLE)) return 1 else @@ -128,118 +129,144 @@ var/atom/movable/mover = caller . = . || mover.checkpass(PASSGRILLE) -/obj/structure/grille/bullet_act(var/obj/item/projectile/Proj) - if(!Proj) - return - ..() - if((Proj.damage_type != STAMINA)) //Grilles can't be exhausted to death - src.health -= Proj.damage*0.3 - healthcheck() - return +/obj/structure/grille/bullet_act(obj/item/projectile/Proj) + . = ..() + take_damage(Proj.damage*0.3, Proj.damage_type) -/obj/structure/grille/attackby(obj/item/weapon/W as obj, mob/user as mob, params) +/obj/structure/grille/attackby(obj/item/weapon/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) + add_fingerprint(user) if(iswirecutter(W)) if(!shock(user, 100)) playsound(loc, W.usesound, 100, 1) - if(!destroyed) - new /obj/item/stack/rods(loc, 2) - else - new /obj/item/stack/rods(loc) - qdel(src) + deconstruct() else if((isscrewdriver(W)) && (istype(loc, /turf/simulated) || anchored)) if(!shock(user, 90)) playsound(loc, W.usesound, 100, 1) anchored = !anchored - user.visible_message("[user] [anchored ? "fastens" : "unfastens"] the grille.", \ - "You have [anchored ? "fastened the grille to" : "unfastened the grill from"] the floor.") + user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ + "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") + return + else if(istype(W, /obj/item/stack/rods) && broken) + var/obj/item/stack/rods/R = W + if(!shock(user, 90)) + user.visible_message("[user] rebuilds the broken grille.", \ + "You rebuild the broken grille.") + new grille_type(loc) + R.use(1) + qdel(src) return //window placing begin - else if( istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) || istype(W,/obj/item/stack/sheet/plasmaglass) || istype(W,/obj/item/stack/sheet/plasmarglass) ) - var/dir_to_set = 1 - if(loc == user.loc) - dir_to_set = user.dir - else - if( ( x == user.x ) || (y == user.y) ) //Only supposed to work for cardinal directions. - if( x == user.x ) - if( y > user.y ) - dir_to_set = 2 - else - dir_to_set = 1 - else if( y == user.y ) - if( x > user.x ) - dir_to_set = 8 - else - dir_to_set = 4 - else - to_chat(user, "You can't reach.") - return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. - for(var/obj/structure/window/WINDOW in loc) - if(WINDOW.dir == dir_to_set) - to_chat(user, "There is already a window facing this way there.") + else if(istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) || istype(W,/obj/item/stack/sheet/plasmaglass) || istype(W,/obj/item/stack/sheet/plasmarglass)) + if(!broken) + var/obj/item/stack/ST = W + if (ST.get_amount() < 1) + to_chat(user, "You need at least one sheet of glass for that!") return - to_chat(user, "You start placing the window.") - if(do_after(user, 20 * W.toolspeed, target = src)) - if(!src) return //Grille destroyed while waiting + var/dir_to_set = NORTH + if(!anchored) + to_chat(user, "[src] needs to be fastened to the floor first!") + return + if(loc == user.loc) + dir_to_set = user.dir + else + if((x == user.x) || (y == user.y)) //Only supposed to work for cardinal directions. + if(x == user.x) + if(y > user.y) + dir_to_set = SOUTH + else + dir_to_set = NORTH + else if(y == user.y) + if(x > user.x) + dir_to_set = WEST + else + dir_to_set = EAST + else + to_chat(user, "You can't reach.") + return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. for(var/obj/structure/window/WINDOW in loc) - if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. + if(WINDOW.dir == dir_to_set) to_chat(user, "There is already a window facing this way there.") return - var/obj/structure/window/WD - if(istype(W,/obj/item/stack/sheet/rglass)) - WD = new/obj/structure/window/reinforced(loc) //reinforced window - else if(istype(W,/obj/item/stack/sheet/glass)) - WD = new/obj/structure/window/basic(loc) //normal window - else if(istype(W,/obj/item/stack/sheet/plasmaglass)) - WD = new/obj/structure/window/plasmabasic(loc) //basic plasma window - else - WD = new/obj/structure/window/plasmareinforced(loc) //reinforced plasma window - WD.dir = dir_to_set - WD.ini_dir = dir_to_set - WD.anchored = 0 - WD.state = 0 - var/obj/item/stack/ST = W - ST.use(1) - to_chat(user, "You place the [WD] on [src].") - WD.update_icon() - return + to_chat(user, "You start placing the window...") + if(do_after(user, 20 * W.toolspeed, target = src)) + if(!loc || !anchored) //Grille destroyed or unanchored while waiting + return + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. + to_chat(user, "There is already a window facing this way there.") + return + var/obj/structure/window/WD + if(istype(W,/obj/item/stack/sheet/rglass)) + WD = new/obj/structure/window/reinforced(loc) //reinforced window + else if(istype(W,/obj/item/stack/sheet/glass)) + WD = new/obj/structure/window/basic(loc) //normal window + else if(istype(W,/obj/item/stack/sheet/plasmaglass)) + WD = new/obj/structure/window/plasmabasic(loc) //basic plasma window + else + WD = new/obj/structure/window/plasmareinforced(loc) //reinforced plasma window + WD.setDir(dir_to_set) + WD.ini_dir = dir_to_set + WD.anchored = 0 + WD.state = 0 + ST.use(1) + to_chat(user, "You place the [WD] on [src].") + WD.update_icon() + return //window placing end + else if(istype(W, /obj/item/weapon/shard) || !shock(user, 70)) + return attacked_by(W, user) - else if(istype(W, /obj/item/weapon/shard)) - health -= W.force * 0.1 - else if(!shock(user, 70)) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) - switch(W.damtype) - if("fire") - health -= W.force - if("brute") - health -= W.force * 0.1 - healthcheck() - ..() - return +/obj/structure/grille/proc/attacked_by(obj/item/I, mob/living/user) + user.changeNext_move(CLICK_CD_MELEE) + user.do_attack_animation(src) + if(!(I.flags&NOBLUDGEON)) + if(I.force) + visible_message("[user] has hit [src] with [I]!") + take_damage(I.force * 0.3, I.damtype) +/obj/structure/grille/proc/deconstruct(disassembled = TRUE) + if(!loc) //if already qdel'd somehow, we do nothing + return + if(can_deconstruct) + var/obj/R = new rods_type(loc, rods_amount) + transfer_fingerprints_to(R) + qdel(src) -/obj/structure/grille/proc/healthcheck() +/obj/structure/grille/proc/obj_break() + if(!broken && can_deconstruct) + new broken_type(loc) + var/obj/R = new rods_type(loc, rods_broken) + transfer_fingerprints_to(R) + qdel(src) + +/obj/structure/grille/proc/take_damage(damage, damage_type = BRUTE, sound_effect = 1) + switch(damage_type) + if(BURN) + if(sound_effect) + playsound(loc, 'sound/items/welder.ogg', 80, 1) + if(BRUTE) + if(sound_effect) + if(damage) + playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) + else + playsound(loc, 'sound/weapons/tap.ogg', 50, 1) + else + return + health -= damage if(health <= 0) - if(!destroyed) - icon_state = "brokengrille" - density = 0 - destroyed = 1 - new /obj/item/stack/rods(loc) - + if(!broken) + obj_break() else if(health <= -6) - new /obj/item/stack/rods(loc) - qdel(src) - return - return + deconstruct() // shock user with probability prb (if all connections & power are working) // returns 1 if shocked, 0 otherwise -/obj/structure/grille/proc/shock(mob/user as mob, prb) - if(!anchored || destroyed) // deanchored/destroyed grilles are never connected +/obj/structure/grille/proc/shock(mob/user, prb) + if(!anchored || broken) // unanchored/broken grilles are never connected return 0 if(!prob(prb)) return 0 @@ -258,8 +285,27 @@ return 0 /obj/structure/grille/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(!destroyed) + if(!broken) if(exposed_temperature > T0C + 1500) - health -= 1 - healthcheck() + take_damage(1) ..() + +/obj/structure/grille/hitby(atom/movable/AM) + ..() + var/tforce = 0 + if(ismob(AM)) + tforce = 5 + else if(isobj(AM)) + var/obj/item/I = AM + tforce = max(0, I.throwforce * 0.5) + take_damage(tforce) + +/obj/structure/grille/broken // Pre-broken grilles for map placement + icon_state = "brokengrille" + density = 0 + health = 0 + broken = 1 + rods_amount = 1 + rods_broken = 0 + grille_type = /obj/structure/grille + broken_type = null From 360ba9c81febb1b820c0604a459ab097b7c9b0db Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sun, 12 Mar 2017 17:17:09 +0400 Subject: [PATCH 09/89] replace varedited broken grilles with new object --- .../MetaStation/MetaStation.v41A.II.dmm | 6 +++--- _maps/map_files/MetaStation/z2.dmm | 6 +++--- _maps/map_files/MetaStation/z3.dmm | 8 ++++---- _maps/map_files/MetaStation/z4.dmm | 8 ++++---- _maps/map_files/MetaStation/z5.dmm | 4 ++-- .../RandomRuins/SpaceRuins/abandonedzoo.dmm | 4 ++-- .../RandomRuins/SpaceRuins/onehalf.dmm | 2 +- _maps/map_files/RandomZLevels/beach.dmm | 2 +- .../map_files/RandomZLevels/moonoutpost19.dmm | 14 ++++++------- _maps/map_files/cyberiad/cyberiad.dmm | 20 +++++++++---------- _maps/map_files/cyberiad/z3.dmm | 2 +- _maps/map_files/cyberiad/z5.dmm | 4 ++-- _maps/map_files/cyberiad/z6.dmm | 6 +++--- 13 files changed, 43 insertions(+), 43 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 4c58ab29d5b..5980a36946f 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -54,7 +54,7 @@ "abb" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "abc" = (/obj/item/device/radio/intercom/syndicate{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "abd" = (/obj/structure/grille,/turf/space,/area/space) -"abe" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) +"abe" = (/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) "abf" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) "abg" = (/obj/machinery/recharge_station/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "abh" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) @@ -1053,7 +1053,7 @@ "aum" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/Doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig) "aun" = (/obj/machinery/space_heater,/turf/simulated/floor/plasteel,/area/security/podbay) "auo" = (/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/maintenance/starboard) -"aup" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"aup" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "auq" = (/obj/machinery/space_heater,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aur" = (/obj/machinery/space_heater,/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/fpmaint2{name = "Port Maintenance"}) "aus" = (/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "supplybridge"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/fpmaint2{name = "Port Maintenance"}) @@ -6718,7 +6718,7 @@ "czj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Toxins Storage APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage) "czk" = (/obj/machinery/portable_atmospherics/scrubber/huge,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/toxins/storage) "czl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/aft{name = "Aft Maintenance"}) -"czm" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"czm" = (/obj/structure/grille/broken,/turf/space,/area/space) "czn" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "czo" = (/obj/machinery/vending/assist,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "czp" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/FixOVein,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/medical/surgery) diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index a4a3334356a..1d40ab54a3d 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -627,7 +627,7 @@ "mc" = (/turf/unsimulated/wall/abductor{icon_state = "alien4"},/area/abductor_ship) "md" = (/turf/unsimulated/wall/abductor{icon_state = "alien3"},/area/abductor_ship) "me" = (/turf/unsimulated/wall/abductor{icon_state = "alien5"},/area/abductor_ship) -"mf" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station) +"mf" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating/airless,/area/wizard_station) "mg" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station) "mh" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station) "mi" = (/turf/unsimulated/wall{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station) @@ -781,7 +781,7 @@ "rm" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "rn" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station) "ro" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"rp" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) +"rp" = (/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating,/area/wizard_station) "rr" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/twohanded/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "rs" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "rt" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station) @@ -793,7 +793,7 @@ "rE" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena) "rF" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "rG" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station) -"rH" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) +"rH" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating,/area/wizard_station) "rI" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) "rJ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "rK" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station) diff --git a/_maps/map_files/MetaStation/z3.dmm b/_maps/map_files/MetaStation/z3.dmm index 8a4ae534254..a24c4248811 100644 --- a/_maps/map_files/MetaStation/z3.dmm +++ b/_maps/map_files/MetaStation/z3.dmm @@ -3,7 +3,7 @@ "ay" = (/obj/structure/lattice,/turf/space,/area/space) "be" = (/obj/item/trash/cheesie,/turf/space,/area/space) "bj" = (/turf/simulated/floor/plating/airless,/area/space) -"bk" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"bk" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "bl" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "bm" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "bn" = (/turf/simulated/wall/r_wall,/area/space) @@ -34,7 +34,7 @@ "bM" = (/obj/structure/table,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "bN" = (/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh{name = "Cuban Pete-Meat"},/turf/simulated/floor/plasteel,/area/tcommsat/chamber) "bO" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) -"bP" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) +"bP" = (/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "bQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "bR" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "bS" = (/obj/item/stack/cable_coil/cut{amount = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) @@ -66,7 +66,7 @@ "cs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "ct" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/tcommsat/chamber) "cu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/space) -"cv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/space) +"cv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/space) "cw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/space) "cx" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area/space) "cy" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "dark"},/area/tcommsat/chamber) @@ -127,7 +127,7 @@ "dI" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) "dJ" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) "dK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) -"dM" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"dM" = (/obj/structure/grille/broken,/turf/space,/area/space) "dO" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/plasteel,/area/tcommsat/chamber) "dP" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/tcommsat/chamber) "dQ" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/tcommsat/chamber) diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm index 0648d4a8f83..127bdac1692 100644 --- a/_maps/map_files/MetaStation/z4.dmm +++ b/_maps/map_files/MetaStation/z4.dmm @@ -111,7 +111,7 @@ "cg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/derelict/solar_control) "ch" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/derelict/solar_control) "ci" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/solar_control) -"cj" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/space) +"cj" = (/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/space) "ck" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/derelict/bridge/ai_upload) "cl" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/porta_turret,/turf/simulated/floor/plasteel,/area/derelict/bridge/ai_upload) "cm" = (/obj/machinery/porta_turret,/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) @@ -296,7 +296,7 @@ "fJ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/derelict/bridge) "fK" = (/obj/item/stack/rods,/turf/space,/area/space) "fL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"fM" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) +"fM" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) "fN" = (/obj/item/clothing/suit/space/syndicate/black/engie,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "fO" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "fP" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) @@ -377,7 +377,7 @@ "hq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "hs" = (/turf/simulated/floor/plating/airless{icon_state = "floorscorched1"},/area/space) "ht" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"hu" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) +"hu" = (/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "hv" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) "hw" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) "hx" = (/obj/item/weapon/crowbar,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) @@ -414,7 +414,7 @@ "ie" = (/turf/simulated/wall,/area/derelict/medical) "if" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) "ig" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"ih" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/medical) +"ih" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/derelict/medical) "ii" = (/turf/simulated/floor/plating/airless,/area/derelict/medical) "ij" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/medical) "ik" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating/airless,/area/space) diff --git a/_maps/map_files/MetaStation/z5.dmm b/_maps/map_files/MetaStation/z5.dmm index 75967b6d744..c75dd6297e9 100644 --- a/_maps/map_files/MetaStation/z5.dmm +++ b/_maps/map_files/MetaStation/z5.dmm @@ -925,7 +925,7 @@ "rO" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "rP" = (/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored) "rQ" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/abandoned) -"rR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"rR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "rS" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/explored) "rT" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/explored) "rU" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored) @@ -961,7 +961,7 @@ "sy" = (/obj/item/device/radio/intercom/locked/prison{dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "sz" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "sA" = (/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored) -"sB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) +"sB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "sC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "sD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "sE" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=7-Sleeper"; location = "6-Vending"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm index 4dffe913be2..67e6a680f43 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -89,14 +89,14 @@ "bK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/space) "bL" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/unpowered) "bM" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel,/area/ruin/unpowered) -"bN" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/ruin/unpowered) +"bN" = (/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/ruin/unpowered) "bO" = (/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/ruin/unpowered) "bP" = (/obj/structure/lattice,/turf/space,/area/space) "bQ" = (/obj/machinery/shieldwallgen{active = 2; anchored = 1; power = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable,/turf/simulated/floor/plating,/area/ruin/unpowered) "bR" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating,/area/space) "bS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable,/obj/machinery/shieldwallgen,/turf/simulated/floor/plating,/area/ruin/unpowered) "bT" = (/obj/structure/grille,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/ruin/unpowered) -"bU" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/ruin/unpowered) +"bU" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/ruin/unpowered) "bV" = (/obj/machinery/shieldwallgen,/turf/space,/area/space) "bW" = (/obj/item/weapon/shard,/turf/space,/area/space) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm index cd378f27dd9..39faca5f2c3 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm @@ -161,7 +161,7 @@ "df" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/space,/area/space) "dg" = (/obj/structure/girder/reinforced,/obj/item/stack/sheet/plasteel,/turf/simulated/floor/plating/airless,/area/space) "dh" = (/turf/simulated/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/space) -"di" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/ruin/onehalf/hallway) +"di" = (/obj/structure/grille/broken,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/ruin/onehalf/hallway) "dj" = (/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/ruin/onehalf/hallway) "dk" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id_tag = "onehalf bridge"; name = "bridge blast door"},/turf/simulated/floor/plating,/area/ruin/onehalf/bridge) "dl" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/poddoor/preopen{id_tag = "onehalf bridge"; name = "bridge blast door"},/turf/simulated/floor/plating,/area/ruin/onehalf/bridge) diff --git a/_maps/map_files/RandomZLevels/beach.dmm b/_maps/map_files/RandomZLevels/beach.dmm index 857fab3d750..743221ac0b7 100644 --- a/_maps/map_files/RandomZLevels/beach.dmm +++ b/_maps/map_files/RandomZLevels/beach.dmm @@ -46,7 +46,7 @@ "aT" = (/obj/structure/dresser,/turf/unsimulated/beach/water/deep/wood_floor,/area/awaymission/undersea) "aU" = (/obj/structure/ladder/dive_point/anchor,/turf/unsimulated/beach/water/deep/sand_floor,/area/awaymission/undersea) "aV" = (/obj/structure/barricade/wooden,/turf/unsimulated/beach/water/deep/wood_floor,/area/awaymission/undersea) -"aW" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/unsimulated/beach/water/deep/sand_floor,/area/awaymission/undersea) +"aW" = (/obj/structure/grille/broken,/turf/unsimulated/beach/water/deep/sand_floor,/area/awaymission/undersea) "aY" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/turf/unsimulated/beach/water/deep/sand_floor,/area/awaymission/undersea) "aZ" = (/turf/unsimulated/beach/sand{density = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow"; name = "rough sand"},/area/awaymission/beach) "ba" = (/obj/structure/flora/rock,/turf/unsimulated/beach/sand{density = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow"; name = "rough sand"},/area/awaymission/beach) diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm index e4378e5143a..2bd0c962e55 100644 --- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm +++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm @@ -133,7 +133,7 @@ "cC" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating/airless{dir = 4; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) "cD" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) "cE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) -"cF" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) +"cF" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) "cG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) "cH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 2; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) "cI" = (/turf/simulated/floor/plasteel/airless{dir = 10; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"}) @@ -343,7 +343,7 @@ "gE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gF" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gG" = (/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) -"gH" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) +"gH" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gI" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/hemostat,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gJ" = (/obj/structure/table,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gK" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano
Date: 04/06/2554

Report:
As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.

The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans, they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive nor violent when young, before molting to adulthood.

The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers, that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.

It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor."; name = "Larva Xenomorph Social Interactions & Capturing Procedure"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano
Date: 04/06/2554

Report:
I have studied many interesting and diverse life-forms as a xenobiologist, ranging from creatures as large as cows, to specimens too small see with the naked eye. This is by far the largest alien I have ever seen. The alien we were previously studying has molted and has become an absolutely enormous creature. Standing at over 15 feet tall, and weighing in at likely two tons or more, the xenomorph queen is an absolutely breathtakingly large and cruel monster. Its behavior has changed drastically from when it was a drone, having become far more comfortable with sitting and staring at us, rather than smashing at the windows.

The queen, physiologically speaking, is fairly similar to the other xenomorphs, with a few key differences. Its enormous size demands large legs, while the back seems to be always hunched forward. The dorsal tubes on the back have changed to several large spikes, and we observed that the alien now sports a second pair of smaller arms on its chest. The purpose of these secondary arms is still unknown. Finally, the queen's crown has become incredibly large, with what seems to be a retractable slot to hide its head in. The dome appears to be extremely thick near the front, and will likely be able to resist a lot of trauma. Despite the enormous size it has grown to, it is not much slower than it used to be.

After two hours of doing relatively nothing but staring, the queen began to produce an unusually large amount of resin and weeds, quickly shaping up a large nest, that it then hid behind. It then proceeded to smash out all the lights, leaving us with very little to see with our cameras. When we looked through the back cameras, we had discovered that it had grown a large ovipositor, and was releasing large eggs onto the ground. This had us all in agreement that this stage of the life cycle was the queen.

Over the next few hours, the eggs grew to their full sizes, and we provided the subject with new monkey hosts. When they approached the eggs, they opened to release more facehuggers. It seems that we have observed the full cycle of reproduction for this species. We can expect more larvae in the next few hours."; name = "Queen Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano
Date: 03/06/2554

Report:
The other scientists and I can hardly believe our eyes. The snake-like larva has molted into a 7 foot tall insectoid nightmare in just a few hours. It's obvious now as to why such heavy duty containment was needed. It immediately tried to escape, however, by flinging itself at the window in a flurry of swipes and stabs. It seems its behavior has returned to a state that is very similar to the facehugger, though I doubt with the same intent! Thankfully, our glass and shields have shown to be more than sturdy enough for such a violent creature, and so far, any attempts at the creature escaping have been in vain.

As for its physiology, the creature has an elongated head, with what appears to be have an exoskeleton resembling an external rib-cage on the torso. The alien is also fairly skinny with a lean body. The little amount of meat on the alien appears to be entirely muscle. We assume this makes it deceptively strong, while remaining agile at the same time. One of the most interesting things we have seen is its pharyngeal jaw. It has somewhat of an inner mouth, capable of being fired externally at extremely high speeds. It has already caused many dents in the walls and a few small cracks in the window with it. The alien also has a couple of dorsal tubes on its back, their purpose unknown. Finally, this monster sports a long ridged tail, complete with a large and extremely sharp blade at the tip.

Normally I would be absolutely terrified of something like this, but I'm putting my trust in Nanotrasen with the containment. After all, they wouldn't build a cell that could fail to contain its subject – would they?"; name = "Adult Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano
Date: 03/06/2554

Report:
When the larva first emerged from the chest of the monkey, it seemed very curious. It would wander around aimlessly for awhile and then sit still. We are unable to determine the gender of the larva, or even determine if it has a gender. After some time had passed, it seemed to lose interest in its surroundings and sat mostly still while occasionally wagging its tail. We decided to throw in a live mouse to see if it would consume it. The larva quickly attacked and ate the mouse, and seemed to get larger very suddenly; this suggests that the larvae are capable of metabolizing and directing all the energy towards growth at previously-thought impossible speeds. It is a shame that we cannot observe the process more closely, as we do not currently know how dangerous or violent this creature is, or will become, as it matures fully.

It is tempting to imagine the possibilities of utilizing such a mechanism. The capability of skipping years of growth time for children, repairing bodily damage in a matter of moments, even its usage in existing cloning technology."; name = "Larva Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano
Date: 03/06/2554

Report:
The test subject we were provided with truly is alien. It is a small spider-like creature with bony legs, leading to a smooth body. It has a long tail connected to it, and it has shown extremely aggressive behavior by flinging its entire body at the glass and shields to no avail. While doing so, we noticed there was a small pink hole in the middle of the body.

When we sent in a monkey through the crude but effective disposal tube, the alien immediately jumped at its face and latched on. The monkey was quickly suffocated by its constricting tail, unable to pry off the fingers. The monkey at first seemed to be dead, but was observed to be breathing. The recently named alien 'facehugger' fell off, dead, and curled its legs up like a spider moments after it had finished with the monkey's body.

While the monkey appeared to be unharmed, we kept it in the cell for a couple more hours, until we were horrified to discover it screaming out in pain, as a snake-like creature erupted from the monkey's chest! It appears that the 'facehugger' is only the start of this life cycle. The impregnation cycle involving the creatures growing inside the chests of their hosts seems to only be the beginning."; name = "'Facehugger' Xenomorph Physiology & Behavior Observation"},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) @@ -388,7 +388,7 @@ "hx" = (/obj/structure/grille,/obj/machinery/door/poddoor{id_tag = "AwayRD"; layer = 2.9; name = "privacy shutter"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "hy" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "hz" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/oil{color = "black"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer{pixel_x = 6; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -2},/obj/item/robot_parts/l_arm,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) -"hA" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) +"hA" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "hB" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "hC" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "hD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) @@ -581,8 +581,8 @@ "li" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "lj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "lk" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) -"ll" = (/obj/item/stack/rods,/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"lm" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"ll" = (/obj/item/stack/rods,/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"lm" = (/obj/structure/grille/broken,/obj/item/stack/rods,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "ln" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "lo" = (/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "lp" = (/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) @@ -694,7 +694,7 @@ "nr" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "ns" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nt" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"nu" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"nu" = (/obj/structure/grille/broken,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nv" = (/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/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/plasteel/airless{icon_state = "damaged1"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nw" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nx" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) @@ -705,7 +705,7 @@ "nC" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nD" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "nE" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"nF" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"nF" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nG" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nH" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; layer = 4.1},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 37976a9e749..44b76df7928 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -629,7 +629,7 @@ "ame" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) "amf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) "amg" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/device/spacepod_equipment/weaponry/laser,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) -"amh" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) +"amh" = (/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) "ami" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "amj" = (/obj/item/clothing/head/collectable/xenom,/obj/item/clothing/head/chicken,/obj/item/weapon/aiModule/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "amk" = (/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c500,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) @@ -792,7 +792,7 @@ "apl" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor/plasteel,/area/security/main) "apm" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/main) "apn" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/main) -"apo" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"apo" = (/obj/structure/grille/broken,/turf/space,/area/space) "app" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "apq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) "apr" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) @@ -1254,7 +1254,7 @@ "ayf" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "ayg" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/unary/portables_connector{layer = 2},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/fsmaint) "ayh" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "security_airlock"; pixel_x = -25; req_access_txt = "13"; tag_airpump = "security_pump"; tag_chamber_sensor = "security_sensor"; tag_exterior_door = "security_outer"; tag_interior_door = "security_inner"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ayi" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"ayi" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "ayj" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite) "ayk" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit) "ayl" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit) @@ -2344,7 +2344,7 @@ "aTd" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "aTe" = (/obj/machinery/computer/mob_battle_terminal/blue,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) "aTf" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aTg" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aTg" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aTh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aTi" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/electrical) "aTj" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/electrical) @@ -2484,7 +2484,7 @@ "aVN" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVO" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aVQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2) +"aVQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille/broken,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2) "aVR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVS" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) @@ -3485,7 +3485,7 @@ "bpc" = (/obj/structure/closet/wardrobe/mixed,/obj/item/device/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel,/area/crew_quarters/locker) "bpd" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/plasteel,/area/crew_quarters/locker) "bpe" = (/obj/structure/sign/poster/legit{pixel_x = 32},/turf/simulated/floor/plasteel,/area/crew_quarters/locker) -"bpf" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/port) +"bpf" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/port) "bpg" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/storage/emergency2) "bph" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/storage/emergency2) "bpi" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/white/hollow,/turf/simulated/floor/plating,/area/storage/emergency2) @@ -6108,7 +6108,7 @@ "cnz" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cnA" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access_txt = "26"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cnB" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cnC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cnC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cnD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Paramedic Maintenance"; req_access_txt = "66"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cnE" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "scansep"; name = "Scanning Room Separation Shutters"; opacity = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "cnF" = (/obj/structure/sign/nosmoking_2,/turf/simulated/wall,/area/medical/sleeper) @@ -6291,7 +6291,7 @@ "cra" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint) "crb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "crc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/maintenance/asmaint) -"crd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"crd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cre" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "crf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "crg" = (/obj/machinery/navbeacon{codes_txt = "delivery"; dir = 4; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/maintenance/asmaint) @@ -6509,7 +6509,7 @@ "cvk" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cvl" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cvm" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cvn" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cvn" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cvo" = (/turf/simulated/wall,/area/maintenance/consarea) "cvp" = (/turf/simulated/wall/r_wall,/area/maintenance/apmaint) "cvq" = (/turf/simulated/wall/r_wall,/area/storage/tech) @@ -8513,7 +8513,7 @@ "dhM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_y = 32},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/maintenance/turbine) "dhN" = (/obj/machinery/power/smes{capacity = 9e+006; charge = 10000},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) "dhO" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"dhP" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dhP" = (/obj/structure/grille/broken,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dhQ" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dhR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint2) "dhS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2) diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm index 3f8c81ff935..a37392eb029 100644 --- a/_maps/map_files/cyberiad/z3.dmm +++ b/_maps/map_files/cyberiad/z3.dmm @@ -28,7 +28,7 @@ "bY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) "bZ" = (/obj/machinery/power/solar,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/space) "ca" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/space) -"cb" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cb" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "cc" = (/obj/machinery/camera{c_tag = "Telecomms North Solars"; dir = 8; network = list("Telecomms")},/turf/space,/area/space) "cd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) "ce" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/space) diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm index 378418b3c61..add7d07e23b 100644 --- a/_maps/map_files/cyberiad/z5.dmm +++ b/_maps/map_files/cyberiad/z5.dmm @@ -842,7 +842,7 @@ "qj" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored) "qk" = (/obj/structure/transit_tube/station,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored) "ql" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"qm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"qm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "qn" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/dangerous/explored) "qo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/dangerous/explored) "qp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored) @@ -859,7 +859,7 @@ "qA" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) "qB" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) "qC" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/unexplored) -"qD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) +"qD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) "qE" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored) "qF" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored) "qG" = (/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored) diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index 6daef696e40..5a9b4dafcb3 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -211,7 +211,7 @@ "ec" = (/obj/structure/table,/obj/item/weapon/screwdriver,/turf/simulated/floor/plasteel,/area/derelict/bridge) "ed" = (/obj/item/stack/rods,/turf/space,/area/space) "ee" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"ef" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) +"ef" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) "eg" = (/obj/item/clothing/suit/space/syndicate/black/engie,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "eh" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"; tag = "icon-propulsion_l (WEST)"},/turf/space,/area/space) "ei" = (/obj/item/weapon/shard,/turf/simulated/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) @@ -297,7 +297,7 @@ "fK" = (/obj/machinery/door/window{dir = 2},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) "fL" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched1"},/area/space) "fM" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"fN" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) +"fN" = (/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) "fO" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) "fP" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) "fQ" = (/obj/item/weapon/crowbar,/turf/simulated/floor/plasteel/airless,/area/derelict/hallway/primary) @@ -333,7 +333,7 @@ "gu" = (/turf/simulated/wall,/area/derelict/medical) "gv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) "gw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"gx" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/medical) +"gx" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/turf/simulated/floor/plating/airless,/area/derelict/medical) "gy" = (/turf/simulated/floor/plating/airless,/area/derelict/medical) "gz" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/medical) "gA" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating/airless,/area/space) From dedc33a23f75d7f83b008af3a66c4beafbce78fa Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sun, 12 Mar 2017 17:57:30 +0400 Subject: [PATCH 10/89] decon time 15 -> 26 --- code/modules/shuttle/supply.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index ded5c8345e7..92d44adb31b 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -806,7 +806,7 @@ if(state == PLASTIC_FLAPS_NORMAL) playsound(loc, W.usesound, 100, 1) user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.") - if(do_after(user, 100*W.toolspeed, target = src)) + if(do_after(user, 180*W.toolspeed, target = src)) if(state != PLASTIC_FLAPS_NORMAL) return state = PLASTIC_FLAPS_DETACHED @@ -825,7 +825,7 @@ if(state == PLASTIC_FLAPS_DETACHED) playsound(loc, W.usesound, 100, 1) user.visible_message("[user] cuts apart [src].", "You start to cut apart [src].", "You hear cutting.") - if(do_after(user, 50*W.toolspeed, target = src)) + if(do_after(user, 80*W.toolspeed, target = src)) if(state != PLASTIC_FLAPS_DETACHED) return to_chat(user, "You cut apart [src].") From 4edf69c3c0f8c3ce66b01572e5816eba3ac3ffb0 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 12 Mar 2017 20:59:28 +0100 Subject: [PATCH 11/89] Revenant nightvision fix --- .../gamemodes/miniantags/revenant/revenant.dm | 2 +- .../miniantags/revenant/revenant_abilities.dm | 2 ++ .../mob/living/simple_animal/hostile/statue.dm | 18 +++++++----------- .../mob/living/simple_animal/simple_animal.dm | 9 +++++---- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index f263d658f6b..d3bcdce9f7e 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -17,7 +17,7 @@ invisibility = INVISIBILITY_REVENANT health = INFINITY //Revenants don't use health, they use essence instead maxHealth = INFINITY - see_invisible = INVISIBILITY_REVENANT + see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING see_in_dark = 8 universal_understand = 1 response_help = "passes through" diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index 85560dda620..3504ada2a94 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -110,6 +110,8 @@ message = "You toggle your night vision." action_icon_state = "r_nightvision" action_background_icon_state = "bg_revenant" + non_night_vision = INVISIBILITY_REVENANT + night_vision = SEE_INVISIBLE_OBSERVER_NOLIGHTING //Transmit: the revemant's only direct way to communicate. Sends a single message silently to a single mob /obj/effect/proc_holder/spell/targeted/revenant_transmit diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 41ca671bc56..168ed2d441c 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -39,6 +39,7 @@ search_objects = 1 // So that it can see through walls + see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS anchored = 1 status_flags = GODMODE // Cannot push also @@ -56,9 +57,6 @@ AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/blindness(null)) AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision(null)) - // Give nightvision - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING - // Set creator if(creator) src.creator = creator @@ -190,7 +188,7 @@ //Toggle Night Vision /obj/effect/proc_holder/spell/targeted/night_vision - name = "Toggle Nightvision \[ON\]" + name = "Toggle Nightvision" desc = "Toggle your nightvision mode." charge_max = 10 @@ -199,17 +197,15 @@ message = "You toggle your night vision!" range = -1 include_user = 1 + var/non_night_vision = SEE_INVISIBLE_LIVING + var/night_vision = SEE_INVISIBLE_OBSERVER_NOLIGHTING /obj/effect/proc_holder/spell/targeted/night_vision/cast(list/targets, mob/user = usr) - for(var/mob/living/target in targets) - if(target.see_invisible == SEE_INVISIBLE_LIVING) - target.see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING - name = "Toggle Nightvision \[ON\]" + if(target.see_invisible == non_night_vision) + target.see_invisible = night_vision else - target.see_invisible = SEE_INVISIBLE_LIVING - name = "Toggle Nightvision \[OFF\]" - return + target.see_invisible = non_night_vision /mob/living/simple_animal/hostile/statue/sentience_act() faction -= "neutral" diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 9669c90b3ec..aec9d2d0c95 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -712,16 +712,17 @@ /mob/living/simple_animal/proc/sentience_act() //Called when a simple animal gains sentience via gold slime potion return -/mob/living/simple_animal/update_sight() +/mob/living/simple_animal/update_sight(reset_sight = FALSE) if(!client) return if(stat == DEAD) grant_death_vision() return - see_invisible = initial(see_invisible) - see_in_dark = initial(see_in_dark) - sight = initial(sight) + if(reset_sight) + see_invisible = initial(see_invisible) + see_in_dark = initial(see_in_dark) + sight = initial(sight) if(client.eye != src) var/atom/A = client.eye From 78985839689666791d1f3e9747787c9080b664c5 Mon Sep 17 00:00:00 2001 From: Jovan Date: Mon, 13 Mar 2017 06:25:19 -0400 Subject: [PATCH 12/89] Change Door Sounds --- code/_globalvars/lists/flavor_misc.dm | 4 ++-- code/game/machinery/doors/airlock.dm | 6 ++++-- code/game/machinery/doors/firedoor.dm | 6 ++++-- .../awaymissions/mission_code/spacehotel.dm | 4 ++-- code/modules/flufftext/Hallucination.dm | 2 +- sound/machines/airlock_close.ogg | Bin 0 -> 24109 bytes sound/machines/airlock_ext_close.ogg | Bin 0 -> 21975 bytes sound/machines/airlock_ext_open.ogg | Bin 0 -> 22740 bytes .../machines/{airlock.ogg => airlock_open.ogg} | Bin 9 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 sound/machines/airlock_close.ogg create mode 100644 sound/machines/airlock_ext_close.ogg create mode 100644 sound/machines/airlock_ext_open.ogg rename sound/machines/{airlock.ogg => airlock_open.ogg} (100%) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 4d9a578b19a..4639f5d93cf 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -28,7 +28,7 @@ var/global/list/alt_heads_list = list() //stores /datum/sprite_accessory/alt_hea var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg', \ 'sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg', \ -'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg') +'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock_open.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg') // Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to // the index of the sort department that you want. For example, sortType set to 2 will reroute all packages @@ -70,4 +70,4 @@ var/global/list/numbers_as_words = list("One", "Two", "Three", "Four", #define DBACKPACK "Department Backpack" #define DSATCHEL "Department Satchel" #define DDUFFLEBAG "Department Dufflebag" -var/global/list/backbaglist = list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL) \ No newline at end of file +var/global/list/backbaglist = list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index ba861667045..eec58cf9dce 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -53,8 +53,8 @@ var/frozen = 0 //special condition for airlocks that are frozen shut, this will look weird on not normal airlocks because of a lack of special overlays. autoclose = 1 explosion_block = 1 - var/doorOpen = 'sound/machines/airlock.ogg' - var/doorClose = 'sound/machines/airlock.ogg' + var/doorOpen = 'sound/machines/airlock_open.ogg' + var/doorClose = 'sound/machines/airlock_close.ogg' var/doorDeni = 'sound/machines/DeniedBeep.ogg' // i'm thinkin' Deni's var/boltUp = 'sound/machines/BoltsUp.ogg' var/boltDown = 'sound/machines/BoltsDown.ogg' @@ -89,6 +89,8 @@ name = "External Airlock" icon = 'icons/obj/doors/Doorext.dmi' assembly_type = /obj/structure/door_assembly/door_assembly_ext + doorOpen = 'sound/machines/airlock_ext_open.ogg' + doorClose = 'sound/machines/airlock_ext_close.ogg' /obj/machinery/door/airlock/welded welded = 1 diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index a708e06fe93..77d0f971d6e 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -36,7 +36,7 @@ if(!density) return ..() return 0 - + /obj/machinery/door/firedoor/ex_act(severity) switch(severity) if(1.0) @@ -142,8 +142,10 @@ switch(animation) if("opening") flick("door_opening", src) + playsound(src, 'sound/machines/airlock_ext_open.ogg', 30, 1) if("closing") flick("door_closing", src) + playsound(src, 'sound/machines/airlock_ext_close.ogg', 30, 1) /obj/machinery/door/firedoor/update_icon() overlays.Cut() @@ -169,7 +171,7 @@ /obj/machinery/door/firedoor/open(auto_close = TRUE) . = ..() latetoggle(auto_close) - + if(auto_close) autoclose = TRUE diff --git a/code/modules/awaymissions/mission_code/spacehotel.dm b/code/modules/awaymissions/mission_code/spacehotel.dm index d1e9a9555be..357b0ca519e 100644 --- a/code/modules/awaymissions/mission_code/spacehotel.dm +++ b/code/modules/awaymissions/mission_code/spacehotel.dm @@ -92,8 +92,8 @@ icon = 'icons/obj/doors/Doorsand.dmi' icon_state = "door_closed" autoclose = 1 - var/doorOpen = 'sound/machines/airlock.ogg' - var/doorClose = 'sound/machines/airlock.ogg' + var/doorOpen = 'sound/machines/airlock_open.ogg' + var/doorClose = 'sound/machines/airlock_close.ogg' var/doorDeni = 'sound/machines/DeniedBeep.ogg' var/id // the room number, eg 101 var/obj/item/weapon/card/hotel_card/card// room's key card diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 26d22bc0610..a9b47376760 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -847,7 +847,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite // to_chat(src, "Strange Audio") switch(rand(1,18)) if(1) - playsound_local(null,'sound/machines/airlock.ogg', 15, 1) + playsound_local(null,'sound/machines/airlock_open.ogg', 15, 1) if(2) if(prob(50)) playsound_local(null,'sound/effects/Explosion1.ogg', 50, 1) diff --git a/sound/machines/airlock_close.ogg b/sound/machines/airlock_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..58a06817f0080beb15bc1931100c91b3af450b1d GIT binary patch literal 24109 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 E2KdjgRsaA1 literal 0 HcmV?d00001 diff --git a/sound/machines/airlock_ext_close.ogg b/sound/machines/airlock_ext_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7257136297b26baa6cee4ba5ff310ce9b5ba54ae GIT binary patch literal 21975 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

Qd*9tCI{IY@mwHf2}>~w7C{RJ5Cw@< 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 bm;5+wEn!LDYvy|``F+7m7}aQi8!UhaJGQdm literal 0 HcmV?d00001 diff --git a/sound/machines/airlock_ext_open.ogg b/sound/machines/airlock_ext_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e9613aaf843cd3ac696f3a0fac6ca77b53e68118 GIT binary patch literal 22740 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

0RVRD?b@yp4$&(fy}i7)Bctx`R7 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 J0PbiMYyv21w(bA` literal 0 HcmV?d00001 diff --git a/sound/machines/airlock.ogg b/sound/machines/airlock_open.ogg similarity index 100% rename from sound/machines/airlock.ogg rename to sound/machines/airlock_open.ogg From 60496300ea3f6a297f8ceb8be934c76319071ab9 Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 13 Mar 2017 13:42:12 +0100 Subject: [PATCH 13/89] Fix attack message on vent weld --- code/ATMOSPHERICS/components/unary_devices/vent_pump.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index eabeccb641f..86e7ad2b22f 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -337,8 +337,8 @@ welded = 0 update_icon() else - to_chat(user, "The welding tool needs to be on to start this task.") + return 1 else to_chat(user, "You need more welding fuel to complete this task.") return 1 @@ -366,7 +366,7 @@ to_chat(user, "You can't shove that down there when it is closed") else to_chat(user, "The vent is welded.") - return + return 1 if(istype(W, /obj/item/device/multitool)) update_multitool_menu(user) return 1 From 3d8b2543c5a8283aa02916ab3359edaf95bf65d1 Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 13 Mar 2017 13:46:19 +0100 Subject: [PATCH 14/89] Fix follow source on brig doors --- code/game/machinery/doors/brigdoors.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 66547ff0759..ecdd959f717 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -37,6 +37,7 @@ Radio = new /obj/item/device/radio(src) Radio.listening = 0 Radio.config(list("Security" = 0)) + Radio.follow_target = src pixel_x = ((dir & 3)? (0) : (dir == 4 ? 32 : -32)) pixel_y = ((dir & 3)? (dir ==1 ? 24 : -32) : (0)) From d458902782d2c6ae5f77bb794a16d8c1689169e9 Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 13 Mar 2017 14:11:19 +0100 Subject: [PATCH 15/89] Fix Jaws of Life unpowered door forcing --- code/game/machinery/doors/airlock.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index ba861667045..ccacb4fef30 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -873,14 +873,11 @@ About the new airlock wires panel: qdel(src) return - else if(istype(C, /obj/item/weapon/crowbar/power)) + if(istype(C, /obj/item/weapon/crowbar/power) && density) if(isElectrified()) shock(user, 100)//it's like sticking a fork in a power socket return - if(!density)//already open - return - if(locked) to_chat(user, "The bolts are down, it won't budge!") return @@ -900,7 +897,8 @@ About the new airlock wires panel: open(2) if(density && !open(2)) to_chat(user, "Despite your attempts, the [src] refuses to open.") - else if(arePowerSystemsOn()) + return + if(arePowerSystemsOn()) to_chat(user, "\blue The airlock's motors resist your efforts to force it.") else if(locked) to_chat(user, "\blue The airlock's bolts prevent it from being forced.") From f8dcc466449e40378a255ade65d04cd95f362d37 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 14 Mar 2017 06:35:35 -0400 Subject: [PATCH 16/89] Automatic changelog generation for PR #6741 [ci skip] --- html/changelogs/AutoChangeLog-pr-6741.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6741.yml diff --git a/html/changelogs/AutoChangeLog-pr-6741.yml b/html/changelogs/AutoChangeLog-pr-6741.yml new file mode 100644 index 00000000000..dc73e37494c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6741.yml @@ -0,0 +1,4 @@ +author: "uraniummeltdown" +delete-after: True +changes: + - rscadd: "Strong supply talismans can now summon 5 sheets of runed metal." From 22961eb7f4efc88640528f42e71cbdb4a57be6cf Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 14 Mar 2017 06:54:24 -0400 Subject: [PATCH 17/89] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-6741.yml | 4 ---- 3 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-6741.yml diff --git a/html/changelog.html b/html/changelog.html index d91665b61a6..80ee1c7433b 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,12 @@ -->

+

14 March 2017

+

uraniummeltdown updated:

+
    +
  • Strong supply talismans can now summon 5 sheets of runed metal.
  • +
+

13 March 2017

Kyep updated: