diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 17b68f1d4e..8f1c01be21 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -103,8 +103,6 @@
var/flight_x_offset = 0
var/flight_y_offset = 0
- var/obj/item/firing_pin/pin = /obj/item/firing_pin // YWStation add - Standard firing pin for most guns
-
/obj/item/weapon/gun/CtrlClick(mob/user)
if(can_flashlight && ishuman(user) && src.loc == usr && !user.incapacitated(INCAPACITATION_ALL))
toggle_flashlight()
@@ -125,11 +123,6 @@
/obj/item/weapon/gun/New()
..()
- // YWStation Add
- if(pin)
- pin = new pin(src)
- // YWStation Add End
-
for(var/i in 1 to firemodes.len)
firemodes[i] = new /datum/firemode(src, firemodes[i])
@@ -237,11 +230,8 @@
return
else
- if(user.get_active_hand().can_trigger_gun(user))
- Fire(A, user, params) //Otherwise, fire normally.
- return
- else
- return
+ Fire(A, user, params) //Otherwise, fire normally.
+ return
/* //Commented out for quality control and testing
if(automatic == 1)//Are we are going to be using automatic shooting
@@ -263,10 +253,6 @@
/obj/item/weapon/gun/attack(atom/A, mob/living/user, def_zone)
if (A == user && user.zone_sel.selecting == O_MOUTH && !mouthshoot)
- if(istype(user))
- var/mob/living/L = user
- if(!can_trigger_gun(L))
- return
handle_suicide(user)
else if(user.a_intent == I_HURT) //point blank shooting
if(user && user.client && user.aiming && user.aiming.active && user.aiming.aiming_at != A && A != user)
@@ -750,18 +736,9 @@
/obj/item/weapon/gun/examine(mob/user)
. = ..()
-// YWStation Add
- var/msg = ""
- if(pin)
- msg += "It has \a [pin] installed.\n"
- msg += "[pin] looks like it could be removed with some tools.\n"
- else
- msg += "It doesn't have a firing pin installed, and won't fire.\n"
if(firemodes.len > 1)
var/datum/firemode/current_mode = firemodes[sel_mode]
- msg += "The fire selector is set to [current_mode.name]."
- to_chat(user, msg)
-// YWStation Add End
+ to_chat(user, "The fire selector is set to [current_mode.name].")
/obj/item/weapon/gun/proc/switch_firemodes(mob/user)
if(firemodes.len <= 1)
@@ -778,23 +755,3 @@
/obj/item/weapon/gun/attack_self(mob/user)
switch_firemodes(user)
-
-// YWStation Add
-
-/obj/item/weapon/gun/proc/can_trigger_gun(mob/user)
- . = ..()
- if(!handle_pins(user))
- return FALSE
-
-/obj/item/weapon/gun/proc/handle_pins(mob/user)
- if(pin)
- if(pin.pin_auth(user) || pin.emagged)
- return TRUE
- else
- pin.auth_fail(user)
- return FALSE
- else
- to_chat(user, "[src]'s trigger is locked. This weapon doesn't have a firing pin installed!")
- return FALSE
-
-// YWStation Add End
\ No newline at end of file
diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm
deleted file mode 100644
index 56438df950..0000000000
--- a/code/modules/projectiles/pins.dm
+++ /dev/null
@@ -1,232 +0,0 @@
-/************************/
-/* Firing Pin Def */
-/************************/
-
-/obj/item/firing_pin
- name = "electronic firing pin"
- desc = "A small authentication device, to be inserted into a firearm receiver to allow operation."
- icon = 'icons/obj/device.dmi'
- icon_state = "firing_pin"
- item_state = "pen"
- attack_verb = list("poked")
- var/fail_message = "INVALID USER."
- var/selfdestruct = 0 // Explode when user check is failed.
- var/force_replace = 0 // Can forcefully replace other pins.
- var/pin_removeable = 0 // Can be replaced by any pin.
- var/obj/item/weapon/gun/gun
- var/emagged = 0
-
-/obj/item/firing_pin/New(newloc)
- ..()
- if(istype(newloc, /obj/item/weapon/gun))
- gun = newloc
-
-/obj/item/firing_pin/afterattack(atom/target, mob/user, adjacent, params)
- . = ..()
- if(adjacent)
- if(istype(target, /obj/item/weapon/gun))
- var/obj/item/weapon/gun/G = target
- var/obj/item/firing_pin/old_pin = G.pin
- if(old_pin && (force_replace || old_pin.pin_removeable))
- to_chat(user, "You remove [old_pin] from [G].")
- if(Adjacent(user))
- user.put_in_hands(old_pin)
- else
- old_pin.forceMove(G.drop_location())
- old_pin.gun_remove(user)
-
- if(!G.pin)
- gun_insert(user, G)
- to_chat(user, "You insert [src] into [G].")
- else
- to_chat(user, "This firearm already has a firing pin installed.")
-
-/obj/item/firing_pin/emag_act(var/remaining_charges, var/mob/user)
- if(emagged)
- return
- emagged = !emagged
- to_chat(user, "You override the authentication mechanism.")
-
-/obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/weapon/gun/G)
- gun = G
- forceMove(gun)
- gun.pin = src
- return
-
-/obj/item/firing_pin/proc/gun_remove(mob/living/user)
- gun.pin = null
- gun = null
- return
-
-/obj/item/firing_pin/proc/pin_auth(mob/living/user)
- return TRUE
-
-/obj/item/firing_pin/proc/auth_fail(mob/living/user)
- if(user)
- user.show_message(fail_message, 2)
- if(selfdestruct)
- if(user)
- user.show_message("SELF-DESTRUCTING...")
- to_chat(user, "[gun] explodes!")
- explosion(get_turf(gun), -1, 0, 2, 3)
- if(gun)
- qdel(gun)
-
-/*********************/
-/* Firing Pins */
-/*********************/
-
-// Magic weapon pin
-/obj/item/firing_pin/magic
- name = "magic crystal shard"
- desc = "A small enchanted shard which allows magical weapons to fire."
-
-
-// Test pin, works only near firing range.
-/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."
- pin_removeable = TRUE
-
-/obj/item/firing_pin/test_range/pin_auth(mob/living/user)
- if(!istype(user))
- return FALSE
- for(var/obj/machinery/magnetic_controller/M in range(user, 3))
- return TRUE
- return FALSE
-
-/**********************************************************************/
-/* Temporarily removed, as I have no clue how med systems work! -Gear */
-/**********************************************************************/
-/*
-// Implant pin, checks for implant
-/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."
- var/obj/item/implant/req_implant = null
-
-obj/item/firing_pin/implant/pin_auth(mob/living/user)
- if(user)
- for(var/obj/item/organ/external/E in user.organs)
- for(var/obj/item/weapon/implant/I in E.implants)
- if(req_implant && I.type == req_implant)
- return TRUE
- return FALSE
-
- // Loyalty implant
-/obj/item/firing_pin/implant/loyalty
- name = "loyalty firing pin"
- desc = "This Security firing pin authorizes the weapon for only loyalty-implanted users."
- icon_state = "firing_pin_loyalty"
- req_implant = /obj/item/weapon/implant/loyalty
-*/
-
-// Honk pin, clown's joke item.
-// Can replace other pins. Replace a pin in cap's laser for extra fun!
-// Left in for my own peace of mind. -Gear
-/obj/item/firing_pin/clown
- name = "hilarious firing pin"
- desc = "Adcanced clowntech that can convert any firearm into a far more useful object."
- color = "#FFFF00"
- fail_message = "HONK!"
- force_replace = TRUE
-
-/obj/item/firing_pin/clown/pin_auth(mob/living/user)
- playsound(src, 'sound/items/bikehorn.ogg', 50, TRUE)
- return FALSE // :^)
-
-
-/**********************************************************************/
-/* Temporarily removed, as I have no clue how med systems work! -Gear */
-/**********************************************************************/
-/*
-// DNA-keyed pin.
-// When you want to keep your toys for yourself.
-/obj/item/firing_pin/dna
- 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."
- var/unique_enzymes = null
-
-/obj/item/firing_pin/dna/afterattack(atom/target, mob/user, proximity_flag)
- . = ..()
- if(proximity_flag && iscarbon(target))
- var/mob/living/carbon/M = target
- if(M.dna && M.dna.unique_enzymes)
- unique_enzymes = M.dna.unique_enzymes
- to_chat(user, "DNA-LOCK SET.")
-
-/obj/item/firing_pin/dna/pin_auth(mob/living/carbon/user)
- if(user && user.dna && user.dna.unique_enzymes)
- if(user.dna.unique_enzymes == unique_enzymes)
- return TRUE
- return FALSE
-
-/obj/item/firing_pin/dna/auth_fail(mob/living/carbon/user)
- if(!unique_enzymes)
- if(user && user.dna && user.dna.unique_enzymes)
- unique_enzymes = user.dna.unique_enzymes
- to_chat(user, "DNA-LOCK SET.")
- else
- ..()
-
-/obj/item/firing_pin/dna/dredd
- desc = "This is a DNA-locked firing pin which only authorizes one user. Attempt to fire once to DNA-link. It has a small explosive charge on it."
- selfdestruct = TRUE
-*/
-
-
-// // Explorer firing pin
-// // Usage restricted to off station Z-level
-// /obj/item/firing_pin/explorer
-// name = "outback firing pin"
-// desc = "A firing pin used by the australian defense force, retrofit to prevent weapon discharge on the station."
-// icon_state = "firing_pin_explorer"
-// fail_message = "CANNOT FIRE WHILE ON STATION, MATE!"
-
-// // Checks that the user isn't on 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, "You cannot use your weapon while on the station!")
-// return FALSE
-// return TRUE
-
-
-// Laser tag pins
-/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."
- var/obj/item/clothing/suit/suit_requirement = null
- var/tagcolor = ""
-
-/obj/item/firing_pin/tag/pin_auth(mob/living/user)
- if(ishuman(user))
- var/mob/living/carbon/human/M = user
- if(istype(M.wear_suit, suit_requirement))
- return TRUE
- to_chat(user, "You need to be wearing [tagcolor] laser tag armor!")
- return FALSE
-
- // Red laser tag firing pin
-/obj/item/firing_pin/tag/red
- name = "red laser tag firing pin"
- icon_state = "firing_pin_red"
- suit_requirement = /obj/item/clothing/suit/redtag
- tagcolor = "red"
-
- // Blue laser tag firing pin
-/obj/item/firing_pin/tag/blue
- name = "blue laser tag firing pin"
- icon_state = "firing_pin_blue"
- suit_requirement = /obj/item/clothing/suit/bluetag
- tagcolor = "blue"
-
-/obj/item/firing_pin/Destroy()
- if(gun)
- gun.pin = null
- return ..()
\ No newline at end of file
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index fc15f5e24b..6fd1a8d0d3 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 9e431e3f7b..8f722b5bb3 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2979,7 +2979,6 @@
#include "code\modules\projectiles\ammunition.dm"
#include "code\modules\projectiles\dnalocking.dm"
#include "code\modules\projectiles\gun.dm"
-#include "code\modules\projectiles\pins.dm"
#include "code\modules\projectiles\projectile.dm"
#include "code\modules\projectiles\ammunition\boxes_yw.dm"
#include "code\modules\projectiles\ammunition\magazines.dm"