Skip to content

Commit

Permalink
Merge pull request #31078 from The-Spanish-Inquisition/add-more-guns
Browse files Browse the repository at this point in the history
Adds more new weapons
  • Loading branch information
SierraKomodo committed Sep 7, 2021
2 parents daa2ea4 + 6428322 commit 8d0ec7f
Show file tree
Hide file tree
Showing 16 changed files with 150 additions and 34 deletions.
8 changes: 7 additions & 1 deletion code/datums/uplink/highly_visible_and_dangerous_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@
item_cost = 32
path = /obj/item/storage/box/syndie_kit/silenced

/datum/uplink_item/item/visible_weapons/broomstick
name = "Broomstick Pistol"
desc = "An antique pistol stolen from a museum. Be warned, it may be faulty and comes unloaded."
item_cost = 40
path = /obj/item/gun/projectile/pistol/broomstick

/datum/uplink_item/item/badassery/money_cannon
name = "Modified Money Cannon"
item_cost = 48
Expand Down Expand Up @@ -112,7 +118,7 @@
name = "Carbine Rifle"
desc = "For arming your comrades on the (not so) cheap!"
item_cost = 55
path = /obj/item/gun/projectile/automatic/semistrip
path = /obj/item/gun/projectile/sniper/semistrip
antag_roles = list(MODE_REVOLUTIONARY, MODE_MERCENARY)


Expand Down
5 changes: 3 additions & 2 deletions code/game/antagonist/outsider/raider.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ GLOBAL_DATUM_INIT(raiders, /datum/antagonist/raider, new)
/obj/item/gun/projectile/revolver,
/obj/item/gun/projectile/pirate,
/obj/item/gun/projectile/revolver/medium,
/obj/item/gun/projectile/pistol/throwback
/obj/item/gun/projectile/pistol/broomstick
)

var/list/raider_holster = list(
Expand Down Expand Up @@ -305,7 +305,8 @@ GLOBAL_DATUM_INIT(raiders, /datum/antagonist/raider, new)
/obj/item/gun/projectile/shotgun/doublebarrel,
/obj/item/gun/energy/xray,
/obj/item/gun/projectile/automatic/battlerifle,
/obj/item/gun/projectile/automatic/semistrip,
/obj/item/gun/projectile/sniper/semistrip,
/obj/item/gun/projectile/sniper/garand,
/obj/item/gun/projectile/automatic/assault_rifle,
/obj/item/gun/projectile/automatic/sec_smg,
/obj/item/gun/energy/crossbow/largecrossbow,
Expand Down
9 changes: 6 additions & 3 deletions code/game/objects/random/random.dm
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,8 @@

/obj/random/projectile/spawn_choices()
return list(/obj/item/gun/projectile/automatic/battlerifle = 4,
/obj/item/gun/projectile/automatic/semistrip = 4,
/obj/item/gun/projectile/sniper/garand = 4,
/obj/item/gun/projectile/sniper/semistrip = 4,
/obj/item/gun/projectile/shotgun/pump = 3,
/obj/item/gun/projectile/automatic/merc_smg = 2,
/obj/item/gun/projectile/automatic/assault_rifle = 2,
Expand All @@ -292,7 +293,8 @@
/obj/item/gun/projectile/shotgun/doublebarrel/sawn = 3,
/obj/item/gun/projectile/heavysniper = 1,
/obj/item/gun/projectile/shotgun/pump/combat = 2,
/obj/item/gun/projectile/pistol/throwback = 1)
/obj/item/gun/projectile/pistol/throwback = 1,
/obj/item/gun/projectile/pistol/broomstick = 1)

/obj/random/handgun
name = "Random Handgun"
Expand All @@ -306,7 +308,8 @@
/obj/item/gun/projectile/pistol/military/alt = 1,
/obj/item/gun/projectile/pistol/holdout = 2,
/obj/item/gun/energy/retro = 1,
/obj/item/gun/projectile/pistol/throwback = 1)
/obj/item/gun/projectile/pistol/throwback = 1,
/obj/item/gun/projectile/pistol/broomstick = 1)

/obj/random/ammo
name = "Random Ammunition"
Expand Down
12 changes: 10 additions & 2 deletions code/modules/fabrication/designs/general/designs_arms_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,5 +124,13 @@
path = /obj/item/ammo_magazine/speedloader/clip

/datum/fabricator_recipe/arms_ammo/hidden/pistolstripperclip
name = "ammunition (pistol stripper clip)"
path = /obj/item/ammo_magazine/speedloader/pclip
name = "ammunition (magnum pistol stripper clip)"
path = /obj/item/ammo_magazine/speedloader/pclip

