diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm
index 2ea9d11ce4..207f897065 100644
--- a/code/__DEFINES/guns.dm
+++ b/code/__DEFINES/guns.dm
@@ -9,7 +9,7 @@
#define AMMO_BAND_COLOR_TRAINING "#FFFFFF"
// Uncommon
#define AMMO_BAND_COLOR_HOLOTARGETING "#276A74"
-#define AMMO_BAND_COLOR_RUBBER "#556696"
+#define AMMO_BAND_COLOR_RUBBER "#d8d9db"
#define AMMO_BAND_COLOR_HOLLOWPOINT "#BA5D00"
#define AMMO_BAND_COLOR_INCENDIARY "#9C2219"
#define AMMO_BAND_COLOR_IMPACT "#7866FF"
diff --git a/code/datums/ammo/bullet/rifle.dm b/code/datums/ammo/bullet/rifle.dm
index 8cda0c0252..7fb0b53ace 100644
--- a/code/datums/ammo/bullet/rifle.dm
+++ b/code/datums/ammo/bullet/rifle.dm
@@ -4,10 +4,10 @@
//======
*/
+//====== 10X24 Pulse Rifle
/datum/ammo/bullet/rifle
- name = "rifle bullet"
+ name = "10x24 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
-
damage = 40
penetration = ARMOR_PENETRATION_TIER_1
accurate_range = 16
@@ -16,10 +16,10 @@
shell_speed = AMMO_SPEED_TIER_6
effective_range_max = 7
damage_falloff = DAMAGE_FALLOFF_TIER_7
- max_range = 24 //So S8 users don't have their bullets magically disappaer at 22 tiles (S8 can see 24 tiles)
+ max_range = 24
/datum/ammo/bullet/rifle/holo_target
- name = "holo-targeting rifle bullet"
+ name = "holo-targeting 10x24 bullet"
damage = 30
var/holo_stacks = 10
@@ -27,14 +27,14 @@
. = ..()
M.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time)
+
/datum/ammo/bullet/rifle/holo_target/hunting
- name = "holo-targeting hunting bullet"
+ name = "holo-targeting 10x24 bullet"
damage = 25
holo_stacks = 15
/datum/ammo/bullet/rifle/explosive
- name = "explosive rifle bullet"
-
+ name = "explosive 10x24 bullet"
damage = 25
accurate_range = 22
accuracy = 0
@@ -51,15 +51,17 @@
if(T.density)
cell_explosion(T, 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data)
+
/datum/ammo/bullet/rifle/ap
- name = "armor-piercing rifle bullet"
+ name = "armor-piercing 10x24 bullet"
damage = 30
penetration = ARMOR_PENETRATION_TIER_8
+
// Basically AP but better. Focused at taking out armour temporarily
/datum/ammo/bullet/rifle/ap/toxin
- name = "toxic rifle bullet"
+ name = "toxic 10x24 bullet"
var/acid_per_hit = 7
var/organic_damage_mult = 3
@@ -79,7 +81,7 @@
/datum/ammo/bullet/rifle/ap/penetrating
- name = "wall-penetrating rifle bullet"
+ name = "wall-penetrating 10x24 bullet"
shrapnel_chance = 0
damage = 35
@@ -91,47 +93,93 @@
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))
-/datum/ammo/bullet/rifle/le
- name = "armor-shredding rifle bullet"
+/datum/ammo/bullet/rifle/le
+ name = "armor-shredding 10x24 bullet"
damage = 20
penetration = ARMOR_PENETRATION_TIER_4
pen_armor_punch = 5
-/datum/ammo/bullet/rifle/heap
- name = "high-explosive armor-piercing rifle bullet"
+/datum/ammo/bullet/rifle/heap
+ name = "high-explosive armor-piercing 10x24 bullet"
headshot_state = HEADSHOT_OVERLAY_HEAVY
damage = 55//big damage, doesn't actually blow up because thats stupid.
penetration = ARMOR_PENETRATION_TIER_8
+ shrapnel_chance = SHRAPNEL_CHANCE_TIER_3
-/datum/ammo/bullet/rifle/rubber
- name = "rubber rifle bullet"
- sound_override = 'sound/weapons/gun_c99.ogg'
- damage = 0
+/datum/ammo/bullet/rifle/rubber
+ name = "rubber 10x24 bullet"
+ damage = 5
stamina_damage = 15
shrapnel_chance = 0
/datum/ammo/bullet/rifle/incendiary
- name = "incendiary rifle bullet"
+ name = "incendiary 10x24 bullet"
damage_type = BURN
shrapnel_chance = 0
flags_ammo_behavior = AMMO_BALLISTIC
-
damage = 30
shell_speed = AMMO_SPEED_TIER_4
accuracy = -HIT_ACCURACY_TIER_2
damage_falloff = DAMAGE_FALLOFF_TIER_10
+
/datum/ammo/bullet/rifle/incendiary/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))
-/datum/ammo/bullet/rifle/m4ra
- name = "A19 high velocity bullet"
+//====== 10X28 Smartgun
+
+/datum/ammo/bullet/rifle/heavy
+ name = "10x28 bullet"
+ headshot_state = HEADSHOT_OVERLAY_MEDIUM
+ damage = 55
+ penetration = ARMOR_PENETRATION_TIER_3
+ accuracy = HIT_ACCURACY_TIER_3
+ shell_speed = AMMO_SPEED_TIER_6
+ effective_range_max = 10
+ damage_falloff = DAMAGE_FALLOFF_TIER_9
+
+/datum/ammo/bullet/rifle/heavy/ap
+ name = "armor-piercing 10x28 bullet"
+ headshot_state = HEADSHOT_OVERLAY_MEDIUM
+ damage = 40
+ penetration = ARMOR_PENETRATION_TIER_8
+
+/datum/ammo/bullet/rifle/heavy/heap
+ headshot_state = HEADSHOT_OVERLAY_HEAVY
+ name = "high explosive armor-piercing 10x28 bullet"
+ headshot_state = HEADSHOT_OVERLAY_MEDIUM
+ damage = 70
+ penetration = ARMOR_PENETRATION_TIER_10
+ shrapnel_chance = SHRAPNEL_CHANCE_TIER_3
+
+/datum/ammo/bullet/rifle/heavy/du
+ name = "depleted uranium 10x28 bullet"
+
+ damage = 60
+ accurate_range_min = 4
+ penetration = ARMOR_PENETRATION_TIER_5
+ scatter = -SCATTER_AMOUNT_TIER_8
+
+/datum/ammo/bullet/rifle/heavy/du/set_bullet_traits()
+ . = ..()
+ LAZYADD(traits_to_give, list(
+ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
+ ))
+
+/datum/ammo/bullet/rifle/heavy/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
+ target.AddComponent(/datum/component/toxic_buildup)
+ knockback(target, fired_proj, max_range = 2)
+
+// Custom Specialist M4RA rounds
+
+/datum/ammo/bullet/rifle/heavy/spec
+ name = "high velocity 10x28 bullet"
shrapnel_chance = 0
damage_falloff = 0
flags_ammo_behavior = AMMO_BALLISTIC
@@ -142,8 +190,8 @@
penetration= ARMOR_PENETRATION_TIER_7
shell_speed = AMMO_SPEED_TIER_6
-/datum/ammo/bullet/rifle/m4ra/incendiary
- name = "A19 high velocity incendiary bullet"
+/datum/ammo/bullet/rifle/heavy/spec/incendiary
+ name = "high velocity incendiary 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC
damage = 40
@@ -152,14 +200,14 @@
penetration= ARMOR_PENETRATION_TIER_5
shell_speed = AMMO_SPEED_TIER_6
-/datum/ammo/bullet/rifle/m4ra/incendiary/set_bullet_traits()
+/datum/ammo/bullet/rifle/heavy/spec/incendiary/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))
-/datum/ammo/bullet/rifle/m4ra/impact
- name = "A19 high velocity impact bullet"
+/datum/ammo/bullet/rifle/heavy/spec/impact
+ name = "high velocity impact 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC
damage = 40
@@ -168,10 +216,10 @@
penetration = ARMOR_PENETRATION_TIER_10
shell_speed = AMMO_SPEED_TIER_6
-/datum/ammo/bullet/rifle/m4ra/impact/on_hit_mob(mob/M, obj/projectile/P)
+/datum/ammo/bullet/rifle/heavy/spec/impact/on_hit_mob(mob/M, obj/projectile/P)
knockback(M, P, 32) // Can knockback basically at max range
-/datum/ammo/bullet/rifle/m4ra/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
+/datum/ammo/bullet/rifle/heavy/spec/impact/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!"))
@@ -186,45 +234,20 @@
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)
+//====== 10x31 Type 71
-// PvE M4RA rounds - pens&does toxin to whomever gets hit by it
-/datum/ammo/bullet/rifle/m4ra/du
- name = "depleted uranium bullet"
+/datum/ammo/bullet/rifle/heavy/upp
+ name = "10x31 bullet"
- damage = 60
- penetration = ARMOR_PENETRATION_TIER_5
+/datum/ammo/bullet/rifle/heavy/ap/upp
+ name = "armor-piercing 10x31 bullet"
-/datum/ammo/bullet/rifle/m4ra/du/set_bullet_traits()
- . = ..()
- LAZYADD(traits_to_give, list(
- BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
- ))
-
-/datum/ammo/bullet/rifle/m4ra/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
- target.AddComponent(/datum/component/toxic_buildup)
- knockback(target, fired_proj, max_range = 2)
+/datum/ammo/bullet/rifle/heavy/heap/upp
+ name = "high-explosive armor-piercing 10x31 bullet"
+// Misc
/datum/ammo/bullet/rifle/mar40
- name = "heavy rifle bullet"
-
- damage = 55
-
-/datum/ammo/bullet/rifle/type71
- name = "heavy rifle bullet"
-
- damage = 55
- penetration = ARMOR_PENETRATION_TIER_3
-
-/datum/ammo/bullet/rifle/type71/ap
- name = "heavy armor-piercing rifle bullet"
-
- damage = 40
- penetration = ARMOR_PENETRATION_TIER_10
-
-/datum/ammo/bullet/rifle/type71/heap
- name = "heavy high-explosive armor-piercing rifle bullet"
-
- headshot_state = HEADSHOT_OVERLAY_HEAVY
- damage = 65
- penetration = ARMOR_PENETRATION_TIER_10
+ name = "7.62x39mm rifle bullet"
+ damage = 45
+ penetration = ARMOR_PENETRATION_TIER_2
diff --git a/code/datums/factions/upp.dm b/code/datums/factions/upp.dm
index fefd6b01d6..be9bdb761c 100644
--- a/code/datums/factions/upp.dm
+++ b/code/datums/factions/upp.dm
@@ -98,8 +98,8 @@
list("PRIMARY AMMUNITION", 0, null, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 5, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
- list("Type 71 AP Magazine (5.45x39mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
- list("Type 71 Magazine (5.45x39mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),
+ list("Type 71 AP Magazine (10x31mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
+ list("Type 71 Magazine (10x31mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("SIDEARMS", 0, null, null, null),
list("Type 73 Pistol", 25, /obj/item/weapon/gun/pistol/t73, null, VENDOR_ITEM_REGULAR),
@@ -137,8 +137,8 @@
list("PRIMARY AMMUNITION", -1, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 60, /obj/item/ammo_magazine/smg/bizon, VENDOR_ITEM_REGULAR),
- list("Type 71 AP Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
- list("Type 71 Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),
+ list("Type 71 AP Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
+ list("Type 71 Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),
list("SIDEARMS", -1, null, null),
list("Type 73 Pistol", 20, /obj/item/weapon/gun/pistol/t73, VENDOR_ITEM_REGULAR),
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index cefdee4c93..19049bd51c 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -293,8 +293,8 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("empty magazine box (Type71)", /obj/item/ammo_box/magazine/type71/empty), \
new/datum/stack_recipe("empty magazine box (Type71 AP)", /obj/item/ammo_box/magazine/type71/ap/empty), \
null, \
- new/datum/stack_recipe("empty rifle ammo box (5.45x39mm)", /obj/item/ammo_box/rounds/type71/empty), \
- new/datum/stack_recipe("empty rifle ammo box (5.45x39mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \
+ new/datum/stack_recipe("empty rifle ammo box (10x31mm)", /obj/item/ammo_box/rounds/type71/empty), \
+ new/datum/stack_recipe("empty rifle ammo box (10x31mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \
)) \
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index f5fee64f1a..3f21dabf16 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -129,10 +129,6 @@
new /obj/item/storage/belt/gun/smartgunner/garrow(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)
/obj/structure/closet/secure_closet/smartgunner_forecon
@@ -148,10 +144,6 @@
new /obj/item/storage/belt/gun/smartgunner/garrow(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
- new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)
/obj/structure/closet/cryo/Initialize()
diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm
index 1fb9868ed0..7a8361aa9f 100644
--- a/code/modules/cm_marines/smartgun_mount.dm
+++ b/code/modules/cm_marines/smartgun_mount.dm
@@ -16,7 +16,7 @@
flags_magazine = NO_FLAGS //can't be refilled or emptied by hand
caliber = "10x28mm"
max_rounds = 700
- default_ammo = /datum/ammo/bullet/machinegun
+ default_ammo = /datum/ammo/bullet/rifle/heavy
gun_type = null
@@ -411,7 +411,7 @@
// The actual Machinegun itself, going to borrow some stuff from current sentry code to make sure it functions. Also because they're similiar.
/obj/structure/machinery/m56d_hmg
name = "\improper M56D heavy machine gun"
- desc = "A deployable, heavy machine gun. While it is capable of taking the same rounds as the M56, it fires specialized tungsten rounds for increased armor penetration.
Drag its sprite onto yourself to man it. Ctrl-click it to cycle through firemodes."
+ desc = "A deployable, heavy machine gun. While it is capable of taking the same rounds as the M56..
Drag its sprite onto yourself to man it. Ctrl-click it to cycle through firemodes."
icon = 'icons/turf/whiskeyoutpost.dmi'
icon_state = "M56D"
anchored = TRUE
@@ -428,7 +428,7 @@
health = 200
var/health_max = 200 //Why not just give it sentry-tier health for now.
var/atom/target = null // required for shooting at things.
- var/datum/ammo/bullet/machinegun/ammo = /datum/ammo/bullet/machinegun
+ var/datum/ammo/bullet/rifle/heavy/ammo = /datum/ammo/bullet/rifle/heavy
var/obj/projectile/in_chamber = null
var/locked = 0 //1 means its locked inplace (this will be for sandbag MGs)
var/muzzle_flash_lum = 4
@@ -437,7 +437,7 @@
var/zoom = 0 // 0 is it doesn't zoom, 1 is that it zooms.
var/damage_state = M56D_DMG_NONE
- var/gun_noise = 'sound/weapons/gun_rifle.ogg' // Variations for gun noises for M56D, M56DE, the auto one, uses a different set of sounds. emergency_cooling
+ var/gun_noise = 'sound/weapons/gun_smartgun1.ogg' // Variations for gun noises for M56D, M56DE, the auto one, uses a different set of sounds. emergency_cooling
var/empty_alarm = 'sound/weapons/smg_empty_alarm.ogg'
// Muzzle Flash Offsets
@@ -455,11 +455,11 @@
var/user_old_y = 0
/// How much time should pass in between full auto shots, slightly higher than burst due to click delay and similar things that slow firing down
- var/fire_delay = 0.3 SECONDS
+ var/fire_delay = FIRE_DELAY_TIER_SG
/// How much time should pass in between burst fire shots
var/burst_fire_delay = 0.2 SECONDS
/// How many rounds are fired per burst
- var/burst_amount = 3
+ var/burst_amount = 4
/// How many rounds have been fired in the current burst/auto
var/shots_fired = 0
/// What firemode the gun is currently in
@@ -471,7 +471,7 @@
GUN_FIREMODE_AUTOMATIC,
)
/// A multiplier for how slow this gun should fire in automatic as opposed to burst. 1 is normal, 1.2 is 20% slower, 0.8 is 20% faster, etc.
- var/autofire_slow_mult = 0.7
+ var/autofire_slow_mult = 0.8
/// If the gun is currently burst firing
VAR_PROTECTED/burst_firing = FALSE
/// If the gun should display its ammo count
diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm
index 075b534ac1..9eeca4de07 100644
--- a/code/modules/defenses/sentry.dm
+++ b/code/modules/defenses/sentry.dm
@@ -23,7 +23,7 @@
var/obj/item/ammo_magazine/ammo = new /obj/item/ammo_magazine/sentry
/// Sound used when firing
- var/firing_sound = 'sound/weapons/sentry_shoot_loop_01.ogg'
+ var/firing_sound = 'sound/weapons/gun_smartgun1.ogg'
var/sentry_type = "sentry" //Used for the icon
display_additional_stats = TRUE
@@ -570,7 +570,7 @@
name = "Modified UA-577 Gauss Turret"
desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with an M30 Autocannon and a high-capacity drum magazine. This one's IFF system has been disabled, and it will open fire on any targets within range."
faction_group = null
- ammo = new /obj/item/ammo_magazine/sentry/premade/dumb
+ ammo = new /obj/item/ammo_magazine/sentry
//the turret inside a static sentry deployment system
/obj/structure/machinery/defenses/sentry/premade/deployable
@@ -761,7 +761,7 @@
/obj/structure/machinery/defenses/sentry/upp
name = "\improper UPPA 32-H sentry gun"
- desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with an AK-500 Autocannon and a 500-round drum magazine."
+ desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with an AK-500 Autocannon and a 350-round drum magazine."
icon_state = "upp_defense_base"
icon_on = "upp_defense_base"
icon_off = "upp_defense_base_off"
@@ -776,7 +776,7 @@
defense_type = "UPP"
handheld_type = /obj/item/defenses/handheld/sentry/upp
fire_delay = 1.2
- firing_sound = 'sound/weapons/gun_m56d_auto.ogg'
+ firing_sound = 'sound/weapons/gun_type71.ogg'
ammo = new /obj/item/ammo_magazine/sentry/upp
#undef SENTRY_FIREANGLE
diff --git a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm
index fa0112641c..f59c82a08c 100644
--- a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm
+++ b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm
@@ -60,7 +60,6 @@
/obj/item/ammo_box/magazine/heap/empty
empty = TRUE
-
/obj/item/ammo_box/magazine/mk1
name = "magazine box (M41A MK1 X 10)"
flags_equip_slot = SLOT_BACK
@@ -80,6 +79,16 @@
/obj/item/ammo_box/magazine/mk1/heap/empty
empty = TRUE
+
+/obj/item/ammo_box/magazine/mk1/rubber
+ name = "magazine box (Rubber M41A MK1 X 10)"
+ overlay_ammo_type = "_training"
+ overlay_content = "_reg"
+ magazine_type = /obj/item/ammo_magazine/rifle/m41aMK1/rubber
+
+/obj/item/ammo_box/magazine/mk1/rubber/empty
+ empty = TRUE
+
//-----------------------M39 Rifle Mag Boxes-----------------------
/obj/item/ammo_box/magazine/m39
diff --git a/code/modules/projectiles/ammo_boxes/round_boxes.dm b/code/modules/projectiles/ammo_boxes/round_boxes.dm
index 146f576b59..3063d1063c 100644
--- a/code/modules/projectiles/ammo_boxes/round_boxes.dm
+++ b/code/modules/projectiles/ammo_boxes/round_boxes.dm
@@ -46,7 +46,7 @@
name = "\improper smartgun ammunition box (10x28mm)"
desc = "A 10x28mm ammunition box. Used to refill smartgun drum magazines. It comes with a leather strap allowing to wear it on the back."
overlay_content = "_reg"
- default_ammo = /datum/ammo/bullet/smartgun
+ default_ammo = /datum/ammo/bullet/rifle/heavy
caliber = "10x28mm"
bullet_amount = 1000
max_bullet_amount = 1000
@@ -109,49 +109,49 @@
/obj/item/ammo_box/rounds/smg/heap/empty
empty = TRUE
-//----------------5.45x39mm Ammunition Boxes (for UPP Type71 family)------------------
+//----------------10x31mm Ammunition Boxes (for UPP Type71 family)------------------
/obj/item/ammo_box/rounds/type71
- name = "\improper rifle ammunition box (5.45x39mm)"
- desc = "A 5.45x39mm ammunition box. Used to refill Type71 magazines. It comes with a leather strap allowing to wear it on the back."
+ name = "\improper rifle ammunition box (10x31mm)"
+ desc = "A 10x31mm ammunition box. Used to refill Type71 magazines. It comes with a leather strap allowing to wear it on the back."
icon_state = "base_type71"
overlay_gun_type = "_rounds_type71"
overlay_content = "_type71_reg"
- caliber = "5.45x39mm"
- default_ammo = /datum/ammo/bullet/rifle
+ caliber = "10x31mm"
+ default_ammo = /datum/ammo/bullet/rifle/heavy/upp
/obj/item/ammo_box/rounds/type71/empty
empty = TRUE
/obj/item/ammo_box/rounds/type71/ap
- name = "\improper rifle ammunition box (5.45x39mm AP)"
- desc = "A 5.45x39mm armor-piercing ammunition box. Used to refill Type71 AP magazines. It comes with a leather strap allowing to wear it on the back."
+ name = "\improper rifle ammunition box (10x31mm AP)"
+ desc = "A 10x31mm armor-piercing ammunition box. Used to refill Type71 AP magazines. It comes with a leather strap allowing to wear it on the back."
icon_state = "base_type71"
overlay_gun_type = "_rounds_type71"
overlay_content = "_type71_ap"
- default_ammo = /datum/ammo/bullet/rifle/ap
+ default_ammo = /datum/ammo/bullet/rifle/heavy/ap/upp
/obj/item/ammo_box/rounds/type71/ap/empty
empty = TRUE
/obj/item/ammo_box/rounds/type71/heap
- name = "rifle ammunition box (5.45x39mm HEAP)"
- desc = "A 5.45x39mm high-explosive armor-piercing ammunition box. Used to refill Type71 HEAP magazines. It comes with a leather strap allowing to wear it on the back."
+ name = "rifle ammunition box (10x31mm HEAP)"
+ desc = "A 10x31mm high-explosive armor-piercing ammunition box. Used to refill Type71 HEAP magazines. It comes with a leather strap allowing to wear it on the back."
icon_state = "base_type71"
overlay_gun_type = "_rounds_type71"
overlay_content = "_type71_heap"
- default_ammo = /datum/ammo/bullet/rifle/type71/heap
+ default_ammo = /datum/ammo/bullet/rifle/heavy/heap/upp
/obj/item/ammo_box/rounds/type71/heap/empty
empty = TRUE
/obj/item/ammo_box/rounds/pkp
- name = "machinegun ammunition box (7.62x54mmR)"
- desc = "A 7.62x54mmR machinegun ammunition box. Used to refill QYJ-72 box magazines. It comes with a leather strap allowing to wear it on the back."
+ name = "large rifle ammunition box (10x31mm)"
+ desc = "A 10x31mm machinegun ammunition box. Used to mostly to refill QYJ-72 box magazines. It comes with a leather strap allowing to wear it on the back."
icon_state = "base_type71"
overlay_gun_type = "_rounds_pkp"
overlay_content = "_type71_reg"
- default_ammo = /datum/ammo/bullet/pkp
+ default_ammo = /datum/ammo/bullet/rifle/heavy/upp
bullet_amount = 1500
max_bullet_amount = 1500
- caliber = "7.62x54mmR"
+ caliber = "10x31mm"
diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm
index 4941606a4b..316d4491cc 100644
--- a/code/modules/projectiles/gun_attachables.dm
+++ b/code/modules/projectiles/gun_attachables.dm
@@ -2235,7 +2235,7 @@ Defined in conflicts.dm of the #defines folder.
melee_mod = 0 //Integrated attachment for visuals, stats handled on main gun.
size_mod = 0
-/obj/item/attachable/m4ra_barrel/New()
+/* /obj/item/attachable/m4ra_barrel/New()
..()
select_gamemode_skin(type)
@@ -2248,7 +2248,7 @@ Defined in conflicts.dm of the #defines folder.
if("desert")
attach_icon = new_attach_icon ? new_attach_icon : "d_" + attach_icon
if("classic")
- attach_icon = new_attach_icon ? new_attach_icon : "c_" + attach_icon
+ attach_icon = new_attach_icon ? new_attach_icon : "c_" + attach_icon */
/obj/item/attachable/m4ra_barrel_custom
name = "custom M4RA barrel"
diff --git a/code/modules/projectiles/guns/misc.dm b/code/modules/projectiles/guns/misc.dm
index c65d422344..e06471a210 100644
--- a/code/modules/projectiles/guns/misc.dm
+++ b/code/modules/projectiles/guns/misc.dm
@@ -161,7 +161,7 @@
/obj/item/weapon/gun/pkp
name = "\improper QYJ-72 General Purpose Machine Gun"
- desc = "The QYJ-72 is the standard GPMG of the Union of Progressive Peoples, chambered in 7.62x54mmR, it fires a hard-hitting cartridge with a high rate of fire. With an extremely large box at 250 rounds, the QJY-72 is designed with suppressing fire and accuracy by volume of fire at its forefront. \nAlt-click it to open the feed cover and allow for reloading."
+ desc = "The QYJ-72 is the standard GPMG of the Union of Progressive Peoples, chambered in 10x31mm, it fires a hard-hitting round with a high rate of fire. With an extremely large box at 250 rounds, the QJY-72 is designed with suppressing fire and accuracy by volume of fire at its forefront. \nAlt-click it to open the feed cover and allow for reloading."
icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi'
icon_state = "qjy72"
item_state = "qjy72"
@@ -212,14 +212,14 @@
/obj/item/weapon/gun/pkp/set_gun_config_values()
..()
- fire_delay = FIRE_DELAY_TIER_10
- burst_amount = BURST_AMOUNT_TIER_6
- burst_delay = FIRE_DELAY_TIER_9
+ fire_delay = FIRE_DELAY_TIER_LMG
+ burst_amount = BURST_AMOUNT_TIER_4
+ burst_delay = FIRE_DELAY_TIER_LMG
accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4
accuracy_mult_unwielded = BASE_ACCURACY_MULT
- fa_max_scatter = SCATTER_AMOUNT_TIER_8
+ fa_max_scatter = SCATTER_AMOUNT_TIER_6
scatter = SCATTER_AMOUNT_TIER_10
- burst_scatter_mult = SCATTER_AMOUNT_TIER_8
+ burst_scatter_mult = SCATTER_AMOUNT_TIER_9
scatter_unwielded = SCATTER_AMOUNT_TIER_10
damage_mult = BASE_BULLET_DAMAGE_MULT
recoil = RECOIL_AMOUNT_TIER_5
diff --git a/code/modules/projectiles/guns/rifles.dm b/code/modules/projectiles/guns/rifles.dm
index e0f481a7e4..8b64389220 100644
--- a/code/modules/projectiles/guns/rifles.dm
+++ b/code/modules/projectiles/guns/rifles.dm
@@ -31,7 +31,6 @@
/obj/item/weapon/gun/rifle/unique_action(mob/user)
cock(user)
-
//-------------------------------------------------------
//M41A PULSE RIFLE
@@ -91,7 +90,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
@@ -169,7 +168,7 @@
scatter = SCATTER_AMOUNT_TIER_9
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
damage_falloff_mult = 0
fa_max_scatter = SCATTER_AMOUNT_TIER_5
@@ -242,7 +241,7 @@
scatter = SCATTER_AMOUNT_TIER_10
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5
+ damage_mult = BASE_BULLET_DAMAGE_MULT
/obj/item/weapon/gun/rifle/m41a/elite/whiteout //special version for whiteout, has preset attachments and HEAP mag loaded.
current_mag = /obj/item/ammo_magazine/rifle/heap
@@ -403,7 +402,7 @@
scatter = SCATTER_AMOUNT_TIER_9
burst_scatter_mult = SCATTER_AMOUNT_TIER_9
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
/obj/item/weapon/gun/rifle/m41aMK1/ap //for making it start with ap loaded
@@ -547,7 +546,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_8
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_3
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
fa_max_scatter = SCATTER_AMOUNT_TIER_7
@@ -828,7 +827,7 @@
..()
set_fire_delay(FIRE_DELAY_TIER_9)
accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2
+ damage_mult = BASE_BULLET_DAMAGE_MULT
scatter_unwielded = SCATTER_AMOUNT_TIER_4
recoil_unwielded = RECOIL_AMOUNT_TIER_3
@@ -973,7 +972,7 @@
scatter = SCATTER_AMOUNT_TIER_10
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
/obj/item/weapon/gun/rifle/m16/grenadier
@@ -1083,7 +1082,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_7
scatter_unwielded = SCATTER_AMOUNT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
//-------------------------------------------------------
@@ -1160,7 +1159,7 @@
scatter = SCATTER_AMOUNT_TIER_9
burst_scatter_mult = SCATTER_AMOUNT_TIER_9
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_3
//-------------------------------------------------------
@@ -1193,7 +1192,7 @@
/obj/item/weapon/gun/rifle/m16/dutch/set_gun_config_values()
..()
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
+ damage_mult = BASE_BULLET_DAMAGE_MULT
/obj/item/weapon/gun/rifle/m16/grenadier/dutch
name = "\improper Dutch's Grenadier M16A1"
@@ -1203,7 +1202,7 @@
/obj/item/weapon/gun/rifle/m16/grenadier/dutch/set_gun_config_values()
..()
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
+ damage_mult = BASE_BULLET_DAMAGE_MULT
/obj/item/weapon/gun/rifle/xm177/dutch
name = "\improper Dutch's XM177E2 Carbine"
@@ -1222,7 +1221,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_7
scatter_unwielded = SCATTER_AMOUNT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
@@ -1288,7 +1287,7 @@
/obj/item/weapon/gun/rifle/type71
name = "\improper Type 71 pulse rifle"
- desc = "The primary service rifle of the UPP space forces, the Type 71 is an ergonomic, lightweight pulse rifle chambered in 5.45x39mm. In accordance with doctrinal principles of overmatch and suppression, the rifle has a high rate of fire and a high-capacity casket magazine. Despite lackluster precision, an integrated recoil-dampening mechanism makes the rifle surprisingly controllable in bursts."
+ desc = "The service rifle of the UPP, the Type 71 is an ergonomic, lightweight pulse rifle chambered in 10x31mm, packing a harder punch than the USCM M41A which balances out a lower firerate. Despite lackluster precision, an integrated recoil-dampening mechanism makes the rifle surprisingly controllable in bursts."
icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi'
icon_state = "type71"
item_state = "type71"
@@ -1343,7 +1342,7 @@
scatter = SCATTER_AMOUNT_TIER_6
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT //10~ more damage than m41, as well as higher ap from bullet, slightly higher DPS, 133>137.5
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_3
/obj/item/weapon/gun/rifle/type71/handle_starting_attachment()
@@ -1412,7 +1411,7 @@
/obj/item/weapon/gun/rifle/type71/flamer
name = "\improper Type 71-F pulse rifle"
- desc = " This appears to be a less common variant of the Type 71 with an integrated flamethrower that seems especially powerful."
+ desc = "The service rifle of the UPP, the Type 71 is an ergonomic, lightweight pulse rifle chambered in 10x31mm, packing a harder punch than the USCM M41A which balances out a lower firerate. Despite lackluster precision, an integrated recoil-dampening mechanism makes the rifle surprisingly controllable in bursts. This variant features an integrated incinerator unit."
attachable_allowed = list(
/obj/item/attachable/flashlight, // Rail
/obj/item/attachable/magnetic_harness,
@@ -1453,7 +1452,7 @@
/obj/item/weapon/gun/rifle/type71/carbine
name = "\improper Type 71 pulse carbine"
- desc = "A carbine variant of the Type 71, easier to handle at the cost of lesser damage, but negative soldier reviews have shifted it out of active use, given only to reserves or troops not expected to face much combat."
+ desc = "A carbine variant of the UPP's service rifle. Ergonomic, lightweight and chambered in 10x31mm, this variant has been designed to fire at a rate on-par with the M41A, leaving it less accurate but incredibly valuable in close quarters fighting."
icon_state = "type71c"
item_state = "type71c"
aim_slowdown = SLOWDOWN_ADS_QUICK //Carbine is more lightweight
@@ -1491,8 +1490,10 @@
/obj/item/weapon/gun/rifle/type71/carbine/set_gun_config_values()
..()
- set_fire_delay(FIRE_DELAY_TIER_11)//same fire rate as m41
- damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_4//same damage as m41 reg bullets probably
+ set_fire_delay(FIRE_DELAY_TIER_11)
+ accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_2
+ scatter = SCATTER_AMOUNT_TIER_5
+ damage_mult = BASE_BULLET_DAMAGE_MULT
scatter_unwielded = SCATTER_AMOUNT_TIER_5
recoil_unwielded = RECOIL_AMOUNT_TIER_4
@@ -1595,19 +1596,20 @@
flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER
wield_delay = WIELD_DELAY_VERY_FAST
aim_slowdown = SLOWDOWN_ADS_QUICK
- map_specific_decoration = TRUE
+ //map_specific_decoration = TRUE
/obj/item/weapon/gun/rifle/m4ra/set_gun_attachment_offsets()
attachable_offset = list("muzzle_x" = 43, "muzzle_y" = 17,"rail_x" = 22, "rail_y" = 21, "under_x" = 30, "under_y" = 13, "stock_x" = 24, "stock_y" = 13, "special_x" = 37, "special_y" = 16)
/obj/item/weapon/gun/rifle/m4ra/set_gun_config_values()
..()
- set_fire_delay(FIRE_DELAY_TIER_9)
+ set_fire_delay(FIRE_DELAY_TIER_4)
set_burst_amount(0)
accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5
accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8
- recoil_unwielded = RECOIL_AMOUNT_TIER_4
+ damage_mult = BASE_BULLET_DAMAGE_MULT
+ recoil_unwielded = RECOIL_AMOUNT_TIER_1
+ recoil = RECOIL_AMOUNT_TIER_3
damage_falloff_mult = 0
scatter = SCATTER_AMOUNT_TIER_8
@@ -1694,7 +1696,7 @@
item_state = "l42mk1"
reload_sound = 'sound/weapons/handling/l42_reload.ogg'
unload_sound = 'sound/weapons/handling/l42_unload.ogg'
- fire_sound = 'sound/weapons/gun_carbine.ogg'
+ fire_sound = 'sound/weapons/gun_m4ra.ogg'
current_mag = /obj/item/ammo_magazine/rifle/l42a
attachable_allowed = list(
/obj/item/attachable/suppressor,
@@ -1731,7 +1733,7 @@
set_burst_amount(0)
accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5
accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_4
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_4
damage_falloff_mult = 0
scatter = SCATTER_AMOUNT_TIER_8
@@ -1866,7 +1868,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
/obj/item/weapon/gun/rifle/rmc_f90/a_grip
@@ -1905,7 +1907,7 @@
accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7
scatter = SCATTER_AMOUNT_TIER_8
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_AMOUNT_TIER_2
damage_falloff_mult = 0
@@ -1947,7 +1949,7 @@
scatter = SCATTER_AMOUNT_TIER_8
burst_scatter_mult = SCATTER_AMOUNT_TIER_10
scatter_unwielded = SCATTER_AMOUNT_TIER_2
- damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2
+ damage_mult = BASE_BULLET_DAMAGE_MULT
recoil_unwielded = RECOIL_OFF
/obj/item/weapon/gun/rifle/rmc_f90/shotgun/handle_starting_attachment()
diff --git a/code/modules/projectiles/guns/smartgun.dm b/code/modules/projectiles/guns/smartgun.dm
index b19195127e..bca3f2669d 100644
--- a/code/modules/projectiles/guns/smartgun.dm
+++ b/code/modules/projectiles/guns/smartgun.dm
@@ -34,8 +34,8 @@
///datum/action/item_action/smartgun/toggle_motion_detector,
/datum/action/item_action/smartgun/toggle_recoil_compensation,
)
- var/datum/ammo/ammo_primary = /datum/ammo/bullet/smartgun //Toggled ammo type
- var/datum/ammo/ammo_secondary = /datum/ammo/bullet/smartgun/armor_piercing //Toggled ammo type
+ var/datum/ammo/ammo_primary = /datum/ammo/bullet/rifle/heavy //Toggled ammo type
+ var/datum/ammo/ammo_secondary = /datum/ammo/bullet/rifle/heavy/ap //Toggled ammo type
var/iff_enabled = TRUE //Begin with the safety on.
var/secondary_toggled = 0 //which ammo we use
var/recoil_compensation = 0
@@ -761,3 +761,4 @@
name = "XM56E smartgun"
desc = "An experimental smartgun variant currently undergoing field testing. This model is outfitted with integrated suppressor and modified internal mechanism."
starting_attachment_types = list(/obj/item/attachable/smartbarrel/suppressed)
+
diff --git a/code/modules/projectiles/magazines/misc.dm b/code/modules/projectiles/magazines/misc.dm
index 9e832a2a05..60c9ee3dd3 100644
--- a/code/modules/projectiles/magazines/misc.dm
+++ b/code/modules/projectiles/magazines/misc.dm
@@ -32,14 +32,14 @@
gun_type = /obj/item/weapon/gun/m60
/obj/item/ammo_magazine/pkp
- name = "QYJ-72 ammo box (7.62x54mmR)"
- desc = "A 250 round box for the UPP's standard GPMG, the QYJ-72. Chambered in 7.62x54mmR."
- caliber = "7.62x54mmR"
+ name = "QYJ-72 ammo box (10x31mm HEAP)"
+ desc = "A 250 round box of HEAP ammunition for the UPP's standard GPMG, the QYJ-72. Chambered in 10x31mm."
+ caliber = "10x31mm"
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi'
icon_state = "qjy72"
matter = list("metal" = 10000)
- default_ammo = /datum/ammo/bullet/pkp
+ default_ammo = /datum/ammo/bullet/rifle/heavy/heap/upp
max_rounds = 250
reload_delay = 12
gun_type = /obj/item/weapon/gun/pkp
diff --git a/code/modules/projectiles/magazines/rifles.dm b/code/modules/projectiles/magazines/rifles.dm
index 6721920583..24b5edfc92 100644
--- a/code/modules/projectiles/magazines/rifles.dm
+++ b/code/modules/projectiles/magazines/rifles.dm
@@ -89,17 +89,11 @@
bonus_overlay = "m41a_mk1_overlay"
/obj/item/ammo_magazine/rifle/m41aMK1/rubber
- name = "\improper M41A Less Lethal magazine"
+ name = "\improper M41A rubber magazine"
desc = "A long rectangular box magazine for the M41A. Holds 99 caseless 10x24mm less lethal rubber bullets. Be careful, they're LESS, lethal, not NON, lethal."
default_ammo = /datum/ammo/bullet/rifle/rubber
ammo_band_color = AMMO_BAND_COLOR_RUBBER
-/obj/item/ammo_magazine/rifle/m41aMK1/training
- name = "\improper M41A training magazine"
- desc = "A long rectangular box magazine for the M41A. Holds 99 caseless 10x24mm training rounds."
- default_ammo = /datum/ammo/bullet/rifle/rubber
- ammo_band_color = AMMO_BAND_COLOR_TRAINING
-
/obj/item/ammo_magazine/rifle/m41aMK1/ap
name = "\improper M41A AP magazine (10x24mm)"
desc = "A long rectangular box magazine for the M41A. Holds 99 caseless 10x24mm steelcore armor piercing rounds."
@@ -138,59 +132,59 @@
//M4RA, l42 reskin, same stats as before but different, lore friendly, shell.
/obj/item/ammo_magazine/rifle/m4ra
- name = "\improper M4RA magazine (10x24mm)"
- desc = "A magazine of standard 10x24mm rounds for use in the M4RA battle rifle."
+ name = "\improper M4RA magazine (10x28mm)"
+ desc = "A magazine of standard 10x28mm rounds for use in the M4RA battle rifle."
icon_state = "m4ra"
- default_ammo = /datum/ammo/bullet/rifle
- max_rounds = 25
+ caliber = "10x28mm"
+ default_ammo = /datum/ammo/bullet/rifle/heavy
+ max_rounds = 30
gun_type = /obj/item/weapon/gun/rifle/m4ra
ammo_band_icon = "+m4ra_band"
ammo_band_icon_empty = "+m4ra_band_e"
/obj/item/ammo_magazine/rifle/m4ra/ap
- name = "\improper M4RA armor-piercing magazine (10x24mm)"
- desc = "A magazine of armor-piercing 10x24mm rounds for use in the M4RA battle rifle."
- default_ammo = /datum/ammo/bullet/rifle/ap
- max_rounds = 25
+ name = "\improper M4RA armor-piercing magazine (10x28mm)"
+ desc = "A magazine of armor-piercing 10x28mm rounds for use in the M4RA battle rifle."
+ default_ammo = /datum/ammo/bullet/rifle/heavy/ap
+ max_rounds = 30
ammo_band_color = AMMO_BAND_COLOR_AP
/obj/item/ammo_magazine/rifle/m4ra/ext
- name = "\improper M4RA extended magazine (10x24mm)"
- desc = "A magazine of armor-piercing 10x24mm rounds for use in the M4RA battle rifle. Holds an additional 10 rounds, up to 35."
+ name = "\improper M4RA extended magazine (10x28mm)"
+ desc = "A magazine of armor-piercing 10x28mm rounds for use in the M4RA battle rifle. Holds an additional 10 rounds, up to 40."
icon_state = "m4ra_extended"
bonus_overlay = "m4ra_ex"
- max_rounds = 35
+ max_rounds = 40
/obj/item/ammo_magazine/rifle/m4ra/rubber
- name = "M4RA rubber magazine (10x24mm)"
- desc = "A magazine of less than lethal rubber 10x24mm rounds for use in the M4RA battle rifle."
+ name = "M4RA rubber magazine (10x28mm)"
+ desc = "A magazine of less than lethal rubber 10x28mm rounds for use in the M4RA battle rifle."
default_ammo = /datum/ammo/bullet/rifle/rubber
ammo_band_color = AMMO_BAND_COLOR_RUBBER
/obj/item/ammo_magazine/rifle/m4ra/heap
- name = "\improper M4RA high-explosive armor-piercing magazine (10x24mm)"
- desc = "A magazine of high explosive armor piercing 10x24mm rounds for use in the M4RA battle rifle."
- default_ammo = /datum/ammo/bullet/rifle/heap
+ name = "\improper M4RA high-explosive armor-piercing magazine (10x28mm)"
+ desc = "A magazine of high explosive armor piercing 10x28mm rounds for use in the M4RA battle rifle."
+ default_ammo = /datum/ammo/bullet/rifle/heavy/heap
ammo_band_color = AMMO_BAND_COLOR_HEAP
/obj/item/ammo_magazine/rifle/m4ra/penetrating
- name = "\improper M4RA wall-penetrating magazine (10x24mm)"
- desc = "A magazine of wall-penetrating 10x24mm rounds for use in the M4RA battle rifle."
+ name = "\improper M4RA wall-penetrating magazine (10x28mm)"
+ desc = "A magazine of wall-penetrating 10x28mm rounds for use in the M4RA battle rifle."
default_ammo = /datum/ammo/bullet/rifle/ap/penetrating
ammo_band_color = AMMO_BAND_COLOR_PENETRATING
/obj/item/ammo_magazine/rifle/m4ra/incendiary
- name = "\improper M4RA incendiary magazine (10x24mm)"
- desc = "A magazine of incendiary 10x24mm rounds for use in the M4RA battle rifle."
+ name = "\improper M4RA incendiary magazine (10x28mm)"
+ desc = "A magazine of incendiary 10x28mm rounds for use in the M4RA battle rifle."
default_ammo = /datum/ammo/bullet/rifle/incendiary
ammo_band_color = AMMO_BAND_COLOR_INCENDIARY
/obj/item/ammo_magazine/rifle/m4ra/pve
- name = "\improper M4RA depleted uranium magazine (10x24mm)"
- desc = "A magazine of wall-penetrating, body-penetrating, toxic 10x24mm rounds for use in the M4RA-R2 battle rifle."
+ name = "\improper M4RA depleted uranium magazine (10x28mm)"
+ desc = "A magazine of wall-penetrating, body-penetrating, toxic 10x28mm rounds for use in the M4RA-R2 battle rifle."
icon_state = "m4ra"
- default_ammo = /datum/ammo/bullet/rifle/m4ra/du
- max_rounds = 30
+ default_ammo = /datum/ammo/bullet/rifle/heavy/du
gun_type = /obj/item/weapon/gun/rifle/m4ra/pve
ammo_band_color = AMMO_BAND_COLOR_TOXIN
@@ -326,27 +320,27 @@
//UPP TYPE 71 RIFLE
/obj/item/ammo_magazine/rifle/type71
- name = "\improper Type 71 magazine (5.45x39mm)"
- desc = "A 5.45x39mm high-capacity casket magazine for the Type 71 rifle."
- caliber = "5.45x39mm"
+ name = "\improper Type 71 magazine (10x31mm)"
+ desc = "A 10x31mm high-capacity casket magazine for the Type 71 rifle."
+ caliber = "10x31mm"
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi'
icon_state = "type71"
ammo_band_icon = "+type71_band"
ammo_band_icon_empty = "+type71_band_e"
- default_ammo = /datum/ammo/bullet/rifle/type71
+ default_ammo = /datum/ammo/bullet/rifle/heavy/upp
max_rounds = 60
gun_type = /obj/item/weapon/gun/rifle/type71
/obj/item/ammo_magazine/rifle/type71/ap
- name = "\improper Type 71 AP magazine (5.45x39mm)"
- desc = "A 5.45x39mm high-capacity casket magazine containing armor piercing rounds for the Type 71 rifle."
- default_ammo = /datum/ammo/bullet/rifle/type71/ap
+ name = "\improper Type 71 AP magazine (10x31mm)"
+ desc = "A 10x31mm high-capacity casket magazine containing armor piercing rounds for the Type 71 rifle."
+ default_ammo = /datum/ammo/bullet/rifle/heavy/ap/upp
ammo_band_color = AMMO_BAND_COLOR_AP
/obj/item/ammo_magazine/rifle/type71/heap
- name = "\improper Type 71 HEAP magazine (5.45x39mm)"
- desc = "A 5.45x39mm high-capacity casket magazine containing the standard high explosive armor piercing rounds for the Type 71 rifle."
- default_ammo = /datum/ammo/bullet/rifle/type71/heap
+ name = "\improper Type 71 HEAP magazine (10x31mm)"
+ desc = "A 10x31mm high-capacity casket magazine containing the standard high explosive armor piercing rounds for the Type 71 rifle."
+ default_ammo = /datum/ammo/bullet/rifle/heavy/heap/upp
ammo_band_color = AMMO_BAND_COLOR_HEAP
//-------------------------------------------------------
diff --git a/code/modules/projectiles/magazines/sentries.dm b/code/modules/projectiles/magazines/sentries.dm
index 301329fc3a..8fbf6ed496 100644
--- a/code/modules/projectiles/magazines/sentries.dm
+++ b/code/modules/projectiles/magazines/sentries.dm
@@ -8,7 +8,7 @@
flags_magazine = NO_FLAGS //can't be refilled or emptied by hand
caliber = "10x28mm"
max_rounds = 500
- default_ammo = /datum/ammo/bullet/turret
+ default_ammo = /datum/ammo/bullet/rifle/heavy
gun_type = null
/obj/item/ammo_magazine/sentry/dropped
@@ -19,15 +19,14 @@
max_rounds = 99999
current_rounds = 99999
-/obj/item/ammo_magazine/sentry/premade/dumb
- default_ammo = /datum/ammo/bullet/turret/dumb
-
/obj/item/ammo_magazine/sentry/upp
- name = "AK-500 ammo drum (7.62mm Caseless)"
- desc = "An ammo drum of 7.62mm caseless rounds for the UPPA 32-H sentry. Just feed it into the sentry gun's ammo port when its ammo is depleted."
+ name = "AK-500 ammo drum (10x31mm Caseless)"
+ desc = "An ammo drum of 10x31mm caseless rounds for the UPPA 32-H sentry. Just feed it into the sentry gun's ammo port when its ammo is depleted."
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi'
icon_state = "sentry"
- default_ammo = /datum/ammo/bullet/turret/upp
+ caliber = "10x31mm"
+ max_rounds = 350
+ default_ammo = /datum/ammo/bullet/rifle/heavy/upp
/obj/item/ammo_magazine/sentry/shotgun
name = "12g buckshot drum"
diff --git a/code/modules/projectiles/magazines/specialist.dm b/code/modules/projectiles/magazines/specialist.dm
index a4c3ba1843..cda8282d0a 100644
--- a/code/modules/projectiles/magazines/specialist.dm
+++ b/code/modules/projectiles/magazines/specialist.dm
@@ -67,28 +67,28 @@
//M4RA magazines
/obj/item/ammo_magazine/rifle/m4ra/custom
- name = "\improper A19 HV magazine (10x24mm)"
+ name = "\improper A19 HV magazine (10x28mm)"
desc = "A magazine of A19 high velocity rounds for use in the M4RA custom battle rifle. The M4RA custom battle rifle is the only gun that can chamber these rounds."
icon_state = "a19"
- default_ammo = /datum/ammo/bullet/rifle/m4ra
- max_rounds = 18
+ default_ammo = /datum/ammo/bullet/rifle/heavy/spec
+ max_rounds = 30
gun_type = /obj/item/weapon/gun/rifle/m4ra_custom
ammo_band_icon = "+a19_band"
ammo_band_icon_empty = "+a19_band_e"
/obj/item/ammo_magazine/rifle/m4ra/custom/incendiary
- name = "\improper A19 HV incendiary magazine (10x24mm)"
+ name = "\improper A19 HV incendiary magazine (10x28mm)"
desc = "A magazine of A19 HV incendiary rounds for use in the M4RA battle rifle. The M4RA battle rifle is the only gun that can chamber these rounds."
- default_ammo = /datum/ammo/bullet/rifle/m4ra/incendiary
- max_rounds = 18
+ default_ammo = /datum/ammo/bullet/rifle/heavy/spec/incendiary
+ max_rounds = 30
gun_type = /obj/item/weapon/gun/rifle/m4ra_custom
ammo_band_color = AMMO_BAND_COLOR_INCENDIARY
/obj/item/ammo_magazine/rifle/m4ra/custom/impact
- name = "\improper A19 HV high impact magazine (10x24mm)"
+ name = "\improper A19 HV high impact magazine (10x28mm)"
desc = "A magazine of A19 HV high impact rounds for use in the M4RA battle rifle. The M4RA battle rifle is the only gun that can chamber these rounds."
- default_ammo = /datum/ammo/bullet/rifle/m4ra/impact
- max_rounds = 18
+ default_ammo = /datum/ammo/bullet/rifle/heavy/spec/impact
+ max_rounds = 30
gun_type = /obj/item/weapon/gun/rifle/m4ra_custom
ammo_band_color = AMMO_BAND_COLOR_HIGH_IMPACT
@@ -101,7 +101,7 @@
icon_state = "m56_drum"
max_rounds = 500 //Should be 500 in total.
w_class = SIZE_MEDIUM
- default_ammo = /datum/ammo/bullet/smartgun
+ default_ammo = /datum/ammo/bullet/rifle/heavy
gun_type = /obj/item/weapon/gun/smartgun
/obj/item/ammo_magazine/smartgun/dirty
@@ -109,7 +109,7 @@
desc = "What at first glance appears to be a standard 500 round M56 Smartgun drum, is actually a drum loaded with irradiated rounds, providing an extra 'oomph' to to its bullets. The magazine itself is slightly modified to only fit in M56D or M56T smartguns, and is marked with a red X."
icon_state = "m56_drum_dirty"
default_ammo = /datum/ammo/bullet/smartgun/dirty
- gun_type = /obj/item/weapon/gun/smartgun/dirty
+ gun_type = /obj/item/weapon/gun/smartgun
/obj/item/ammo_magazine/smartgun/holo_targetting
name = "holotargetting smartgun drum"
diff --git a/code/modules/vehicles/hardpoints/hardpoint_ammo/cupola_ammo.dm b/code/modules/vehicles/hardpoints/hardpoint_ammo/cupola_ammo.dm
index e67faa07d7..54f2a8fe9a 100644
--- a/code/modules/vehicles/hardpoints/hardpoint_ammo/cupola_ammo.dm
+++ b/code/modules/vehicles/hardpoints/hardpoint_ammo/cupola_ammo.dm
@@ -1,11 +1,11 @@
/obj/item/ammo_magazine/hardpoint/m56_cupola
name = "M56 Cupola Magazine"
desc = "A secondary armament MG magazine"
- caliber = "10x28mm" //Correlates to smartguns
+ caliber = "10x28mm"
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi'
icon_state = "cupola_1"
w_class = SIZE_LARGE
- default_ammo = /datum/ammo/bullet/smartgun
+ default_ammo = /datum/ammo/bullet/rifle/heavy
max_rounds = 1000
gun_type = /obj/item/hardpoint/secondary/m56cupola
diff --git a/code/modules/vehicles/hardpoints/hardpoint_ammo/firing_port_weapon_ammo.dm b/code/modules/vehicles/hardpoints/hardpoint_ammo/firing_port_weapon_ammo.dm
index c6e8670c0a..c1232b86e4 100644
--- a/code/modules/vehicles/hardpoints/hardpoint_ammo/firing_port_weapon_ammo.dm
+++ b/code/modules/vehicles/hardpoints/hardpoint_ammo/firing_port_weapon_ammo.dm
@@ -5,7 +5,7 @@
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi'
icon_state = "cupola_1"
w_class = SIZE_LARGE
- default_ammo = /datum/ammo/bullet/smartgun/m56_fpw
+ default_ammo = /datum/ammo/bullet/rifle/heavy
max_rounds = 75
gun_type = /obj/item/hardpoint/special/firing_port_weapon
diff --git a/icons/obj/items/clothing/belts.dmi b/icons/obj/items/clothing/belts.dmi
index 90aacb3563..cdb2dda179 100644
Binary files a/icons/obj/items/clothing/belts.dmi and b/icons/obj/items/clothing/belts.dmi differ
diff --git a/icons/obj/items/weapons/guns/attachments.dmi b/icons/obj/items/weapons/guns/attachments.dmi
index 96038c374a..e0843820dd 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/barrel.dmi b/icons/obj/items/weapons/guns/attachments/barrel.dmi
index 5e051819e4..c3796f4102 100644
Binary files a/icons/obj/items/weapons/guns/attachments/barrel.dmi and b/icons/obj/items/weapons/guns/attachments/barrel.dmi differ
diff --git a/icons/obj/items/weapons/guns/attachments/stock.dmi b/icons/obj/items/weapons/guns/attachments/stock.dmi
index 506148cedf..e626143cc4 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/maps/map_files/FOP_v3_Sciannex/sprinkles/10.scavshipholder.dmm b/maps/map_files/FOP_v3_Sciannex/sprinkles/10.scavshipholder.dmm
index bd48ecbe77..059bead7a6 100644
--- a/maps/map_files/FOP_v3_Sciannex/sprinkles/10.scavshipholder.dmm
+++ b/maps/map_files/FOP_v3_Sciannex/sprinkles/10.scavshipholder.dmm
@@ -343,11 +343,11 @@
/area/template_noop)
"Cc" = (
/obj/structure/surface/rack,
-/obj/item/ammo_magazine/sentry/premade/dumb{
+/obj/item/ammo_magazine/sentry{
pixel_x = -11;
pixel_y = 3
},
-/obj/item/ammo_magazine/sentry/premade/dumb{
+/obj/item/ammo_magazine/sentry{
pixel_x = 6;
pixel_y = 3
},