Merge branch 'master' into upstream-merge-8298

This commit is contained in:
Novacat
2022-03-22 08:53:45 -04:00
committed by GitHub
218 changed files with 4106 additions and 853 deletions
@@ -40,6 +40,7 @@
name = "\improper Donk-Soft riot ammo box"
desc = "Contains Donk-Soft riot darts. It's Donk or Don't! Ages 18 and up."
icon_state = "foambox_riot"
ammo_type = /obj/item/ammo_casing/afoam_dart/riot
matter = list(MAT_STEEL = 5040, MAT_PLASTIC = 1800)
/*
@@ -583,6 +583,10 @@
/obj/item/ammo_magazine/m44/empty
initial_ammo = 0
/obj/item/ammo_magazine/m44/rubber
desc = "magazine (.44 rubber)"
ammo_type = /obj/item/ammo_casing/a44/rubber
// Stripper Clip
/obj/item/ammo_magazine/clip/c44
name = "ammo clip (.44)"
@@ -738,27 +742,25 @@
// Clip
/obj/item/ammo_magazine/clip/c12g
name = "ammo clip (12g slug)"
icon_state = "12gclipslug" // Still a placeholder sprite. Feel free to make a better one.
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with slugs."
icon_state = "12gclipslug"
desc = "A metal clip for holding and quickly loading two shotgun shells."
caliber = "12g"
ammo_type = /obj/item/ammo_casing/a12g
matter = list(MAT_STEEL = 1070) // slugs shells x2 + 350 metal for the clip itself.
matter = list(MAT_STEEL = 1070)
max_ammo = 2
multiple_sprites = 1
/obj/item/ammo_magazine/clip/c12g/pellet
name = "ammo clip (12g buckshot)"
icon_state = "12gclipshell"
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with buckshot."
ammo_type = /obj/item/ammo_casing/a12g/pellet
matter = list(MAT_STEEL = 1070) // buckshot and slugs cost the same
matter = list(MAT_STEEL = 1070)
/obj/item/ammo_magazine/clip/c12g/beanbag
name = "ammo clip (12g beanbag)"
icon_state = "12gclipbean"
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with beanbags."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
matter = list(MAT_STEEL = 710) //beanbags x2 + 350 metal
matter = list(MAT_STEEL = 710)
///////// .75 Gyrojet /////////
@@ -36,6 +36,7 @@
/obj/item/ammo_casing/afoam_dart/riot
name = "riot foam dart"
desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up."
projectile_type = /obj/item/projectile/bullet/foam_dart_riot
matter = list(MAT_STEEL = 210, MAT_PLASTIC = 60)
icon_state = "foamdart_riot"
@@ -55,6 +56,25 @@
matter = list(MAT_PLASTIC = 20)
caseless = TRUE
/obj/item/ammo_casing/a357/rubber
desc = "A .357 rubber bullet casing."
caliber = ".357"
icon_state = "r-casing"
projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong
matter = list(MAT_STEEL = 60)
/obj/item/ammo_casing/a357/flash
desc = "A .357 flash bullet casing."
caliber = ".357"
icon_state = "r-casing"
projectile_type = /obj/item/projectile/energy/flash/strong
/obj/item/ammo_casing/a357/stun
desc = "A .357 stun bullet casing."
caliber = ".357"
icon_state = "w-casing"
projectile_type = /obj/item/projectile/energy/electrode/stunshot/strong
/*
* .38
*/
+110 -11
View File
@@ -1,7 +1,11 @@
/*
* 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."
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_state = "taser"
item_state = null //so the human update icon uses the icon_state instead.
projectile_type = /obj/item/projectile/beam/stun
@@ -23,13 +27,20 @@
charge_cost = 400
recharge_time = 7 //Time it takes for shots to recharge (in ticks)
/obj/item/weapon/gun/energy/taser/mounted/cyborg/swarm
/*
* Disabler
*/
/obj/item/weapon/gun/energy/taser/disabler
name = "disabler"
desc = "An archaic device which attacks the target's nervous-system or control circuits."
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 = 800
recharge_time = 0.5 SECONDS
charge_cost = 480
/*
* Crossbow
*/
/obj/item/weapon/gun/energy/crossbow
name = "mini energy-crossbow"
desc = "A weapon favored by many mercenary stealth specialists."
@@ -53,12 +64,16 @@
/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."
@@ -71,11 +86,12 @@
charge_cost = 600
projectile_type = /obj/item/projectile/energy/plasmastun
//Stun Revolvers
/*
* 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, \
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. \
@@ -85,12 +101,92 @@
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 = 300
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. \
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 \
@@ -99,10 +195,13 @@
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. \
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 \
@@ -289,13 +289,18 @@
return
..()
/*
* Automatic Shotgun
*/
/obj/item/weapon/gun/projectile/automatic/as24
name = "automatic shotgun"
desc = "The AS-24 is a rugged looking automatic shotgun produced exclusively for the SCG Fleet by Hephaestus Industries. For very obvious reasons, it's illegal to own in many juristictions. Uses 12g rounds."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space."
desc = "The AS-24 is a rugged looking automatic shotgun produced exclusively for the SCG Fleet by Hephaestus \
Industries. For very obvious reasons, it's illegal to own in many juristictions. Uses 12g rounds."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' \
branding for its military-grade equipment used by professional armed forces across human space."
icon_state = "ashot"
item_state = null
wielded_item_state = "woodarifle-wielded" //Placeholder
item_state = "ashot"
wielded_item_state = "ashot-wielded"
w_class = ITEMSIZE_LARGE
force = 10
caliber = "12g"
@@ -311,7 +316,6 @@
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0),
list(mode_name="3-round bursts", burst=3, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.0, 0.6, 0.6))
// list(mode_name="6-round bursts", burst=6, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30, -30), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)),
)
/obj/item/weapon/gun/projectile/automatic/as24/update_icon()
@@ -1,13 +1,20 @@
// For all intents and purposes, these work exactly the same as pump shotguns. It's unnecessary to make their own procs for them.
////////Base Rifle////////
/*
* Bolt-Action Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle
name = "bolt-action rifle"
desc = "The Hedberg-Hammarstrom Volsung is a modern interpretation of an almost ancient weapon design. The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
item_state = "boltaction"
desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \
The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, \
the Weissen Arms Company are the leading manufacturer of - not only quality - \
but affordable rifles for the average frontiersman looking to protect his \
claim. The company operates just one production plant in the Mytis system, \
but their weapons have found popularity on garden worlds as far afield as \
the Tajaran homeworld due to their excellent build quality, precision, and \
stopping power. Thier bolt-action rifles and brushguns are a staple amongst \
the rural communities that dot this infinite frontier."
icon_state = "boltaction"
item_state = "boltaction"
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5
caliber = "7.62mm"
@@ -17,24 +24,53 @@
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = "boltaction-cycling"
////////Practice Rifle////////
/*
* Practice Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice // For target practice
name = "practice bolt-action rifle"
icon_state = "boltaction_practice"
desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. Comes shipped with practice rounds pre-loaded into the gun. Popular among professional marksmen. Uses 7.62mm rounds."
desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. \
Comes shipped with practice rounds pre-loaded into the gun. Popular among professional marksmen. Uses 7.62mm rounds."
ammo_type = /obj/item/ammo_casing/a762/practice
pump_animation = "boltaction_practice-cycling"
max_shells = 4
////////Ceremonial Rifle////////
/*
* Moist Nugget
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/moistnugget
name = "mosin-nagant"
icon_state = "moistnugget"
item_state = "rifle"
desc = "Developed from 1882 to 1891, it was used by the armed forces of the Russian Empire, the Soviet \
Union and various other nations. It is one of the most mass-produced military bolt-action rifles in history. Uses 7.62mm rounds."
description_fluff = "Hailing from the Human homeworld, the M1891, otherwise known as the Mosin-Nagant is one of the most \
prevalant and cheapest rifles of its time. This modern remake of the classic design was used by early colonists of the \
Commonwealth to stake claims. It was favored because of how cheap and easy the weapon was to manufacture as well as its \
ease of use making it a better choice for those that didn't have proper firearms training."
ammo_type = /obj/item/ammo_casing/a762
pump_animation = "moistnugget-cycling"
/*
* Ceremonial Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
name = "ceremonial bolt-action rifle"
desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. Clearly not intended to be used in combat. Uses 7.62mm rounds."
item_state = "boltaction_c"
desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. \
Clearly not intended to be used in combat. Uses 7.62mm rounds."
item_state = "ceremonial_rifle"
icon_state = "ceremonial_rifle"
ammo_type = /obj/item/ammo_casing/a762/blank
pump_animation = "ceremonial_rifle-cycling"
max_shells = 5
var/sawn_off = FALSE
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial/attackby(var/obj/item/A as obj, mob/user as mob)
if(sawn_off)
to_chat(user, "<span class='warning'>The [src] is already shortened!</span>")
return
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL)
to_chat(user, "<span class='notice'>You begin to shorten the barrel and stock of \the [src].</span>")
if(loaded.len)
@@ -43,39 +79,72 @@
user.visible_message("<span class='danger'>[src] goes off!</span>", "<span class='danger'>The rifle goes off in your face!</span>")
return
if(do_after(user, 30))
if(sawn_off)
return
icon_state = "sawn_rifle"
w_class = ITEMSIZE_NORMAL
recoil = 2 // Owch
accuracy = -15 // You know damn well why.
item_state = "gun"
slot_flags &= ~SLOT_BACK //you can't sling it on your back
slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
slot_flags &= ~SLOT_BACK // You can't sling it on your back
slot_flags |= (SLOT_BELT|SLOT_HOLSTER) // But you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
name = "sawn-off rifle"
desc = "The firepower of a rifle, now the size of a pistol, with an effective combat range of about three feet. Uses 7.62mm rounds."
pump_animation = "sawn_rifle-cycling"
to_chat(user, "<span class='warning'>You shorten the barrel and stock of \the [src]!</span>")
sawn_off = TRUE
else
..()
//Lever actions are the same thing, but bigger.
/*
* Surplus Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/surplus
name = "surplus rifle"
desc = "An ancient weapon from an era long past, crude in design, but still just as effective \
as any modern interpretation. Uses 7.62mm rounds."
icon_state = "surplus"
item_state = "rifle"
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 4
slot_flags = null
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1) // Old(er) as shit rifle doesn't have very good tech.
ammo_type = /obj/item/ammo_casing/a762
load_method = SINGLE_CASING|SPEEDLOADER
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = "surplus-cycling"
////////Standard Lever Action Rifle////////
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
name = "lever-action rifle"
desc = "The Hedberg-Hammarstrom Edda is the latest version of an almost ancient weapon design from the 19th century, popular with some due to its simplistic design. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
item_state = "leveraction"
icon_state = "leveraction"
/*
* Scoped Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/scoped
name = "scoped bolt-action rifle"
desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \
The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, \
the Weissen Arms Company are the leading manufacturer of - not only quality - \
but affordable rifles for the average frontiersman looking to protect his \
claim. The company operates just one production plant in the Mytis system, \
but their weapons have found popularity on garden worlds as far afield as \
the Tajaran homeworld due to their excellent build quality, precision, and \
stopping power. Thier bolt-action rifles and brushguns are a staple amongst \
the rural communities that dot this infinite frontier."
icon_state = "scoped-boltaction"
item_state = "boltaction_scoped"
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5
caliber = "7.62mm"
load_method = SINGLE_CASING
pump_animation = "leveraction-cycling"
origin_tech = list(TECH_COMBAT = 2)// Old as shit rifle doesn't have very good tech, but it does have a scope.
ammo_type = /obj/item/ammo_casing/a762
load_method = SINGLE_CASING|SPEEDLOADER
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = "scoped-boltaction-cycling"
////////Vintage Lever Action Rifle////////
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
name = "vintage repeater"
desc = "An iconic manually operated lever action rifle, offering adequate stopping power due to it's still powerful cartridge while at the same time having a rather respectable firing rate due to it's mechanism. It is very probable this is a replica instead of a museum piece, but rifles of this pattern still see usage as colonist guns in some far off regions. Uses 7.62mm rounds."
item_state = "levercarbine"
icon_state = "levercarbine"
pump_animation = "levercarbine-cycling"
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ui_action_click()
scope()
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/verb/scope()
set category = "Object"
set name = "Use Scope"
set popup_menu = 1
@@ -1,55 +0,0 @@
/obj/item/weapon/gun/projectile/shotgun/pump/rifle
desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, the APEX Arms Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
icon = 'icons/obj/gun_vr.dmi'
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice //For target practice
name = "practice rifle"
icon = 'icons/obj/gun_vr.dmi'
icon_state = "boltaction_p"
item_state = "boltaction_p"
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
max_shells = 4
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
max_shells = 5
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
desc = "The Weissen Company Thunderking is the latest version of an almost ancient weapon design from the 19th century, popular with some due to its simplistic design. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "levergun"
max_shells = 6
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
desc = "The Weissen Company's version of an iconic manually operated lever action rifle, the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at the same time having a rather respectable firing rate due to it's mechanism. It is very probable this is a replica instead of a museum piece, but rifles of this pattern still see usage as colonist guns in some far off regions. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "levergunv"
item_state = "leveraction"
max_shells = 5
caliber = "7.62mm"
load_method = SINGLE_CASING
pump_animation = null
////////////////////////surplus gun - for derelicts (04/26/2021)////////////////////////
/obj/item/weapon/gun/projectile/shotgun/pump/surplus
name = "surplus rifle"
desc = "An ancient weapon from an era long pas, crude in design, but still just as effective as any modern interpretation. Uses 7.62mm rounds."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "boltaction_s"
item_state = "boltaction_p"
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 4
slot_flags = null
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1) // Old(er) as shit rifle doesn't have very good tech.
ammo_type = /obj/item/ammo_casing/a762
load_method = SINGLE_CASING|SPEEDLOADER
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = null
@@ -0,0 +1,101 @@
/*
* Lever-Action Rifle
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
name = "lever-action rifle"
desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \
the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \
the same time having a rather respectable firing rate due to it's mechanism. It is very probable \
this is a replica instead of a museum piece, but rifles of this pattern still see usage as \
colonist guns in some far off regions. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, the Weissen \
Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \
the wild frontier wilderness - and its wildlife - in mind. The company operates just one \
production plant in the Mytis system, but their weapons have found popularity on garden \
worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "leveraction"
item_state = "huntrifle"
max_shells = 5
caliber = "7.62mm"
load_method = SINGLE_CASING
pump_animation = "leveraction-cycling"
/*
* Vintage Lever-Action
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
name = "vintage lever-action rifle"
desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \
the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \
the same time having a rather respectable firing rate due to it's mechanism. It is very probable \
this is a replica instead of a museum piece, but rifles of this pattern still see usage as \
colonist guns in some far off regions. Uses 7.62mm rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, the Weissen \
Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \
the wild frontier wilderness - and its wildlife - in mind. The company operates just one \
production plant in the Mytis system, but their weapons have found popularity on garden \
worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "levercarbine"
pump_animation = "levercarbine-cycling"
/*
* Cowboy Repeater
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/repeater
name = "repeater"
desc = "The Weissen Company's answer to varmint shooting on frontier ranches, the T-7 Boone \
gives ranchers and farmers alike a perfect rider rifle for protecting the fenceline. Uses .357 rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, \
the Weissen Arms Company are the leading manufacturer of - not only quality - \
but affordable rifles for the average frontiersman looking to protect his \
claim. The company operates just one production plant in the Mytis system, \
but their weapons have found popularity on garden worlds as far afield as \
the Tajaran homeworld due to their excellent build quality, precision, and \
stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
that dot this infinite frontier."
icon_state = "repeater"
max_shells = 8
caliber = ".357"
pump_animation = "repeater-cycling"
/*
* Brushgun
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/brushgun
name = "brushgun"
desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \
the T-10 Cassidy Uses .44 rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, \
the Weissen Arms Company are the leading manufacturer of - not only quality - \
but affordable rifles for the average frontiersman looking to protect his \
claim. The company operates just one production plant in the Mytis system, \
but their weapons have found popularity on garden worlds as far afield as \
the Tajaran homeworld due to their excellent build quality, precision, and \
stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
that dot this infinite frontier."
icon_state = "brushgun"
max_shells = 8
caliber = ".44"
pump_animation = "brushgun-cycling"
/*
* Trailgun
*/
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/trailgun
name = "brushgun"
desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \
the T-10 Cassidy Uses .44 rounds."
description_fluff = "The frontiers largest home-grown firearms manufacturer, \
the Weissen Arms Company are the leading manufacturer of - not only quality - \
but affordable rifles for the average frontiersman looking to protect his \
claim. The company operates just one production plant in the Mytis system, \
but their weapons have found popularity on garden worlds as far afield as \
the Tajaran homeworld due to their excellent build quality, precision, and \
stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
that dot this infinite frontier."
icon_state = "trailgun"
max_shells = 8
caliber = ".44"
pump_animation = "trailgun-cycling"
@@ -1,3 +1,6 @@
/*
* M1911
*/
/obj/item/weapon/gun/projectile/colt
var/unique_reskin
name = ".45 pistol"
@@ -22,6 +25,9 @@
else
icon_state = "[initial(icon_state)]-e"
/*
* Detective M1911
*/
/obj/item/weapon/gun/projectile/colt/detective
desc = "A standard law enforcement issue pistol. Uses .45 rounds."
magazine_type = /obj/item/ammo_magazine/m45/rubber
@@ -52,15 +58,13 @@
var/mob/M = usr
var/list/options = list()
options["NT Mk. 58"] = "secguncomp"
options["NT Mk. 58 Custom"] = "secgundark"
options["MarsTech P11 Spur"] = "colt"
options["MarsTech P59 Massif"] = "fnseven"
options["ProTek YC9"] = "usp"
options["ProTek Minx"] = "VP78"
options["Jindal T15 Chooha"] = "p08"
options["Jindal KP-45W"] = "p08b"
options["PCA-11 Tenzu"] = "enforcer_black"
options["MarsTech P11 Spur (Bubba'd)"] = "mod_colt"
options["MarsTech P11 Spur (Blued)"] = "blued_colt"
options["MarsTech P11 Spur (Gold)"] = "gold_colt"
options["MarsTech P11 Spur (Stainless)"] = "stainless_colt"
options["MarsTech P11 Spur (Dark)"] = "dark_colt"
options["MarsTech P11 Spur (Green)"] = "green_colt"
options["MarsTech P11 Spur (Blue)"] = "blue_colt"
var/choice = tgui_input_list(M,"Choose your sprite!","Resprite Gun", options)
if(src && choice && !M.stat && in_range(M,src))
icon_state = options[choice]
@@ -76,11 +80,15 @@
..()
*/
/*
* Security Sidearm
*/
/obj/item/weapon/gun/projectile/sec
name = ".45 pistol"
desc = "The MT Mk58 is a cheap, ubiquitous sidearm, produced by MarsTech. Found pretty much everywhere humans are. Uses .45 rounds."
description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
icon_state = "secguncomp"
description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \
MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
icon_state = "secgun"
magazine_type = /obj/item/ammo_magazine/m45/rubber
allowed_magazines = list(/obj/item/ammo_magazine/m45)
projectile_type = /obj/item/projectile/bullet/pistol/medium
@@ -91,9 +99,9 @@
/obj/item/weapon/gun/projectile/sec/update_icon()
..()
if(ammo_magazine)
icon_state = "secguncomp"
icon_state = "secgun"
else
icon_state = "secguncomp-e"
icon_state = "secgun-e"
/obj/item/weapon/gun/projectile/sec/flash
name = ".45 signal pistol"
@@ -102,18 +110,21 @@
/obj/item/weapon/gun/projectile/sec/wood
desc = "The MT Mk58 is a cheap, ubiquitous sidearm, produced by MarsTech. This one has a sweet wooden grip. Uses .45 rounds."
name = "custom .45 Pistol"
icon_state = "secgundark"
icon_state = "secgunb"
/obj/item/weapon/gun/projectile/sec/wood/update_icon()
..()
if(ammo_magazine)
icon_state = "secgundark"
icon_state = "secgunb"
else
icon_state = "secgundark-e"
icon_state = "secgunb-e"
/*
* Silenced Pistol
*/
/obj/item/weapon/gun/projectile/silenced
name = "silenced pistol"
desc = "A small, quiet, easily concealable gun. Uses .45 rounds."
desc = "A small, quiet, easily concealable gun with a built-in silencer. Uses .45 rounds."
icon_state = "silenced_pistol"
w_class = ITEMSIZE_NORMAL
caliber = ".45"
@@ -129,6 +140,9 @@
/obj/item/weapon/gun/projectile/silenced/empty
magazine_type = null
/*
* Deagle
*/
/obj/item/weapon/gun/projectile/deagle
name = "hand cannon"
desc = "The PCA-55 Rarkajar perfect handgun for shooters with a need to hit targets through a wall and behind a fridge in your neighbor's house. Uses .44 rounds."
@@ -161,6 +175,9 @@
icon_state = "deaglecamo"
item_state = "deagleg"
/*
* Gyro Pistol (Admin Abuse in gun form)
*/
/obj/item/weapon/gun/projectile/gyropistol // Does this even appear anywhere outside of admin abuse?
name = "gyrojet pistol"
desc = "Speak softly, and carry a big gun. Fires rare .75 caliber self-propelled exploding bolts--because fuck you and everything around you."
@@ -183,6 +200,9 @@
else
icon_state = "gyropistol"
/*
* Compact Pistol
*/
/obj/item/weapon/gun/projectile/pistol
name = "compact pistol"
desc = "The Lumoco Arms P3 Whisper. A compact, easily concealable gun, though it's only compatible with compact magazines. Uses 9mm rounds."
@@ -236,6 +256,9 @@
else
icon_state = "pistol"
/*
* Silencer
*/
/obj/item/weapon/silencer
name = "silencer"
desc = "a silencer"
@@ -243,6 +266,9 @@
icon_state = "silencer"
w_class = ITEMSIZE_SMALL
/*
* Zip Gun (yar har)
*/
/obj/item/weapon/gun/projectile/pirate
name = "zip gun"
desc = "Little more than a barrel, handle, and firing mechanism, cheap makeshift firearms like this one are not uncommon in frontier systems."
@@ -277,6 +303,9 @@
caliber = initial(ammo.caliber)
. = ..()
/*
* Derringer
*/
/obj/item/weapon/gun/projectile/derringer
name = "derringer"
desc = "It's not size of your gun that matters, just the size of your load. Uses .357 rounds." //OHHH MYYY~
@@ -290,6 +319,9 @@
ammo_type = /obj/item/ammo_casing/a357
projectile_type = /obj/item/projectile/bullet/pistol/strong
/*
* Luger
*/
/obj/item/weapon/gun/projectile/luger
name = "\improper Jindal T15 Chooha"
desc = "Almost seventy percent guaranteed not to be a cheap rimworld knockoff! Accuracy, easy handling, and its distinctive appearance make it popular among gun collectors. Uses 9mm rounds."
@@ -318,6 +350,9 @@
(Perhaps owing to its less than prestigious image), instead being sold almost exclusively through retailers and advertising platforms targeting the 'independent roughneck' demographic."
icon_state = "p08b"
/*
* P92X (9mm Pistol)
*/
/obj/item/weapon/gun/projectile/p92x
name = "9mm pistol"
desc = "A widespread MarsTech sidearm called the P92X which is used by military, police, and security forces across the galaxy. Uses 9mm rounds."
@@ -335,8 +370,11 @@
else
icon_state = "[initial(icon_state)]-e"
/obj/item/weapon/gun/projectile/p92x/rubber
magazine_type = /obj/item/ammo_magazine/m9mm/rubber
/obj/item/weapon/gun/projectile/p92x/brown
icon_state = "p92x-brown"
icon_state = "p92xb"
/obj/item/weapon/gun/projectile/p92x/large
magazine_type = /obj/item/ammo_magazine/m9mm/large // Spawns with illegal magazines.
@@ -1,3 +1,6 @@
/*
* Revolver
*/
/obj/item/weapon/gun/projectile/revolver
name = "revolver"
desc = "The MarsTech HE Colt is a choice revolver for when you absolutely, positively need to put a hole in the other guy. Uses .357 rounds."
@@ -38,12 +41,12 @@
chamber_offset = 0
return ..()
/obj/item/weapon/gun/projectile/revolver/mateba
name = "mateba"
desc = "This unique looking handgun is named after an Italian company famous for the original manufacture of these revolvers, and pasta kneading machines. Uses .357 rounds." // Yes I'm serious. -Spades
icon_state = "mateba"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
/obj/item/weapon/gun/projectile/revolver/stainless
icon_state = "revolver_stainless"
/*
* Detective Revolver
*/
/obj/item/weapon/gun/projectile/revolver/detective
name = "revolver"
desc = "A standard MarsTech R1 snubnose revolver, popular among some law enforcement agencies for its simple, long-lasting construction. Uses .38-Special rounds."
@@ -80,7 +83,6 @@
ammo_type = /obj/item/ammo_casing/a45/rubber
max_shells = 6
/obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun()
set name = "Name Gun"
set category = "Object"
@@ -108,24 +110,67 @@
var/mob/M = usr
var/list/options = list()
options["MarsTech R1 Snubnose"] = "detective"
options["ProTek Cowboy"] = "GP100"
options["MarsTech R1 Snubnose (Blued)"] = "detective_blued"
options["MarsTech R1 Snubnose (Stainless)"] = "detective_stainless"
options["MarsTech R1 Snubnose (Gold)"] = "detective_stainless"
options["MarsTech R1 Snubnose (Leopard)"] = "detective_leopard"
options["MarsTech Frontiersman Classic"] = "detective_peacemaker"
options["MarsTech Frontiersman Shadow"] = "detective_peacemaker_dark"
options["MarsTech Panther"] = "detective_panther"
options["Jindal Duke"] = "lemat_old"
options["H-H Sindri"] = "webley"
options["Lombardi Buzzard"] = "detective_buzzard"
options["Lombardi Constable Deluxe 2502"] = "detective_constable"
options["Jindal Duke"] = "detective_fitz"
options["H-H M1895"] = "nagant"
var/choice = tgui_input_list(M,"Choose your sprite!","Resprite Gun", options)
if(src && choice && !M.stat && in_range(M,src))
icon_state = options[choice]
to_chat(M, "Your gun is now sprited as [choice]. Say hello to your new friend.")
return 1
/*
* Lombardi Revolvers
* Use to be detective revolvers until seperated
*/
/obj/item/weapon/gun/projectile/revolver/lombardi
name = "Lombardi Buzzard"
desc = "A rugged revolver that is mostly used by small law enforcement agencies across the frontier as a cheap, reliable sidearm. Uses .357 rounds."
icon_state = "lombardi_police"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
// Blade Runner pistol.
/obj/item/weapon/gun/projectile/revolver/lombardi/panther
name = "Lombardi Panther"
icon_state = "lombardi_panther"
/obj/item/weapon/gun/projectile/revolver/lombardi/gold
name = "Lombardi Deluxe 2502"
desc = "A sweet looking revolver that is deocrated with false gold and silver plating. Favored among by gamblers and criminals alike. Uses .357 rounds."
icon_state = "lombardi_gold"
/*
* Captain's Peacekeeper
*/
/obj/item/weapon/gun/projectile/revolver/cappeacekeeper
name = "decorated peacekeeper"
desc = "A MarsTech Frontiersman revolver that has been heavily modified. It has been decorated for personal use by command officers. Uses .44 rounds."
description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \
MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
icon_state = "captains_peacemaker"
caliber = ".44"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
ammo_type = /obj/item/ammo_casing/a44
/*
* Mateba
*/
/obj/item/weapon/gun/projectile/revolver/mateba
name = "mateba"
desc = "This unique looking handgun is named after an Italian company famous for the original manufacture of \
these revolvers, and pasta kneading machines. Uses .357 rounds." // Yes I'm serious. -Spades
icon_state = "mateba"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
/*
* Deckard (Blade Runner)
*/
/obj/item/weapon/gun/projectile/revolver/deckard
name = "\improper Deckard .38"
name = "\improper \"Deckard\" .38"
desc = "A custom-built revolver, based off the semi-popular Detective Special model. Uses .38-Special rounds."
icon_state = "deckard-empty"
caliber = ".38"
@@ -148,11 +193,16 @@
flick("deckard-reload",src)
..()
/*
* Judge
*/
/obj/item/weapon/gun/projectile/revolver/judge
name = "\"The Judge\""
desc = "A revolving hand-shotgun by Jindal Arms that packs the power of a 12 guage in the palm of your hand (if you don't break your wrist). Uses 12g rounds."
description_fluff = "While wholly owned by Hephaestus Industries, the Jindal Arms brand does not appear prominently in most company catalogues (Perhaps owing to its less than prestigious image), \
instead being sold almost exclusively through retailers and advertising platforms targeting the 'independent roughneck' demographic."
description_fluff = "While wholly owned by Hephaestus Industries, the Jindal Arms brand does not appear \
prominently in most company catalogues (Perhaps owing to its less than prestigious image), \
instead being sold almost exclusively through retailers and advertising platforms targeting the \
'independent roughneck' demographic."
icon_state = "judge"
caliber = "12g"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 4)
@@ -163,13 +213,20 @@
projectile_type = /obj/item/projectile/bullet/shotgun
// ToDo: Remove accuracy debuf in exchange for slightly injuring your hand every time you fire it.
/*
* Mako
*/
/obj/item/weapon/gun/projectile/revolver/lemat
name = "Mako Revolver"
desc = "The Bishamonten P100 Mako is a 9 shot revolver with a secondary firing barrel loading shotgun shells. For when you really need something dead. A rare yet deadly collector's item. Uses .38-Special and 12g rounds depending on the barrel."
description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies that would go on to become todays TSCs. \
Focused on sleek futurist designs which have largely fallen out of fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. \
Bishamonten weapons tended to be form over function - despite their flashy looks, most were completely unremarkable one way or another as weapons and used very standard firing mechanisms - \
the Mako was a notable exception, and original examples are much sought after."
name = "\improper \"Mako\" Revolver"
desc = "The Bishamonten P100 Mako is a 9 shot revolver with a secondary firing barrel loading shotgun shells. \
For when you really need something dead. A rare yet deadly collector's item. Uses .38-Special and 12g rounds depending on the barrel."
description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first \
extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies \
that would go on to become todays TSCs. Focused on sleek futurist designs which have largely fallen out of \
fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. \
Bishamonten weapons tended to be form over function - despite their flashy looks, most were completely \
unremarkable one way or another as weapons and used very standard firing mechanisms - the Mako was a notable \
exception, and original examples are much sought after."
icon_state = "combatrevolver"
item_state = "revolver"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
@@ -258,24 +315,41 @@
. += "It has a secondary barrel that is empty."
//Ported from Bay
/*
* Webley (Bay Port)
*/
/obj/item/weapon/gun/projectile/revolver/webley
name = "patrol revolver"
desc = "A rugged top break revolver commonly issued to members of the SifGuard. Uses .44 magnum rounds."
desc = "A rugged top break revolver commonly issued to planetary law enforcement offices. Uses .44 magnum rounds."
description_fluff = "The Heberg-Hammarstrom Althing is a simple, head-wearing revolver made with an anti-corrosive alloy. \
The Althing is advertised as being 'able to survive six months on the bottom of a frozen river and emerge full ready to save a life'. Issued as standard sidearms to SifGuard frontier patrol."
The Althing is advertised as being 'able to survive six months on the bottom of a frozen river and emerge full ready to \
save a life'. Issued as standard sidearms to SifGuard frontier patrol."
icon_state = "webley2"
item_state = "webley2"
caliber = ".44"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
handle_casings = CYCLE_CASINGS
max_shells = 6
ammo_type = /obj/item/ammo_casing/a44
/obj/item/weapon/gun/projectile/revolver/webley/auto
name = "autorevolver"
icon_state = "mosley"
desc = "A shiny Fosbery Autococker automatic revolver, with black accents. Marketed as the 'Revolver for the Modern Era'. Uses .44 magnum rounds."
fire_delay = 5.7 //Autorevolver. Also synced with the animation
fire_anim = "mosley_fire"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
/*
* Webley (Eris Port)
*/
/obj/item/weapon/gun/projectile/revolver/consul
name = "\improper \"Consul\" Revolver"
desc = "Are you feeling lucky, punk? Uses .44 rounds."
icon_state = "inspector"
item_state = "revolver"
caliber = ".44"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3)
handle_casings = CYCLE_CASINGS
ammo_type = /obj/item/ammo_casing/a44/rubber
/obj/item/weapon/gun/projectile/revolver/consul/proc/update_charge()
cut_overlays()
if(loaded.len==0)
add_overlay("inspector_off")
else
add_overlay("inspector_on")
/obj/item/weapon/gun/projectile/revolver/consul/update_icon()
update_charge()
@@ -1,73 +1,4 @@
//////////////////// Eris Ported Guns ////////////////////
//Detective gun
/obj/item/weapon/gun/projectile/revolver/consul
name = "\improper \"Consul\" Revolver"
desc = "Are you feeling lucky, punk? Uses .44 rounds."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "inspector"
item_state = "revolver"
caliber = ".44"
ammo_type = /obj/item/ammo_casing/a44/rubber
handle_casings = CYCLE_CASINGS
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3)
/obj/item/weapon/gun/projectile/revolver/consul/proc/update_charge()
cut_overlays()
if(loaded.len==0)
add_overlay("inspector_off")
else
add_overlay("inspector_on")
/obj/item/weapon/gun/projectile/revolver/consul/update_icon()
update_charge()
//.357 special ammo
/obj/item/ammo_magazine/s357/stun
name = "speedloader (.357 stun)"
desc = "A speedloader for .357 revolvers."
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "s357"
caliber = ".357"
ammo_type = /obj/item/ammo_casing/a357/stun
/obj/item/ammo_casing/a357/stun
desc = "A .357 stun bullet casing."
caliber = ".357"
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "stun357"
projectile_type = /obj/item/projectile/energy/electrode/stunshot/strong
/obj/item/ammo_magazine/s357/rubber
name = "speedloader (.357 rubber)"
desc = "A speedloader for .357 revolvers."
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "r357"
caliber = ".357"
ammo_type = /obj/item/ammo_casing/a357/rubber
/obj/item/ammo_casing/a357/rubber
desc = "A .357 rubber bullet casing."
caliber = ".357"
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "rubber357"
projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong
/obj/item/ammo_magazine/s357/flash
name = "speedloader (.357 flash)"
desc = "A speedloader for .357 revolvers."
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "f357"
caliber = ".357"
ammo_type = /obj/item/ammo_casing/a357/flash
/obj/item/ammo_casing/a357/flash
desc = "A .357 flash bullet casing."
caliber = ".357"
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "flash357"
projectile_type = /obj/item/projectile/energy/flash/strong
//Dunno why .380 ammo was in here but Im not touching it. Rest was moved to other files.
//.380
/obj/item/ammo_casing/a380
@@ -77,7 +8,7 @@
/obj/item/ammo_magazine/m380
name = "magazine (.380)"
icon_state = "9x19p"
icon_state = "m92"
origin_tech = list(TECH_COMBAT = 2)
mag_type = MAGAZINE
matter = list(MAT_STEEL = 480)
@@ -86,30 +17,3 @@
max_ammo = 8
multiple_sprites = 1
//.44
/obj/item/ammo_casing/a44/rubber
icon_state = "r-casing"
desc = "A .44 rubber bullet casing."
projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong
/obj/item/ammo_magazine/m44/rubber
desc = "A magazine for .44 less-than-lethal ammo."
ammo_type = /obj/item/ammo_casing/a44/rubber
//.44 speedloaders
/obj/item/ammo_magazine/s44
name = "speedloader (.44)"
desc = "A speedloader for .44 revolvers."
icon = 'icons/obj/ammo_vr.dmi'
icon_state = "s357"
caliber = ".44"
matter = list(MAT_STEEL = 1260)
ammo_type = /obj/item/ammo_casing/a44
max_ammo = 6
multiple_sprites = 1
mag_type = SPEEDLOADER
/obj/item/ammo_magazine/s44/rubber
name = "speedloader (.44 rubber)"
icon_state = "r357"
ammo_type = /obj/item/ammo_casing/a44/rubber
@@ -1,11 +1,17 @@
/*
* M1 Garand
*/
/obj/item/weapon/gun/projectile/garand
name = "semi-automatic rifle"
desc = "A vintage styled frontier rifle by Hedberg-Hammarstrom. The distinctive 'ping' is considered traditional, though its origins are much debated.. Uses 7.62mm rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
desc = "A vintage styled frontier rifle by Hedberg-Hammarstrom. The distinctive 'ping' is considered \
traditional, though its origins are much debated. Uses 7.62mm rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a \
range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its \
wildlife - in mind. The company operates just one production plant in Kalmar, but their weapons have found \
popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "garand"
item_state = "boltaction"
item_state = "rifle"
w_class = ITEMSIZE_LARGE
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
@@ -23,14 +29,19 @@
else
icon_state = "[initial(icon_state)]-e"
//Bastard child of a revolver and a semi-auto rifle.
//Standard Revolving Rifle
/*
* Revolver Rifle
* Bastard child of a revolver and a semi-auto rifle.
*/
/obj/item/weapon/gun/projectile/revolvingrifle
name = "revolving rifle"
desc = "The Gungnir is a novel, antique idea brought into the modern era by Hedberg-Hammarstrom. The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. Uses .44 magnum revolver rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
desc = "The Gungnir is a novel, antique idea brought into the modern era by Hedberg-Hammarstrom. \
The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \
Uses .44 magnum revolver rounds."
description_fluff = "Sifs largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a \
range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its \
wildlife - in mind. The company operates just one production plant in Kalmar, but their weapons have found \
popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "revolvingrifle"
item_state = "rifle"
@@ -43,9 +54,13 @@
max_shells = 6
ammo_type = /obj/item/ammo_casing/a44/rifle
//Vintage Revolving Rifle
/*
* Vintage Revolver Rifle
*/
/obj/item/weapon/gun/projectile/revolvingrifle/vintage
name = "vintage revolving rifle"
desc = "The Willhem is the Gungir's older cousin by Hedberg-Hammarstrom, the perfect collector piece. The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. Uses .44 magnum revolver rounds."
desc = "The Willhem is the Gungir's older cousin by Hedberg-Hammarstrom, the perfect collector piece. \
The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \
Uses .44 magnum revolver rounds."
icon_state = "vintagerevolvingrifle"
@@ -1,7 +1,11 @@
/*
* Shotgun
*/
/obj/item/weapon/gun/projectile/shotgun/pump
name = "shotgun"
desc = "The mass-produced MarsTech Meteor 29 shotgun is a favourite of police and security forces on many worlds. Uses 12g rounds."
description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \
MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
icon_state = "shotgun"
item_state = "shotgun"
max_shells = 4
@@ -32,17 +36,22 @@
/obj/item/weapon/gun/projectile/shotgun/pump/proc/pump(mob/M as mob)
playsound(src, action_sound, 60, 1)
if(chambered)//We have a shell in the chamber
chambered.loc = get_turf(src)//Eject casing
// We have a shell in the chamber
if(chambered)
if(chambered.caseless)
qdel(chambered) // Delete casing
else
chambered.loc = get_turf(src) // Eject casing
chambered = null
// Load next shell
if(loaded.len)
var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
loaded -= AC //Remove casing from loaded list.
var/obj/item/ammo_casing/AC = loaded[1] // Load next casing.
loaded -= AC // Remove casing from loaded list.
chambered = AC
if(pump_animation)//This affects all bolt action and shotguns.
flick("[pump_animation]", src)//This plays any pumping
if(pump_animation) // This affects all bolt action and shotguns.
flick("[pump_animation]", src) // This plays any pumping
update_icon()
@@ -62,10 +71,14 @@
ammo_type = /obj/item/ammo_casing/a12g
pump_animation = null
/*
* Combat Shotgun
*/
/obj/item/weapon/gun/projectile/shotgun/pump/combat
name = "combat shotgun"
desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' \
branding for its military-grade equipment used by armed forces across human space."
icon_state = "cshotgun"
item_state = "cshotgun"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
@@ -77,6 +90,9 @@
/obj/item/weapon/gun/projectile/shotgun/pump/combat/empty
ammo_type = null
/*
* Double-Barreled Shotgun
*/
/obj/item/weapon/gun/projectile/shotgun/doublebarrel
name = "double-barreled shotgun"
desc = "A truely classic weapon. No need to change what works. Uses 12g rounds."
@@ -94,6 +110,9 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1)
ammo_type = /obj/item/ammo_casing/a12g/beanbag
var/unique_reskin
var/sawn_off = FALSE
burst_delay = 0
firemodes = list(
list(mode_name="fire one barrel at a time", burst=1),
@@ -111,8 +130,49 @@
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/unload_ammo(user, allow_dump)
..(user, allow_dump=1)
//this is largely hacky and bad :( -Pete
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/verb/rename_gun()
set name = "Name Gun"
set category = "Object"
set desc = "Rename your gun."
var/input = sanitizeSafe(input(usr, "What do you want to name the gun?", ,""), MAX_NAME_LEN)
var/mob/M = usr
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/projectile/shotgun/doublebarrel/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["Default"] = "dshotgun"
options["Cherry Red"] = "dshotgun_d"
options["Ash"] = "dshotgun_f"
options["Faded Grey"] = "dshotgun_g"
options["Maple"] = "dshotgun_l"
options["Rosewood"] = "dshotgun_p"
options["Olive Green"] = "dshotgun_o"
options["Blued"] = "dshotgun_b"
var/choice = tgui_input_list(M,"Choose your sprite!","Resprite Gun", options)
if(sawn_off)
to_chat(M, "<span class='warning'>The [src] is already shortened and cannot be resprited!</span>")
return
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
//this is largely hacky and bad :( -Pete //less hacky and bad now :) -Ghost
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob)
if(sawn_off)
to_chat(user, "<span class='warning'>The [src] is already shortened!</span>")
return
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
to_chat(user, "<span class='notice'>You begin to shorten the barrel of \the [src].</span>")
if(loaded.len)
@@ -122,25 +182,35 @@
Fire_userless(user)
burst = burstsetting
return
if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY
icon_state = "sawnshotgun"
if(do_after(user, 30)) // SHIT IS STEALTHY EYYYYY
if(sawn_off)
return
if(unique_reskin)
icon_state = "[unique_reskin]_sawn"
else
icon_state = "dshotgun_sawn"
item_state = "sawnshotgun"
w_class = ITEMSIZE_NORMAL
force = 5
slot_flags &= ~SLOT_BACK //you can't sling it on your back
slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
slot_flags &= ~SLOT_BACK // you can't sling it on your back
slot_flags |= (SLOT_BELT|SLOT_HOLSTER) // but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
name = "sawn-off shotgun"
desc = "Omar's coming!"
to_chat(user, "<span class='warning'>You shorten the barrel of \the [src]!</span>")
sawn_off = TRUE
else
..()
/*
* Sawn-Off Shotgun
*/
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn
name = "sawn-off shotgun"
desc = "Omar's coming!" // I'm not gonna add "Uses 12g rounds." to this one. I'll just let this reference go undisturbed.
icon_state = "sawnshotgun"
icon_state = "dshotgun_sawn"
item_state = "sawnshotgun"
slot_flags = SLOT_BELT|SLOT_HOLSTER
ammo_type = /obj/item/ammo_casing/a12g/pellet
w_class = ITEMSIZE_NORMAL
force = 5
sawn_off = TRUE
@@ -9,3 +9,100 @@
item_icons = null
ammo_type = /obj/item/ammo_casing/a12g
max_shells = 12
//Warden's shotgun gets it's own entry now, rather than being handled by the maps
/obj/item/weapon/gun/projectile/shotgun/pump/combat/warden
name = "warden's shotgun"
desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
//Compact shotgun, this version's for usage later by mappers/coders/w.e.
/obj/item/weapon/gun/projectile/shotgun/compact
name = "compact shotgun"
desc = "Built for <i>extremely</i>-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. Uses 12g rounds."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "compshotc"
item_state = "cshotgun"
max_shells = 4 //short magazine tube means small capacity
w_class = ITEMSIZE_NORMAL //Starts folded, becomes large when stock is extended
force = 10
slot_flags = SLOT_BELT|SLOT_BACK
caliber = "12g"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
load_method = SINGLE_CASING|SPEEDLOADER
handle_casings = EJECT_CASINGS //However, it's semi-automatic to make up for that
ammo_type = /obj/item/ammo_casing/a12g
projectile_type = /obj/item/projectile/bullet/shotgun
one_handed_penalty = 30 //You madman, one-handing a 12g shotgun.
recoil = 5 //Unfold the damn stock you fool!
action_button_name = "Toggle stock"
var/stock = FALSE
/obj/item/weapon/gun/projectile/shotgun/compact/proc/toggle_stock()
var/mob/living/user = loc
stock = !stock
if(stock)
user.visible_message("<span class='warning'>With a fluid movement, [user] unfolds their shotgun's stock and foregrip.</span>",\
"<span class='warning'>You unfold the shotgun's stock and foregrip.</span>",\
"You hear an ominous click.")
icon_state = "compshot"
item_state = icon_state
w_class = ITEMSIZE_LARGE
one_handed_penalty = 15 //Stock extended to steady it, even with just the one hand.
recoil = 1 //As above, stock and foregrip would help with the kick
else
user.visible_message("<b>\The [user]</b> collapses their shotgun's stock and fold it's foregrip.",\
"<span class='notice'>You fold the shotgun's stock and foregrip.</span>",\
"You hear a click.")
icon_state = "compshotc"
item_state = icon_state
w_class = ITEMSIZE_NORMAL
one_handed_penalty = 30
recoil = 5
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
playsound(src, 'sound/weapons/targeton.ogg', 50, 1)
user.update_action_buttons()
/obj/item/weapon/gun/projectile/shotgun/compact/verb/verb_toggle_stock(mob/user as mob)
set category = "Object"
set name = "Toggle stock"
set src in usr
if(issilicon(usr))
return
if (isliving(usr))
toggle_stock()
else
to_chat(usr, "<span class='notice'>You cannot do this in your current state.</span>")
/obj/item/weapon/gun/projectile/shotgun/compact/attack_self(mob/user as mob)
if(issilicon(usr))
return
if (isliving(usr))
toggle_stock()
else
to_chat(usr, "<span class='notice'>You cannot do this in your current state.</span>")
/obj/item/weapon/gun/projectile/shotgun/compact/ui_action_click()
var/mob/living/user = loc
if(!isliving(user))
return
else
toggle_stock()
/obj/item/weapon/gun/projectile/shotgun/compact/warden
name = "warden's compact shotgun"
desc = "Built for <i>extremely</i>-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. This one has 'Property of the Warden' inscribed on the upper receiver."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
+25 -3
View File
@@ -385,8 +385,30 @@
if(istype(T))
new /obj/item/ammo_casing/afoam_dart(get_turf(loc))
/obj/item/projectile/bullet/foam_dart/riot
/obj/item/projectile/bullet/foam_dart_riot
name = "riot foam dart"
desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up."
agony = 50
icon_state = "foamdart_riot_proj"
damage = 0 // It's a damn toy.
embed_chance = 0
agony = 50 // The riot part of the riot dart
nodamage = TRUE
sharp = FALSE
damage_type = HALLOSS
impact_effect_type = null
fire_sound = 'sound/items/syringeproj.ogg'
combustion = FALSE
icon = 'icons/obj/gun_toy.dmi'
icon_state = "foamdart_riot_proj"
range = 15
/obj/item/projectile/bullet/foam_dart_riot/on_impact(var/atom/A)
. = ..()
var/turf/T = get_turf(loc)
if(istype(T))
new /obj/item/ammo_casing/afoam_dart/riot(get_turf(loc))
/obj/item/projectile/bullet/foam_dart_riot/on_range(var/atom/A)
. = ..()
var/turf/T = get_turf(loc)
if(istype(T))
new /obj/item/ammo_casing/afoam_dart/riot(get_turf(loc))