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

Shotgun Overhaul #304

Merged
merged 56 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
6c0abe4
Update shotgun.dm
AmoryBlaine Jun 22, 2024
72b9b5f
Update colonialmarines.dme
AmoryBlaine Jun 23, 2024
01f2f1d
Update shotgun.dm
AmoryBlaine Jun 28, 2024
7ad2da9
Merge branch 'master' into shotgun-changes
AndroBetel Jun 28, 2024
fe32afc
Update
AmoryBlaine Jun 28, 2024
f48212e
Update shotgun.dm
AmoryBlaine Jun 28, 2024
b795a46
repalette stock
AmoryBlaine Jun 28, 2024
1020dd7
pump edit
AmoryBlaine Jun 29, 2024
1dba042
backup uscm generic shotgun sprite update
AmoryBlaine Jun 29, 2024
f6c2903
Revert "pump edit"
AmoryBlaine Jun 29, 2024
7c1c7ce
Got rid of helmet merge conflict the easy way
AmoryBlaine Jun 29, 2024
8112dc3
Garrow and Rover shotgun updates
AmoryBlaine Jun 29, 2024
d023db4
Update shotgun.dm
AmoryBlaine Jun 29, 2024
a222663
Update shotguns.dm
AmoryBlaine Jun 29, 2024
2208aee
Type 23 updates
AmoryBlaine Jul 1, 2024
8c5c212
Update items_righthand_1.dmi
AmoryBlaine Jul 1, 2024
23b9c78
some description changes and updated XM38 sprites so its less samey
AmoryBlaine Jul 1, 2024
7bf7f96
Update shotguns.dm
AmoryBlaine Jul 1, 2024
682b6db
Mk221 changes, a vendor change, ithaca's in wood
AmoryBlaine Jul 1, 2024
9f98564
I broke it, and then I fixed it
AmoryBlaine Jul 1, 2024
f953cfb
grammar changes to guncases cause my brain didn't like the way it was
AmoryBlaine Jul 1, 2024
c05d2fc
map updates, random m79 wood resprite
AmoryBlaine Jul 1, 2024
a10ec94
fug
AmoryBlaine Jul 1, 2024
77c3f43
Disables Point Blank Firing in order to circumvent direction bug
AmoryBlaine Jul 1, 2024
902616c
Replaces dud guncases with 2 MK221s
AmoryBlaine Jul 3, 2024
09c3d69
Gets rid of busted guncase & redundant Mk45 variety
AmoryBlaine Jul 3, 2024
0e889db
XM38 no longer insane, new shotgun belt sprite
AmoryBlaine Jul 3, 2024
620aab3
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AmoryBlaine Jul 5, 2024
4904a1e
37 returns
AmoryBlaine Jul 8, 2024
53e0955
type 23 handheld looks better
AmoryBlaine Jul 8, 2024
a7d5779
Mk221 buff
AmoryBlaine Jul 8, 2024
c250e30
Merge branch 'master' into shotgun-changes
AmoryBlaine Jul 22, 2024
72fc761
Additional buckshot to the map
AmoryBlaine Jul 22, 2024
c957db8
Merge branch 'master' into shotgun-changes
AmoryBlaine Jul 22, 2024
b0271aa
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AmoryBlaine Jul 22, 2024
d0dcc97
Merge branch 'shotgun-changes' of https://github.com/AmoryBlaine/PvE-…
AmoryBlaine Jul 22, 2024
af793f0
Point blank re-added, and fixed (ty double)
AmoryBlaine Jul 23, 2024
6afe930
oops, fixed
AmoryBlaine Jul 23, 2024
8fce726
buck is TRULY no longer insane
AmoryBlaine Jul 23, 2024
248332b
Knockdown weaken isn't absurd
AmoryBlaine Jul 23, 2024
c88d4ea
Merge branch 'master' into shotgun-changes
AmoryBlaine Jul 25, 2024
8a67b99
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AmoryBlaine Aug 5, 2024
f3de174
Fixes Belt and Back onmob merge errors
AmoryBlaine Aug 5, 2024
a20b8aa
HG-37 changes
AmoryBlaine Aug 10, 2024
e89ea9c
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AmoryBlaine Aug 23, 2024
af795be
Icon update
AmoryBlaine Aug 23, 2024
36fcf1c
Dragonsbreath is based
AmoryBlaine Aug 23, 2024
bb804fc
Merge Update
AmoryBlaine Aug 26, 2024
f36ffda
KS-29, M120
AmoryBlaine Aug 27, 2024
f334fa8
Type 29
AmoryBlaine Aug 27, 2024
34fb2da
Beanbag issue
AmoryBlaine Aug 27, 2024
868c5db
Shotguns are unloaded
AmoryBlaine Aug 27, 2024
a2373ee
Max ammo issue
AmoryBlaine Aug 27, 2024
4534eea
Merge branch 'master' into shotgun-changes
AmoryBlaine Aug 27, 2024
339b3ef
M120 grenade launcher
AmoryBlaine Aug 27, 2024
24b7acc
fixes
AmoryBlaine Aug 28, 2024
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
154 changes: 107 additions & 47 deletions code/datums/ammo/bullet/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,30 @@
name = "shotgun slug"
handful_state = "slug_shell"

