diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index cf13fb9b01..b2bbf607ce 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -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) @@ -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 @@ -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" @@ -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 @@ -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" @@ -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 @@ -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() @@ -264,9 +327,7 @@ /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 @@ -274,26 +335,26 @@ 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) @@ -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) diff --git a/code/datums/supply_packs/black_market.dm b/code/datums/supply_packs/black_market.dm index e70d47c6be..ea0efa7106 100644 --- a/code/datums/supply_packs/black_market.dm +++ b/code/datums/supply_packs/black_market.dm @@ -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) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index b5bc42eabb..20409a7e02 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -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), diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm index 4531a68c42..30b8ccb025 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm @@ -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) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm index acc43c302e..a208a61a95 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm @@ -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) diff --git a/code/modules/cm_marines/equipment/guncases.dm b/code/modules/cm_marines/equipment/guncases.dm index 98af79c511..4c1f33b3d8 100644 --- a/code/modules/cm_marines/equipment/guncases.dm +++ b/code/modules/cm_marines/equipment/guncases.dm @@ -47,7 +47,7 @@ //------------ /obj/item/storage/box/guncase/mou53 name = "\improper MOU53 shotgun case" - desc = "A gun case containing the MOU53 shotgun. It does come loaded, but you'll still have to find ammunition as you go." + desc = "A gun case containing a MOU53 shotgun. It does come loaded, but you'll still have to find ammunition as you go." storage_slots = 2 can_hold = list(/obj/item/weapon/gun/shotgun/double/mou53, /obj/item/attachable/stock/mou53) @@ -58,7 +58,7 @@ //------------ /obj/item/storage/box/guncase/lmg name = "\improper M41AE2 heavy pulse rifle case" - desc = "A gun case containing the M41AE2 heavy pulse rifle. You can get additional ammunition at requisitions." + desc = "A gun case containing a M41AE2 heavy pulse rifle. You can get additional ammunition at requisitions." storage_slots = 5 can_hold = list(/obj/item/weapon/gun/rifle/lmg, /obj/item/ammo_magazine/rifle/lmg) @@ -72,7 +72,7 @@ //------------ /obj/item/storage/box/guncase/m41aMK1 name = "\improper M41A pulse rifle MK1 case" - desc = "A gun case containing the M41A pulse rifle MK1. It can only use proprietary MK1 magazines." + desc = "A gun case containing a loaded M41A pulse rifle MK1 and two additional magazines." storage_slots = 3 can_hold = list(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1) @@ -84,7 +84,7 @@ /obj/item/storage/box/guncase/m41aMK1AP name = "\improper M41A pulse rifle MK1 AP case" - desc = "A gun case containing the M41A pulse rifle MK1 loaded with AP rounds. It can only use proprietary MK1 magazines." + desc = "A gun case containing a M41A pulse rifle MK1 loaded with AP rounds and two additional magazines." storage_slots = 3 can_hold = list(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1) @@ -97,7 +97,7 @@ //M79 grenade launcher /obj/item/storage/box/guncase/m79 name = "\improper M79 grenade launcher case" - desc = "A gun case containing the modernized M79 grenade launcher. Comes with 3 baton slugs, 3 hornet shells and 3 star shell grenades." + desc = "A gun case containing a modernized M79 grenade launcher. Comes with 3 baton slugs, 3 hornet shells and 3 star shell grenades." storage_slots = 4 can_hold = list(/obj/item/weapon/gun/launcher/grenade/m81/m79, /obj/item/storage/box/packet) @@ -111,7 +111,7 @@ //R4T lever action rifle /obj/item/storage/box/guncase/r4t_scout name = "\improper R4T lever action rifle case" - desc = "A gun case containing the R4T lever action rifle, intended for scouting. Comes with an ammunition belt, the optional revolver attachment for it, two boxes of ammunition, a sling, and a stock for the rifle." + desc = "A gun case containing a R4T lever action rifle, intended for scouting. Comes with an ammunition belt, the optional revolver attachment for it, two boxes of ammunition, a sling, and a stock for the rifle." storage_slots = 7 can_hold = list(/obj/item/weapon/gun/lever_action/r4t, /obj/item/attachable/stock/r4t, /obj/item/attachable/magnetic_harness/lever_sling, /obj/item/ammo_magazine/lever_action, /obj/item/ammo_magazine/lever_action/training, /obj/item/storage/belt/shotgun/lever_action, /obj/item/storage/belt/gun/m44/lever_action/attach_holster, /obj/item/device/motiondetector/m717) @@ -126,7 +126,7 @@ /obj/item/storage/box/guncase/xm88 name = "\improper XM88 heavy rifle case" - desc = "A gun case containing the XM88 Heavy Rifle, a prototype weapon designed for use against heavily armored infantry targets and light vehicles. Contains an ammunition belt, two boxes of ammunition, the XS-9 Targeting Relay attachment, and the stock for the rifle." + desc = "A gun case containing a XM88 Heavy Rifle, a prototype weapon designed for use against heavily armored infantry targets and light vehicles. Contains an ammunition belt, two boxes of ammunition, the XS-9 Targeting Relay attachment, and the stock for the rifle." storage_slots = 6 can_hold = list(/obj/item/weapon/gun/lever_action/xm88, /obj/item/attachable/stock/xm88, /obj/item/attachable/scope/mini/xm88, /obj/item/ammo_magazine/lever_action/xm88, /obj/item/storage/belt/shotgun/xm88) @@ -141,7 +141,7 @@ //------------ /obj/item/storage/box/guncase/flamer name = "\improper M240 incinerator case" - desc = "A gun case containing the M240A1 incinerator unit. It does come loaded, but you'll still have to find extra tanks as you go." + desc = "A gun case containing a M240A1 incinerator unit. It does come loaded, but you'll still have to find extra tanks as you go." storage_slots = 4 can_hold = list(/obj/item/weapon/gun/flamer, /obj/item/ammo_magazine/flamer_tank, /obj/item/attachable/attached_gun/extinguisher) @@ -162,7 +162,7 @@ //------------ /obj/item/storage/box/guncase/m56d name = "\improper M56D heavy machine gun case" - desc = "A gun case containing the M56D heavy machine gun. You'll need to order resupplies from requisitions or scavenge them on the field. How do they fit all this into a case? Wouldn't you need a crate." + desc = "A gun case containing a M56D heavy machine gun. You'll need to order resupplies from requisitions or scavenge them on the field. How do they fit all this into a case? Wouldn't you need a crate." storage_slots = 8 can_hold = list(/obj/item/device/m56d_gun, /obj/item/ammo_magazine/m56d, /obj/item/device/m56d_post, /obj/item/tool/wrench, /obj/item/tool/screwdriver, /obj/item/ammo_magazine/m56d, /obj/item/pamphlet/skill/machinegunner, /obj/item/storage/belt/marine/m2c) @@ -179,7 +179,7 @@ //------------ /obj/item/storage/box/guncase/m2c name = "\improper M2C heavy machine gun case" - desc = "A gun case containing the M2C heavy machine gun. It doesn't come loaded, but it does have spare ammunition. You'll have to order extras from requisitions." + desc = "A gun case containing a M2C heavy machine gun. It doesn't come loaded, but it does have spare ammunition. You'll have to order extras from requisitions." storage_slots = 7 can_hold = list(/obj/item/pamphlet/skill/machinegunner, /obj/item/device/m2c_gun, /obj/item/ammo_magazine/m2c, /obj/item/storage/belt/marine/m2c, /obj/item/pamphlet/skill/machinegunner) @@ -206,44 +206,50 @@ //------------ -/obj/item/storage/box/guncase/pumpshotgun - name = "\improper M37A2 Pump Shotgun case" - desc = "A gun case containing the M37A2 Pump Shotgun." - icon_state = "guncase_red" - storage_slots = 4 - can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/flechette, /obj/item/ammo_magazine/shotgun/slugs, /obj/item/storage/pouch/shotgun) +/obj/item/storage/box/guncase/shotguncombat + name = "\improper M120 tactical shotgun case" + desc = "A gun case containing an unloaded M120 tactical shotgun, two boxes of 12 gauge buckshot, and one box of 12 gauge slug." + icon_state = "guncase" + storage_slots = 3 + can_hold = list(/obj/item/weapon/gun/shotgun/combat, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/slugs) + +/obj/item/storage/box/guncase/shotguncombat/fill_preset_inventory() + new /obj/item/weapon/gun/shotgun/combat(src) + new /obj/item/ammo_magazine/shotgun/buckshot(src) + new /obj/item/ammo_magazine/shotgun/slugs(src) + +/obj/item/storage/box/guncase/shotgunpump + name = "\improper Ithaca 37 pump-action shotgun case" + desc = "A gun case containing an unloaded Ithaca 37 pump-action shotgun, a box of 12 gauge buckshot, and a box of 12 gauge slugs." + icon_state = "matebacase" + storage_slots = 3 + can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/slugs) -/obj/item/storage/box/guncase/pumpshotgun/fill_preset_inventory() +/obj/item/storage/box/guncase/shotgunpump/fill_preset_inventory() new /obj/item/weapon/gun/shotgun/pump(src) - new /obj/item/storage/pouch/shotgun(src) - new /obj/item/storage/large_holster/m37(src) - for(var/i = 1 to 3) - var/random_pick = rand(1, 3) - switch(random_pick) - if(1) - new /obj/item/ammo_magazine/shotgun/buckshot(src) - if(2) - new /obj/item/ammo_magazine/shotgun/flechette(src) - if(3) - new /obj/item/ammo_magazine/shotgun/slugs(src) - -/obj/item/storage/box/guncase/pumpshotgun/special + new /obj/item/ammo_magazine/shotgun/buckshot(src) + new /obj/item/ammo_magazine/shotgun/slugs(src) + + +/obj/item/storage/box/guncase/shotgunpump/special + name = "\improper Ithaca 37 pump-action shotgun case" + desc = "A gun case containing an unloaded Ithaca 37 pump-action shotgun and one box of 12 gauge USCM Special buckshot." + icon_state = "matebacase" storage_slots = 2 -/obj/item/storage/box/guncase/pumpshotgun/special/fill_preset_inventory() - new /obj/item/weapon/gun/shotgun/pump/special(src) +/obj/item/storage/box/guncase/shotgunpump/special/fill_preset_inventory() + new /obj/item/weapon/gun/shotgun/pump(src) new /obj/item/ammo_magazine/shotgun/buckshot/special(src) new /obj/item/storage/pouch/shotgun(src) new /obj/item/storage/large_holster/m37(src) /obj/item/storage/box/guncase/mk45_automag name = "\improper MK-45 Automagnum case" - desc = "A gun case containing the MK-45 'High-Power' Automagnum sidearm. While this weapon was rejected as a replacement for the M44 Combat Revolver, it is often back-issued to troops who prefer its powerful bullets over more common sidearms." + desc = "A gun case containing a MK-45 'High-Power' Automagnum sidearm. While this weapon was rejected as a replacement for the M44 Combat Revolver, it is often back-issued to troops who prefer its powerful bullets over more common sidearms." storage_slots = 6 can_hold = list(/obj/item/weapon/gun/pistol/highpower, /obj/item/ammo_magazine/pistol/highpower) /obj/item/storage/box/guncase/mk45_automag/fill_preset_inventory() - if(prob(30)) new /obj/item/weapon/gun/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) @@ -251,14 +257,6 @@ new /obj/item/ammo_magazine/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) - else - new /obj/item/weapon/gun/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) /obj/item/storage/box/guncase/nsg23_marine @@ -289,7 +287,7 @@ /obj/item/storage/box/guncase/m1911 name = "\improper M1911 service pistol case" - desc = "A gun case containing the M1911 service pistol. It might be three centuries old but it's still a damn good pistol. Back-issue only, though." + desc = "A gun case containing a M1911 service pistol. It might be three centuries old but it's still a damn good pistol. Back-issue only, though." storage_slots = 7 can_hold = list(/obj/item/weapon/gun/pistol/m1911, /obj/item/ammo_magazine/pistol/m1911) @@ -331,7 +329,7 @@ /obj/item/storage/box/guncase/vulture name = "\improper M707 anti-materiel rifle case" - desc = "A gun case containing the M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." + desc = "A gun case containing a M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." icon_state = "guncase_blue" storage_slots = 7 can_hold = list( diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 6aefa9a673..395ad2e550 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -1050,20 +1050,11 @@ var/list/rebel_rifles = list( ) /datum/equipment_preset/proc/load_upp_shotgun(mob/living/carbon/human/new_human) - var/random_shotgun = rand(1,3) - switch(random_shotgun) - if(1) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) - if(2) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) - if(3) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + /datum/equipment_preset/proc/add_upp_weapon(mob/living/carbon/human/new_human) var/random_gun = rand(1,5) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 5488403e72..ada9398189 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -127,7 +127,10 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/np92, WEAR_WAIST) - load_upp_shotgun(new_human) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + /datum/equipment_preset/upp/soldier/proc/load_upp_double(mob/living/carbon/human/new_human, obj/item/clothing/under/marine/veteran/UPP/UPP) @@ -135,7 +138,7 @@ var/rifle = prob(50) ? /obj/item/weapon/gun/rifle/type71/dual : /obj/item/weapon/gun/rifle/type71/carbine/dual new_human.equip_to_slot_or_del(new rifle, WEAR_BACK) //body - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dual, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/full, WEAR_WAIST) //pockets @@ -567,7 +570,7 @@ UPP.attach_accessory(new_human, W) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/heavy/dragonsbreath, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dragon, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/heavy/dragonsbreath, WEAR_IN_JACKET) //waist var/uppvetsidearm = prob(50) ? /obj/item/storage/belt/gun/type47/t73 : /obj/item/storage/belt/gun/type47/np92 @@ -2572,7 +2575,7 @@ new_human.equip_to_slot_or_del(UPP, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dual, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/shotgun/upp/heavybuck(new_human), WEAR_WAIST) //limb diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7dc0a56943..32a0850443 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1443,7 +1443,7 @@ and you're good to go. if(projectile_to_fire.ammo.bonus_projectiles_amount) var/obj/projectile/BP for(var/i in 1 to projectile_to_fire.ammo.bonus_projectiles_amount) - BP = new /obj/projectile(attacked_mob.loc, create_cause_data(initial(name), user)) + BP = new /obj/projectile(null, create_cause_data(initial(name), user)) BP.generate_bullet(GLOB.ammo_list[projectile_to_fire.ammo.bonus_projectiles_type], 0, NO_FLAGS) BP.accuracy = round(BP.accuracy * projectile_to_fire.accuracy/initial(projectile_to_fire.accuracy)) //Modifies accuracy of pellets per fire_bonus_projectiles. BP.damage *= damage_buff diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 6f972bdeb8..aa38e859a1 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -1727,8 +1727,8 @@ Defined in conflicts.dm of the #defines folder. icon = 'icons/obj/items/weapons/guns/attachments/stock.dmi' /obj/item/attachable/stock/shotgun - name = "\improper M37 wooden stock" - desc = "A non-standard heavy wooden stock for the M37 Shotgun. More cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." + name = "\improper Ithaca 37 wooden stock" + desc = "A standard wooden stock for the Ithaca pump-action shotgun. More cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." slot = "stock" icon_state = "stock" wield_delay_mod = WIELD_DELAY_FAST @@ -1824,8 +1824,8 @@ Defined in conflicts.dm of the #defines folder. // Doesn't give any stat additions due to the gun already having really good ones, and this is unremovable from the gun itself /obj/item/attachable/stock/tactical - name = "\improper MK221 tactical stock" - desc = "A metal stock made for the MK221 tactical shotgun." + name = "\improper M120 tactical stock" + desc = "A metal stock made for the M120 tactical shotgun." icon_state = "tactical_stock" hud_offset_mod = 6 @@ -1859,6 +1859,33 @@ Defined in conflicts.dm of the #defines folder. recoil_unwielded_mod = -RECOIL_AMOUNT_TIER_5 scatter_unwielded_mod = -SCATTER_AMOUNT_TIER_10 +/obj/item/attachable/stock/type23/wood + name = "\improper KS-29 wooden stock" + desc = "A standard heavy wooden stock for the KS-29 riot shotgun. Allegedly makes a pretty good club in a fight too." + slot = "stock" + icon_state = "type23_wood" + wield_delay_mod = WIELD_DELAY_FAST + pixel_shift_x = 32 + pixel_shift_y = 15 + hud_offset_mod = 6 //*Very* long sprite. + flags_attach_features = NO_FLAGS + +/obj/item/attachable/stock/type23/wood/New() + ..() + //it makes stuff much better when two-handed + accuracy_mod = HIT_ACCURACY_MULT_TIER_4 + recoil_mod = -RECOIL_AMOUNT_TIER_4 + scatter_mod = -SCATTER_AMOUNT_TIER_8 + movement_onehanded_acc_penalty_mod = -MOVEMENT_ACCURACY_PENALTY_MULT_TIER_5 + //it makes stuff much worse when one handed + accuracy_unwielded_mod = -HIT_ACCURACY_MULT_TIER_3 + recoil_unwielded_mod = RECOIL_AMOUNT_TIER_4 + scatter_unwielded_mod = SCATTER_AMOUNT_TIER_8 + //but at the same time you are slow when 2 handed + aim_speed_mod = CONFIG_GET(number/slowdown_med) + + matter = list("wood" = 2000) + /obj/item/attachable/stock/slavic name = "wooden stock" desc = "A non-standard heavy wooden stock for Slavic firearms." @@ -2665,7 +2692,7 @@ Defined in conflicts.dm of the #defines folder. name = "U1 grenade launcher" desc = "A weapon-mounted, reloadable grenade launcher." icon_state = "grenade" - attach_icon = "grenade_a" + attach_icon = "grenade" w_class = SIZE_MEDIUM current_rounds = 0 max_rounds = 3 @@ -2834,12 +2861,22 @@ Defined in conflicts.dm of the #defines folder. current_rounds = 0 max_rounds = 5 max_range = 10 - attachment_firing_delay = 30 + attachment_firing_delay = 15 /obj/item/attachable/attached_gun/grenade/mk1/recon icon_state = "green_grenade-mk1" attach_icon = "green_grenade-mk1_a" +/obj/item/attachable/attached_gun/grenade/m120 + name = "\improper PN/c 30mm underslung grenade launcher" + desc = "Compact variant of the PN pump action underslung grenade launcher. Fits the M120 shotgun, three round tube, chambers one." + icon_state = "grenade-mk1" + attach_icon = "grenade-mk1_a" + current_rounds = 0 + max_rounds = 3 + max_range = 10 + attachment_firing_delay = 15 + /obj/item/attachable/attached_gun/grenade/m203 //M16 GL, only DD have it. name = "\improper M203 Grenade Launcher" desc = "An antique underbarrel grenade launcher. Adopted in 1969 for the M16, it was made obsolete centuries ago; how its ended up here is a mystery to you. Holds only one propriatary 40mm grenade, does not have modern IFF systems, it won't pass through your friends." diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index a705861f98..6035aaf612 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -20,6 +20,7 @@ can cause issues with ammo types getting mixed up during the burst. has_empty_icon = FALSE has_open_icon = FALSE fire_delay_group = list(FIRE_DELAY_GROUP_SHOTGUN) + map_specific_decoration = FALSE var/gauge = "12g" /obj/item/weapon/gun/shotgun/Initialize(mapload, spawn_empty) @@ -153,7 +154,6 @@ can cause issues with ammo types getting mixed up during the burst. current_mag.chamber_position-- return in_chamber - /obj/item/weapon/gun/shotgun/ready_in_chamber() return ready_shotgun_tube() @@ -229,7 +229,7 @@ can cause issues with ammo types getting mixed up during the burst. scatter = SCATTER_AMOUNT_TIER_5 burst_scatter_mult = SCATTER_AMOUNT_TIER_3 scatter_unwielded = SCATTER_AMOUNT_TIER_1 - damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -237,15 +237,17 @@ can cause issues with ammo types getting mixed up during the burst. //TACTICAL SHOTGUN /obj/item/weapon/gun/shotgun/combat - name = "\improper MK221 tactical shotgun" - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate." + name = "\improper M120 tactical shotgun" + desc = "A successor to the Benelli M4 Super 90, the M120 tactical shotgun is in service with the USCM due its easy maneuverability in close quarters, 12 gauge chambering, high firerate and integrated U1 underslung grenade launcher. While not part of the standard doctrine, they are common none the less. The internal tube magazine stores 6 shells and the U1 grenade launcher stores three grenades." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "mk221" item_state = "mk221" fire_sound = "gun_shotgun_tactical" firesound_volume = 20 - current_mag = /obj/item/ammo_magazine/internal/shotgun + + flags_equip_slot = SLOT_BACK + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat attachable_allowed = list( /obj/item/attachable/bayonet, /obj/item/attachable/bayonet/upp, @@ -264,26 +266,12 @@ can cause issues with ammo types getting mixed up during the burst. if(current_mag && current_mag.current_rounds > 0) load_into_chamber() -/obj/item/weapon/gun/shotgun/combat/handle_starting_attachment() - ..() - var/obj/item/attachable/attached_gun/grenade/ugl = new(src) - var/obj/item/attachable/stock/tactical/stock = new(src) - ugl.flags_attach_features &= ~ATTACH_REMOVABLE - ugl.hidden = TRUE - ugl.Attach(src) - update_attachable(ugl.slot) - stock.hidden = FALSE - stock.Attach(src) - update_attachable(stock.slot) - /obj/item/weapon/gun/shotgun/combat/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 21, "under_x" = 14, "under_y" = 16, "stock_x" = 11, "stock_y" = 13.) - - + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 21, "under_x" = 22, "under_y" = 14, "stock_x" = 11, "stock_y" = 13.) /obj/item/weapon/gun/shotgun/combat/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_5*2) + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -292,7 +280,7 @@ can cause issues with ammo types getting mixed up during the burst. damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_4 recoil_unwielded = RECOIL_AMOUNT_TIER_2 - + starting_attachment_types = list(/obj/item/attachable/attached_gun/grenade/m120, /obj/item/attachable/stock/tactical) /obj/item/weapon/gun/shotgun/combat/get_examine_text(mob/user) . = ..() @@ -300,32 +288,31 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/combat/riot - name = "\improper MK221 riot shotgun" + name = "\improper M120/R tactical shotgun" icon_state = "mp220" item_state = "mp220" - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a steel blue finish to signify use in riot control. It has been modified to only fire 20G beanbags." + desc = "A successor to the Benelli M4 Super 90, the M120 tactical shotgun is in service with the USCM due its easy maneuverability in close quarters, 12 gauge chambering, high firerate and integrated U1 underslung grenade launcher. While not part of the standard doctrine, they are common none the less. This one comes with a blue steel finish to denote its function as a riot shotgun. The internal tube magazine stores 6 shells and the U1 grenade launcher stores three grenades." current_mag = /obj/item/ammo_magazine/internal/shotgun/combat/riot - gauge = "20g" /obj/item/weapon/gun/shotgun/combat/guard - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a red handle to signify its use with Military Police Honor Guards." + desc = "The Weyland-Yutani M120 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a red handle to signify its use with Military Police Honor Guards." icon_state = "mp221" item_state = "mp221" starting_attachment_types = list(/obj/item/attachable/magnetic_harness, /obj/item/attachable/bayonet) - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat /obj/item/weapon/gun/shotgun/combat/covert starting_attachment_types = list(/obj/item/attachable/magnetic_harness, /obj/item/attachable/extended_barrel) - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat //SOF MK210, an earlier developmental variant of the MK211 tactical used by USCM SOF. /obj/item/weapon/gun/shotgun/combat/marsoc name = "\improper XM38 tactical shotgun" - desc = "Way back in 2168, Wey-Yu began testing the MK221. The USCM picked up an early prototype, and later adopted it with a limited military contract. But the USCM Special Operations Forces wasn't satisfied, and iterated on the early prototypes they had access to; eventually, their internal armorers and tinkerers produced the MK210, designated XM38, a lightweight folding shotgun that snaps to the belt. And to boot, it's fully automatic, made of stamped medal, and keeps the UGL. Truly an engineering marvel." + desc = "An ARMAT design adopted for testing by the Marine Raiders due to it's compact size, high firerate and integrated magnetic harness system. You might think the size would leave its magazine tube wanting, but through engineering magic, the XM38 is capable of holding six shells with its internal tube magazine." icon_state = "mk210" item_state = "mk210" - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/marsoc flags_equip_slot = SLOT_WAIST|SLOT_BACK flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG @@ -353,7 +340,7 @@ can cause issues with ammo types getting mixed up during the burst. ..() set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - HIT_ACCURACY_MULT_TIER_5 + accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_6 burst_scatter_mult = SCATTER_AMOUNT_TIER_6 scatter_unwielded = SCATTER_AMOUNT_TIER_2 @@ -365,18 +352,19 @@ can cause issues with ammo types getting mixed up during the burst. //TYPE 23. SEMI-AUTO UPP SHOTGUN, BASED ON KS-23 /obj/item/weapon/gun/shotgun/type23 - name = "\improper Type 23 riot shotgun" - desc = "As UPP soldiers frequently reported being outmatched by enemy combatants, UPP High Command commissioned a large amount of Type 23 shotguns, originally used for quelling defector colony riots. This slow semi-automatic shotgun chambers 8 gauge, and packs a mean punch." + name = "\improper KS-29/4 combat shotgun" + desc = "A contemporary semi-automatic design based off of the KS-23, a Soviet-era pump-action riot shotgun chambered in 6 gauge shells. Updated for the UPP's Naval Infantry as a boarding gun, it was downgraded to 8 gauge chambering in order to make it more controllable without much loss to overall firepower and allow for easier storage of large quantities of shells on the individual user. Its internal tube magazine can store 4 shells." icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' - icon_state = "type23" - item_state = "type23" - fire_sound = 'sound/weapons/gun_type23.ogg' //not perfect, too small + icon_state = "type23_tactical" + item_state = "type23_tactical" + fire_sound = 'sound/weapons/gun_type23.ogg' current_mag = /obj/item/ammo_magazine/internal/shotgun/type23 attachable_allowed = list( /obj/item/attachable/reddot, // Rail /obj/item/attachable/reddot/upp, /obj/item/attachable/reflex, /obj/item/attachable/reflex/upp, + /obj/item/attachable/scope/upp, /obj/item/attachable/flashlight, /obj/item/attachable/magnetic_harness, /obj/item/attachable/bayonet, // Muzzle @@ -392,9 +380,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/burstfire_assembly, /obj/item/attachable/stock/type23, // Stock ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_INTERNAL_MAG + flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG flags_equip_slot = SLOT_BACK - map_specific_decoration = FALSE gauge = "8g" starting_attachment_types = list(/obj/item/attachable/stock/type23) @@ -403,101 +390,26 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/type23/set_gun_config_values() ..() - set_fire_delay(2.5 SECONDS) + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 + accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_4 scatter_unwielded = SCATTER_AMOUNT_TIER_1 damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_1 recoil_unwielded = RECOIL_AMOUNT_TIER_1 -/obj/item/weapon/gun/shotgun/type23/breacher - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/flashlight, - ) - random_muzzle_chance = 100 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - ) - random_under_chance = 40 - random_spawn_under = list( - /obj/item/attachable/verticalgrip/upp, - ) - -/obj/item/weapon/gun/shotgun/type23/breacher/slug - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/slug - -/obj/item/weapon/gun/shotgun/type23/breacher/flechette - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/flechette - -/obj/item/weapon/gun/shotgun/type23/dual - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - ) - random_muzzle_chance = 80 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - /obj/item/attachable/heavy_barrel, - ) - random_under_chance = 100 - random_spawn_under = list( - /obj/item/attachable/flashlight/grip, - /obj/item/attachable/verticalgrip/upp, - ) - -/obj/item/weapon/gun/shotgun/type23/dragon - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/dragonsbreath - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - ) - random_muzzle_chance = 70 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - /obj/item/attachable/heavy_barrel, - ) - random_under_chance = 100 - random_spawn_under = list( - /obj/item/attachable/attached_gun/extinguisher, - ) - -/obj/item/weapon/gun/shotgun/type23/riot_control - name = "\improper Type 23-R riot control shotgun" - desc = "This slow semi-automatic shotgun chambers 8 gauge, and packs a mean punch. The -R version is designed for UPP colony security personnel and handling colony rioting, sporting an integrated vertical grip but lacking in attachment choices." - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/beanbag - attachable_allowed = list( - /obj/item/attachable/reddot, //Rail - /obj/item/attachable/reddot/upp, - /obj/item/attachable/reflex, - /obj/item/attachable/reflex/upp, - /obj/item/attachable/flashlight, - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/verticalgrip, //Underbarrel - /obj/item/attachable/verticalgrip/upp, - /obj/item/attachable/stock/type23, //Stock - ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_INTERNAL_MAG - flags_equip_slot = SLOT_BACK - map_specific_decoration = FALSE - gauge = "8g" - starting_attachment_types = list(/obj/item/attachable/stock/type23) -/obj/item/weapon/gun/shotgun/type23/riot_control/handle_starting_attachment() - . = ..() - var/obj/item/attachable/verticalgrip/integrated_grip = new(src) - integrated_grip.flags_attach_features &= ~ATTACH_REMOVABLE - integrated_grip.Attach(src) - update_attachable(integrated_grip.slot) +/obj/item/weapon/gun/shotgun/type23/riot + name = "\improper KS-29 riot shotgun" + desc = "A contemporary semi-automatic design based off of the KS-23, a Soviet-era riot shotgun chambered in 6 gauge shells. Like its Naval Infantry sibling, it is downgraded to 8 gauge chambering in order to make it more controllable without much loss to overall firepower and allow for easier storage of large quantities of shells on the individual user. Its internal tube magazine can store 4 shells." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' + icon_state = "type23_wood" + item_state = "type23_wood" + starting_attachment_types = list(/obj/item/attachable/stock/type23/wood) -/obj/item/weapon/gun/shotgun/type23/pve - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/special +/obj/item/weapon/gun/shotgun/type23/riot/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 13, "rail_y" = 21, "under_x" = 24, "under_y" = 15, "stock_x" = 16, "stock_y" = 15) //------------------------------------------------------- //DOUBLE SHOTTY @@ -653,7 +565,7 @@ can cause issues with ammo types getting mixed up during the burst. accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_7 scatter_unwielded = SCATTER_AMOUNT_TIER_1 - damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -676,7 +588,7 @@ can cause issues with ammo types getting mixed up during the burst. scatter = SCATTER_AMOUNT_TIER_6 burst_scatter_mult = SCATTER_AMOUNT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_2 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -720,7 +632,7 @@ can cause issues with ammo types getting mixed up during the burst. set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_7 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_2 recoil_unwielded = RECOIL_AMOUNT_TIER_3 @@ -793,7 +705,6 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/lasersight, /obj/item/attachable/stock/mou53, ) - map_specific_decoration = TRUE civilian_usable_override = FALSE /obj/item/weapon/gun/shotgun/double/mou53/set_gun_attachment_offsets() @@ -1076,8 +987,8 @@ can cause issues with ammo types getting mixed up during the burst. //Shotguns in this category will need to be pumped each shot. /obj/item/weapon/gun/shotgun/pump - name = "\improper M37A2 pump shotgun" - desc = "An Armat Battlefield Systems classic design, the M37A2 combines close-range firepower with long term reliability. Requires a pump, which is a Unique Action." + name = "Ithaca 37 pump-action shotgun" + desc = "A customized Ithaca 37 hunting shotgun. Its wooden stock has been replaced with a bakelite pistol grip, and its barrel and magazine tube have been cut down to half their lengths for easier handling in close quarters at the cost of magazine size, only fitting four shells and one chambered." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m37" item_state = "m37" @@ -1111,11 +1022,10 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/attached_gun/flamer/advanced, /obj/item/attachable/stock/shotgun, ) - map_specific_decoration = TRUE /obj/item/weapon/gun/shotgun/pump/Initialize(mapload, spawn_empty) . = ..() - pump_delay = FIRE_DELAY_TIER_5*2 + pump_delay = FIRE_DELAY_TIER_8 additional_fire_group_delay += pump_delay @@ -1126,7 +1036,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/set_gun_config_values() ..() set_burst_amount(BURST_AMOUNT_TIER_1) - set_fire_delay(FIRE_DELAY_TIER_7 * 4) + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -1135,7 +1045,7 @@ can cause issues with ammo types getting mixed up during the burst. damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_4 recoil_unwielded = RECOIL_AMOUNT_TIER_2 - wield_delay = WIELD_DELAY_MIN + //wield_delay = WIELD_DELAY_MIN /obj/item/weapon/gun/shotgun/pump/unique_action(mob/user) pump_shotgun(user) @@ -1199,9 +1109,6 @@ can cause issues with ammo types getting mixed up during the burst. //------------------------------------------------------- -/obj/item/weapon/gun/shotgun/pump/special - current_mag = /obj/item/ammo_magazine/internal/shotgun/special - /obj/item/weapon/gun/shotgun/pump/dual_tube name = "generic dual-tube pump shotgun" desc = "A twenty-round pump action shotgun with dual internal tube magazines. You can switch the active internal magazine by toggling the shotgun tube." @@ -1252,7 +1159,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb name = "\improper HG 37-12 pump shotgun" - desc = "A eight-round pump action shotgun with four-round capacity dual internal tube magazines allowing for quick reloading and highly accurate fire. Used exclusively by Colonial Marshals. You can switch the active internal magazine by toggling the shotgun tube." + desc = "An eight-round pump action shotgun with four-round capacity dual internal tube magazines allowing for quick reloading and highly accurate fire. Standard issue shotgun of the Colonial Marshals Bureau. By toggling the shotgun tube, you can swap between the internal magazines." icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' icon_state = "hg3712" item_state = "hg3712" @@ -1270,7 +1177,6 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/attached_gun/flamer/advanced, ) starting_attachment_types = list(/obj/item/attachable/stock/hg3712) - map_specific_decoration = FALSE civilian_usable_override = TRUE // Come on. It's THE, er, other, survivor shotgun. @@ -1280,7 +1186,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/set_gun_config_values() ..() - set_fire_delay(1.6 SECONDS) + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -1299,8 +1205,4 @@ can cause issues with ammo types getting mixed up during the burst. current_mag = /obj/item/ammo_magazine/internal/shotgun/cmb/m3717 starting_attachment_types = list(/obj/item/attachable/stock/hg3712/m3717) -/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/m3717/set_gun_config_values() - ..() - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_3 - //------------------------------------------------------- diff --git a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm index 0f767d679d..9148062d0c 100644 --- a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm @@ -330,7 +330,7 @@ icon_state = "m79" item_state = "m79" flags_equip_slot = SLOT_BACK - preload = /obj/item/explosive/grenade/slug/baton + preload = null is_lobbing = TRUE actions_types = list(/datum/action/item_action/toggle_firing_level) diff --git a/code/modules/projectiles/magazines/shotguns.dm b/code/modules/projectiles/magazines/shotguns.dm index 3c26685a55..e378aed3c4 100644 --- a/code/modules/projectiles/magazines/shotguns.dm +++ b/code/modules/projectiles/magazines/shotguns.dm @@ -24,7 +24,7 @@ var/list/shotgun_boxes_12g = list( caliber = "12g" gun_type = /obj/item/weapon/gun/shotgun max_rounds = 25 // Real shotgun boxes are usually 5 or 25 rounds. This works with the new system, five handfuls. - w_class = SIZE_LARGE // Can't throw it in your pocket, friend. + w_class = SIZE_MEDIUM // Can't throw it in your pocket, friend. flags_magazine = AMMUNITION_REFILLABLE|AMMUNITION_HANDFUL_BOX handful_state = "slug_shell" transfer_handful_amount = 5 @@ -70,15 +70,6 @@ var/list/shotgun_boxes_12g = list( default_ammo = /datum/ammo/bullet/shotgun/beanbag handful_state = "beanbag_slug" -/obj/item/ammo_magazine/shotgun/beanbag/riot - name = "box of RC beanbag slugs" - desc = "A box filled with beanbag shotgun shells used for non-lethal crowd control. Riot Control use only." - icon_state = "beanbag" - item_state = "beanbag" - default_ammo = /datum/ammo/bullet/shotgun/beanbag - handful_state = "beanbag_slug" - caliber = "20g" - /obj/item/ammo_magazine/shotgun/buckshot/special name = "box of buckshot shells, USCM special type" desc = "A box filled with buckshot spread shotgun shells, USCM special type. 12 Gauge." @@ -91,12 +82,14 @@ Generic internal magazine. All shotguns will use this or a variation with differ Since all shotguns share ammo types, the gun path is going to be the same for all of them. And it also doesn't really matter. You can only reload them with handfuls. */ + /obj/item/ammo_magazine/internal/shotgun name = "shotgun tube" desc = "An internal magazine. It is not supposed to be seen or removed." default_ammo = /datum/ammo/bullet/shotgun/buckshot caliber = "12g" - max_rounds = 9 + max_rounds = 4 + current_rounds = 0 chamber_closed = 0 /obj/item/ammo_magazine/internal/shotgun/double //For a double barrel. @@ -117,36 +110,26 @@ also doesn't really matter. You can only reload them with handfuls. caliber = "2 bore" default_ammo = /datum/ammo/bullet/shotgun/twobore +/obj/item/ammo_magazine/internal/shotgun/combat + caliber = "12g" + max_rounds = 6 + /obj/item/ammo_magazine/internal/shotgun/combat/riot - caliber = "20g" default_ammo = /datum/ammo/bullet/shotgun/beanbag + current_rounds = 6 + +/obj/item/ammo_magazine/internal/shotgun/marsoc + caliber = "12g" + max_rounds = 7 + current_rounds = 7 /obj/item/ammo_magazine/internal/shotgun/merc max_rounds = 5 -/obj/item/ammo_magazine/internal/shotgun/buckshot - default_ammo = /datum/ammo/bullet/shotgun/buckshot - /obj/item/ammo_magazine/internal/shotgun/type23 - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot caliber = "8g" max_rounds = 4 -/obj/item/ammo_magazine/internal/shotgun/type23/slug - default_ammo = /datum/ammo/bullet/shotgun/heavy/slug - -/obj/item/ammo_magazine/internal/shotgun/type23/flechette - default_ammo = /datum/ammo/bullet/shotgun/heavy/flechette - -/obj/item/ammo_magazine/internal/shotgun/type23/dragonsbreath - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath - -/obj/item/ammo_magazine/internal/shotgun/type23/beanbag - default_ammo = /datum/ammo/bullet/shotgun/heavy/beanbag - -/obj/item/ammo_magazine/internal/shotgun/type23/special - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot/special - /obj/item/ammo_magazine/internal/shotgun/cmb default_ammo = /datum/ammo/bullet/shotgun/buckshot max_rounds = 4 @@ -154,9 +137,6 @@ also doesn't really matter. You can only reload them with handfuls. /obj/item/ammo_magazine/internal/shotgun/cmb/m3717 max_rounds = 5 -/obj/item/ammo_magazine/internal/shotgun/special - default_ammo = /datum/ammo/bullet/shotgun/buckshot/special - //------------------------------------------------------- /* diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index 24840d6348..d237128b24 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/belt.dmi b/icons/mob/humans/onmob/belt.dmi index 9079bda5e7..5c3e8a6dc6 100644 Binary files a/icons/mob/humans/onmob/belt.dmi and b/icons/mob/humans/onmob/belt.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index a872ddcc8a..3eec2b9fa8 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index c0b150a2d7..d15d1ca41c 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/mob/humans/onmob/suit_slot.dmi b/icons/mob/humans/onmob/suit_slot.dmi index 555b5a0e7a..4790ee7af6 100644 Binary files a/icons/mob/humans/onmob/suit_slot.dmi and b/icons/mob/humans/onmob/suit_slot.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments.dmi b/icons/obj/items/weapons/guns/attachments.dmi index 332217fe1c..96038c374a 100644 Binary files a/icons/obj/items/weapons/guns/attachments.dmi and b/icons/obj/items/weapons/guns/attachments.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/stock.dmi b/icons/obj/items/weapons/guns/attachments/stock.dmi index d3a95284a2..506148cedf 100644 Binary files a/icons/obj/items/weapons/guns/attachments/stock.dmi and b/icons/obj/items/weapons/guns/attachments/stock.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/under.dmi b/icons/obj/items/weapons/guns/attachments/under.dmi index 8947ecd174..b98e185f02 100644 Binary files a/icons/obj/items/weapons/guns/attachments/under.dmi and b/icons/obj/items/weapons/guns/attachments/under.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi b/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi index 669efcfc59..16e37d5f4e 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi index e57c625158..e9241e6cbe 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi differ diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index c1ff18c9fa..c70f3e2e08 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -38204,7 +38204,7 @@ }, /area/bigredv2/caves_north) "vBy" = ( -/obj/item/ammo_magazine/shotgun/beanbag/riot, +/obj/item/ammo_magazine/shotgun/beanbag, /turf/open/mars_cave{ icon_state = "mars_cave_17" }, diff --git a/maps/map_files/chapaev/chapaev.dmm b/maps/map_files/chapaev/chapaev.dmm index ec03e22945..7e066872a1 100644 --- a/maps/map_files/chapaev/chapaev.dmm +++ b/maps/map_files/chapaev/chapaev.dmm @@ -2686,7 +2686,7 @@ /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, -/obj/item/weapon/gun/shotgun/type23/pve, +/obj/item/weapon/gun/shotgun/type23, /turf/open/floor/strata{ icon_state = "floor2" }, @@ -4735,7 +4735,7 @@ /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, -/obj/item/weapon/gun/shotgun/type23/pve, +/obj/item/weapon/gun/shotgun/type23, /turf/open/floor/strata{ icon_state = "floor2" }, diff --git a/maps/map_files/golden_arrow/golden_arrow.dmm b/maps/map_files/golden_arrow/golden_arrow.dmm index 18f231aad2..2d72efb78b 100644 --- a/maps/map_files/golden_arrow/golden_arrow.dmm +++ b/maps/map_files/golden_arrow/golden_arrow.dmm @@ -541,7 +541,6 @@ }, /obj/item/defenses/handheld/sentry, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; layer = 3.1; pixel_x = 20; pixel_y = 10 @@ -2294,7 +2293,6 @@ "iF" = ( /obj/structure/largecrate/supply/motiondetectors, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; pixel_y = 10 }, /obj/item/ammo_box/magazine/mk1{ @@ -3608,6 +3606,9 @@ /obj/item/ammo_magazine/rifle/m4ra/pve, /obj/item/ammo_magazine/rifle/m4ra/pve, /obj/effect/decal/cleanable/dirt, +/obj/item/weapon/gun/rifle/m4ra/pve{ + pixel_y = 8 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -3937,17 +3938,6 @@ }, /turf/open/floor/plating, /area/golden_arrow/hangar) -"oK" = ( -/obj/item/storage/box/guncase/pumpshotgun/special{ - pixel_y = 4 - }, -/obj/item/storage/box/guncase/flamer/special{ - layer = 3.1; - pixel_y = 10 - }, -/obj/structure/surface/rack, -/turf/open/floor/almayer, -/area/golden_arrow/platoonarmory) "oM" = ( /obj/structure/filingcabinet{ density = 0; @@ -8007,8 +7997,16 @@ "Fe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/table/almayer, -/obj/item/weapon/gun/rifle/m4ra/pve{ - pixel_y = 8 +/obj/item/storage/box/guncase/shotgunpump{ + pixel_y = 17 + }, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_y = 6; + pixel_x = 6 }, /turf/open/floor/almayer{ icon_state = "plate" @@ -9822,6 +9820,15 @@ }, /turf/open/floor/almayer, /area/golden_arrow/hangar) +"LP" = ( +/obj/item/storage/box/guncase/flamer/special{ + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/surface/rack, +/obj/item/storage/box/guncase/shotguncombat, +/turf/open/floor/almayer, +/area/golden_arrow/platoonarmory) "LQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/pipes/standard/simple/hidden/supply, @@ -24263,7 +24270,7 @@ EG EG EG HZ -oK +LP NU pI Ot @@ -25175,7 +25182,7 @@ EG EG EG HZ -oK +LP pd Jx Ot diff --git a/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm b/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm index ab5d87ee73..b53554e736 100644 --- a/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm +++ b/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm @@ -613,7 +613,7 @@ /area/golden_arrow/prep_hallway) "cV" = ( /obj/structure/surface/table/almayer, -/obj/item/storage/box/guncase/pumpshotgun/special, +/obj/item/storage/box/guncase/shotguncombat, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -4989,7 +4989,7 @@ name = "spent snailshot"; layer = 2.7 }, -/obj/item/storage/box/guncase/pumpshotgun/special, +/obj/item/storage/box/guncase/shotguncombat, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -6236,7 +6236,6 @@ "Kp" = ( /obj/structure/largecrate/supply/motiondetectors, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; pixel_y = 10; pixel_x = 3 }, @@ -7126,9 +7125,7 @@ }, /area/golden_arrow/cryo_cells) "Pm" = ( -/obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case" - }, +/obj/structure/largecrate/supply/explosives/grenades/less, /obj/structure/largecrate/supply/motiondetectors{ pixel_y = 10 }, diff --git a/maps/map_files/rover/rover.dmm b/maps/map_files/rover/rover.dmm index e672e1b887..fcd21b1f3a 100644 --- a/maps/map_files/rover/rover.dmm +++ b/maps/map_files/rover/rover.dmm @@ -485,13 +485,13 @@ /area/golden_arrow/hangar) "en" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/shotgun/pump/special{ - pixel_y = 10 - }, /obj/structure/machinery/light{ dir = 8 }, -/obj/item/ammo_magazine/shotgun/buckshot/special, +/obj/item/storage/box/guncase/shotguncombat, +/obj/item/storage/box/guncase/shotguncombat{ + pixel_y = 6 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -1136,6 +1136,7 @@ /obj/structure/machinery/light{ dir = 8 }, +/obj/item/weapon/gun/rifle/m4ra/pve, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -4707,7 +4708,6 @@ /area/golden_arrow/dorms) "Uc" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/rifle/m4ra/pve, /turf/open/floor/almayer{ icon_state = "plate" },