Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICC Heavy Shotgun, replaces trench gun ICC Leader loadout with Heavy Shotgun #16539

Merged
merged 5 commits into from
Sep 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/__DEFINES/calibers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@

// --- Shotguns ---
#define CALIBER_12G "12 gauge"
#define CALIBER_6G "6 gauge"
#define CALIBER_410 ".410 bore"

// --- Snipers ---
Expand Down
4 changes: 2 additions & 2 deletions code/datums/jobs/job/icc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -354,8 +354,8 @@
H.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_ACCESSORY)
H.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_ACCESSORY)

/datum/outfit/job/icc/leader/trenchgun
suit_store = /obj/item/weapon/gun/shotgun/pump/trenchgun/icc_leader
/datum/outfit/job/icc/leader/ml101
suit_store = /obj/item/weapon/gun/shotgun/pump/icc_heavyshotgun/icc_leader
belt = /obj/item/storage/belt/shotgun/icc/mixed

/datum/outfit/job/icc/leader/icc_confrontationrifle
Expand Down
28 changes: 14 additions & 14 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -711,20 +711,20 @@

/obj/item/storage/belt/shotgun/icc/mixed/Initialize(mapload, ...)
. = ..()
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/buckshot(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/flechette(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/heavy_buckshot(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)
new /obj/item/ammo_magazine/handful/barrikada(src)

/obj/item/storage/belt/shotgun/martini
name = "martini henry ammo belt"
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/machinery/vending/marine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1693,6 +1693,9 @@
/obj/item/weapon/gun/rifle/icc_autoshotgun = -1,
/obj/item/ammo_magazine/rifle/icc_autoshotgun = -1,
/obj/item/ammo_magazine/rifle/icc_autoshotgun/frag = -1,
/obj/item/weapon/gun/shotgun/pump/icc_heavyshotgun = -1,
/obj/item/ammo_magazine/shotgun/heavy_buckshot = -1,
/obj/item/ammo_magazine/shotgun/barrikada = -1,
/obj/item/weapon/gun/shotgun/pump/trenchgun = -1,
/obj/item/weapon/gun/rifle/icc_assaultcarbine = -1,
/obj/item/weapon/gun/rifle/icc_assaultcarbine/export = -1,
Expand Down
42 changes: 42 additions & 0 deletions code/modules/projectiles/ammo_types/shotgun_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,48 @@
/datum/ammo/bullet/shotgun/sx16_buckshot/spread
name = "additional buckshot"

/datum/ammo/bullet/shotgun/heavy_buckshot
name = "heavy buckshot shell"
handful_icon_state = "heavy_shotgun_buckshot"
icon_state = "buckshot"
hud_state = "shotgun_buckshot"
bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy_spread
bonus_projectiles_amount = 5
bonus_projectiles_scatter = 4
accuracy_var_low = 9
accuracy_var_high = 9
accurate_range = 3
max_range = 10
damage = 50
damage_falloff = 4

/datum/ammo/bullet/shotgun/heavy_buckshot/on_hit_mob(mob/target_mob, obj/projectile/proj)
staggerstun(target_mob, proj, weaken = 2 SECONDS, stagger = 2 SECONDS, knockback = 2, slowdown = 0.5, max_range = 3)

/datum/ammo/bullet/shotgun/barrikada_slug
name = "heavy metal slug"
handful_icon_state = "heavy_shotgun_barrikada"
hud_state = "shotgun_slug"
ammo_behavior_flags = AMMO_BALLISTIC
shell_speed = 4
max_range = 15
damage = 125
penetration = 50
sundering = 15

/datum/ammo/bullet/shotgun/barrikada/on_hit_mob(mob/target_mob, obj/projectile/proj)
staggerstun(target_mob, proj, slowdown = 2, stagger = 3 SECONDS, knockback = 2)

/datum/ammo/bullet/shotgun/heavy_spread
name = "additional buckshot"
icon_state = "buckshot"
accuracy_var_low = 9
accuracy_var_high = 9
accurate_range = 3
max_range = 10
damage = 50
damage_falloff = 4

/datum/ammo/bullet/shotgun/sx16_flechette
name = "shotgun flechette shell"
handful_icon_state = "shotgun_flechette"
Expand Down
15 changes: 15 additions & 0 deletions code/modules/projectiles/ammunition.dm
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,21 @@
default_ammo = /datum/ammo/bullet/shotgun/incendiary
caliber = CALIBER_12G

/obj/item/ammo_magazine/handful/heavy_buckshot
name = "handful of shotgun buckshot shells (6g)"
icon_state = "heavy_shotgun_buckshot"
current_rounds = 5
default_ammo = /datum/ammo/bullet/shotgun/heavy_buckshot
caliber = CALIBER_6G

/obj/item/ammo_magazine/handful/barrikada
name = "handful of shotgun 'Barrikada' shells (6g)"
icon_state = "heavy_shotgun_barrikada"
current_rounds = 5
default_ammo = /datum/ammo/bullet/shotgun/barrikada_slug
caliber = CALIBER_6G


/obj/item/ammo_magazine/handful/martini
name = "The handful of crude heavy sniper bullet (.557/440)"
icon_state = "crude_heavy_sniper"
Expand Down
7 changes: 7 additions & 0 deletions code/modules/projectiles/gun_attachables/stock.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,13 @@
pixel_shift_x = 32
pixel_shift_y = 13

/obj/item/attachable/stock/icc_heavyshotgun
name = "\improper ML-101 stock"
desc = "A irremovable ML-101 stock."
icon_state = "ml101"
pixel_shift_x = 32
pixel_shift_y = 13

/obj/item/attachable/stock/icc_pdw
name = "\improper L-40 stock"
desc = "A irremovable L-40 stock."
Expand Down
57 changes: 57 additions & 0 deletions code/modules/projectiles/guns/shotguns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,63 @@
/obj/item/attachable/compensator,
)

//------------------------------------------------------
// ML-101 Heavy Shotgun

/obj/item/weapon/gun/shotgun/pump/icc_heavyshotgun
name = "\improper ML-101 heavy pump shotgun"
desc = "Curiously using a rifled barrel in a shotgun. The ML-101 shotgun is used by ICC personnel forces to devastate targets at close range. Uses 6 gauge shells.\n<b>Requires a pump, which is the Unique Action key.</b>"
equip_slot_flags = ITEM_SLOT_BACK
icon = 'icons/obj/items/guns/shotguns64.dmi'
icon_state = "ks23"
worn_icon_state = "ks23"
caliber = CALIBER_6G //codex
default_ammo_type = /datum/ammo/bullet/shotgun/heavy_buckshot
fire_sound = 'sound/weapons/guns/fire/ks23.ogg'
reload_sound = 'sound/weapons/guns/interact/ks23_insert.ogg'
cocked_sound = 'sound/weapons/guns/interact/ks23_pump.ogg'
max_chamber_items = 5
attachable_allowed = list(
/obj/item/attachable/bayonet,
/obj/item/attachable/bayonetknife,
/obj/item/attachable/bayonetknife/som,
/obj/item/attachable/reddot,
/obj/item/attachable/verticalgrip,
/obj/item/attachable/angledgrip,
/obj/item/attachable/gyro,
/obj/item/attachable/flashlight,
/obj/item/attachable/flashlight/under,
/obj/item/attachable/extended_barrel,
/obj/item/attachable/heavy_barrel,
/obj/item/attachable/compensator,
/obj/item/attachable/magnetic_harness,
/obj/item/attachable/stock/icc_heavyshotgun,
/obj/item/attachable/motiondetector,
)

attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 18,"rail_x" = 9, "rail_y" = 21, "under_x" = 18, "under_y" = 12, "stock_x" = 0, "stock_y" = 12)
item_map_variant_flags = NONE

