Files
Bubberstation/code/modules/projectiles/boxes_magazines/internal/rifle.dm
Hatterhat 8e350f1f86 Splits ammo box multiload into a bitflag, adds a icon for .223, adds a desc for toy magazines (#92409)
## About The Pull Request

Ammo box `multiload` var was changed into a bitflag covering
`AMMO_BOX_MULTILOAD_IN`, and `AMMO_BOX_MULTILOAD_OUT`, respectively. By
default, ammo boxes have both multiloading in and out, while magazines
only have multiloading in, which means you can't use magazines as
speedloaders, but you can still feed ammo into magazines quickly if you
had, say, an ammo box for that magazine's caliber. Or... something.

---

Also adds an icon state for .223 casings, which is just an edit of the
old 7.62 casings to be shorter.
<img width="403" height="89" alt="image"
src="https://github.com/user-attachments/assets/b3206b94-c2b3-4b90-8162-b4c620bbe4cf"
/>

---

Also adds a description for toy gun magazines.

## Why It's Good For The Game

Splitting ammo box multiload into "multiload in" and "multiload out"
means you can't use an ammo box as a speedloader, which I thought was
silly. Emergent gameplay, sure, but also silly.

.223 having a unique icon instead of just looking like any other pistol
casing is nice (read: pistol-caliber casings from a rifle round annoyed
me).

Toy gun magazine thing was for funsies at this point.

## Changelog

🆑
code: Ammo boxes' multiload variable is now a bitflag that determines if
a magazine can be multiloaded into or out of. Ammo boxes can multiload
in or out, while magazines can only multiload in.
image: .223 ammo now has a distinct casing icon.
fix: Foam force magazines now have a proper description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-08-12 04:03:31 +10:00

74 lines
2.2 KiB
Plaintext

/obj/item/ammo_box/magazine/internal/boltaction
name = "bolt action rifle internal magazine"
desc = "Oh god, this shouldn't be here"
ammo_type = /obj/item/ammo_casing/strilka310
caliber = CALIBER_STRILKA310
max_ammo = 5
/obj/item/ammo_box/magazine/internal/boltaction/surplus
ammo_type = /obj/item/ammo_casing/strilka310/surplus
/obj/item/ammo_box/magazine/internal/boltaction/phasic
ammo_type = /obj/item/ammo_casing/strilka310/phasic
/obj/item/ammo_box/magazine/internal/boltaction/pipegun
name = "pipegun internal magazine"
caliber = CALIBER_JUNK
ammo_type = /obj/item/ammo_casing/junk
max_ammo = 1
/obj/item/ammo_box/magazine/internal/boltaction/pipegun/pistol
name = "pipe pistol internal magazine"
max_ammo = 3
/obj/item/ammo_box/magazine/internal/boltaction/pipegun/prime
name = "regal pipegun internal magazine"
max_ammo = 4
ammo_type = /obj/item/ammo_casing/junk/reaper
/obj/item/ammo_box/magazine/internal/boltaction/pipegun/pistol/prime
name = "regal pipe pistol internal magazine"
max_ammo = 6
ammo_type = /obj/item/ammo_casing/junk/reaper
/obj/item/ammo_box/magazine/internal/enchanted
max_ammo = 1
caliber = CALIBER_STRILKA310
ammo_type = /obj/item/ammo_casing/strilka310/enchanted
/obj/item/ammo_box/magazine/internal/boltaction/harpoon
max_ammo = 1
caliber = CALIBER_HARPOON
ammo_type = /obj/item/ammo_casing/harpoon
/obj/item/ammo_box/magazine/internal/boltaction/jezail
max_ammo = 4
/obj/item/ammo_box/magazine/internal/boltaction/rebarxbow/normal
name = "single round magazine"
max_ammo = 1
caliber = CALIBER_REBAR
ammo_type = /obj/item/ammo_casing/rebar
/obj/item/ammo_box/magazine/internal/boltaction/rebarxbow/force
name = "two round magazine"
max_ammo = 2
caliber = CALIBER_REBAR
ammo_type = /obj/item/ammo_casing/rebar
/obj/item/ammo_box/magazine/internal/boltaction/rebarxbow/syndie
max_ammo = 3
caliber = CALIBER_REBAR
ammo_type = /obj/item/ammo_casing/rebar/syndie
/obj/item/ammo_box/magazine/internal/sks
name = "\improper SKS rifle internal magazine"
desc = "Oh god, this shouldn't be here"
ammo_type = /obj/item/ammo_casing/strilka310
caliber = CALIBER_STRILKA310
max_ammo = 10
/obj/item/ammo_box/magazine/internal/sks/empty
start_empty = TRUE