diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index c3aac10ee6d..73cbab48351 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -143,7 +143,7 @@
return !user.contains(src)
/obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
- visible_message(span_warning("*click*"), vision_distance = COMBAT_MESSAGE_RANGE)
+ balloon_alert_to_viewers("*click*")
playsound(src, dry_fire_sound, 30, TRUE)
/obj/item/gun/proc/fire_sounds()
@@ -196,10 +196,10 @@
if (gunpoint_component)
if(gunpoint_component.target == victim)
return ..() //we're already holding them up, shoot that mans instead of complaining
- to_chat(user, span_warning("You are already holding someone up!"))
+ balloon_alert(user, "already holding someone up!")
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
if (user == victim)
- to_chat(user,span_warning("You can't hold yourself up!"))
+ balloon_alert(user, "can't hold yourself up!")
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
user.AddComponent(/datum/component/gunpoint, victim, src)
@@ -296,6 +296,7 @@
return FALSE
else
to_chat(user, span_warning("[src]'s trigger is locked. This weapon doesn't have a firing pin installed!"))
+ balloon_alert(user, "trigger locked, firing pin needed!")
return FALSE
/obj/item/gun/proc/recharge_newshot()
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 43728ce0d9c..ca3f070eb0d 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -262,11 +262,11 @@
if (bolt_type == BOLT_TYPE_OPEN)
if(!bolt_locked) //If it's an open bolt, racking again would do nothing
if (user)
- to_chat(user, span_notice("[src]'s [bolt_wording] is already cocked!"))
+ balloon_alert(user, "[bolt_wording] already cocked!")
return
bolt_locked = FALSE
if (user)
- to_chat(user, span_notice("You rack the [bolt_wording] of [src]."))
+ balloon_alert(user, "[bolt_wording] racked")
process_chamber(!chambered, FALSE)
if (bolt_type == BOLT_TYPE_LOCKING && !chambered)
bolt_locked = TRUE
@@ -279,7 +279,7 @@
/obj/item/gun/ballistic/proc/drop_bolt(mob/user = null)
playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE)
if (user)
- to_chat(user, span_notice("You drop the [bolt_wording] of [src]."))
+ balloon_alert(user, "[bolt_wording] dropped")
chamber_round()
bolt_locked = FALSE
update_appearance()
@@ -287,12 +287,12 @@
///Handles all the logic needed for magazine insertion
/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE)
if(!istype(AM, mag_type))
- to_chat(user, span_warning("[AM] doesn't seem to fit into [src]..."))
+ balloon_alert(user, "[AM.name] doesn't fit!")
return FALSE
if(user.transferItemToLoc(AM, src))
magazine = AM
if (display_message)
- to_chat(user, span_notice("You load a new [magazine_wording] into [src]."))
+ balloon_alert(user, "[magazine_wording] loaded")
playsound(src, load_empty_sound, load_sound_volume, load_sound_vary)
if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked)
chamber_round(TRUE)
@@ -314,7 +314,7 @@
var/obj/item/ammo_box/magazine/old_mag = magazine
if (tac_load)
if (insert_magazine(user, tac_load, FALSE))
- to_chat(user, span_notice("You perform a tactical reload on [src]."))
+ balloon_alert(user, "[magazine_wording] swapped")
else
to_chat(user, span_warning("You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing."))
magazine = null
@@ -323,7 +323,7 @@
user.put_in_hands(old_mag)
old_mag.update_appearance()
if (display_message)
- to_chat(user, span_notice("You pull the [magazine_wording] out of [src]."))
+ balloon_alert(user, "[magazine_wording] unloaded")
update_appearance()
SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) //SKYRAT EDIT ADDITION
@@ -344,7 +344,7 @@
if (tac_reloads)
eject_magazine(user, FALSE, AM)
else
- to_chat(user, span_notice("There's already a [magazine_wording] in [src]."))
+ balloon_alert(user, "already loaded!")
return
if (isammocasing(A) || istype(A, /obj/item/ammo_box))
if (bolt_type == BOLT_TYPE_NO_BOLT || internal_magazine)
@@ -353,7 +353,7 @@
chambered = null
var/num_loaded = magazine?.attackby(A, user, params, TRUE)
if (num_loaded)
- to_chat(user, span_notice("You load [num_loaded] [cartridge_wording]\s into [src]."))
+ balloon_alert(user, "[num_loaded] [cartridge_wording]\s loaded")
playsound(src, load_sound, load_sound_volume, load_sound_vary)
if (chambered == null && bolt_type == BOLT_TYPE_NO_BOLT)
chamber_round()
@@ -363,16 +363,16 @@
if(istype(A, /obj/item/suppressor))
var/obj/item/suppressor/S = A
if(!can_suppress)
- to_chat(user, span_warning("You can't seem to figure out how to fit [S] on [src]!"))
+ balloon_alert(user, "[S.name] doesn't fit!")
return
if(!user.is_holding(src))
- to_chat(user, span_warning("You need be holding [src] to fit [S] to it!"))
+ balloon_alert(user, "not in hand!")
return
if(suppressed)
- to_chat(user, span_warning("[src] already has a suppressor!"))
+ balloon_alert(user, "already has a supressor!")
return
if(user.transferItemToLoc(A, src))
- to_chat(user, span_notice("You screw [S] onto [src]."))
+ balloon_alert(user, "[S.name] attached")
install_suppressor(A)
return
if (can_be_sawn_off)
@@ -426,7 +426,7 @@
var/obj/item/suppressor/S = suppressed
if(!user.is_holding(src))
return ..()
- to_chat(user, span_notice("You unscrew [S] from [src]."))
+ balloon_alert(user, "[S.name] removed")
user.put_in_hands(S)
clear_suppressor()
@@ -489,11 +489,11 @@
if(T && is_station_level(T.z))
SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name)
if (num_unloaded)
- to_chat(user, span_notice("You unload [num_unloaded] [cartridge_wording]\s from [src]."))
+ balloon_alert(user, "[num_unloaded] [cartridge_wording] unloaded")
playsound(user, eject_sound, eject_sound_volume, eject_sound_vary)
update_appearance()
else
- to_chat(user, span_warning("[src] is empty!"))
+ balloon_alert(user, "it's empty!")
return
if(bolt_type == BOLT_TYPE_LOCKING && bolt_locked)
drop_bolt(user)
@@ -579,10 +579,10 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
if(!saw.get_sharpness() || (!is_type_in_typecache(saw, GLOB.gun_saw_types) && saw.tool_behaviour != TOOL_SAW)) //needs to be sharp. Otherwise turned off eswords can cut this.
return
if(sawn_off)
- to_chat(user, span_warning("[src] is already shortened!"))
+ balloon_alert(user, "it's already shortened!")
return
if(bayonet)
- to_chat(user, span_warning("You cannot saw-off [src] with [bayonet] attached!"))
+ balloon_alert(user, "[bayonet.name] must be removed!")
return
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message(span_notice("[user] begins to shorten [src]."), span_notice("You begin to shorten [src]..."))
@@ -615,7 +615,7 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
/obj/item/gun/ballistic/proc/guncleaning(mob/user, obj/item/A)
if(misfire_probability == 0)
- to_chat(user, span_notice("[src] seems to be already clean of fouling."))
+ balloon_alert(user, "it's already clean!")
return
user.changeNext_move(CLICK_CD_MELEE)
diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm
index 78062f10ca5..080229443bf 100644
--- a/code/modules/projectiles/guns/ballistic/automatic.dm
+++ b/code/modules/projectiles/guns/ballistic/automatic.dm
@@ -36,11 +36,11 @@
if(!select)
burst_size = 1
fire_delay = 0
- to_chat(user, span_notice("You switch to semi-automatic."))
+ balloon_alert(user, "switched to semi-automatic")
else
burst_size = initial(burst_size)
fire_delay = initial(fire_delay)
- to_chat(user, span_notice("You switch to [burst_size]-round burst."))
+ balloon_alert(user, "switched to [burst_size]-round burst")
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_appearance()
@@ -194,23 +194,6 @@
if(1)
. += "[initial(icon_state)]_burst"
-/obj/item/gun/ballistic/automatic/m90/burst_select()
- var/mob/living/carbon/human/user = usr
- switch(select)
- if(0)
- select = 1
- burst_size = initial(burst_size)
- fire_delay = initial(fire_delay)
- to_chat(user, span_notice("You switch to [burst_size]-rnd burst."))
- if(1)
- select = 0
- burst_size = 1
- fire_delay = 0
- to_chat(user, span_notice("You switch to semi-auto."))
- playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
- update_appearance()
- return
-
/obj/item/gun/ballistic/automatic/tommygun
name = "\improper Thompson SMG"
desc = "Based on the classic 'Chicago Typewriter'."
@@ -305,7 +288,7 @@
/obj/item/gun/ballistic/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)
if(cover_open)
- to_chat(user, span_warning("[src]'s cover is open! Close it before firing!"))
+ balloon_alert(user, "close the cover!")
return
else
. = ..()
@@ -317,13 +300,13 @@
..()
return
if (!cover_open)
- to_chat(user, span_warning("[src]'s cover is closed! Open it before trying to remove the magazine!"))
+ balloon_alert(user, "open the cover!")
return
..()
/obj/item/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
if(!cover_open && istype(A, mag_type))
- to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit."))
+ balloon_alert(user, "close the cover!")
return
..()
diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm
index 0b468d3b54e..58686fe06c4 100644
--- a/code/modules/projectiles/guns/ballistic/bow.dm
+++ b/code/modules/projectiles/guns/ballistic/bow.dm
@@ -14,6 +14,7 @@
weapon_weight = WEAPON_HEAVY
w_class = WEIGHT_CLASS_BULKY
internal_magazine = TRUE
+ cartridge_wording = "arrow"
bolt_type = BOLT_TYPE_NO_BOLT
var/drawn = FALSE
@@ -38,7 +39,7 @@
/obj/item/gun/ballistic/bow/attack_self(mob/user)
if(chambered)
- to_chat(user, span_notice("You [drawn ? "release the tension on" : "draw the string on"] [src]."))
+ balloon_alert(user, "[drawn ? "string released" : "string drawn"]")
drawn = !drawn
update_appearance()
diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm
index 09b15d7b5e7..b2ad21f6459 100644
--- a/code/modules/projectiles/guns/ballistic/rifle.dm
+++ b/code/modules/projectiles/guns/ballistic/rifle.dm
@@ -18,7 +18,7 @@
/obj/item/gun/ballistic/rifle/rack(mob/user = null)
if (bolt_locked == FALSE)
- to_chat(user, span_notice("You open the bolt of \the [src]."))
+ balloon_alert(user, "bolt opened")
playsound(src, rack_sound, rack_sound_volume, rack_sound_vary)
process_chamber(FALSE, FALSE, FALSE)
bolt_locked = TRUE
@@ -77,7 +77,7 @@
unjam_chance = 10
else
unjam_chance += 10
- to_chat(user, span_warning("[src] is jammed!"))
+ balloon_alert(user, "jammed!")
playsound(user,'sound/weapons/jammed.ogg', 75, TRUE)
return FALSE
..()
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index f52daa3642c..0c6c51020b4 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -110,9 +110,9 @@
alternate_magazine = current_mag
toggled = !toggled
if(toggled)
- to_chat(user, span_notice("You switch to tube B."))
+ balloon_alert(user, "switched to tube B")
else
- to_chat(user, span_notice("You switch to tube A."))
+ balloon_alert(user, "switched to tube A")
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/AltClick(mob/living/user)
if(!user.canUseTopic(src, be_close = TRUE, no_dexterity = TRUE, no_tk = FALSE, need_hands = TRUE))
@@ -202,7 +202,7 @@
/obj/item/gun/ballistic/shotgun/bulldog/attackby_secondary(obj/item/weapon, mob/user, params)
if(!istype(weapon, secondary_magazine_type))
- to_chat(user, span_warning("[weapon] doesn't seem to fit into [src]..."))
+ balloon_alert(user, "[weapon.name] doesn't fit!")
return SECONDARY_ATTACK_CALL_NORMAL
if(!user.transferItemToLoc(weapon, src))
to_chat(user, span_warning("You cannot seem to get [src] out of your hands!"))
@@ -211,7 +211,7 @@
secondary_magazine = weapon
if(old_mag)
user.put_in_hands(old_mag)
- to_chat(user, span_notice("You load a new [magazine_wording] into [src]."))
+ balloon_alert(user, "secondary [magazine_wording] loaded")
playsound(src, load_empty_sound, load_sound_volume, load_sound_vary)
update_appearance()
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
diff --git a/code/modules/projectiles/guns/energy/beam_rifle.dm b/code/modules/projectiles/guns/energy/beam_rifle.dm
index 5b5949a5b36..e45557cdade 100644
--- a/code/modules/projectiles/guns/energy/beam_rifle.dm
+++ b/code/modules/projectiles/guns/energy/beam_rifle.dm
@@ -149,7 +149,7 @@
/obj/item/gun/energy/beam_rifle/attack_self(mob/user)
projectile_setting_pierce = !projectile_setting_pierce
- to_chat(user, span_boldnotice("You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode."))
+ balloon_alert(user, "switched to [projectile_setting_pierce ? "pierce":"impact"] mode")
aiming_beam()
/obj/item/gun/energy/beam_rifle/proc/update_slowdown()
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 8723f22e462..d820ceb055c 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -137,11 +137,11 @@
charge_multiplier = 1
if(charge_multiplier)
if(cell.charge == cell.maxcharge)
- to_chat(user, span_notice("You try to insert [I] into [src], but it's fully charged.")) //my cell is round and full
+ balloon_alert(user, "already fully charged!")
return
I.use(1)
cell.give(500*charge_multiplier)
- to_chat(user, span_notice("You insert [I] in [src], recharging it."))
+ balloon_alert(user, "cell recharged")
else
..()
@@ -159,13 +159,13 @@
// Amount cannot be defaulted to 1: most of the code specifies 0 in the call.
/obj/item/gun/energy/plasmacutter/tool_use_check(mob/living/user, amount)
if(QDELETED(cell))
- to_chat(user, span_warning("[src] does not have a cell, and cannot be used!"))
+ balloon_alert(user, "no cell inserted!")
return FALSE
// Amount cannot be used if drain is made continuous, e.g. amount = 5, charge_weld = 25
// Then it'll drain 125 at first and 25 periodically, but fail if charge dips below 125 even though it still can finish action
// Alternately it'll need to drain amount*charge_weld every period, which is either obscene or makes it free for other uses
if(amount ? cell.charge < charge_weld * amount : cell.charge < charge_weld)
- to_chat(user, span_warning("You need more charge to complete this task!"))
+ balloon_alert(user, "not enough charge!")
return FALSE
return TRUE
diff --git a/code/modules/projectiles/guns/special/grenade_launcher.dm b/code/modules/projectiles/guns/special/grenade_launcher.dm
index 829b010d155..ec3e792d79c 100644
--- a/code/modules/projectiles/guns/special/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/special/grenade_launcher.dm
@@ -25,10 +25,9 @@
if(!user.transferItemToLoc(I, src))
return
grenades += I
- to_chat(user, span_notice("You put the grenade in the grenade launcher."))
- to_chat(user, span_notice("[grenades.len] / [max_grenades] Grenades."))
+ balloon_alert(user, "[grenades.len] / [max_grenades] grenades loaded")
else
- to_chat(usr, span_warning("The grenade launcher cannot hold more grenades!"))
+ balloon_alert(user, "it's already full!")
/obj/item/gun/grenadelauncher/can_shoot()
return grenades.len
diff --git a/code/modules/projectiles/guns/special/meat_hook.dm b/code/modules/projectiles/guns/special/meat_hook.dm
index 372a44afdc0..02a21a70e83 100644
--- a/code/modules/projectiles/guns/special/meat_hook.dm
+++ b/code/modules/projectiles/guns/special/meat_hook.dm
@@ -16,7 +16,7 @@
force = 18
/obj/item/gun/magic/hook/shoot_with_empty_chamber(mob/living/user)
- to_chat(user, span_warning("[src] isn't ready to fire yet!"))
+ balloon_alert(user, "not ready yet!")
/obj/item/gun/magic/hook/can_trigger_gun(mob/living/user) // This isn't really a gun, so it shouldn't be checking for TRAIT_NOGUNS, a firing pin (pinless), or a trigger guard (guardless)
return TRUE
diff --git a/code/modules/projectiles/guns/special/syringe_gun.dm b/code/modules/projectiles/guns/special/syringe_gun.dm
index 506900398fd..8f2989c9116 100644
--- a/code/modules/projectiles/guns/special/syringe_gun.dm
+++ b/code/modules/projectiles/guns/special/syringe_gun.dm
@@ -60,7 +60,7 @@
/obj/item/gun/syringe/attack_self(mob/living/user)
if(!syringes.len)
- to_chat(user, span_warning("[src] is empty!"))
+ balloon_alert(user, "it's empty!")
return FALSE
var/obj/item/reagent_containers/syringe/S = syringes[syringes.len]
@@ -70,27 +70,27 @@
user.put_in_hands(S)
syringes.Remove(S)
- to_chat(user, span_notice("You unload [S] from \the [src]."))
+ balloon_alert(user, "[S.name] unloaded")
update_appearance()
return TRUE
/obj/item/gun/syringe/attackby(obj/item/A, mob/user, params, show_msg = TRUE)
if(istype(A, /obj/item/reagent_containers/syringe/bluespace))
- to_chat(user, span_notice("[A] is too big to load into [src]."))
+ balloon_alert(user, "[A.name] is too big!")
return TRUE
if(istype(A, /obj/item/reagent_containers/syringe))
if(syringes.len < max_syringes)
if(!user.transferItemToLoc(A, src))
return FALSE
- to_chat(user, span_notice("You load [A] into \the [src]."))
+ balloon_alert(user, "[A.name] loaded")
syringes += A
recharge_newshot()
update_appearance()
playsound(loc, load_sound, 40)
return TRUE
else
- to_chat(user, span_warning("[src] cannot hold more syringes!"))
+ balloon_alert(user, "it's already full!")
return FALSE
/obj/item/gun/syringe/update_overlays()
@@ -160,19 +160,19 @@
if(istype(A, /obj/item/dnainjector))
var/obj/item/dnainjector/D = A
if(D.used)
- to_chat(user, span_warning("This injector is used up!"))
+ balloon_alert("[D.name] is used up!")
return
if(syringes.len < max_syringes)
if(!user.transferItemToLoc(D, src))
return FALSE
- to_chat(user, span_notice("You load \the [D] into \the [src]."))
+ balloon_alert(user, "[D.name] loaded")
syringes += D
recharge_newshot()
update_appearance()
playsound(loc, load_sound, 40)
return TRUE
else
- to_chat(user, span_warning("[src] cannot hold more syringes!"))
+ balloon_alert(user, "it's already full!")
return FALSE
/obj/item/gun/syringe/blowgun
diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm
index 512ec2ccaaa..77813c1e608 100644
--- a/code/modules/projectiles/pins.dm
+++ b/code/modules/projectiles/pins.dm
@@ -9,7 +9,7 @@
w_class = WEIGHT_CLASS_TINY
attack_verb_continuous = list("pokes")
attack_verb_simple = list("poke")
- var/fail_message = "INVALID USER."
+ var/fail_message = "invalid user!"
var/selfdestruct = FALSE // Explode when user check is failed.
var/force_replace = FALSE // Can forcefully replace other pins.
var/pin_removeable = FALSE // Can be replaced by any pin.
@@ -64,7 +64,7 @@
/obj/item/firing_pin/proc/auth_fail(mob/living/user)
if(user)
- user.show_message(fail_message, MSG_VISUAL)
+ balloon_alert(user, fail_message)
if(selfdestruct)
if(user)
user.show_message("[span_danger("SELF-DESTRUCTING...")]
", MSG_VISUAL)
@@ -83,7 +83,7 @@
/obj/item/firing_pin/test_range
name = "test-range firing pin"
desc = "This safety firing pin allows weapons to be fired within proximity to a firing range."
- fail_message = "TEST RANGE CHECK FAILED."
+ fail_message = "test range check failed!"
pin_removeable = TRUE
/obj/item/firing_pin/test_range/pin_auth(mob/living/user)
@@ -98,7 +98,7 @@
/obj/item/firing_pin/implant
name = "implant-keyed firing pin"
desc = "This is a security firing pin which only authorizes users who are implanted with a certain device."
- fail_message = "IMPLANT CHECK FAILED."
+ fail_message = "implant check failed!"
var/obj/item/implant/req_implant = null
/obj/item/firing_pin/implant/pin_auth(mob/living/user)
@@ -127,7 +127,7 @@
name = "hilarious firing pin"
desc = "Advanced clowntech that can convert any firearm into a far more useful object."
color = "#FFFF00"
- fail_message = "HONK!"
+ fail_message = "honk!"
force_replace = TRUE
/obj/item/firing_pin/clown/pin_auth(mob/living/user)
@@ -176,7 +176,7 @@
name = "DNA-keyed firing pin"
desc = "This is a DNA-locked firing pin which only authorizes one user. Attempt to fire once to DNA-link."
icon_state = "firing_pin_dna"
- fail_message = "DNA CHECK FAILED."
+ fail_message = "dna check failed!"
var/unique_enzymes = null
/obj/item/firing_pin/dna/afterattack(atom/target, mob/user, proximity_flag)
@@ -185,7 +185,7 @@
var/mob/living/carbon/M = target
if(M.dna && M.dna.unique_enzymes)
unique_enzymes = M.dna.unique_enzymes
- to_chat(user, span_notice("DNA-LOCK SET."))
+ balloon_alert(user, "dna lock set")
/obj/item/firing_pin/dna/pin_auth(mob/living/carbon/user)
if(user && user.dna && user.dna.unique_enzymes)
@@ -197,7 +197,7 @@
if(!unique_enzymes)
if(user && user.dna && user.dna.unique_enzymes)
unique_enzymes = user.dna.unique_enzymes
- to_chat(user, span_notice("DNA-LOCK SET."))
+ balloon_alert(user, "dna lock set")
else
..()
@@ -309,13 +309,12 @@
name = "outback firing pin"
desc = "A firing pin used by the austrailian defense force, retrofit to prevent weapon discharge on the station."
icon_state = "firing_pin_explorer"
- fail_message = "CANNOT FIRE WHILE ON STATION, MATE!"
+ fail_message = "cannot fire while on station, mate!"
// This checks that the user isn't on the station Z-level.
/obj/item/firing_pin/explorer/pin_auth(mob/living/user)
var/turf/station_check = get_turf(user)
if(!station_check||is_station_level(station_check.z))
- to_chat(user, span_warning("You cannot use your weapon while on the station!"))
return FALSE
return TRUE
@@ -323,7 +322,7 @@
/obj/item/firing_pin/tag
name = "laser tag firing pin"
desc = "A recreational firing pin, used in laser tag units to ensure users have their vests on."
- fail_message = "SUIT CHECK FAILED."
+ fail_message = "suit check failed!"
var/obj/item/clothing/suit/suit_requirement = null
var/tagcolor = ""
diff --git a/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm b/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
index 16558bc332e..bf1da8db916 100644
--- a/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
+++ b/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
@@ -266,7 +266,7 @@
return !user.contains(src)
/obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
- balloon_alert(user, "*click*")
+ balloon_alert_to_viewers(user, "*click*")
playsound(src, dry_fire_sound, 30, TRUE)
/obj/item/gun/proc/fire_sounds()
@@ -643,7 +643,7 @@
/obj/item/gun/proc/remove_bayonet(mob/living/user, obj/item/tool_item)
tool_item?.play_tool_sound(src)
- to_chat(user, span_notice("You unfix [bayonet] from [src]."))
+ balloon_alert(user, "[bayonet] removed")
bayonet.forceMove(drop_location())
if(Adjacent(user) && !issilicon(user))
diff --git a/modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm b/modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm
index 3c15a754296..39537dfa0fd 100644
--- a/modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm
+++ b/modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm
@@ -4,8 +4,7 @@ GLOBAL_VAR_INIT(permit_pin_unrestricted, FALSE)
name = "permit-locked firing pin"
desc = "A firing pin for a station who can't trust their crew. Only allows you to fire the weapon off-station or with a firearms permit.."
icon_state = "firing_pin_explorer"
- fail_message = "You must have a permit or be off-station to fire this!"
- can_remove = TRUE
+ fail_message = "firearms permit check failed!"
// This checks that the user isn't on the station Z-level.
/obj/item/firing_pin/permit_pin/pin_auth(mob/living/user)