Files
Hatterhat 6f10dc6bd8 Even More Magazine Miscellany - Pen Interactions, Stripes, Descriptions (#88930)
## About The Pull Request

![image](https://github.com/user-attachments/assets/dd4d2935-de64-4a23-8789-7ca17fe2d488)
The original purpose of this PR was to extend the previous Magazine
Miscellany PR by adding the ability to recolor magazine indicators if
they had a defined icon. This functionality is present by using a pen on
a magazine that has a defined ammo band icon state.

This PR also further standardizes magazines with different ammo types by
using a define to append their description and magazine color for AP
ammo, hollow-points, and incendiary ammo.

This PR also _also_ gives ammo indicator bands to the magazines for the
Stechkin APS and C-20r. And also gives descriptions to every magazine so
they're not using a placeholder that mentions error signs anymore. Each
description is roughly in the format of "caliber, suitable for gun". Not
sure if I should standardize magazine names to be "caliber and special
ammo type" - the only outlier I can think of right now for that would be
the 7mm ammo boxes for the L6.

## Why It's Good For The Game

Ammo stripes are neat, functionally, so changing the stripes on
magazines in case someone chooses to reload spent mags with autolathe
ammo is probably nice as a QoL thing. Descriptions that aren't
placeholders are pretty cool too.

## Changelog
🆑
add: Magazines with defined ammo bands can now have their color changed
with a pen, in case you're reloading spent magazines or speedloaders
with different ammunition and want to change magazine colors to be
appropriate.
qol: C-20r magazines and Stechkin APS magazines now have ammo band
support.
qol: Standardized some descriptions for AP, HP, and incendiary
magazines.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-01-08 11:57:19 +11:00

46 lines
2.0 KiB
Plaintext

/obj/item/ammo_box/magazine/m7mm
name = "box magazine (7mm)"
desc = "A sizeable 7mm box magazine, suitable for the L6 SAW."
icon_state = "a7mm"
ammo_band_icon = "+a7mmab"
ammo_type = /obj/item/ammo_casing/m7mm
caliber = CALIBER_A7MM
max_ammo = 50
/obj/item/ammo_box/magazine/m7mm/hollow
name = "box magazine (7mm HP)"
MAGAZINE_TYPE_HOLLOWPOINT
ammo_type = /obj/item/ammo_casing/m7mm/hollow
/obj/item/ammo_box/magazine/m7mm/ap
name = "box magazine (7mm AP)"
MAGAZINE_TYPE_ARMORPIERCE
ammo_type = /obj/item/ammo_casing/m7mm/ap
/obj/item/ammo_box/magazine/m7mm/incen
name = "box magazine (7mm Incendiary)"
MAGAZINE_TYPE_INCENDIARY
ammo_type = /obj/item/ammo_casing/m7mm/incen
/obj/item/ammo_box/magazine/m7mm/match
name = "box magazine (7mm Match)"
ammo_band_color = COLOR_AMMO_MATCH
desc = parent_type::desc + "<br>Carries match-grade rounds, which are designed to ricochet off walls in an exceedingly stylish, but possibly user-unfriendly manner."
ammo_type = /obj/item/ammo_casing/m7mm/match
/obj/item/ammo_box/magazine/m7mm/bouncy
name = "box magazine (7mm Rubber)"
ammo_band_color = COLOR_AMMO_MATCH // this doesn't seem attainable in game (probably a good thing) so i guess it can get away with a color reuse
desc = parent_type::desc + "<br>Carries lethal rubber rounds, which deal less damage and bounce off everything in an incredibly irresponsible, user-unfriendly manner."
ammo_type = /obj/item/ammo_casing/m7mm/bouncy
/obj/item/ammo_box/magazine/m7mm/bouncy/hicap
name = "hi-cap box magazine (7mm Rubber)"
desc = "A very concerningly sizeable 7mm box magazine, suitable for the L6 SAW.<br>\
Carries lethal rubber rounds, which deal less damage and bounce off everything in an incredibly irresponsible, user-unfriendly manner."
max_ammo = 150
/obj/item/ammo_box/magazine/m7mm/update_icon_state()
. = ..()
icon_state = "a7mm-[min(round(ammo_count(), 10), 50)]" //Min is used to prevent high capacity magazines from attempting to get sprites with larger capacities