mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-04 06:22:14 +00:00
I'm going full steam ahead with this. Adds firing pins/ Authentication mechanisms. these are needed to fire any specific weapon. Weapons generally spawn with firing pins in them. or at least should. The exception to this is anything made in R&D - which needs to secure a firing pin from somewhere. There's currently the following firing pins: One that checks for a specific implant, EG a loyalty implant one. One that always fails, and can replace other pins. (this one would likely be admin only. it's clown themed) The Laser tag code got refactored to the pins. so each gun has a different pin. if you somehow got this pin, you could make it so you could only shoot a gun while wearing a laser tag vest, for example. A Testing range pin, which only allows firing in specific areas - of which are mapped in currently. A DNA locked one. and a subtype which will explode if someone else tries to use it. the system's designed to be easy enough to add on to. Feedback fourm is here:
206 lines
6.7 KiB
Plaintext
206 lines
6.7 KiB
Plaintext
/obj/item/weapon/gun/energy/laser
|
|
name = "laser carbine"
|
|
desc = "An Hephaestus Industries G40E carbine, designed to kill with concentrated energy blasts."
|
|
icon_state = "laser"
|
|
item_state = "laser"
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_BACK
|
|
w_class = 3
|
|
force = 10
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
|
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
|
projectile_type = /obj/item/projectile/beam/midlaser
|
|
can_turret = 1
|
|
turret_sprite_set = "laser"
|
|
|
|
/obj/item/weapon/gun/energy/laser/mounted
|
|
name = "mounted laser carbine"
|
|
self_recharge = 1
|
|
use_external_power = 1
|
|
can_turret = 0
|
|
|
|
/obj/item/weapon/gun/energy/laser/practice
|
|
name = "practice laser carbine"
|
|
desc = "A modified version of the HI G40E, this one fires less concentrated energy bolts designed for target practice."
|
|
projectile_type = /obj/item/projectile/beam/practice
|
|
|
|
obj/item/weapon/gun/energy/retro
|
|
name = "retro laser"
|
|
icon_state = "retro"
|
|
item_state = "retro"
|
|
desc = "An older model of the basic lasergun. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws."
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
slot_flags = SLOT_BELT
|
|
w_class = 3
|
|
projectile_type = /obj/item/projectile/beam
|
|
fire_delay = 10 //old technology
|
|
can_turret = 1
|
|
turret_sprite_set = "retro"
|
|
|
|
/obj/item/weapon/gun/energy/captain
|
|
name = "antique laser gun"
|
|
icon_state = "caplaser"
|
|
item_state = "caplaser"
|
|
desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Baystation 12. The station is exploding."
|
|
force = 5
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
slot_flags = SLOT_BELT
|
|
w_class = 3
|
|
projectile_type = /obj/item/projectile/beam
|
|
origin_tech = null
|
|
max_shots = 5 //to compensate a bit for self-recharging
|
|
self_recharge = 1
|
|
can_turret = 1
|
|
turret_sprite_set = "captain"
|
|
|
|
/obj/item/weapon/gun/energy/lasercannon
|
|
name = "laser cannon"
|
|
desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
|
|
icon_state = "lasercannon"
|
|
item_state = null
|
|
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3)
|
|
slot_flags = SLOT_BELT|SLOT_BACK
|
|
projectile_type = /obj/item/projectile/beam/heavylaser
|
|
charge_cost = 400
|
|
max_shots = 5
|
|
fire_delay = 20
|
|
pin = null
|
|
can_turret = 1
|
|
turret_sprite_set = "cannon"
|
|
|
|
/obj/item/weapon/gun/energy/lasercannon/mounted
|
|
name = "mounted laser cannon"
|
|
self_recharge = 1
|
|
use_external_power = 1
|
|
recharge_time = 10
|
|
can_turret = 0
|
|
|
|
/obj/item/weapon/gun/energy/xray
|
|
name = "xray laser gun"
|
|
desc = "A high-power laser gun capable of expelling concentrated xray blasts."
|
|
icon_state = "xray"
|
|
item_state = "xray"
|
|
fire_sound = 'sound/weapons/laser3.ogg'
|
|
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
|
projectile_type = /obj/item/projectile/beam/xray
|
|
charge_cost = 100
|
|
max_shots = 20
|
|
fire_delay = 1
|
|
pin = null
|
|
can_turret = 1
|
|
turret_sprite_set = "xray"
|
|
|
|
/obj/item/weapon/gun/energy/xray/mounted
|
|
name = "mounted xray laser gun"
|
|
charge_cost = 200
|
|
self_recharge = 1
|
|
use_external_power = 1
|
|
recharge_time = 5
|
|
can_turret = 0
|
|
|
|
/obj/item/weapon/gun/energy/sniperrifle
|
|
name = "marksman energy rifle"
|
|
desc = "The HI L.W.A.P. is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful ionized beams, this is a weapon to kill from a distance."
|
|
icon_state = "sniper"
|
|
item_state = "sniper"
|
|
fire_sound = 'sound/weapons/marauder.ogg'
|
|
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4)
|
|
projectile_type = /obj/item/projectile/beam/sniper
|
|
slot_flags = SLOT_BACK
|
|
charge_cost = 400
|
|
max_shots = 4
|
|
fire_delay = 45
|
|
force = 10
|
|
w_class = 4
|
|
accuracy = -5 //shooting at the hip
|
|
scoped_accuracy = 0
|
|
can_turret = 1
|
|
turret_sprite_set = "sniper"
|
|
|
|
fire_delay_wielded = 35
|
|
accuracy_wielded = -3
|
|
|
|
//action button for wielding
|
|
action_button_name = "Wield rifle"
|
|
|
|
/obj/item/weapon/gun/energy/sniperrifle/can_wield()
|
|
return 1
|
|
|
|
/obj/item/weapon/gun/energy/sniperrifle/ui_action_click()
|
|
if(src in usr)
|
|
toggle_wield(usr)
|
|
|
|
/obj/item/weapon/gun/energy/sniperrifle/verb/scope()
|
|
set category = "Object"
|
|
set name = "Use Scope"
|
|
set popup_menu = 1
|
|
|
|
if(wielded)
|
|
toggle_scope(2.0, usr)
|
|
else
|
|
usr << "<span class='warning'>You can't look through the scope without stabilizing the rifle!</span>"
|
|
|
|
/obj/item/weapon/gun/energy/laser/shotgun
|
|
name = "quad-beam laser"
|
|
desc = "A modified laser weapon, designed to split a single beam four times."
|
|
icon_state = "oldenergykill"
|
|
item_state = "energykill"
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_BACK
|
|
w_class = 3
|
|
force = 10
|
|
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2)
|
|
projectile_type = /obj/item/projectile/beam/shotgun
|
|
max_shots = 12
|
|
sel_mode = 1
|
|
burst = 4
|
|
burst_delay = 0
|
|
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"
|
|
|
|
////////Laser Tag////////////////////
|
|
|
|
/obj/item/weapon/gun/energy/lasertag
|
|
name = "laser tag gun"
|
|
item_state = "laser"
|
|
desc = "Standard issue weapon of the Imperial Guard"
|
|
origin_tech = list(TECH_COMBAT = 1, TECH_MAGNET = 2)
|
|
self_recharge = 1
|
|
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
projectile_type = /obj/item/projectile/beam/lastertag/blue
|
|
var/required_vest
|
|
|
|
/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M)
|
|
if(ishuman(M))
|
|
if(!istype(M.wear_suit, required_vest))
|
|
M << "<span class='warning'>You need to be wearing your laser tag vest!</span>"
|
|
return 0
|
|
return ..()
|
|
|
|
/obj/item/weapon/gun/energy/lasertag/blue
|
|
icon_state = "bluetag"
|
|
item_state = "bluetag"
|
|
projectile_type = /obj/item/projectile/beam/lastertag/blue
|
|
required_vest = /obj/item/clothing/suit/bluetag
|
|
pin = /obj/item/device/firing_pin/tag/blue
|
|
can_turret = 1
|
|
turret_is_lethal = 0
|
|
turret_sprite_set = "blue"
|
|
|
|
/obj/item/weapon/gun/energy/lasertag/red
|
|
icon_state = "redtag"
|
|
item_state = "redtag"
|
|
projectile_type = /obj/item/projectile/beam/lastertag/red
|
|
required_vest = /obj/item/clothing/suit/redtag
|
|
pin = /obj/item/device/firing_pin/tag/red
|
|
can_turret = 1
|
|
turret_is_lethal = 0
|
|
turret_sprite_set = "red"
|