diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index f2b0daf1264..ee1ebd0cfe1 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -435,6 +435,7 @@ #define COLOR_ICECREAM_CUSTOM "#f3f3f3" #define COLOR_ICECREAM_CHERRY_CHOCOLATE "#800000" +// defines for .38 ammo type colors #define COLOR_AMMO_TRACK "#bd0ed4" #define COLOR_AMMO_MATCH "#ff0000a8" #define COLOR_AMMO_RUBBER "#3d3181" @@ -443,6 +444,11 @@ #define COLOR_AMMO_HOTSHOT "#ff7b00" #define COLOR_AMMO_ICEBLOX "#0de3ff" +// defines for other ammo type colors (should this be merged with above?) +#define COLOR_AMMO_INCENDIARY "#f4001f" +#define COLOR_AMMO_ARMORPIERCE "#d9d9d9" +#define COLOR_AMMO_HOLLOWPOINT "#ff9900" + GLOBAL_LIST_INIT(cable_colors, list( CABLE_COLOR_BLUE = CABLE_HEX_COLOR_BLUE, CABLE_COLOR_CYAN = CABLE_HEX_COLOR_CYAN, diff --git a/code/__DEFINES/magazines.dm b/code/__DEFINES/magazines.dm new file mode 100644 index 00000000000..3a7b19a7768 --- /dev/null +++ b/code/__DEFINES/magazines.dm @@ -0,0 +1,21 @@ +/// Appended to the description of magazines that spawn with old-fashioned incendiary ammo, which generally leave fire trails and give firestacks in return for less base damage. +#define MAGAZINE_DESC_INC "
Carries rounds which ignite targets and leave flaming trails, but inflict less damage." +/// Appended to the description of magazines that spawn with hollow-point ammo, which generally has higher base damage but is weak against armor. +#define MAGAZINE_DESC_HOLLOWPOINT "
Carries hollow-point rounds which are effective against unarmored targets, but suffer greatly against armor." +/// Appended to the description of magazines that spawn with armor-piercing ammo, which generally has less base damage but penetrates armor. +#define MAGAZINE_DESC_ARMORPIERCE "
Carries armor-piercing rounds which are effective against armored targets, but less effective against unarmored targets." + +/// Defines a magazine to, visually, be for incendiary ammo by setting the ammo band color and appending a short blurb to the description. +#define MAGAZINE_TYPE_INCENDIARY \ + ammo_band_color = COLOR_AMMO_INCENDIARY; \ + desc = parent_type::desc + MAGAZINE_DESC_INC; + +/// Defines a magazine to, visually, be for hollow-point ammo by setting the ammo band color and appending a short blurb to the description. +#define MAGAZINE_TYPE_HOLLOWPOINT \ + ammo_band_color = COLOR_AMMO_HOLLOWPOINT; \ + desc = parent_type::desc + MAGAZINE_DESC_HOLLOWPOINT; + +/// Defines a magazine to, visually, be for armor-piercing ammo by setting the ammo band color and appending a short blurb to the description. +#define MAGAZINE_TYPE_ARMORPIERCE \ + ammo_band_color = COLOR_AMMO_ARMORPIERCE; \ + desc = parent_type::desc + MAGAZINE_DESC_ARMORPIERCE; diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index b87821e219a..8dfec7a32f2 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -20,7 +20,7 @@ ///type that the magazine will be searching for, rejects if not a subtype of var/ammo_type = /obj/item/ammo_casing /// wording used for individual units of ammo, e.g. cartridges (regular ammo), shells (shotgun shells) - var/casing_phrasing = "cartridge" + var/casing_phrasing = "round" ///maximum amount of ammo in the magazine var/max_ammo = 7 ///Controls how sprites are updated for the ammo box; see defines in combat.dm: AMMO_BOX_ONE_SPRITE; AMMO_BOX_PER_BULLET; AMMO_BOX_FULL_EMPTY @@ -162,6 +162,17 @@ return TRUE /obj/item/ammo_box/attackby(obj/item/tool, mob/user, params, silent = FALSE, replace_spent = 0) + + if(IS_WRITING_UTENSIL(tool)) + if(!ammo_band_icon) + balloon_alert(user, "no indicator support!") + return + var/new_color = input(user, "Set a new ammo band color, cancel to remove indicator", "Ammo Box Indicator Color", ammo_band_color) as color|null + ammo_band_color = new_color + balloon_alert(user, "indicator updated") + update_appearance() + return + var/num_loaded = 0 if(!can_load(user)) return @@ -208,19 +219,15 @@ /obj/item/ammo_box/examine(mob/user) . = ..() + var/shells_left = LAZYLEN(stored_ammo) var/top_round = get_round() if(!top_round) return + . += "It has [shells_left] [casing_phrasing]\s remaining." // this is kind of awkward phrasing, but it's the top/ready ammo in the box // intended for people who have like three mislabeled magazines . += span_notice("The [top_round] is ready in [src].") - -/obj/item/ammo_box/update_desc(updates) - . = ..() - var/shells_left = LAZYLEN(stored_ammo) - desc = "[initial(desc)]
There [(shells_left == 1) ? "is" : "are"] [shells_left] [casing_phrasing]\s left!" - /obj/item/ammo_box/update_icon_state() . = ..() var/shells_left = LAZYLEN(stored_ammo) diff --git a/code/modules/projectiles/boxes_magazines/external/grenade.dm b/code/modules/projectiles/boxes_magazines/external/grenade.dm index 4ba7d43efae..43903277d0d 100644 --- a/code/modules/projectiles/boxes_magazines/external/grenade.dm +++ b/code/modules/projectiles/boxes_magazines/external/grenade.dm @@ -1,5 +1,6 @@ /obj/item/ammo_box/magazine/m75 name = "specialized magazine (.75)" + desc = "A .75 gyrojet magazine, suitable for use in the Gyrojet pistol." icon_state = "75" ammo_type = /obj/item/ammo_casing/a75 caliber = CALIBER_75 diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index 5af59b03777..be204f0b7e7 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -1,32 +1,43 @@ /obj/item/ammo_box/magazine/m7mm name = "box magazine (7mm)" - icon_state = "a7mm-50" + 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 (Hollow-Point 7mm)" + 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 (Armor Penetrating 7mm)" + 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 (Incendiary 7mm)" + 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 (Match 7mm)" + name = "box magazine (7mm Match)" + ammo_band_color = COLOR_AMMO_MATCH + desc = parent_type::desc + "
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 (Rubber 7mm)" + 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 + "
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 (Rubber 7mm)" + name = "hi-cap box magazine (7mm Rubber)" + desc = "A very concerningly sizeable 7mm box magazine, suitable for the L6 SAW.
\ + 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() diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 7c7d61761be..250ec30af39 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -1,6 +1,3 @@ -#define FIRE_BULLETS " Carries rounds which ignite targets and leave flaming trails, but inflict less damage." -#define HP_BULLETS " Carries hollow-point rounds which are effective against unarmored targets, but suffer greatly against armor." -#define AP_BULLETS " Carries armor-piercing rounds which are effective against armored targets, but less effective against unarmored targets." // Makarov (9mm) // @@ -9,6 +6,8 @@ icon_state = "9x19p" base_icon_state = "9x19p" desc = "A 9mm handgun magazine, suitable for the Makarov pistol." + ammo_band_icon = "+9x19ab" + ammo_band_color = null ammo_type = /obj/item/ammo_casing/c9mm caliber = CALIBER_9MM max_ammo = 12 @@ -17,23 +16,17 @@ /obj/item/ammo_box/magazine/m9mm/fire name = "pistol magazine (9mm incendiary)" - icon_state = "9x19pI" - base_icon_state = "9x19pI" - desc = parent_type::desc + FIRE_BULLETS + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c9mm/fire /obj/item/ammo_box/magazine/m9mm/hp name = "pistol magazine (9mm HP)" - icon_state = "9x19pH" - base_icon_state = "9x19pH" - desc = parent_type::desc + HP_BULLETS + MAGAZINE_TYPE_HOLLOWPOINT ammo_type = /obj/item/ammo_casing/c9mm/hp /obj/item/ammo_box/magazine/m9mm/ap name = "pistol magazine (9mm AP)" - icon_state = "9x19pA" - base_icon_state = "9x19pA" - desc = parent_type::desc + AP_BULLETS + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c9mm/ap // Stechkin APS (9mm) // @@ -43,6 +36,8 @@ desc = "A 9mm handgun magazine, suitable for the Stechkin APS machine pistol." icon_state = "9mmaps-15" base_icon_state = "9mmaps" + ammo_band_icon = "+9mmapsab" + ammo_band_color = null ammo_type = /obj/item/ammo_casing/c9mm caliber = CALIBER_9MM max_ammo = 15 @@ -53,17 +48,17 @@ /obj/item/ammo_box/magazine/m9mm_aps/fire name = "stechkin pistol magazine (9mm incendiary)" - desc = parent_type::desc + FIRE_BULLETS + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c9mm/fire /obj/item/ammo_box/magazine/m9mm_aps/hp name = "stechkin pistol magazine (9mm HP)" - desc = parent_type::desc + HP_BULLETS + MAGAZINE_TYPE_HOLLOWPOINT ammo_type = /obj/item/ammo_casing/c9mm/hp /obj/item/ammo_box/magazine/m9mm_aps/ap name = "stechkin pistol magazine (9mm AP)" - desc = parent_type::desc + AP_BULLETS + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c9mm/ap // Ansem (10mm) // @@ -73,6 +68,9 @@ desc = "A 10mm handgun magazine, suitable for the Ansem pistol." icon_state = "9x19p" base_icon_state = "9x19p" + ammo_band_icon = "+9x19ab" + ammo_band_color = null + ammo_type = /obj/item/ammo_casing/c10mm caliber = CALIBER_10MM max_ammo = 8 @@ -81,23 +79,17 @@ /obj/item/ammo_box/magazine/m10mm/fire name = "pistol magazine (10mm incendiary)" - icon_state = "9x19pI" - base_icon_state = "9x19pI" - desc = parent_type::desc + FIRE_BULLETS + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c10mm/fire /obj/item/ammo_box/magazine/m10mm/hp name = "pistol magazine (10mm HP)" - icon_state = "9x19pH" - base_icon_state = "9x19pH" - desc = parent_type::desc + HP_BULLETS + MAGAZINE_TYPE_HOLLOWPOINT ammo_type = /obj/item/ammo_casing/c10mm/hp /obj/item/ammo_box/magazine/m10mm/ap name = "pistol magazine (10mm AP)" - icon_state = "9x19pA" - base_icon_state = "9x19pA" - desc = parent_type::desc + AP_BULLETS + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c10mm/ap // Regal Condor (10mm) // @@ -136,7 +128,3 @@ caliber = CALIBER_50AE max_ammo = 7 multiple_sprites = AMMO_BOX_PER_BULLET - -#undef FIRE_BULLETS -#undef HP_BULLETS -#undef AP_BULLETS diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index d3d1ce3ca99..7aa388db324 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -8,7 +8,9 @@ /obj/item/ammo_box/magazine/m223 name = "toploader magazine (.223)" + desc = "A top-loading .223 magazine, suitable for the M-90gl carbine." icon_state = ".223" + ammo_band_icon = "+.223ab" ammo_type = /obj/item/ammo_casing/a223 caliber = CALIBER_A223 max_ammo = 30 @@ -16,13 +18,14 @@ /obj/item/ammo_box/magazine/m223/phasic name = "toploader magazine (.223 Phasic)" + desc = parent_type::desc + "
Carries phasic rounds, which completely ignore armor and phase through cover, but not targets." ammo_type = /obj/item/ammo_casing/a223/phasic // .38 (Battle Rifle) // /obj/item/ammo_box/magazine/m38 name = "battle rifle magazine (.38)" - desc = "A magazine for a BR-38 battle rifle." + desc = "A .38 magazine for a BR-38 battle rifle." icon_state = "38mag" base_icon_state = "38mag" w_class = WEIGHT_CLASS_NORMAL @@ -41,42 +44,42 @@ /obj/item/ammo_box/magazine/m38/trac name = "battle rifle magazine (.38 TRAC)" - desc = "A magazine for a BR-38 battle rifle. TRAC bullets embed a tracking implant within the target's body and are entirely nonlethal." + desc = parent_type::desc + " TRAC bullets embed a tracking implant within the target's body and are entirely nonlethal." ammo_type = /obj/item/ammo_casing/c38/trac ammo_band_color = COLOR_AMMO_TRACK /obj/item/ammo_box/magazine/m38/match name = "battle rifle magazine (.38 Match)" - desc = "A magazine for a BR-38 battle rifle. These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with." + desc = parent_type::desc + " These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with." ammo_type = /obj/item/ammo_casing/c38/match ammo_band_color = COLOR_AMMO_MATCH /obj/item/ammo_box/magazine/m38/match/bouncy name = "battle rifle magazine (.38 Rubber)" - desc = "A magazine for a BR-38 battle rifle. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." + desc = parent_type::desc + " These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." ammo_type = /obj/item/ammo_casing/c38/match/bouncy ammo_band_color = COLOR_AMMO_RUBBER /obj/item/ammo_box/magazine/m38/true name = "battle rifle magazine (.38 True Strike)" - desc = "A magazine for a BR-38 battle rifle. Bullets bounce towards new targets with surprising accuracy." + desc = parent_type::desc + " Bullets bounce towards new targets with surprising accuracy." ammo_type = /obj/item/ammo_casing/c38/match/true ammo_band_color = COLOR_AMMO_TRUESTRIKE /obj/item/ammo_box/magazine/m38/dumdum name = "battle rifle magazine (.38 DumDum)" - desc = "A magazine for a BR-38 battle rifle. These rounds expand on impact, allowing them to shred the target and cause massive bleeding. Very weak against armor and distant targets." + desc = parent_type::desc + " These rounds expand on impact, allowing them to shred the target and cause massive bleeding. Very weak against armor and distant targets." ammo_type = /obj/item/ammo_casing/c38/dumdum ammo_band_color = COLOR_AMMO_DUMDUM /obj/item/ammo_box/magazine/m38/hotshot name = "battle rifle magazine (.38 Hot Shot)" - desc = "A magazine for a BR-38 battle rifle. Hot Shot bullets contain an incendiary payload." + desc = parent_type::desc + " Hot Shot bullets contain an incendiary payload." ammo_type = /obj/item/ammo_casing/c38/hotshot ammo_band_color = COLOR_AMMO_HOTSHOT /obj/item/ammo_box/magazine/m38/iceblox name = "battle rifle magazine (.38 Iceblox)" - desc = "A magazine for a BR-38 battle rifle. Iceblox bullets contain a cryogenic payload." + desc = parent_type::desc + " Iceblox bullets contain a cryogenic payload." ammo_type = /obj/item/ammo_casing/c38/iceblox ammo_band_color = COLOR_AMMO_ICEBLOX diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index 6d90c54fc69..469c7590f99 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -1,6 +1,6 @@ /obj/item/ammo_box/magazine/m12g name = "shotgun magazine (12g buckshot slugs)" - desc = "A drum magazine." + desc = "A drum magazine of shotgun shells, suitable for the Bulldog combat shotgun." icon_state = "m12gb" base_icon_state = "m12gb" ammo_type = /obj/item/ammo_casing/shotgun/buckshot diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 40837d9ddbc..d8563905475 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -1,7 +1,10 @@ /obj/item/ammo_box/magazine/wt550m9 - name = "wt550 magazine (4.6x30mm)" + name = "\improper WT-550 magazine (4.6x30mm)" + desc = "A top-loading 4.6x30mm magazine, specifically for the WT-550 autorifle." icon_state = "46x30mmt-20" base_icon_state = "46x30mmt" + ammo_band_icon = "+46x30mmab" + ammo_band_color = null ammo_type = /obj/item/ammo_casing/c46x30mm caliber = CALIBER_46X30MM max_ammo = 20 @@ -11,27 +14,19 @@ icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/wt550m9/wtap - name = "wt550 magazine (Armour Piercing 4.6x30mm)" - icon_state = "46x30mmtA-20" - base_icon_state = "46x30mmtA" + name = "\improper WT-550 magazine (4.6x30mm AP)" + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c46x30mm/ap -/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" - /obj/item/ammo_box/magazine/wt550m9/wtic - name = "wt550 magazine (Incendiary 4.6x30mm)" - icon_state = "46x30mmtI-20" - base_icon_state = "46x30mmtI" + name = "\improper WT-550 magazine (4.6x30mm incendiary)" + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c46x30mm/inc -/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/smartgun name = "Abielle magazine (.160 Smart)" + desc = "A deep .160 Smart magazine, suitable for the Abielle smart-SMG." icon_state = "smartgun" base_icon_state = "smartgun" ammo_type = /obj/item/ammo_casing/c160smart @@ -41,7 +36,8 @@ max_ammo = 50 /obj/item/ammo_box/magazine/uzim9mm - name = "uzi magazine (9mm)" + name = "\improper Uzi magazine (9mm)" + desc = "A long 9mm magazine, suitable for the Uzi SMG." icon_state = "uzi9mm-32" base_icon_state = "uzi9mm" ammo_type = /obj/item/ammo_casing/c9mm @@ -53,7 +49,8 @@ icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/smgm9mm - name = "SMG magazine (9mm)" + name = "\improper SMG magazine (9mm)" + desc = "A sleek 9mm magazine, suitable for the Nanotrasen Saber SMG." icon_state = "smg9mm" base_icon_state = "smg9mm" ammo_type = /obj/item/ammo_casing/c9mm @@ -65,17 +62,22 @@ icon_state = "[base_icon_state]-[LAZYLEN(stored_ammo) ? "full" : "empty"]" /obj/item/ammo_box/magazine/smgm9mm/ap - name = "SMG magazine (Armour Piercing 9mm)" + name = "SMG magazine (9mm AP)" + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c9mm/ap /obj/item/ammo_box/magazine/smgm9mm/fire - name = "SMG Magazine (Incendiary 9mm)" + name = "SMG magazine (9mm incendiary)" + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c9mm/fire /obj/item/ammo_box/magazine/smgm45 name = "SMG magazine (.45)" + desc = "A long .45 magazine, suitable for the C-20r SMG." icon_state = "c20r45" base_icon_state = "c20r45" + ammo_band_icon = "+c20rab" + ammo_band_color = null ammo_type = /obj/item/ammo_casing/c45 caliber = CALIBER_45 max_ammo = 24 @@ -85,15 +87,18 @@ icon_state = "[base_icon_state]-[round(ammo_count(), 2)]" /obj/item/ammo_box/magazine/smgm45/ap - name = "SMG magazine (Armour Piercing .45)" + name = "SMG magazine (.45 AP)" + MAGAZINE_TYPE_ARMORPIERCE ammo_type = /obj/item/ammo_casing/c45/ap /obj/item/ammo_box/magazine/smgm45/hp - name = "SMG magazine (Hollow Point .45)" + name = "SMG magazine (.45 HP)" + MAGAZINE_TYPE_HOLLOWPOINT ammo_type = /obj/item/ammo_casing/c45/hp /obj/item/ammo_box/magazine/smgm45/incen - name = "SMG magazine (Incendiary .45)" + name = "SMG magazine (.45 incendiary)" + MAGAZINE_TYPE_INCENDIARY ammo_type = /obj/item/ammo_casing/c45/inc /obj/item/ammo_box/magazine/tommygunm45 diff --git a/code/modules/projectiles/boxes_magazines/external/sniper.dm b/code/modules/projectiles/boxes_magazines/external/sniper.dm index b0b437b8b23..c937e435f0e 100644 --- a/code/modules/projectiles/boxes_magazines/external/sniper.dm +++ b/code/modules/projectiles/boxes_magazines/external/sniper.dm @@ -1,5 +1,6 @@ /obj/item/ammo_box/magazine/sniper_rounds name = "anti-materiel sniper rounds (.50 BMG)" + desc = "A .50 BMG box magazine suitable for anti-materiel sniper rifles." icon_state = ".50mag" base_icon_state = ".50mag" ammo_type = /obj/item/ammo_casing/p50 @@ -12,31 +13,32 @@ /obj/item/ammo_box/magazine/sniper_rounds/surplus name = "anti-materiel sniper rounds (.50 BMG Surplus)" + desc = parent_type::desc + " Improper storage means they don't punch through armor, dismember, or stun like fresh ammo, but they're still very good at killing people." icon_state = "surplus" base_icon_state = "surplus" ammo_type = /obj/item/ammo_casing/p50/surplus /obj/item/ammo_box/magazine/sniper_rounds/disruptor name = "anti-materiel sniper rounds (.50 BMG Bzzt)" - desc = "Disruptor sniper rounds. A special blend of soporific chemicals \ - and a electromagnetic payload to cause anything to come to a grinding halt." + desc = parent_type::desc + " Loaded with disruptor sniper rounds, filled with a special blend of soporific chemicals \ + and a electromagnetic payload to cause anything hit to come to a grinding halt." base_icon_state = "disruptor" ammo_type = /obj/item/ammo_casing/p50/disruptor /obj/item/ammo_box/magazine/sniper_rounds/incendiary name = "anti-materiel sniper rounds (.50 BMG incendiary)" - desc = "Incediary sniper rounds. Causes a massive combustion at the site of impact." + desc = parent_type::desc + " Loaded with incendiary sniper rounds, which cause massive combustion at the site of impact." base_icon_state = "incendiary" ammo_type = /obj/item/ammo_casing/p50/incendiary /obj/item/ammo_box/magazine/sniper_rounds/penetrator name = "anti-materiel sniper rounds (.50 BMG penetrator)" - desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it." + desc = parent_type::desc + " Loaded with extremely powerful penetrator rounds, capable of passing straight through cover and anyone unfortunate enough to be behind it." base_icon_state = "penetrator" ammo_type = /obj/item/ammo_casing/p50/penetrator /obj/item/ammo_box/magazine/sniper_rounds/marksman name = "anti-materiel sniper rounds (.50 BMG marksman)" - desc = "An extremely fast sniper round able to pretty much instantly shoot through something." + desc = parent_type::desc + " Loaded with extremely fast marksman rounds, able to pretty much instantly hit their targets." base_icon_state = "marksman" ammo_type = /obj/item/ammo_casing/p50/marksman diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 0c230649fa9..57adddc62c7 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -67,7 +67,7 @@ desc = "Recalled by Nanotrasen due to public backlash around heat distribution resulting in unintended discombobulation. \ This outcry was fabricated through various Syndicate-backed misinformation operations to force Nanotrasen to abandon \ its ballistics weapon program, cornering them into the energy weapons market. Most often found today in the hands of pirates, \ - underfunded security personnel, cargo technicians, theoritical physicists and gang bangers out on the rim. \ + underfunded security personnel, cargo technicians, theoretical physicists, and gang bangers out on the rim. \ Light-weight and fully automatic. Uses 4.6x30mm rounds." icon_state = "wt550" w_class = WEIGHT_CLASS_BULKY diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi index 743d365489b..521ec8376e4 100644 Binary files a/icons/obj/weapons/guns/ammo.dmi and b/icons/obj/weapons/guns/ammo.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 9b9bd545f50..33a666f5c8b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -133,6 +133,7 @@ #include "code\__DEFINES\living.dm" #include "code\__DEFINES\logging.dm" #include "code\__DEFINES\machines.dm" +#include "code\__DEFINES\magazines.dm" #include "code\__DEFINES\magic.dm" #include "code\__DEFINES\map_exporter.dm" #include "code\__DEFINES\map_switch.dm"