/datum/fabricator_recipe/arms_ammo/hidden/broomstickstripperclip
name = "ammunition (holdout pistol stripper clip)"
path = /obj/item/ammo_magazine/speedloader/hpclip

/datum/fabricator_recipe/arms_ammo/hidden/rifleinternalclip
name = "ammunition (rifle internal clip)"
path = /obj/item/ammo_magazine/iclipr
3 changes: 2 additions & 1 deletion code/modules/item_worth/worths_list.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ var/list/worths = list(
/obj/item/gun/projectile/automatic/assault_rifle = 3800,
/obj/item/gun/projectile/automatic/bullpup_rifle = 3100,
/obj/item/gun/projectile/automatic/battlerifle = 1750,
/obj/item/gun/projectile/automatic/semistrip = 1250,
/obj/item/gun/projectile/automatic/l6_saw = 13400,
/obj/item/gun/projectile/automatic/machine_pistol/usi = 2000,
/obj/item/gun/projectile/automatic = 3000,
Expand All @@ -59,6 +58,8 @@ var/list/worths = list(
/obj/item/gun/projectile/heavysniper/ant = 1800,
/obj/item/gun/projectile/heavysniper/boltaction = 500,
/obj/item/gun/projectile/heavysniper = 12000,
/obj/item/gun/projectile/sniper/semistrip = 1250,
/obj/item/gun/projectile/sniper/garand = 1250,
/obj/item/gun/projectile = 1500,
//GUN,
/obj/item/gun = 500,
Expand Down
25 changes: 23 additions & 2 deletions code/modules/projectiles/ammunition/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,25 @@
multiple_sprites = 1

/obj/item/ammo_magazine/speedloader/pclip
name = "pistol stripper clip"
desc = "A stripper clip for pistol caliber weapons."
name = "magnum pistol stripper clip"
desc = "A stripper clip for pistol magnum caliber weapons."
icon_state = "pclip"
caliber = CALIBER_PISTOL_MAGNUM
ammo_type = /obj/item/ammo_casing/pistol/magnum
matter = list(MATERIAL_STEEL = 1300)
max_ammo = 5
multiple_sprites = 1

/obj/item/ammo_magazine/speedloader/hpclip
name = "holdout pistol stripper clip"
desc = "A stripper clip for pistol holdout caliber weapons."
icon_state = "hpclip"
caliber = CALIBER_PISTOL_SMALL
ammo_type = /obj/item/ammo_casing/pistol/small
matter = list(MATERIAL_STEEL = 1800)
max_ammo = 10
multiple_sprites = TRUE

/obj/item/ammo_magazine/speedloader/clip
name = "rifle stripper clip"
desc = "A stripper clip for rifle caliber weapons."
Expand Down Expand Up @@ -331,3 +341,14 @@
matter = list(MATERIAL_STEEL = 600)
max_ammo = 7
multiple_sprites = 1

/obj/item/ammo_magazine/iclipr
name = "internal rifle magazine"
desc = "An internal clip for rifle caliber weapons."
icon_state = "iclipr"
caliber = CALIBER_RIFLE
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/rifle
matter = list(MATERIAL_STEEL = 1500)
max_ammo = 8
multiple_sprites = TRUE
21 changes: 0 additions & 21 deletions code/modules/projectiles/guns/projectile/automatic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -363,25 +363,4 @@
icon_state = "battlerifle-empty"
wielded_item_state = "battlerifle-wielded-empty"

/obj/item/gun/projectile/automatic/semistrip
name = "Carbine Rifle"
desc = "An old semi-automatic carbine chambered in large pistol rounds, this thing looks older than the SCG."
icon = 'icons/obj/guns/semistrip.dmi'
icon_state = "semistrip"
item_state = "semistrip"
w_class = ITEM_SIZE_LARGE
force = 10
origin_tech = list(TECH_COMBAT = 2)
slot_flags = SLOT_BACK
caliber = CALIBER_PISTOL_MAGNUM
ammo_type = /obj/item/ammo_casing/pistol/magnum
load_method = SINGLE_CASING|SPEEDLOADER
max_shells = 10
accuracy = 1
scope_zoom = 0
scoped_accuracy = 0
wielded_item_state = "semistrip-wielded"

firemodes = list(
list(mode_name="semi auto", burst=1, fire_delay=2, move_delay=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null)
)
38 changes: 37 additions & 1 deletion code/modules/projectiles/guns/projectile/pistol.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
return
else
overlays += image(icon, "ammo_ok")

/obj/item/gun/projectile/pistol/military
name = "military pistol"
desc = "The Hephaestus Industries P20 - a mass produced kinetic sidearm in widespread service with the SCGDF."
Expand Down Expand Up @@ -192,3 +192,39 @@
icon = 'icons/obj/guns/holdout_pistol.dmi'
icon_state = "silencer"
w_class = ITEM_SIZE_SMALL

/obj/item/gun/projectile/pistol/broomstick
name = "broomstick"
desc = "An antique gun that makes you want to yell 'IT BELONGS IN A MUSEUM!'. There appears to be some thing scratched next to the fireselector, though you cant make it out."
icon = 'icons/obj/guns/broomstick.dmi'
icon_state = "broomstick"
accuracy_power = 6
one_hand_penalty = 3
fire_delay = 5
caliber = CALIBER_PISTOL_SMALL
origin_tech = list(
TECH_COMBAT = 2,
TECH_MATERIAL = 2
)
load_method = SINGLE_CASING|SPEEDLOADER
max_shells = 10

firemodes = list(
list(
mode_name="semi auto",
burst=1,
fire_delay=5,
move_delay=null,
one_hand_penalty=5,
burst_accuracy=null,
dispersion=null
),
list(
mode_name="scratched out option",
burst=10,
fire_delay=1,
one_hand_penalty=8,
burst_accuracy = list(0,-1,-2,-3,-4,-4,-4,-4,-4),
dispersion = list(1.0, 1.0, 1.0, 1.0, 1.2)
)
)
63 changes: 62 additions & 1 deletion code/modules/projectiles/guns/projectile/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,65 @@
accuracy = 4
scope_zoom = 0
scoped_accuracy = 0
wielded_item_state = "boltaction-wielded"
wielded_item_state = "boltaction-wielded"

/obj/item/gun/projectile/sniper/garand
name = "garand rifle"
desc = "The rugged garand is a old semi-automatic weapon popular on the frontier worlds."
icon = 'icons/obj/guns/garand.dmi'
icon_state = "garand"
item_state = null
w_class = ITEM_SIZE_HUGE
force = 10
caliber = CALIBER_RIFLE
origin_tech = list(TECH_COMBAT = 2)
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/iclipr
allowed_magazines = /obj/item/ammo_magazine/iclipr
auto_eject = TRUE
auto_eject_sound = 'sound/weapons/guns/interaction/garand_magout.ogg'
one_hand_penalty = 9
accuracy_power = 5
accuracy = 1
bulk = GUN_BULK_RIFLE + 1
wielded_item_state = "garand-wielded"
mag_insert_sound = 'sound/weapons/guns/interaction/ltrifle_magin.ogg'
mag_remove_sound = 'sound/weapons/guns/interaction/garand_magout.ogg'

firemodes = list(
list(mode_name="semi auto", burst=1, fire_delay=6, move_delay=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null)
)

/obj/item/gun/projectile/sniper/garand/on_update_icon()
..()
if (ammo_magazine)
icon_state = "garand"
wielded_item_state = "garand-wielded"
else
icon_state = "garand-empty"
wielded_item_state = "garand-wielded-empty"

/obj/item/gun/projectile/sniper/semistrip
name = "Carbine Rifle"
desc = "An old semi-automatic carbine chambered in large pistol rounds, this thing looks older than the SCG."
icon = 'icons/obj/guns/semistrip.dmi'
icon_state = "semistrip"
item_state = "semistrip"
w_class = ITEM_SIZE_LARGE
force = 10
origin_tech = list(TECH_COMBAT = 2)
slot_flags = SLOT_BACK
caliber = CALIBER_PISTOL_MAGNUM
ammo_type = /obj/item/ammo_casing/pistol/magnum
load_method = SINGLE_CASING|SPEEDLOADER
max_shells = 10
accuracy = 1
scope_zoom = 0
scoped_accuracy = 0
wielded_item_state = "semistrip-wielded"

firemodes = list(
list(mode_name="semi auto", burst=1, fire_delay=2, move_delay=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null)
)

Binary file modified icons/mob/onmob/items/lefthand_guns.dmi
Binary file not shown.
Binary file modified icons/mob/onmob/items/righthand_guns.dmi
Binary file not shown.
Binary file modified icons/mob/onmob/onmob_back.dmi
Binary file not shown.
Binary file modified icons/obj/ammo.dmi
Binary file not shown.
Binary file added icons/obj/guns/broomstick.dmi
Binary file not shown.
Binary file added icons/obj/guns/garand.dmi
Binary file not shown.
Binary file added sound/weapons/guns/interaction/garand_magout.ogg
Binary file not shown.

0 comments on commit 8d0ec7f

Please sign in to comment.