From e6b3c67465ecf620773944b1dee1b4a95bed47bf Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 2 Jul 2019 21:24:52 -0500 Subject: [PATCH 1/8] Nerfs Simple Doors Simple doors would take the integrity of the material (150 for steel AND resin), divide it by 10, and use that hardness as health. Damage taken by the door would have its force divided by 100. This meant that in order to do 15 damage to a steel door with a baton, you'd need to hit the door 100 times. Now you only need to hit the door 10 times. Also makes it so bullets/lasers work against the doors Summation: Resin doors take 10 baton hits to break. (Resin walls take 14.) --- code/game/objects/structures/simple_doors.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index e6b02663ee..915ee99967 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -131,7 +131,7 @@ user << "You finished digging." Dismantle() else if(istype(W,/obj/item/weapon)) //not sure, can't not just weapons get passed to this proc? - hardness -= W.force/100 + hardness -= W.force/10 user << "You hit the [name] with your [W.name]!" CheckHardness() else if(istype(W,/obj/item/weapon/weldingtool)) @@ -142,6 +142,10 @@ attack_hand(user) return +/obj/structure/simple_door/bullet_act(var/obj/item/projectile/Proj) + hardness -= W.force/10 + CheckHardness() + /obj/structure/simple_door/proc/CheckHardness() if(hardness <= 0) Dismantle(1) From 4f8173e3b78b2d8bd10699cdb7e103645c0200b7 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 2 Jul 2019 21:28:37 -0500 Subject: [PATCH 2/8] Fixes bullet_act to Proj.force --- code/game/objects/structures/simple_doors.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index 915ee99967..8cd02d9bb0 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -143,7 +143,7 @@ return /obj/structure/simple_door/bullet_act(var/obj/item/projectile/Proj) - hardness -= W.force/10 + hardness -= Proj.force/10 CheckHardness() /obj/structure/simple_door/proc/CheckHardness() From 4736a54b2cdbf57d5d5e7a2766c37cd68061ff5d Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 3 Jul 2019 15:00:53 +1000 Subject: [PATCH 3/8] Fixes alien wood issues --- code/modules/materials/material_recipes.dm | 9 +++++++-- code/modules/materials/materials.dm | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index f45adba787..687e5df27e 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -197,8 +197,13 @@ /material/wood/sif/generate_recipes() ..() recipes += new/datum/stack_recipe("alien wood floor tile", /obj/item/stack/tile/wood/sif, 1, 4, 20) - recipes -= new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20) - recipes -= new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1) + for(var/datum/stack_recipe/r_recipe in recipes) + if(r_recipe.title == "wood floor tile") + recipes -= r_recipe + continue + if(r_recipe.title == "wooden chair") + recipes -= r_recipe + continue /material/supermatter/generate_recipes() recipes = list() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 46cb30e3d2..0bc877cdcc 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -864,7 +864,7 @@ var/list/name_to_material /material/wood/sif name = MAT_SIFWOOD -// stack_type = /obj/item/stack/material/wood/sif + stack_type = /obj/item/stack/material/wood/sif icon_colour = "#0099cc" // Cyan-ish stack_origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2) // Alien wood would presumably be more interesting to the analyzer. From 492dc81de148e6d2ab0d2a14884cb77ddba2a6a0 Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 3 Jul 2019 15:32:04 +1000 Subject: [PATCH 4/8] Fixes technical cameras being affected by random event --- code/modules/events/camera_damage.dm | 4 ++-- code/modules/gamemaster/actions/camera_damage.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/events/camera_damage.dm b/code/modules/events/camera_damage.dm index 3205a93137..6a86581b70 100644 --- a/code/modules/events/camera_damage.dm +++ b/code/modules/events/camera_damage.dm @@ -33,6 +33,6 @@ return acquire_random_camera(remaining_attempts--) /datum/event/camera_damage/proc/is_valid_camera(var/obj/machinery/camera/C) - // Only return a functional camera, not installed in a silicon, and that exists somewhere players have access + // Only return a functional camera, not installed in a silicon/hardsuit/circuit/etc, and that exists somewhere players have access var/turf/T = get_turf(C) - return T && C.can_use() && !istype(C.loc, /mob/living/silicon) && (T.z in using_map.player_levels) + return T && C.can_use() && istype(C.loc, /turf) && (T.z in using_map.player_levels) diff --git a/code/modules/gamemaster/actions/camera_damage.dm b/code/modules/gamemaster/actions/camera_damage.dm index 0f1ef38e9c..e064c3cb1f 100644 --- a/code/modules/gamemaster/actions/camera_damage.dm +++ b/code/modules/gamemaster/actions/camera_damage.dm @@ -44,9 +44,9 @@ return acquire_random_camera(remaining_attempts--) /datum/gm_action/camera_damage/proc/is_valid_camera(var/obj/machinery/camera/C) - // Only return a functional camera, not installed in a silicon, and that exists somewhere players have access + // Only return a functional camera, not installed in a silicon/hardsuit/circuit/etc, and that exists somewhere players have access var/turf/T = get_turf(C) - return T && C.can_use() && !istype(C.loc, /mob/living/silicon) && (T.z in using_map.player_levels) + return T && C.can_use() && istype(C.loc, /turf) && (T.z in using_map.player_levels) /datum/gm_action/camera_damage/get_weight() return 40 + (metric.count_people_in_department(ROLE_ENGINEERING) * 20) + (metric.count_people_in_department(ROLE_SYNTHETIC) * 40) From a01fb92313aa8576822aaa93b490e00af7eafe4a Mon Sep 17 00:00:00 2001 From: Mechoid Date: Tue, 2 Jul 2019 23:42:08 -0700 Subject: [PATCH 5/8] Flashes actually work as said on the tin. --- code/game/objects/items/devices/flash.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index b366cc64f7..c16102bc55 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -122,9 +122,9 @@ if(use_external_power) battery = get_external_power_supply() - if(times_used <= max_flashes && battery && battery.checked_use(charge_cost)) + if(times_used <= max_flashes && battery && battery.charge >= charge_cost) last_used = world.time - if(prob( max(0, times_used - safe_flashes) * 2 + (times_used >= 1) ) && can_break) //if you use it 10 times in a minute it has a 30% chance to break. + if(prob( max(0, times_used - safe_flashes) * 2 + (times_used >= safe_flashes)) && can_break) //if you use it 10 times in a minute it has a 30% chance to break. broken = TRUE if(user) to_chat(user, "The bulb has burnt out!") From 717fede5cd881be66fe1048e5f78e52f0b9cf57e Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 3 Jul 2019 16:49:44 +1000 Subject: [PATCH 6/8] Makes carpeted tables refund the carpet type that was used --- code/modules/tables/tables.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index a6875ce62c..b06407b74c 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -24,6 +24,7 @@ // Gambling tables. I'd prefer reinforced with carpet/felt/cloth/whatever, but AFAIK it's either harder or impossible to get /obj/item/stack/material of those. // Convert if/when you can easily get stacks of these. var/carpeted = 0 + var/carpeted_type = /obj/item/stack/tile/carpet var/list/connections = list("nw0", "ne0", "sw0", "se0") @@ -108,7 +109,7 @@ if(carpeted && W.is_crowbar()) user.visible_message("\The [user] removes the carpet from \the [src].", "You remove the carpet from \the [src].") - new /obj/item/stack/tile/carpet(loc) + new carpeted_type(loc) carpeted = 0 update_icon() return 1 @@ -119,6 +120,7 @@ user.visible_message("\The [user] adds \the [C] to \the [src].", "You add \the [C] to \the [src].") carpeted = 1 + carpeted_type = W.type update_icon() return 1 else @@ -313,7 +315,7 @@ S = material.place_shard(loc) if(S) shards += S if(carpeted && (full_return || prob(50))) // Higher chance to get the carpet back intact, since there's no non-intact option - new /obj/item/stack/tile/carpet(src.loc) + new carpeted_type(src.loc) if(full_return || prob(20)) new /obj/item/stack/material/steel(src.loc) else From 947f89299ea4a05bae0550a073b54ba51ac38854 Mon Sep 17 00:00:00 2001 From: Heroman Date: Thu, 4 Jul 2019 05:37:53 +1000 Subject: [PATCH 7/8] Fixes targeting z-shadows breaking targeting --- code/modules/projectiles/targeting/targeting_gun.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/targeting/targeting_gun.dm b/code/modules/projectiles/targeting/targeting_gun.dm index e2ef466255..3b80658226 100644 --- a/code/modules/projectiles/targeting/targeting_gun.dm +++ b/code/modules/projectiles/targeting/targeting_gun.dm @@ -17,5 +17,7 @@ user.face_atom(A) if(ismob(A) && user.aiming) user.aiming.aim_at(A, src) + if(!isliving(A)) + return 0 return 1 return 0 \ No newline at end of file From 2e5d8c6e78ec851e73424fbcbf9c547b24d61041 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 6 Jul 2019 07:51:09 +1000 Subject: [PATCH 8/8] Fixes invisible ventcrawlers --- code/modules/ventcrawl/ventcrawl.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm index f653a7f636..0183da53ed 100644 --- a/code/modules/ventcrawl/ventcrawl.dm +++ b/code/modules/ventcrawl/ventcrawl.dm @@ -16,6 +16,7 @@ var/list/ventcrawl_machinery = list( /mob/living/var/list/icon/pipes_shown = list() /mob/living/var/last_played_vent /mob/living/var/is_ventcrawling = 0 +/mob/living/var/prepping_to_ventcrawl = 0 /mob/var/next_play_vent = 0 /mob/living/proc/can_ventcrawl() @@ -104,7 +105,7 @@ var/list/ventcrawl_machinery = list( /mob/living/var/ventcrawl_layer = 3 /mob/living/proc/handle_ventcrawl(var/atom/clicked_on) - if(!can_ventcrawl()) + if(!can_ventcrawl() || prepping_to_ventcrawl) return var/obj/machinery/atmospherics/unary/vent_found @@ -151,6 +152,9 @@ var/list/ventcrawl_machinery = list( to_chat(src, "You feel a roaring wind pushing you away from the vent!") fade_towards(vent_found,45) + prepping_to_ventcrawl = 1 + spawn(50) + prepping_to_ventcrawl = 0 if(!do_after(src, 45, vent_found, 1, 1)) return if(!can_ventcrawl())