starting_attachment_types = list(
/obj/item/attachable/stock/icc_heavyshotgun,
)

fire_delay = 2.75 SECONDS
scatter_unwielded = 10
recoil = 0 // It has a stock. It's on the sprite.
recoil_unwielded = 0
aim_slowdown = 0.65
wield_delay = 0.95 SECONDS
cock_delay = 1.4 SECONDS
damage_falloff_mult = 0.5 // Rifled barrel, also has more slug variety

/obj/item/weapon/gun/shotgun/pump/icc_heavyshotgun/icc_leader
starting_attachment_types = list(
/obj/item/attachable/stock/icc_heavyshotgun,
/obj/item/attachable/magnetic_harness,
/obj/item/attachable/compensator,
)

//------------------------------------------------------
//A hacky bolt action rifle. in here for the "pump" or bolt working action.

Expand Down
16 changes: 16 additions & 0 deletions code/modules/projectiles/magazines/shotguns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,3 +126,19 @@ one type of shotgun ammo, but I think it helps in referencing it. ~N
icon_state = "mbx900_tracker"
default_ammo = /datum/ammo/bullet/shotgun/mbx900_tracker
icon_state_mini = "mbx900_tracker"

/obj/item/ammo_magazine/shotgun/heavy_buckshot
name = "box of 6 gauge buckshot shells"
desc = "A box filled with buckshot spread shotgun shells. 6 Gauge."
caliber = CALIBER_6G
icon_state = "heavy_shotgun_buckshot"
default_ammo = /datum/ammo/bullet/shotgun/heavy_buckshot
icon_state_mini = "buckshot"

/obj/item/ammo_magazine/shotgun/barrikada
name = "box of 6 gauge 'Barrikada' shells"
desc = "A box filled with high velocity shotgun slugs nicknamed 'Barrikada'. Rated to break through basically everything up to including tank engines. 6 Gauge."
caliber = CALIBER_6G
icon_state = "heavy_shotgun_barrikada"
default_ammo = /datum/ammo/bullet/shotgun/barrikada_slug
icon_state_mini = "buckshot"
Binary file modified icons/mob/clothing/back.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/guns/shotguns_left_1.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/guns/shotguns_right_1.dmi
Binary file not shown.
Binary file modified icons/mob/suit_slot.dmi
Binary file not shown.
Binary file modified icons/obj/items/ammo/handful.dmi
Binary file not shown.
Binary file modified icons/obj/items/ammo/shotgun.dmi
Binary file not shown.
Binary file modified icons/obj/items/guns/attachments/stock.dmi
Binary file not shown.
Binary file modified icons/obj/items/guns/shotguns64.dmi
Binary file not shown.
Binary file added sound/weapons/guns/fire/ks23.ogg
Binary file not shown.
Binary file added sound/weapons/guns/interact/ks23_insert.ogg
Binary file not shown.
Binary file added sound/weapons/guns/interact/ks23_pump.ogg
Binary file not shown.
Loading