diff --git a/code/datums/trading/weaponry.dm b/code/datums/trading/weaponry.dm index 092c80d773e..23f9dc88d5b 100644 --- a/code/datums/trading/weaponry.dm +++ b/code/datums/trading/weaponry.dm @@ -28,6 +28,8 @@ /obj/item/gun/projectile/revolver/deckard = TRADER_THIS_TYPE, /obj/item/gun/projectile/leyon = TRADER_THIS_TYPE, /obj/item/gun/projectile/automatic/x9 = TRADER_THIS_TYPE, + /obj/item/gun/projectile/automatic/rifle/carbine = TRADER_THIS_TYPE, + /obj/item/ammo_magazine/a556/carbine = TRADER_THIS_TYPE, /obj/item/ammo_magazine/c45m = TRADER_ALL, /obj/item/ammo_magazine/c45m/empty = TRADER_BLACKLIST, /obj/item/ammo_magazine/mc10mm = TRADER_ALL, diff --git a/code/game/machinery/autolathe/autolathe_datums.dm b/code/game/machinery/autolathe/autolathe_datums.dm index 45a1c5322c4..90c05c2cb73 100644 --- a/code/game/machinery/autolathe/autolathe_datums.dm +++ b/code/game/machinery/autolathe/autolathe_datums.dm @@ -434,11 +434,17 @@ category = "Arms and Ammunition" /datum/autolathe/recipe/magazine_carbine - name = "ammunition (5.56mm)" + name = "ammunition (5.56mm, large)" path = /obj/item/ammo_magazine/a556 hidden = 1 category = "Arms and Ammunition" +/datum/autolathe/recipe/magazine_smallcarbine + name = "ammunition (5.56mm, small)" + path = /obj/item/ammo_magazine/a556/carbine + hidden = 1 + category = "Arms and Ammunition" + /datum/autolathe/recipe/shotgun name = "ammunition (slug, shotgun)" path = /obj/item/ammo_casing/shotgun diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 0d65db0ab38..ae0c18ee462 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -1601,6 +1601,7 @@ /obj/item/gun/energy/xray = 1, /obj/item/gun/energy/lasercannon = 1, /obj/item/gun/projectile/automatic/rifle/sts35 = 1, + /obj/item/gun/projectile/automatic/rifle/carbine = 1, /obj/item/gun/projectile/automatic/x9 = 1, /obj/item/gun/projectile/deagle = 1, /obj/item/gun/projectile/deagle/adhomai = 1, diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index 2040cd0b096..3104a73c247 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -82,6 +82,7 @@ var/list/worths = list( /obj/item/gun/launcher = 300, //AUTOMATICS, /obj/item/gun/projectile/automatic/rifle/sts35 = 3800, + /obj/item/gun/projectile/automatic/rifle/carbine = 3000, /obj/item/gun/projectile/automatic/rifle/z8 = 3100, /obj/item/gun/projectile/automatic/rifle/l6_saw = 13400, /obj/item/gun/projectile/automatic/rifle/shotgun = 8500, diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 1aa1fb36551..f9c7406b139 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -207,6 +207,26 @@ origin_tech = list(TECH_COMBAT = 3) ammo_type = /obj/item/ammo_casing/a556/ap +/obj/item/ammo_magazine/a556/carbine + name = "carbine magazine (5.56mm)" + icon_state = "5.56c" + desc = "A 5.56 ammo magazine fit for a carbine, not an assault rifle." + matter = list(DEFAULT_WALL_MATERIAL = 1250) + max_ammo = 15 + +/obj/item/ammo_magazine/a556/carbine/empty + max_ammo = 0 + +/obj/item/ammo_magazine/a556/carbine/practice + name = "carbine magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556/practice + +/obj/item/ammo_magazine/a556/carbine/ap + name = "carbine magazine (5.56mm AP)" + icon_state = "5.56APc" + origin_tech = list(TECH_COMBAT = 3) + ammo_type = /obj/item/ammo_casing/a556/ap + /obj/item/ammo_magazine/a50 name = "magazine (.50)" icon_state = "50ae" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index ad8bbabf32c..2c6b23179fa 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -135,7 +135,8 @@ /obj/item/gun/projectile/automatic/rifle/sts35 name = "assault rifle" desc = "A durable, rugged looking automatic weapon of a make popular on the frontier worlds. Uses 7.62mm rounds. It is unmarked." - desc_fluff = "The STS35 is a durable, reliable and cheap to buy fully automatic assault rifle with many licensed manufacturers across the galaxy. It comes in different versions and calibres, this one uses 7.62 rounds. The manufacturer markings have been filed off." + desc_fluff = "The STS35 is a durable, reliable and cheap to buy fully automatic assault rifle with many licensed manufacturers across \ + the galaxy. It comes in different versions and calibres, this one uses 7.62 rounds. The manufacturer markings have been filed off." can_bayonet = TRUE knife_x_offset = 23 knife_y_offset = 13 @@ -144,6 +145,30 @@ ..() icon_state = (ammo_magazine)? "arifle" : "arifle-empty" +/obj/item/gun/projectile/automatic/rifle/carbine + name = "ballistic carbine" + desc = "A durable, rugged looking semi-automatic weapon of a make popular on the frontier worlds. Uses 5.56mm rounds and does not accept large \ + capacity magazines. It is unmarked." + desc_fluff = "The ST24 is often considered the little brother of its larger and fully automatic counterpart, the STS35. It is a \ + reliable and cheap to buy carbine with many licensed manufacturers across the galaxy. It comes in different versions and calibres, \ + some even boasting select fire functionality. This one uses 5.56 rounds and is semi-automatic. The manufacturer markings have been filed off." + icon = 'icons/obj/guns/bcarbine.dmi' + icon_state = "bcarbine" + item_state = "bcarbine" + caliber = "a556" + can_bayonet = TRUE + origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 1, TECH_ILLEGAL = 3) + magazine_type = /obj/item/ammo_magazine/a556/carbine + allowed_magazines = list(/obj/item/ammo_magazine/a556/carbine) + knife_x_offset = 23 + knife_y_offset = 13 + + firemodes = list(mode_name="semiauto", burst=1, fire_delay=12) + +/obj/item/gun/projectile/automatic/rifle/carbine/update_icon() + ..() + icon_state = (ammo_magazine)? "bcarbine" : "bcarbine-empty" + /obj/item/gun/projectile/automatic/rifle/sol name = "battle rifle" desc = "A powerful battle rifle, the M469 is a highly accurate skirmishing firearm of Zavodskoi Instellar make which is chambered in 7.62." @@ -181,7 +206,7 @@ slot_flags = SLOT_BACK load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/a556 - allowed_magazines = list(/obj/item/ammo_magazine/a556) + allowed_magazines = list(/obj/item/ammo_magazine/a556, /obj/item/ammo_magazine/a556/carbine) auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' @@ -460,4 +485,4 @@ /obj/item/gun/projectile/automatic/rifle/shotgun/update_icon() ..() - icon_state = (ammo_magazine)? "assaultshotgun" : "assaultshotgun-empty" \ No newline at end of file + icon_state = (ammo_magazine)? "assaultshotgun" : "assaultshotgun-empty" diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 2895b76708e..dabf2dbd4ea 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -210,7 +210,7 @@ damage = 40 armor_penetration = 15 -/obj/item/projectile/bullet/rifle/a556/ap +/obj/item/projectile/bullet/rifle/a556/ap damage = 35 armor_penetration = 40 diff --git a/html/changelogs/wickedcybs_ballisticarbine.yml b/html/changelogs/wickedcybs_ballisticarbine.yml new file mode 100644 index 00000000000..9f6c3dce269 --- /dev/null +++ b/html/changelogs/wickedcybs_ballisticarbine.yml @@ -0,0 +1,7 @@ +author: WickedCybs + +delete-after: True + +changes: + - rscadd: "Added a ballistic carbine, a less powerful counterpart of the assault rifle. It is only semi auto, has lower ammo capacity and uses a slightly weaker type of rifle round, 5.56. Currently, merchants and antags that recieve random guns can obtain it." + - rscadd: "Added a smaller variant of the 5.56 mag that only holds 15 rounds rather than 30. It can be printed from a lathe if desired." diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 498dca474e6..c72b359c7b5 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/guns/bcarbine.dmi b/icons/obj/guns/bcarbine.dmi new file mode 100644 index 00000000000..82c31039c1a Binary files /dev/null and b/icons/obj/guns/bcarbine.dmi differ