Fixes the relation between rd guns and firing pins (#4159)

Fixes a lot of guns having no pings and just makes guns created by rd having no pin by default instead.
This commit is contained in:
Alberyk
2018-01-27 22:32:33 +02:00
committed by Erki
parent b72b16d989
commit d5a1e597d2
10 changed files with 26 additions and 36 deletions
+9 -12
View File
@@ -94,10 +94,10 @@
if(isnull(scoped_accuracy))
scoped_accuracy = accuracy
if (mapload && !pin && needspin)
if (!pin && needspin)
pin = /obj/item/device/firing_pin
if(pin && needspin)
pin = new pin(src)
@@ -488,9 +488,14 @@
/obj/item/weapon/gun/examine(mob/user)
..()
if(needspin)
if(pin)
to_chat(user, "\The [pin] is installed in the trigger mechanism.")
else
to_chat(user, "It doesn't have a firing pin installed, and won't fire.")
if(firemodes.len > 1)
var/datum/firemode/current_mode = firemodes[sel_mode]
user << "The fire selector is set to [current_mode.name]."
to_chat(user, "The fire selector is set to [current_mode.name].")
/obj/item/weapon/gun/proc/switch_firemodes()
if(firemodes.len <= 1)
@@ -639,14 +644,6 @@
mob_can_equip(M as mob, slot)
return 0
/obj/item/weapon/gun/examine(mob/user)
..()
if(needspin)
if(pin)
user << "There is a \[pin] in the trigger mechanism."
else
user << "It doesn't have a firing pin installed, and won't fire."
obj/item/weapon/gun/Destroy()
if (istype(pin))
@@ -65,7 +65,6 @@ obj/item/weapon/gun/energy/retro
charge_cost = 400
max_shots = 5
fire_delay = 20
pin = null
can_turret = 1
turret_sprite_set = "cannon"
@@ -87,7 +86,6 @@ obj/item/weapon/gun/energy/retro
charge_cost = 100
max_shots = 20
fire_delay = 1
pin = null
can_turret = 1
turret_sprite_set = "xray"
@@ -160,7 +158,6 @@ obj/item/weapon/gun/energy/retro
move_delay = 0
fire_delay = 2
dispersion = list(1.0, -1.0, 2.0, -2.0)
pin = null
can_turret = 1
turret_sprite_set = "laser"
@@ -14,7 +14,6 @@
var/message_enabled = 0 //If playing the message should be enabled
var/message_disable = 0 //If the loop should be stopped
var/default_desc = "A highly advanced firearm for the modern police force. It has multiple voice-activated firing modes."
pin = null
firemodes = list(
list(
@@ -13,6 +13,7 @@
zoomdevicename = null
max_shots = 0
burst_delay = 0
pin = null
var/origin_chassis
var/gun_type
var/list/gun_mods = list()
@@ -6,7 +6,6 @@
fire_sound = 'sound/weapons/Taser.ogg'
slot_flags = SLOT_BELT
max_shots = 10
pin = null
can_turret = 1
secondary_projectile_type = /obj/item/projectile/beam
secondary_fire_sound = 'sound/weapons/Laser.ogg'
@@ -39,7 +38,6 @@
force = 8 //looks heavier than a pistol
self_recharge = 1
modifystate = null
pin = null
reliability = 95
turret_sprite_set = "nuclear"
charge_failure_message = "'s charging socket was removed to make room for a minaturized reactor."
@@ -9,7 +9,6 @@
projectile_type = /obj/item/projectile/beam
sel_mode = 2
max_shots = 10
pin = null
can_turret = 1
secondary_projectile_type = /obj/item/projectile/beam/pulse
secondary_fire_sound = 'sound/weapons/pulse.ogg'
@@ -38,4 +37,3 @@
icon_state = "pulse_pistol"
item_state = "pulse_pistol"
max_shots = 5
pin = null
@@ -41,7 +41,6 @@
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_POWER = 3)
max_shots = 10
projectile_type = /obj/item/projectile/energy/declone
pin = null
/obj/item/weapon/gun/energy/floragun
name = "floral somatoray"
@@ -112,9 +111,8 @@
w_class = 3.0
origin_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4)
projectile_type = /obj/item/projectile/energy/phoron
pin = null
can_turret = 1
turret_is_lethal = 0
can_turret = 1
turret_is_lethal = 0
turret_sprite_set = "net"
/obj/item/weapon/gun/energy/beegun
@@ -135,7 +133,6 @@
move_delay = 3
fire_delay = 0
dispersion = list(0.0, 0.2, -0.2)
pin = null
/obj/item/weapon/gun/energy/mousegun
name = "\improper NT \"Arodentia\" Exterminator ray"
@@ -226,7 +223,6 @@
burst_delay = 1
fire_delay = 10
dispersion = list(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)
pin = null
firemodes = list(
list(mode_name="concentrated burst", burst=10, burst_delay = 1, fire_delay = 10, dispersion = list(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)),
@@ -289,7 +285,6 @@
burst = 1
burst_delay = 1
fire_delay = 0
pin = null
can_turret = 1
turret_sprite_set = "laser"
firemodes = list(
+1 -2
View File
@@ -31,7 +31,6 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
projectile_type = /obj/item/projectile/energy/electrode
max_shots = 8
pin = null
/obj/item/weapon/gun/energy/crossbow
@@ -69,4 +68,4 @@
item_state = "crossbow"
matter = list(DEFAULT_WALL_MATERIAL = 200000)
projectile_type = /obj/item/projectile/energy/bolt/large
@@ -12,7 +12,6 @@
multi_aim = 1
burst_delay = 2
sel_mode = 1
pin = null
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
@@ -322,7 +321,6 @@
allowed_magazines = list(/obj/item/ammo_magazine/trodpack)
auto_eject = 1
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
pin = null
firemodes = list(
list(mode_name="single coil", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),