From 8e5d2a069f04bb89dfb25123e8072b3d6bd7ab01 Mon Sep 17 00:00:00 2001 From: printer16 Date: Wed, 28 Dec 2016 11:45:27 -0500 Subject: [PATCH] Bug fixes+ Tiny hardsuit update (#1298) Fire extinguishers can no longer be filled with blank units. You can no longer spam buy announcements with the traitor uplink services tab (Thank god) http://imgur.com/a/hqSdS CE hardsuit now a bit more fire resistant. RD hardsuit now has a good deal of EMP resistance, but nerfed the protection stats a bit. (makes since because the RD works with artifacts that can EMP, right?) --- code/datums/uplink/announcements.dm | 26 +++++++++++++++---- .../objects/items/weapons/extinguisher.dm | 15 ++++++++--- code/modules/clothing/spacesuits/rig/rig.dm | 10 +++---- .../clothing/spacesuits/rig/suits/ert.dm | 5 ++++ .../clothing/spacesuits/rig/suits/merc.dm | 1 + .../clothing/spacesuits/rig/suits/station.dm | 8 +++--- html/changelogs/Printer16-morefixes.yml | 8 ++++++ 7 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 html/changelogs/Printer16-morefixes.yml diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm index 0bfb2d67aea..baad42f5c1d 100644 --- a/code/datums/uplink/announcements.dm +++ b/code/datums/uplink/announcements.dm @@ -87,8 +87,16 @@ item_cost = 2 /datum/uplink_item/abstract/announcements/fake_ion_storm/get_goods(var/obj/item/device/uplink/U, var/loc) - ion_storm_announcement() - return 1 + var/static/cooldown = 0 + if(cooldown != 1) + ion_storm_announcement() + cooldown = 1 + spawn(240) + cooldown = 0 + return 1 + else + loc << "This service is on cooldown! Try again in a bit!" + return 0 /datum/uplink_item/abstract/announcements/fake_radiation name = "Radiation Storm Announcement" @@ -96,6 +104,14 @@ item_cost = 6 /datum/uplink_item/abstract/announcements/fake_radiation/get_goods(var/obj/item/device/uplink/U, var/loc) - var/datum/event_meta/EM = new(EVENT_LEVEL_MUNDANE, "Fake Radiation Storm", add_to_queue = 0) - new/datum/event/radiation_storm/syndicate(EM) - return 1 + var/static/cooldown = 0 + if(cooldown != 1) + var/datum/event_meta/EM = new(EVENT_LEVEL_MUNDANE, "Fake Radiation Storm", add_to_queue = 0) + new/datum/event/radiation_storm/syndicate(EM) + cooldown = 1 + spawn(240) + cooldown = 0 + return 1 + else + loc << "This service is on cooldown! Try again in a bit!" + return 0 diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 2a85fbdfc9e..5be1c321a9f 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -75,9 +75,18 @@ if( istype(target, /obj/structure/reagent_dispensers/watertank) && flag) var/obj/o = target var/amount = o.reagents.trans_to_obj(src, 50) - user << "You fill [src] with [amount] units of the contents of [target]." - playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) - return + + if (src.reagents.total_volume == 300) + user << "The fire extinguisher is full!" + return 0 + + if (o.reagents.total_volume < 1) + user << "There is nothing left in the [target]." + return 0 + else + user << "You fill [src] with [amount] units of the contents of [target]." + playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) + return if (!safety) if (src.reagents.total_volume < 1) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index af6d66d524c..cdc62739db3 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -77,7 +77,7 @@ var/emp_protection = 0 - // Wiring! How exciting. + // Wiring! How exciting.] var/datum/wires/rig/wires var/datum/effect/effect/system/spark_spread/spark_system @@ -190,9 +190,9 @@ update_icon(1) /obj/item/weapon/rig/proc/toggle_seals(var/mob/initiator,var/instant) - + if(sealing) return - + // Seal toggling can be initiated by the suit AI, too if(!wearer) initiator << "Cannot toggle suit: The suit is currently not being worn by anyone." @@ -288,7 +288,7 @@ // Success! canremove = seal_target wearer << "Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"]." - + if(wearer != initiator) initiator << "Suit adjustment complete. Suit is now [canremove ? "unsealed" : "sealed"]." @@ -704,7 +704,7 @@ malfunction_delay = max(malfunction_delay, round(30/severity_class)) //drain some charge - if(cell) cell.emp_act(severity_class + 15) + if(cell) cell.emp_act((severity_class + 15)*1+(0.1*emp_protection)) //possibly damage some modules take_hit((100/severity_class), "electrical pulse", 1) diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index e31fc44cdae..28aa4175686 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -7,6 +7,7 @@ desc = "A suit worn by the commander of an Emergency Response Team. Has blue highlights. Armoured and space ready." suit_type = "ERT commander" icon_state = "ert_commander_rig" + emp_protection = 35 helm_type = /obj/item/clothing/head/helmet/space/rig/ert @@ -32,6 +33,7 @@ icon_state = "ert_engineer_rig" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 100) siemens_coefficient = 0 + emp_protection = 30 initial_modules = list( /obj/item/rig_module/ai_container, @@ -46,6 +48,7 @@ desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Armoured and space ready." suit_type = "ERT medic" icon_state = "ert_medical_rig" + emp_protection = 30 initial_modules = list( /obj/item/rig_module/ai_container, @@ -60,6 +63,7 @@ desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Armoured and space ready." suit_type = "ERT security" icon_state = "ert_security_rig" + emp_protection = 30 initial_modules = list( /obj/item/rig_module/ai_container, @@ -75,6 +79,7 @@ suit_type = "heavy asset protection" icon_state = "asset_protection_rig" armor = list(melee = 60, bullet = 60, laser = 60,energy = 40, bomb = 50, bio = 100, rad = 100) + emp_protection = 50 initial_modules = list( /obj/item/rig_module/ai_container, diff --git a/code/modules/clothing/spacesuits/rig/suits/merc.dm b/code/modules/clothing/spacesuits/rig/suits/merc.dm index cc7a2f4b2e8..91855446198 100644 --- a/code/modules/clothing/spacesuits/rig/suits/merc.dm +++ b/code/modules/clothing/spacesuits/rig/suits/merc.dm @@ -11,6 +11,7 @@ slowdown = 1 offline_slowdown = 3 offline_vision_restriction = 1 + emp_protection = 30 helm_type = /obj/item/clothing/head/helmet/space/rig/merc allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index dc6829ed09f..f4ab2a06ed5 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -83,7 +83,7 @@ /obj/item/rig_module/device/rcd, /obj/item/rig_module/vision/meson ) - + /obj/item/weapon/rig/industrial/syndicate helm_type = /obj/item/clothing/head/helmet/space/rig @@ -114,7 +114,7 @@ /obj/item/rig_module/device/rcd, /obj/item/rig_module/vision/meson ) - + /obj/item/clothing/gloves/rig/eva siemens_coefficient = 0 @@ -128,6 +128,7 @@ slowdown = 0 offline_slowdown = 0 offline_vision_restriction = 0 + max_heat_protection_temperature = 7500 helm_type = /obj/item/clothing/head/helmet/space/rig/ce glove_type = /obj/item/clothing/gloves/rig/ce @@ -158,9 +159,10 @@ suit_type = "hazmat hardsuit" desc = "An Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it." icon_state = "science_rig" - armor = list(melee = 45, bullet = 5, laser = 45, energy = 80, bomb = 60, bio = 100, rad = 100) + armor = list(melee = 45, bullet = 5, laser = 40, energy = 65, bomb = 60, bio = 100, rad = 100) slowdown = 1 offline_vision_restriction = 1 + emp_protection = 40 helm_type = /obj/item/clothing/head/helmet/space/rig/hazmat diff --git a/html/changelogs/Printer16-morefixes.yml b/html/changelogs/Printer16-morefixes.yml new file mode 100644 index 00000000000..e4efd896bd2 --- /dev/null +++ b/html/changelogs/Printer16-morefixes.yml @@ -0,0 +1,8 @@ +author: Printer16 + +delete-after: True + +changes: + - bugfix: "You can no longer fill fire extiguishers with blank units." + - bugfix: "You can't spam buy services anymore." + - tweak: "CE hardsuit is more resistant to fires. RD hardsuit is more resistant to EMP's, but slightly weaker."