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."