Files
CHOMPStation2/code/modules/projectiles/guns/energy/stun.dm
Rykka 22c27abf06 Finishes Serdy's Gun PR stuff
Uzi uses new sprite + tilts now.
Sec pistols use new sprite
Energy Gun uses new sprite.
C20r uses new sprite.
L6 SAW uses new sprite.
Ion Rifle uses new sprite.
Z8 Bulldog uses new sprite.
WT-550 uses new sprite.

Resolves https://github.com/CHOMPStation2/CHOMPStation2/issues/3068

Serdy will add Stetchkin, PPK + PPK Light later.
2022-04-07 03:53:43 -06:00

217 lines
8.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* Taser
*/
/obj/item/weapon/gun/energy/taser
name = "taser gun"
desc = "The NT Mk30 NL is a small gun used for non-lethal takedowns. Produced by NT, it's actually a licensed version of a W-T RayZar design."
description_fluff = "RayZar is Ward-Takahashis main consumer weapons brand, known for producing and licensing a wide variety of specialist \
energy weapons of various types and quality primarily for the civilian market."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "taser"
item_state = null //so the human update icon uses the icon_state instead.
projectile_type = /obj/item/projectile/beam/stun
charge_cost = 480
/obj/item/weapon/gun/energy/taser/mounted
name = "mounted taser gun"
self_recharge = 1
use_external_power = 1
/obj/item/weapon/gun/energy/taser/mounted/augment
self_recharge = 1
use_external_power = 0
use_organic_power = TRUE
canremove = FALSE
/obj/item/weapon/gun/energy/taser/mounted/cyborg
name = "taser gun"
charge_cost = 160 //Chompedit: Reduced from 400 to 160 to match VR's, which we also use.
recharge_time = 5 //ChompEdit: reduced from 7 to 5, Time it takes for shots to recharge (in ticks)
/*
* Disabler
*/
/obj/item/weapon/gun/energy/taser/disabler
name = "disabler"
desc = "The NT Mk4 T-DL is a small gun used for non-lethal takedowns. Produced by NT, it's an archaic device which attacks the target's \
nervous-system and is actually a heavily modified version of the NT Mk30 NL. It's use is heavily regulated due to its effects on the body."
icon_state = "disabler"
projectile_type = /obj/item/projectile/beam/stun/disabler
charge_cost = 480
/*
* Crossbow
*/
/obj/item/weapon/gun/energy/crossbow
name = "mini energy-crossbow"
desc = "A weapon favored by many mercenary stealth specialists."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "crossbow"
w_class = ITEMSIZE_SMALL
item_state = "crossbow"
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2, TECH_ILLEGAL = 5)
matter = list(MAT_STEEL = 2000)
slot_flags = SLOT_BELT | SLOT_HOLSTER
silenced = 1
projectile_type = /obj/item/projectile/energy/bolt
charge_cost = 480
cell_type = /obj/item/weapon/cell/device/weapon/recharge
battery_lock = 1
charge_meter = 0
/obj/item/weapon/gun/energy/crossbow/ninja
name = "energy dart thrower"
projectile_type = /obj/item/projectile/energy/dart
/obj/item/weapon/gun/energy/crossbow/largecrossbow
name = "energy crossbow"
desc = "A weapon favored by mercenary infiltration teams."
icon_state = "crossbowlarge"
w_class = ITEMSIZE_LARGE
force = 10
matter = list(MAT_STEEL = 200000)
slot_flags = SLOT_BELT
projectile_type = /obj/item/projectile/energy/bolt/large
/*
* Plasma Stun
*/
/obj/item/weapon/gun/energy/plasmastun
name = "plasma pulse projector"
desc = "The RayZar MA21 Selkie is a weapon that uses a laser pulse to ionise the local atmosphere, creating a disorienting pulse of plasma and deafening shockwave as the wave expands."
description_fluff = "RayZar is Ward-Takahashis main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market. \
Less well known are RayZar's limited-production experimental projects, often in the form of less-lethal weapon solutions."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "plasma_stun"
item_state = "plasma_stun"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_POWER = 3)
fire_delay = 20
charge_cost = 600
projectile_type = /obj/item/projectile/energy/plasmastun
/*
* Stun Revolver
*/
/obj/item/weapon/gun/energy/stunrevolver
name = "stun revolver"
desc = "A LAEP20 \"Aktzin\". Designed and produced by Lawson Arms under the wing of Hephaestus, \
several TSCs have been trying to get a hold of the blueprints for half a decade."
description_fluff = "Lawson Arms is Hephaestus Industries main personal-energy-weapon branding, \
often sold alongside MarsTech projectile weapons to security and law enforcement agencies. \
The Aktzin's capsule-based stun ammunition is a closely guarded Hephaestus Industries patent, \
and the company has been particularly litigious towards any attempted imitators."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "stunrevolver"
item_state = "stunrevolver"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
projectile_type = /obj/item/projectile/energy/electrode/strong
charge_cost = 400
/*
* Detective Stun Revolver
*/
/obj/item/weapon/gun/energy/stunrevolver/detective
desc = "A LAEP20 \"Aktzin\". Designed and produced by Lawson Arms under the wing of Hephaestus, \
several TSCs have been trying to get a hold of the blueprints for half a decade."
var/unique_reskin
/obj/item/weapon/gun/energy/stunrevolver/detective/update_icon(var/ignore_inhands)
if(power_supply == null)
if(unique_reskin)
icon_state = "[unique_reskin]_open"
else
icon_state = "[initial(icon_state)]_open"
return
else if(charge_meter)
var/ratio = power_supply.charge / power_supply.maxcharge
//make sure that rounding down will not give us the empty state even if we have charge for a shot left.
if(power_supply.charge < charge_cost)
ratio = 0
else
ratio = max(round(ratio, 0.25) * 100, 25)
if(unique_reskin)
icon_state = "[unique_reskin][ratio]"
else
icon_state = "[initial(icon_state)][ratio]"
else if(power_supply)
if(unique_reskin)
icon_state = "[unique_reskin]"
else
icon_state = "[initial(icon_state)]"
if(!ignore_inhands) update_held_icon()
/obj/item/weapon/gun/energy/stunrevolver/detective/verb/rename_gun()
set name = "Name Gun"
set category = "Object"
set desc = "Rename your gun. If you're Security."
var/mob/M = usr
if(!M.mind) return 0
var/job = M.mind.assigned_role
if(job != "Detective" && job != "Security Officer" && job != "Warden" && job != "Head of Security")
to_chat(M, "<span class='notice'>You don't feel cool enough to name this gun, chump.</span>")
return 0
var/input = sanitizeSafe(input("What do you want to name the gun?", ,""), MAX_NAME_LEN)
if(src && input && !M.stat && in_range(M,src))
name = input
to_chat(M, "You name the gun [input]. Say hello to your new friend.")
return 1
/obj/item/weapon/gun/energy/stunrevolver/detective/verb/reskin_gun()
set name = "Resprite gun"
set category = "Object"
set desc = "Click to choose a sprite for your gun."
var/mob/M = usr
var/list/options = list()
options["Lawson Arms LAEP20"] = "stunrevolver"
options["Lawson Arms LTX1020"] = "vinstunrevolver"
options["Lawson Arms LTX1010"] = "snubstun2revolver"
options["Lawson Arms LTX1020 (Blued)"] = "bluedstunrevolver"
options["Lawson Arms LTX1020 (Stainless)"] = "stainstunrevolver"
options["Lawson Arms LTX1020 (Ace)"] = "snubstunrevolver"
options["Lawson Arms LTX1020 (Gold)"] = "goldstunrevolver"
var/choice = input(M,"Choose your sprite!","Resprite Gun") in options
if(src && choice && !M.stat && in_range(M,src))
icon_state = options[choice]
unique_reskin = options[choice]
to_chat(M, "Your gun is now sprited as [choice]. Say hello to your new friend.")
return 1
/*
* Vintage Stun Revolver
*/
/obj/item/weapon/gun/energy/stunrevolver/vintage
name = "vintage stun revolver"
desc = "An older model stun revolver that is still in service across the frontier."
description_fluff = "The LTX1020 \"Bolter\", a Firefly Co. staple from when the company was in its hayday. \
While Firefly Co. has sadly been dissmantled due to bankruptcy, their iconic weapons can still be found \
across the frontier as anything from collectors items to surplus equipment. The LTX1020 falls under \
the latter category. Several companies have been known to use the base tech within the Bolter to create \
their own variants of the Stun Revolver."
icon_state = "vinstunrevolver"
item_state = "stunrevolver"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
/*
* Snubnose Stun Revolver
*/
/obj/item/weapon/gun/energy/stunrevolver/snubnose
name = "snub stun revolver"
desc = "A snub nose stun revolver sporting a rather elegant look."
description_fluff = "The LTX1010 \"Stubby\", a Firefly Co. staple from when the company was in its hayday. \
While Firefly Co. has sadly been dissmantled due to bankruptcy, their iconic weapons can still be found \
across the frontier as anything from collectors items to surplus equipment. The LTX1010 falls under \
the latter category. Gangsters and other gentlemanly criminals alike use the Stubby as a means of policing \
within their ranks. Hard to argue with the boss with 12000 volts shooting through you."
icon_state = "snubstunrevolver"
item_state = "stunrevolver"
w_class = ITEMSIZE_SMALL //small pistol is small
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)