accurate_range = 6
max_range = 8
damage = 70
penetration = ARMOR_PENETRATION_TIER_4
accurate_range = 7
max_range = 14
damage = 90
penetration = ARMOR_PENETRATION_TIER_6
damage_var_low = PROJECTILE_VARIANCE_TIER_10
damage_var_high = PROJECTILE_VARIANCE_TIER_1
damage_armor_punch = 2
handful_state = "slug_shell"

/datum/ammo/bullet/shotgun/slug/on_hit_mob(mob/M,obj/projectile/P)
knockback(M, P, 6)
knockback(M, P, 8)

/datum/ammo/bullet/shotgun/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues
target.Stun(0.5)
target.apply_effect(1, SUPERSLOW)
target.apply_effect(3, SLOW)
target.KnockDown(3.5)
target.Stun(3.5)
target.Slow(5)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.apply_effect(1, SUPERSLOW)
living_mob.apply_effect(2, SLOW)
living_mob.KnockDown(2)
living_mob.Stun(2)
living_mob.Superslow(5)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

Expand All @@ -42,11 +44,9 @@
handful_state = "beanbag_slug"
icon_state = "beanbag"
flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IGNORE_RESIST
sound_override = 'sound/weapons/gun_shotgun_riot.ogg'

max_range = 12
shrapnel_chance = 0
damage = 0
damage = 20
stamina_damage = 45
accuracy = HIT_ACCURACY_TIER_3
shell_speed = AMMO_SPEED_TIER_3
Expand Down Expand Up @@ -127,19 +127,36 @@

accuracy_var_low = PROJECTILE_VARIANCE_TIER_5
accuracy_var_high = PROJECTILE_VARIANCE_TIER_5
accurate_range = 4
max_range = 4
damage = 65
damage_var_low = PROJECTILE_VARIANCE_TIER_8
damage_var_high = PROJECTILE_VARIANCE_TIER_8
accurate_range = 7
max_range = 9
damage = 50
damage_var_low = PROJECTILE_VARIANCE_TIER_10
damage_var_high = PROJECTILE_VARIANCE_TIER_1
penetration = ARMOR_PENETRATION_TIER_1
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_3
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_7
shell_speed = AMMO_SPEED_TIER_2
damage_armor_punch = 0
pen_armor_punch = 0
handful_state = "buckshot_shell"
multiple_handful_name = TRUE

/datum/ammo/bullet/shotgun/buckshot/on_hit_mob(mob/M,obj/projectile/P)
knockback(M, P, 4)
/datum/ammo/bullet/shotgun/buckshot/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(2.5)
target.Stun(2.5)
target.Slow(4)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.KnockDown(3)
living_mob.Stun(3)
living_mob.Slow(5)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

/datum/ammo/bullet/shotgun/buckshot/incendiary
name = "incendiary buckshot shell"
handful_state = "incen_buckshot"
Expand Down Expand Up @@ -178,8 +195,8 @@
accuracy_var_low = PROJECTILE_VARIANCE_TIER_6
accuracy_var_high = PROJECTILE_VARIANCE_TIER_6
accurate_range = 4
max_range = 4
damage = 65
max_range = 6
damage = 50
damage_var_low = PROJECTILE_VARIANCE_TIER_8
damage_var_high = PROJECTILE_VARIANCE_TIER_8
penetration = ARMOR_PENETRATION_TIER_1
Expand All @@ -191,6 +208,23 @@
/datum/ammo/bullet/shotgun/spread/masterkey
damage = 20

/datum/ammo/bullet/shotgun/spread/on_hit_mob(mob/M,obj/projectile/P)
knockback(M, P, 4)
/datum/ammo/bullet/shotgun/spread/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(2.5)
target.Stun(2.5)
target.Slow(4)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.KnockDown(3)
living_mob.Stun(3)
living_mob.Slow(5)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

/datum/ammo/bullet/shotgun/spread/special
name = "additional buckshot, USCM special type"

Expand All @@ -209,24 +243,53 @@
handful_state = "heavy_buckshot"
multiple_handful_name = TRUE
bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/spread
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_3
accurate_range = 3
max_range = 3
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_8
accurate_range = 8
max_range = 10
damage = 75
penetration = 0
penetration = ARMOR_PENETRATION_TIER_2
shell_speed = AMMO_SPEED_TIER_2
damage_armor_punch = 0
pen_armor_punch = 0

/datum/ammo/bullet/shotgun/heavy/buckshot/on_hit_mob(mob/M,obj/projectile/P)
knockback(M,P)
knockback(M,P,5)
/datum/ammo/bullet/shotgun/heavy/buckshot/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(5)
target.Stun(5)
target.Slow(8)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.KnockDown(2)
living_mob.Stun(2)
living_mob.Slow(6)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

/datum/ammo/bullet/shotgun/heavy/buckshot/spread
name = "additional heavy buckshot"
max_range = 4
max_range = 7
scatter = SCATTER_AMOUNT_TIER_1
bonus_projectiles_amount = 0

/datum/ammo/bullet/shotgun/heavy/buckshot/spread/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(5)
target.Stun(5)
target.Slow(8)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.KnockDown(2)
living_mob.Stun(2)
living_mob.Slow(6)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

/datum/ammo/bullet/shotgun/heavy/buckshot/special
bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/spread/special
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_8
Expand All @@ -251,8 +314,8 @@
multiple_handful_name = TRUE
damage_type = BURN
damage = 60
accurate_range = 3
max_range = 4
accurate_range = 4
max_range = 6
bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/spread

/datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/set_bullet_traits()
Expand All @@ -264,36 +327,34 @@
/datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/spread
name = "additional dragon's breath"
bonus_projectiles_amount = 0
accurate_range = 4
max_range = 5 //make use of the ablaze property
shell_speed = AMMO_SPEED_TIER_4 // so they hit before the main shell stuns
shell_speed = AMMO_SPEED_TIER_4


/datum/ammo/bullet/shotgun/heavy/slug
name = "heavy shotgun slug"
handful_state = "heavy_slug"

accurate_range = 7
max_range = 8
damage = 90 //ouch.
penetration = ARMOR_PENETRATION_TIER_6
max_range = 17
damage = 120 //ouch.
penetration = ARMOR_PENETRATION_TIER_9
damage_armor_punch = 2

/datum/ammo/bullet/shotgun/heavy/slug/on_hit_mob(mob/M,obj/projectile/P)
knockback(M, P, 7)
knockback(M, P, 8)

/datum/ammo/bullet/shotgun/heavy/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues
target.Stun(0.5)
target.apply_effect(2, SUPERSLOW)
target.apply_effect(5, SLOW)
target.KnockDown(7)
target.Stun(7)
target.Slow(10)
else
if(!isyautja(living_mob)) //Not predators.
living_mob.apply_effect(1, SUPERSLOW)
living_mob.apply_effect(2, SLOW)
living_mob.KnockDown(8)
living_mob.Stun(8)
living_mob.Superslow(15)
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

Expand All @@ -303,14 +364,13 @@
headshot_state = HEADSHOT_OVERLAY_MEDIUM
handful_state = "heavy_beanbag"
flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IGNORE_RESIST
sound_override = 'sound/weapons/gun_shotgun_riot.ogg'

max_range = 7
shrapnel_chance = 0
damage = 0
damage = 25
stamina_damage = 100
accuracy = HIT_ACCURACY_TIER_2
shell_speed = AMMO_SPEED_TIER_2
accuracy = HIT_ACCURACY_TIER_6
shell_speed = 3

/datum/ammo/bullet/shotgun/heavy/beanbag/on_hit_mob(mob/M, obj/projectile/P)
if(!M || M == P.firer)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/supply_packs/black_market.dm
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Non-USCM items, from CLF, UPP, colonies, etc. Mostly combat-related.
new /obj/item/ammo_magazine/smg/mac15(src)
new /obj/item/ammo_magazine/smg/mac15(src)
if(4) //upp
new /obj/item/weapon/gun/shotgun/type23/riot_control(src)
new /obj/item/weapon/gun/shotgun/type23/riot(src)
new /obj/item/ammo_magazine/handful/shotgun/heavy/beanbag(src)
new /obj/item/ammo_magazine/handful/shotgun/heavy/beanbag(src)
new /obj/item/ammo_magazine/handful/shotgun/heavy/flechette(src)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_chief_engineer, list(
list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),

list("PRIMARY FIREARMS (CHOOSE 1)", 0, null, null, null),
list("M37A2 Pump Shotgun", 0, /obj/item/storage/box/guncase/pumpshotgun, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),
list("M120 Tactical Shotgun", 0, /obj/item/storage/box/guncase/shotguncombat, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),
list("M41A Pulse Rifle MK2", 0, /obj/item/storage/box/guncase/m41a, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),
list("M240 Incinerator Unit", 0, /obj/item/storage/box/guncase/flamer, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/weapon/gun/launcher/grenade/m81/riot(src, TRUE)
new /obj/item/storage/box/nade_box/tear_gas(src)
new /obj/item/clothing/mask/gas(src)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag/riot(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/ammo_magazine/shotgun/beanbag(src)
new /obj/item/weapon/gun/launcher/grenade/m81/riot(src, TRUE)
new /obj/item/storage/box/nade_box/tear_gas(src)
new /obj/item/clothing/mask/gas(src)
Expand Down
Loading
Loading