From 8579adcc53d28aaa063aed1b3c75c243f66e4784 Mon Sep 17 00:00:00 2001 From: Spades Date: Fri, 26 May 2017 19:32:23 -0400 Subject: [PATCH 1/8] Naming convention of ammo is now consistent s = Speedloaders. (Functionally the same as clips, but they're not _really_ the same thing, just in case we change these later.) c = Clips. (Can also be used to fill other magazines.) m = Magazine. (Holds ammo rounds.) a = Ammo. (Individual rounds of ammo.) --- code/datums/autolathe/arms.dm | 50 ++++++------ code/datums/supplypacks/munitions.dm | 4 +- code/datums/uplink/ammunition.dm | 32 ++++---- code/game/machinery/autolathe.dm | 4 +- .../items/weapons/storage/uplink_kits.dm | 2 +- code/game/objects/random/random.dm | 6 +- .../crates_lockers/closets/secure/security.dm | 6 +- .../crates_lockers/closets/syndicate.dm | 10 +-- code/modules/admin/verbs/debug.dm | 4 +- code/modules/flufftext/Hallucination.dm | 2 +- code/modules/projectiles/ammunition/boxes.dm | 80 +++++++++---------- .../projectiles/guns/projectile/automatic.dm | 30 +++---- .../projectiles/guns/projectile/pistol.dm | 22 ++--- .../projectiles/guns/projectile/sniper.dm | 4 +- code/modules/random_map/drop/drop_types.dm | 10 +-- 15 files changed, 133 insertions(+), 133 deletions(-) diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index efe5791b11f..276819d3adb 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -49,34 +49,34 @@ /////// .45 /datum/category_item/autolathe/arms/pistol_45 name = "pistol magazine (.45)" - path =/obj/item/ammo_magazine/c45m + path =/obj/item/ammo_magazine/m45 hidden = 1 /datum/category_item/autolathe/arms/pistol_45p name = "pistol magazine (.45 practice)" - path =/obj/item/ammo_magazine/c45m/practice + path =/obj/item/ammo_magazine/m45/practice /datum/category_item/autolathe/arms/pistol_45r name = "pistol magazine (.45 rubber)" - path =/obj/item/ammo_magazine/c45m/rubber + path =/obj/item/ammo_magazine/m45/rubber /datum/category_item/autolathe/arms/pistol_45f name = "pistol magazine (.45 flash)" - path =/obj/item/ammo_magazine/c45m/flash + path =/obj/item/ammo_magazine/m45/flash /datum/category_item/autolathe/arms/pistol_45uzi name = "uzi magazine (.45)" - path =/obj/item/ammo_magazine/c45uzi + path =/obj/item/ammo_magazine/m45uzi hidden = 1 /datum/category_item/autolathe/arms/tommymag name = "Tommygun magazine (.45)" - path =/obj/item/ammo_magazine/tommymag + path =/obj/item/ammo_magazine/m45tommy hidden = 1 /datum/category_item/autolathe/arms/tommydrum name = "Tommygun drum magazine (.45)" - path =/obj/item/ammo_magazine/tommydrum + path =/obj/item/ammo_magazine/m45tommydrum hidden = 1 /////// 9mm @@ -129,34 +129,34 @@ /////// 10mm /datum/category_item/autolathe/arms/smg_10mm name = "SMG magazine (10mm)" - path =/obj/item/ammo_magazine/a10mm + path =/obj/item/ammo_magazine/m10mm hidden = 1 /datum/category_item/autolathe/arms/pistol_50 name = "pistol magazine (.50AE)" - path =/obj/item/ammo_magazine/a50 + path =/obj/item/ammo_magazine/m50 hidden = 1 /////// 5.56mm /datum/category_item/autolathe/arms/rifle_556 name = "rifle magazine (5.56mm)" - path =/obj/item/ammo_magazine/c556 + path =/obj/item/ammo_magazine/m556 hidden = 1 /datum/category_item/autolathe/arms/rifle_556p name = "rifle magazine (5.56mm practice)" - path =/obj/item/ammo_magazine/c556/practice + path =/obj/item/ammo_magazine/m556/practice /datum/category_item/autolathe/arms/machinegun_556 name = "machinegun box magazine (5.56)" - path =/obj/item/ammo_magazine/a556 + path =/obj/item/ammo_magazine/m556saw hidden = 1 /////// 7.62 /datum/category_item/autolathe/arms/rifle_762 name = "rifle magazine (7.62mm)" - path =/obj/item/ammo_magazine/c762 + path =/obj/item/ammo_magazine/m762 hidden = 1 /datum/category_item/autolathe/arms/shotgun_magazine @@ -188,24 +188,24 @@ /datum/category_item/autolathe/arms/pistol_45 name = "pistol magazine (.45)" - path =/obj/item/ammo_magazine/c45m/empty + path =/obj/item/ammo_magazine/m45/empty category = "Arms and Ammunition" /datum/category_item/autolathe/arms/pistol_45uzi name = "uzi magazine (.45)" - path =/obj/item/ammo_magazine/c45uzi/empty + path =/obj/item/ammo_magazine/m45uzi/empty category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/tommymag name = "Tommygun magazine (.45)" - path =/obj/item/ammo_magazine/tommymag/empty + path =/obj/item/ammo_magazine/m45tommy/empty category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/tommydrum name = "Tommygun drum magazine (.45)" - path =/obj/item/ammo_magazine/tommydrum/empty + path =/obj/item/ammo_magazine/m45tommydrum/empty category = "Arms and Ammunition" hidden = 1 @@ -221,24 +221,24 @@ /datum/category_item/autolathe/arms/smg_10mm name = "SMG magazine (10mm)" - path =/obj/item/ammo_magazine/a10mm/empty + path =/obj/item/ammo_magazine/m10mm/empty category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/pistol_50 name = "pistol magazine (.50AE)" - path =/obj/item/ammo_magazine/a50/empty + path =/obj/item/ammo_magazine/m50/empty category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/rifle_556 name = "10rnd rifle magazine (5.56mm)" - path =/obj/item/ammo_magazine/a556/empty + path =/obj/item/ammo_magazine/m556saw/empty category = "Arms and Ammunition" /datum/category_item/autolathe/arms/rifle_556m name = "20rnd rifle magazine (5.56mm)" - path =/obj/item/ammo_magazine/a556m/empty + path =/obj/item/ammo_magazine/m556sawm/empty category = "Arms and Ammunition" hidden = 1 @@ -250,7 +250,7 @@ /datum/category_item/autolathe/arms/rifle_762 name = "20rnd rifle magazine (7.62mm)" - path =/obj/item/ammo_magazine/c762/empty + path =/obj/item/ammo_magazine/m762/empty category = "Arms and Ammunition" hidden = 1 @@ -272,17 +272,17 @@ /datum/category_item/autolathe/arms/speedloader_357 name = "speedloader (.357)" - path =/obj/item/ammo_magazine/a357 + path =/obj/item/ammo_magazine/s357 hidden = 1 /datum/category_item/autolathe/arms/speedloader_38 name = "speedloader (.38)" - path =/obj/item/ammo_magazine/c38 + path =/obj/item/ammo_magazine/s38 hidden = 1 /datum/category_item/autolathe/arms/speedloader_38r name = "speedloader (.38 rubber)" - path =/obj/item/ammo_magazine/c38/rubber + path =/obj/item/ammo_magazine/s38/rubber // Commented out until metal exploits with autolathe is fixed. /*/datum/category_item/autolathe/arms/pistol_clip_45 diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index e2df9609adc..c9817e22742 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -27,7 +27,7 @@ name = "Flare guns crate" contains = list( /obj/item/weapon/gun/projectile/sec/flash, - /obj/item/ammo_magazine/c45m/flash, + /obj/item/ammo_magazine/m45/flash, /obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare, /obj/item/weapon/storage/box/flashshells ) @@ -156,7 +156,7 @@ contains = list( /obj/item/ammo_magazine/mc9mmt, /obj/item/ammo_magazine/mc9mmt/rubber, - /obj/item/ammo_magazine/a556 + /obj/item/ammo_magazine/m556saw ) cost = 25 containertype = /obj/structure/closet/crate/secure diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 4aefe349fdb..42388845981 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -8,7 +8,7 @@ /datum/uplink_item/item/ammo/a357 name = ".357 Speedloader" - path = /obj/item/ammo_magazine/a357 + path = /obj/item/ammo_magazine/s357 /datum/uplink_item/item/ammo/mc9mm name = "Pistol Magazine (9mm)" @@ -16,28 +16,28 @@ /datum/uplink_item/item/ammo/c45m name = "Pistol Magazine (.45)" - path = /obj/item/ammo_magazine/c45m + path = /obj/item/ammo_magazine/m45 /datum/uplink_item/item/ammo/c45map name = "Pistol Magazine (.45 AP)" - path = /obj/item/ammo_magazine/c45m/ap + path = /obj/item/ammo_magazine/m45/ap /datum/uplink_item/item/ammo/tommymag name = "Tommygun Magazine (.45)" - path = /obj/item/ammo_magazine/tommymag + path = /obj/item/ammo_magazine/m45tommy /datum/uplink_item/item/ammo/tommymagap name = "Tommygun Magazine (.45 AP)" - path = /obj/item/ammo_magazine/tommymag/ap + path = /obj/item/ammo_magazine/m45tommy/ap /datum/uplink_item/item/ammo/tommydrum name = "Tommygun Drum Magazine (.45)" - path = /obj/item/ammo_magazine/tommydrum + path = /obj/item/ammo_magazine/m45tommydrum item_cost = 40 /datum/uplink_item/item/ammo/tommydrumap name = "Tommygun Drum Magazine (.45 AP)" - path = /obj/item/ammo_magazine/tommydrum/ap + path = /obj/item/ammo_magazine/m45tommydrum/ap /datum/uplink_item/item/ammo/darts name = "Darts" @@ -50,39 +50,39 @@ /datum/uplink_item/item/ammo/c556 name = "Rifle Magazine (5.56mm)" - path = /obj/item/ammo_magazine/c556 + path = /obj/item/ammo_magazine/m556 /datum/uplink_item/item/ammo/c556/ext name = "Rifle Magazine (5.56mm Extended)" - path = /obj/item/ammo_magazine/c556/ext + path = /obj/item/ammo_magazine/m556/ext /datum/uplink_item/item/ammo/c556/ap name = "Rifle Magazine (5.56mm AP)" - path = /obj/item/ammo_magazine/c556/ap + path = /obj/item/ammo_magazine/m556/ap /datum/uplink_item/item/ammo/c556/ap/ext name = "Rifle Magazine (5.56mm AP Extended)" - path = /obj/item/ammo_magazine/c556/ap/ext + path = /obj/item/ammo_magazine/m556/ap/ext /datum/uplink_item/item/ammo/c762 name = "Rifle Magazine (7.62mm)" - path = /obj/item/ammo_magazine/c762 + path = /obj/item/ammo_magazine/m762 /datum/uplink_item/item/ammo/c762/ap name = "Rifle Magazine (7.62mm AP)" - path = /obj/item/ammo_magazine/c762/ap + path = /obj/item/ammo_magazine/m762/ap /datum/uplink_item/item/ammo/a10mm name = "SMG Magazine (10mm)" - path = /obj/item/ammo_magazine/a10mm + path = /obj/item/ammo_magazine/m10mm /datum/uplink_item/item/ammo/a556 name = "Machinegun Magazine (5.56mm)" - path = /obj/item/ammo_magazine/a556 + path = /obj/item/ammo_magazine/m556saw /datum/uplink_item/item/ammo/a556/ap name = "Machinegun Magazine (5.56mm AP)" - path = /obj/item/ammo_magazine/a556/ap + path = /obj/item/ammo_magazine/m556saw/ap /datum/uplink_item/item/ammo/g12 name = "12g Shotgun Ammo Box (Slug)" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 2953f0de870..50d6988e358 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -144,7 +144,7 @@ if(is_robot_module(O)) return 0 - if(istype(O,/obj/item/ammo_magazine/clip) || istype(O,/obj/item/ammo_magazine/a357) || istype(O,/obj/item/ammo_magazine/c38)) // Prevents ammo recycling exploit with speedloaders. + if(istype(O,/obj/item/ammo_magazine/clip) || istype(O,/obj/item/ammo_magazine/s357) || istype(O,/obj/item/ammo_magazine/s38)) // Prevents ammo recycling exploit with speedloaders. user << "\The [O] is too hazardous to recycle with the autolathe!" return /* ToDo: Make this actually check for ammo and change the value of the magazine if it's empty. -Spades @@ -262,7 +262,7 @@ stored_material[material] = max(0, stored_material[material] - round(making.resources[material] * mat_efficiency) * multiplier) update_icon() // So lid closes - + sleep(build_time) busy = 0 diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 573325e0795..d5ac595c1eb 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -27,7 +27,7 @@ if("guns") new /obj/item/weapon/gun/projectile/revolver(src) - new /obj/item/ammo_magazine/a357(src) + new /obj/item/ammo_magazine/s357(src) new /obj/item/weapon/card/emag(src) new /obj/item/weapon/plastique(src) new /obj/item/weapon/plastique(src) diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 75c0d5830ff..183065d3ba4 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -285,9 +285,9 @@ prob(2);/obj/item/weapon/storage/box/shotgunammo, prob(4);/obj/item/weapon/storage/box/shotgunshells, prob(1);/obj/item/weapon/storage/box/stunshells, - prob(2);/obj/item/ammo_magazine/c45m, - prob(4);/obj/item/ammo_magazine/c45m/rubber, - prob(4);/obj/item/ammo_magazine/c45m/flash, + prob(2);/obj/item/ammo_magazine/m45, + prob(4);/obj/item/ammo_magazine/m45/rubber, + prob(4);/obj/item/ammo_magazine/m45/flash, prob(2);/obj/item/ammo_magazine/mc9mmt, prob(6);/obj/item/ammo_magazine/mc9mmt/rubber) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index dc80d178276..a80ceb3580f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -217,7 +217,7 @@ new /obj/item/clothing/accessory/storage/black_vest(src) new /obj/item/clothing/head/soft/sec/corp(src) new /obj/item/clothing/under/rank/security/corp(src) - new /obj/item/ammo_magazine/c45m/rubber(src) + new /obj/item/ammo_magazine/m45/rubber(src) new /obj/item/weapon/gun/energy/taser(src) new /obj/item/weapon/cell/device/weapon(src) new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) @@ -277,8 +277,8 @@ new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/device/radio/headset/headset_sec/alt(src) new /obj/item/clothing/suit/storage/vest/detective(src) - new /obj/item/ammo_magazine/c45m/rubber(src) - new /obj/item/ammo_magazine/c45m/rubber(src) + new /obj/item/ammo_magazine/m45/rubber(src) + new /obj/item/ammo_magazine/m45/rubber(src) new /obj/item/taperoll/police(src) new /obj/item/weapon/gun/projectile/colt/detective(src) new /obj/item/clothing/accessory/holster/armpit(src) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 98f6138f68d..906e46dbe1e 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -42,11 +42,11 @@ /obj/structure/closet/syndicate/nuclear/New() ..() - new /obj/item/ammo_magazine/a10mm(src) - new /obj/item/ammo_magazine/a10mm(src) - new /obj/item/ammo_magazine/a10mm(src) - new /obj/item/ammo_magazine/a10mm(src) - new /obj/item/ammo_magazine/a10mm(src) + new /obj/item/ammo_magazine/m10mm(src) + new /obj/item/ammo_magazine/m10mm(src) + new /obj/item/ammo_magazine/m10mm(src) + new /obj/item/ammo_magazine/m10mm(src) + new /obj/item/ammo_magazine/m10mm(src) new /obj/item/weapon/storage/box/handcuffs(src) new /obj/item/weapon/storage/box/flashbangs(src) new /obj/item/weapon/gun/energy/gun(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 82206fdc301..bd6d1ea4d0d 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -480,7 +480,7 @@ M.equip_to_slot_or_del(new /obj/item/clothing/head/det(M), slot_head) M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/ammo_magazine/a357(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/ammo_magazine/s357(M), slot_l_store) if ("tournament chef") //Steven Seagal FTW M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(M), slot_w_uniform) @@ -592,7 +592,7 @@ sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000 sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba - sec_briefcase.contents += new /obj/item/ammo_magazine/a357 + sec_briefcase.contents += new /obj/item/ammo_magazine/s357 sec_briefcase.contents += new /obj/item/weapon/plastique M.equip_to_slot_or_del(sec_briefcase, slot_l_hand) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index a8987538ab1..c887ff5b9b2 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -332,7 +332,7 @@ proc/check_panel(mob/M) qdel(O) return -var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_magazine/a357,\ +var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_magazine/s357,\ /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\ /obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\ /obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\ diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 8a259b63426..3ee2393bbfb 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -1,6 +1,6 @@ ///////// .357 ///////// -/obj/item/ammo_magazine/a357 +/obj/item/ammo_magazine/s357 name = "speedloader (.357)" desc = "A speedloader for .357 revolvers." icon_state = "38" @@ -12,7 +12,7 @@ ///////// .38 ///////// -/obj/item/ammo_magazine/c38 +/obj/item/ammo_magazine/s38 name = "speedloader (.38)" desc = "A speedloader for .38 revolvers." icon_state = "38" @@ -22,17 +22,17 @@ max_ammo = 6 multiple_sprites = 1 -/obj/item/ammo_magazine/c38/rubber +/obj/item/ammo_magazine/s38/rubber name = "speedloader (.38 rubber)" ammo_type = /obj/item/ammo_casing/c38r -/obj/item/ammo_magazine/c38/emp +/obj/item/ammo_magazine/s38/emp name = "ammunition box (.38 haywire)" ammo_type = /obj/item/ammo_casing/c38/emp ///////// .45 ///////// -/obj/item/ammo_magazine/c45m +/obj/item/ammo_magazine/m45 name = "pistol magazine (.45)" icon_state = "45" mag_type = MAGAZINE @@ -42,30 +42,30 @@ max_ammo = 7 multiple_sprites = 1 -/obj/item/ammo_magazine/c45m/empty +/obj/item/ammo_magazine/m45/empty initial_ammo = 0 -/obj/item/ammo_magazine/c45m/rubber +/obj/item/ammo_magazine/m45/rubber name = "magazine (.45 rubber)" ammo_type = /obj/item/ammo_casing/c45r -/obj/item/ammo_magazine/c45m/practice +/obj/item/ammo_magazine/m45/practice name = "magazine (.45 practice)" ammo_type = /obj/item/ammo_casing/c45p -/obj/item/ammo_magazine/c45m/flash +/obj/item/ammo_magazine/m45/flash name = "magazine (.45 flash)" ammo_type = /obj/item/ammo_casing/c45f -/obj/item/ammo_magazine/c45m/ap +/obj/item/ammo_magazine/m45/ap name = "magazine (.45 AP)" ammo_type = /obj/item/ammo_casing/c45ap -/obj/item/ammo_magazine/box/emp/c45 +/obj/item/ammo_magazine/box/emp/b45 name = "ammunition box (.45 haywire)" ammo_type = /obj/item/ammo_casing/c45/emp -/obj/item/ammo_magazine/c45uzi +/obj/item/ammo_magazine/m45uzi name = "stick magazine (.45)" icon_state = "uzi45" mag_type = MAGAZINE @@ -75,10 +75,10 @@ max_ammo = 16 multiple_sprites = 1 -/obj/item/ammo_magazine/c45uzi/empty +/obj/item/ammo_magazine/m45uzi/empty initial_ammo = 0 -/obj/item/ammo_magazine/tommymag +/obj/item/ammo_magazine/m45tommy name = "tommygun magazine (.45)" icon_state = "tommy-mag" mag_type = MAGAZINE @@ -87,14 +87,14 @@ caliber = ".45" max_ammo = 20 -/obj/item/ammo_magazine/tommymag/ap +/obj/item/ammo_magazine/m45tommy/ap name = "tommygun magazine (.45 AP)" ammo_type = /obj/item/ammo_casing/c45ap -/obj/item/ammo_magazine/tommymag/empty +/obj/item/ammo_magazine/m45tommy/empty initial_ammo = 0 -/obj/item/ammo_magazine/tommydrum +/obj/item/ammo_magazine/m45tommydrum name = "tommygun drum magazine (.45)" icon_state = "tommy-drum" w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! @@ -104,11 +104,11 @@ caliber = ".45" max_ammo = 50 -/obj/item/ammo_magazine/tommydrum/ap +/obj/item/ammo_magazine/m45tommydrum/ap name = "tommygun drum magazine (.45 AP)" ammo_type = /obj/item/ammo_casing/c45ap -/obj/item/ammo_magazine/tommydrum/empty +/obj/item/ammo_magazine/m45tommydrum/empty initial_ammo = 0 /obj/item/ammo_magazine/clip/c45 @@ -256,7 +256,7 @@ */ ///////// 10mm ///////// -/obj/item/ammo_magazine/a10mm +/obj/item/ammo_magazine/m10mm name = "magazine (10mm)" icon_state = "10mm" origin_tech = list(TECH_COMBAT = 2) @@ -267,7 +267,7 @@ max_ammo = 20 multiple_sprites = 1 -/obj/item/ammo_magazine/a10mm/empty +/obj/item/ammo_magazine/m10mm/empty initial_ammo = 0 /obj/item/ammo_magazine/clip/a10mm @@ -280,13 +280,13 @@ max_ammo = 9 multiple_sprites = 1 -/obj/item/ammo_magazine/box/emp/a10mm +/obj/item/ammo_magazine/box/emp/b10 name = "ammunition box (10mm haywire)" ammo_type = /obj/item/ammo_casing/a10mm/emp ///////// 5.56mm ///////// -/obj/item/ammo_magazine/c556 +/obj/item/ammo_magazine/m556 name = "magazine (5.56mm)" icon_state = "c5.56" origin_tech = list(TECH_COMBAT = 2) @@ -297,30 +297,30 @@ max_ammo = 20 multiple_sprites = 1 -/obj/item/ammo_magazine/c556/ext +/obj/item/ammo_magazine/m556/ext name = "extended magazine (5.56mm)" matter = list(DEFAULT_WALL_MATERIAL = 2700) max_ammo = 30 -/obj/item/ammo_magazine/c556/empty +/obj/item/ammo_magazine/m556/empty initial_ammo = 0 -/obj/item/ammo_magazine/c556/ext/empty +/obj/item/ammo_magazine/m556/ext/empty initial_ammo = 0 -/obj/item/ammo_magazine/c556/practice +/obj/item/ammo_magazine/m556/practice name = "magazine (5.56mm practice)" ammo_type = /obj/item/ammo_casing/a556p -/obj/item/ammo_magazine/c556/practice/ext +/obj/item/ammo_magazine/m556/practice/ext name = "extended magazine (5.56mm practice)" max_ammo = 30 -/obj/item/ammo_magazine/c556/ap +/obj/item/ammo_magazine/m556/ap name = "magazine (5.56mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a556/ap -/obj/item/ammo_magazine/c556/ap/ext +/obj/item/ammo_magazine/m556/ap/ext name = "extended magazine (5.56mm armor-piercing)" max_ammo = 30 @@ -341,7 +341,7 @@ name = "rifle clip (5.56mm practice)" ammo_type = /obj/item/ammo_casing/a556 -/obj/item/ammo_magazine/a556 +/obj/item/ammo_magazine/m556saw name = "magazine box (5.56mm)" icon_state = "a556" origin_tech = list(TECH_COMBAT = 2) @@ -353,16 +353,16 @@ max_ammo = 50 multiple_sprites = 1 -/obj/item/ammo_magazine/a556/ap +/obj/item/ammo_magazine/m556saw/ap name = "magazine box (5.56mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a556/ap -/obj/item/ammo_magazine/a556/empty +/obj/item/ammo_magazine/m556saw/empty initial_ammo = 0 ///////// .50 AE ///////// -/obj/item/ammo_magazine/a50 +/obj/item/ammo_magazine/m50 name = "magazine (.50 AE)" icon_state = "50ae" origin_tech = list(TECH_COMBAT = 2) @@ -373,7 +373,7 @@ max_ammo = 7 multiple_sprites = 1 -/obj/item/ammo_magazine/a50/empty +/obj/item/ammo_magazine/m50/empty initial_ammo = 0 /obj/item/ammo_magazine/clip/a50 @@ -388,7 +388,7 @@ ///////// 7.62mm ///////// -/obj/item/ammo_magazine/c762 +/obj/item/ammo_magazine/m762 name = "magazine (7.62mm)" icon_state = "c7.62" mag_type = MAGAZINE @@ -398,11 +398,11 @@ max_ammo = 10 multiple_sprites = 1 -/obj/item/ammo_magazine/c762/ap +/obj/item/ammo_magazine/m762/ap name = "magazine (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap -/obj/item/ammo_magazine/c762/empty +/obj/item/ammo_magazine/m762/empty initial_ammo = 0 /obj/item/ammo_magazine/s762 // 's' for small! @@ -468,7 +468,7 @@ ///////// .75 Gyrojet ///////// -/obj/item/ammo_magazine/a75 +/obj/item/ammo_magazine/m75 name = "ammo magazine (.75 Gyrojet)" icon_state = "75" mag_type = MAGAZINE @@ -477,7 +477,7 @@ multiple_sprites = 1 max_ammo = 4 -/obj/item/ammo_magazine/a75/empty +/obj/item/ammo_magazine/m75/empty initial_ammo = 0 ///////// Misc. ///////// diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index bf30c19991a..7699b8483c9 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -33,8 +33,8 @@ slot_flags = SLOT_BELT|SLOT_BACK fire_sound = 'sound/weapons/Gunshot_light.ogg' load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/a10mm - allowed_magazines = list(/obj/item/ammo_magazine/a10mm) + magazine_type = /obj/item/ammo_magazine/m10mm + allowed_magazines = list(/obj/item/ammo_magazine/m10mm) auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' @@ -60,8 +60,8 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/c556 - allowed_magazines = list(/obj/item/ammo_magazine/c556) + magazine_type = /obj/item/ammo_magazine/m556 + allowed_magazines = list(/obj/item/ammo_magazine/m556) one_handed_penalty = 4 @@ -115,8 +115,8 @@ fire_sound = 'sound/weapons/Gunshot.ogg' slot_flags = SLOT_BACK load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/c762 - allowed_magazines = list(/obj/item/ammo_magazine/c762) + magazine_type = /obj/item/ammo_magazine/m762 + allowed_magazines = list(/obj/item/ammo_magazine/m762) auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' @@ -187,8 +187,8 @@ ammo_type = "/obj/item/ammo_casing/a556" // Is this really needed anymore? fire_sound = 'sound/weapons/machinegun.ogg' load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/a556 - allowed_magazines = list(/obj/item/ammo_magazine/a556, /obj/item/ammo_magazine/c556) + magazine_type = /obj/item/ammo_magazine/m556saw + allowed_magazines = list(/obj/item/ammo_magazine/m556saw, /obj/item/ammo_magazine/m556) one_handed_penalty = 6 @@ -225,7 +225,7 @@ return ..() //once open, behave like normal /obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon() - if(istype(ammo_magazine,/obj/item/ammo_magazine/c762)) + if(istype(ammo_magazine,/obj/item/ammo_magazine/m762)) icon_state = "l6[cover_open ? "open" : "closed"]mag" item_state = icon_state else @@ -284,8 +284,8 @@ load_method = MAGAZINE caliber = ".45" origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - magazine_type = /obj/item/ammo_magazine/c45uzi - allowed_magazines = list(/obj/item/ammo_magazine/c45uzi) + magazine_type = /obj/item/ammo_magazine/m45uzi + allowed_magazines = list(/obj/item/ammo_magazine/m45uzi) firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), @@ -330,8 +330,8 @@ origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 5) slot_flags = SLOT_BELT // ToDo: Belt sprite. load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/tommymag - allowed_magazines = list(/obj/item/ammo_magazine/tommymag, /obj/item/ammo_magazine/tommydrum) + magazine_type = /obj/item/ammo_magazine/m45tommy + allowed_magazines = list(/obj/item/ammo_magazine/m45tommy, /obj/item/ammo_magazine/m45tommydrum) firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), @@ -354,8 +354,8 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/c762 - allowed_magazines = list(/obj/item/ammo_magazine/c762) + magazine_type = /obj/item/ammo_magazine/m762 + allowed_magazines = list(/obj/item/ammo_magazine/m762) one_handed_penalty = 4 diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index fd46803c68a..d4f9d265f08 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -2,8 +2,8 @@ var/unique_reskin name = ".45 pistol" desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 rounds." - magazine_type = /obj/item/ammo_magazine/c45m - allowed_magazines = list(/obj/item/ammo_magazine/c45m) + magazine_type = /obj/item/ammo_magazine/m45 + allowed_magazines = list(/obj/item/ammo_magazine/m45) icon_state = "colt" caliber = ".45" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) @@ -12,7 +12,7 @@ /obj/item/weapon/gun/projectile/colt/detective desc = "A Martian recreation of an old Terran pistol. Uses .45 rounds." - magazine_type = /obj/item/ammo_magazine/c45m/rubber + magazine_type = /obj/item/ammo_magazine/m45/rubber /obj/item/weapon/gun/projectile/colt/detective/update_icon() if(ammo_magazine) @@ -71,7 +71,7 @@ name = ".45 pistol" desc = "The NT Mk58 is a cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Found pretty much everywhere humans are. Uses .45 rounds." icon_state = "secguncomp" - magazine_type = /obj/item/ammo_magazine/c45m/rubber + magazine_type = /obj/item/ammo_magazine/m45/rubber caliber = ".45" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) fire_sound = 'sound/weapons/semiauto.ogg' @@ -86,7 +86,7 @@ /obj/item/weapon/gun/projectile/sec/flash name = ".45 signal pistol" - magazine_type = /obj/item/ammo_magazine/c45m/flash + magazine_type = /obj/item/ammo_magazine/m45/flash /obj/item/weapon/gun/projectile/sec/wood desc = "The NT Mk58 is a cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. This one has a sweet wooden grip. Uses .45 rounds." @@ -111,8 +111,8 @@ recoil = 0 origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/c45m - allowed_magazines = list(/obj/item/ammo_magazine/c45m) + magazine_type = /obj/item/ammo_magazine/m45 + allowed_magazines = list(/obj/item/ammo_magazine/m45) /obj/item/weapon/gun/projectile/deagle name = "desert eagle" @@ -123,8 +123,8 @@ caliber = ".50" load_method = MAGAZINE fire_sound = 'sound/weapons/deagle.ogg' - magazine_type = /obj/item/ammo_magazine/a50 - allowed_magazines = list(/obj/item/ammo_magazine/a50) + magazine_type = /obj/item/ammo_magazine/m50 + allowed_magazines = list(/obj/item/ammo_magazine/m50) /obj/item/weapon/gun/projectile/deagle/update_icon() ..() @@ -173,8 +173,8 @@ origin_tech = list(TECH_COMBAT = 3) ammo_type = "/obj/item/ammo_casing/a75" load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/a75 - allowed_magazines = list(/obj/item/ammo_magazine/a75) + magazine_type = /obj/item/ammo_magazine/m75 + allowed_magazines = list(/obj/item/ammo_magazine/m75) auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index be280c2f643..8afda4b63b4 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -88,11 +88,11 @@ one_handed_penalty = 4 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. fire_sound = 'sound/weapons/SVD_shot.ogg' magazine_type = /obj/item/ammo_magazine/SVD - allowed_magazines = list(/obj/item/ammo_magazine/SVD, /obj/item/ammo_magazine/c762) + allowed_magazines = list(/obj/item/ammo_magazine/SVD, /obj/item/ammo_magazine/m762) /obj/item/weapon/gun/projectile/SVD/update_icon() ..() -// if(istype(ammo_magazine,/obj/item/ammo_magazine/c762) +// if(istype(ammo_magazine,/obj/item/ammo_magazine/m762) // icon_state = "SVD-bigmag" //No icon for this exists yet. if(ammo_magazine) icon_state = "SVD" diff --git a/code/modules/random_map/drop/drop_types.dm b/code/modules/random_map/drop/drop_types.dm index 43f89b4ec7f..0f331ccbfd7 100644 --- a/code/modules/random_map/drop/drop_types.dm +++ b/code/modules/random_map/drop/drop_types.dm @@ -62,10 +62,10 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/weapon/storage/box/emps, /obj/item/weapon/storage/box/flashbangs, /obj/item/weapon/gun/projectile/automatic/sts35, - /obj/item/ammo_magazine/c762/ap, - /obj/item/ammo_magazine/c762/ap, + /obj/item/ammo_magazine/m762/ap, + /obj/item/ammo_magazine/m762/ap, /obj/item/weapon/gun/projectile/colt, - /obj/item/ammo_magazine/c45m, + /obj/item/ammo_magazine/m45, /obj/item/weapon/material/hatchet/tacknife/combatknife) /datum/supply_drop_loot/heavy_warfare @@ -83,8 +83,8 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/clothing/accessory/storage/black_drop_pouches, /obj/item/weapon/storage/backpack/dufflebag/sec, /obj/item/weapon/gun/projectile/automatic/carbine, - /obj/item/ammo_magazine/c762/ap, - /obj/item/ammo_magazine/c762, + /obj/item/ammo_magazine/m762/ap, + /obj/item/ammo_magazine/m762, /obj/item/weapon/shield/energy, /obj/item/weapon/grenade/frag, /obj/item/weapon/grenade/frag, From 3ff9d441f9c2db9c0c8357a4824ffb6b485541ce Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 04:39:49 -0400 Subject: [PATCH 2/8] Finishes fixing ammo inconsistencies --- code/datums/autolathe/arms.dm | 60 +++---- code/datums/supplypacks/contraband.dm | 2 +- code/datums/supplypacks/munitions.dm | 6 +- code/datums/uplink/ammunition.dm | 2 +- .../objects/items/weapons/storage/belt.dm | 2 +- .../objects/items/weapons/storage/boxes.dm | 32 ++-- code/game/objects/random/random.dm | 4 +- code/modules/projectiles/ammunition/boxes.dm | 166 +++++++++--------- .../modules/projectiles/ammunition/bullets.dm | 48 ++--- .../projectiles/guns/projectile/automatic.dm | 16 +- .../projectiles/guns/projectile/pistol.dm | 30 ++-- .../projectiles/guns/projectile/revolver.dm | 12 +- .../projectiles/guns/projectile/shotgun.dm | 12 +- code/modules/research/designs.dm | 4 +- icons/obj/ammo.dmi | Bin 25469 -> 25318 bytes maps/northern_star/polaris-1.dmm | 6 +- maps/northern_star/polaris-2.dmm | 14 +- 17 files changed, 210 insertions(+), 206 deletions(-) diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index 276819d3adb..b40bf27e471 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -8,29 +8,29 @@ /datum/category_item/autolathe/arms/shotgun_blanks name = "ammunition (12g, blank)" - path =/obj/item/ammo_casing/shotgun/blank + path =/obj/item/ammo_casing/a12g/blank /datum/category_item/autolathe/arms/shotgun_beanbag name = "ammunition (12g, beanbag)" - path =/obj/item/ammo_casing/shotgun/beanbag + path =/obj/item/ammo_casing/a12g/beanbag /datum/category_item/autolathe/arms/shotgun_flash name = "ammunition (12g, flash)" - path =/obj/item/ammo_casing/shotgun/flash + path =/obj/item/ammo_casing/a12g/flash /datum/category_item/autolathe/arms/shotgun name = "ammunition (12g, slug)" - path =/obj/item/ammo_casing/shotgun + path =/obj/item/ammo_casing/a12g hidden = 1 /datum/category_item/autolathe/arms/shotgun_pellet name = "ammunition (12g, pellet)" - path =/obj/item/ammo_casing/shotgun/pellet + path =/obj/item/ammo_casing/a12g/pellet hidden = 1 /datum/category_item/autolathe/arms/stunshell name = "ammunition (stun cartridge, shotgun)" - path =/obj/item/ammo_casing/shotgun/stunshell + path =/obj/item/ammo_casing/a12g/stunshell hidden = 1 ////////////////// @@ -81,50 +81,50 @@ /////// 9mm -/obj/item/ammo_magazine/mc9mm/flash - ammo_type =/obj/item/ammo_casing/c9mmf +/obj/item/ammo_magazine/m9mm/flash + ammo_type =/obj/item/ammo_casing/a9mmf -/obj/item/ammo_magazine/mc9mm/rubber +/obj/item/ammo_magazine/m9mm/rubber name = "magazine (9mm rubber)" - ammo_type =/obj/item/ammo_casing/c9mmr + ammo_type =/obj/item/ammo_casing/a9mmr -/obj/item/ammo_magazine/mc9mm/practice +/obj/item/ammo_magazine/m9mm/practice name = "magazine (9mm practice)" - ammo_type =/obj/item/ammo_casing/c9mmp + ammo_type =/obj/item/ammo_casing/a9mmp /datum/category_item/autolathe/arms/pistol_9mm name = "pistol magazine (9mm)" - path =/obj/item/ammo_magazine/mc9mm + path =/obj/item/ammo_magazine/m9mm hidden = 1 /datum/category_item/autolathe/arms/pistol_9mmr name = "pistol magazine (9mm rubber)" - path =/obj/item/ammo_magazine/mc9mm/rubber + path =/obj/item/ammo_magazine/m9mm/rubber /datum/category_item/autolathe/arms/pistol_9mmp name = "pistol magazine (9mm practice)" - path =/obj/item/ammo_magazine/mc9mm/practice + path =/obj/item/ammo_magazine/m9mm/practice /datum/category_item/autolathe/arms/pistol_9mmf name = "pistol magazine (9mm flash)" - path =/obj/item/ammo_magazine/mc9mm/flash + path =/obj/item/ammo_magazine/m9mm/flash /datum/category_item/autolathe/arms/smg_9mm name = "top-mounted SMG magazine (9mm)" - path =/obj/item/ammo_magazine/mc9mmt + path =/obj/item/ammo_magazine/m9mmt hidden = 1 /datum/category_item/autolathe/arms/smg_9mmr name = "top-mounted SMG magazine (9mm rubber)" - path =/obj/item/ammo_magazine/mc9mmt/rubber + path =/obj/item/ammo_magazine/m9mmt/rubber /datum/category_item/autolathe/arms/smg_9mmp name = "top-mounted SMG magazine (9mm practice)" - path =/obj/item/ammo_magazine/mc9mmt/practice + path =/obj/item/ammo_magazine/m9mmt/practice /datum/category_item/autolathe/arms/smg_9mmf name = "top-mounted SMG magazine (9mm flash)" - path =/obj/item/ammo_magazine/mc9mmt/flash + path =/obj/item/ammo_magazine/m9mmt/flash /////// 10mm /datum/category_item/autolathe/arms/smg_10mm @@ -161,7 +161,7 @@ /datum/category_item/autolathe/arms/shotgun_magazine name = "24rnd shotgun magazine (12g)" - path =/obj/item/ammo_magazine/g12 + path =/obj/item/ammo_magazine/m12gdrum hidden = 1 /* @@ -211,12 +211,12 @@ /datum/category_item/autolathe/arms/pistol_9mm name = "pistol magazine (9mm)" - path =/obj/item/ammo_magazine/mc9mm/empty + path =/obj/item/ammo_magazine/m9mm/empty category = "Arms and Ammunition" /datum/category_item/autolathe/arms/smg_9mm name = "top-mounted SMG magazine (9mm)" - path =/obj/item/ammo_magazine/mc9mmt/empty + path =/obj/item/ammo_magazine/m9mmt/empty category = "Arms and Ammunition" /datum/category_item/autolathe/arms/smg_10mm @@ -262,7 +262,7 @@ /datum/category_item/autolathe/arms/shotgun_magazine name = "24rnd shotgun magazine (12g)" - path =/obj/item/ammo_magazine/g12/empty + path =/obj/item/ammo_magazine/m12gdrum/empty category = "Arms and Ammunition" hidden = 1*/ @@ -335,35 +335,35 @@ /datum/category_item/autolathe/arms/pistol_clip_10mm name = "ammo clip (10mm)" - path =/obj/item/ammo_magazine/clip/a10mm + path =/obj/item/ammo_magazine/clip/c10mm category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/pistol_clip_50 name = "ammo clip (.50AE)" - path =/obj/item/ammo_magazine/clip/a50 + path =/obj/item/ammo_magazine/clip/c50 category = "Arms and Ammunition" hidden = 1 */ /datum/category_item/autolathe/arms/rifle_clip_556 name = "ammo clip (5.56mm)" - path =/obj/item/ammo_magazine/clip/a556 + path =/obj/item/ammo_magazine/clip/c556 category = "Arms and Ammunition" hidden = 1 /datum/category_item/autolathe/arms/rifle_clip_556_practice name = "ammo clip (5.56mm practice)" - path =/obj/item/ammo_magazine/clip/a556/practice + path =/obj/item/ammo_magazine/clip/c556/practice category = "Arms and Ammunition" /datum/category_item/autolathe/arms/rifle_clip_762 name = "ammo clip (7.62mm)" - path =/obj/item/ammo_magazine/clip/a762 + path =/obj/item/ammo_magazine/clip/c762 hidden = 1 /datum/category_item/autolathe/arms/rifle_clip_762_practice name = "ammo clip (7.62mm practice)" - path =/obj/item/ammo_magazine/clip/a762/practice + path =/obj/item/ammo_magazine/clip/c762/practice /datum/category_item/autolathe/arms/knuckledusters name = "knuckle dusters" diff --git a/code/datums/supplypacks/contraband.dm b/code/datums/supplypacks/contraband.dm index 0c7fd3f4eda..c200e2edda7 100644 --- a/code/datums/supplypacks/contraband.dm +++ b/code/datums/supplypacks/contraband.dm @@ -47,7 +47,7 @@ name = "Surplus militia rifles" contains = list( /obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin = 3, - /obj/item/ammo_magazine/clip/a762 = 6 + /obj/item/ammo_magazine/clip/c762 = 6 ) cost = 50 contraband = 1 diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index c9817e22742..d0635ffce63 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -129,7 +129,7 @@ contains = list( /obj/item/device/assembly/timer, /obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice = 2, - /obj/item/ammo_magazine/clip/a762/practice = 4, + /obj/item/ammo_magazine/clip/c762/practice = 4, /obj/item/target = 2, /obj/item/target/alien = 2, /obj/item/target/syndicate = 2 @@ -154,8 +154,8 @@ name = "Automatic weapon ammunition crate" num_contained = 6 contains = list( - /obj/item/ammo_magazine/mc9mmt, - /obj/item/ammo_magazine/mc9mmt/rubber, + /obj/item/ammo_magazine/m9mmt, + /obj/item/ammo_magazine/m9mmt/rubber, /obj/item/ammo_magazine/m556saw ) cost = 25 diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 42388845981..03f1296ad9a 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -12,7 +12,7 @@ /datum/uplink_item/item/ammo/mc9mm name = "Pistol Magazine (9mm)" - path = /obj/item/ammo_magazine/mc9mm + path = /obj/item/ammo_magazine/m9mm /datum/uplink_item/item/ammo/c45m name = "Pistol Magazine (.45)" diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 06fd49d0e38..dfa4f61ba13 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -124,7 +124,7 @@ /obj/item/weapon/handcuffs, /obj/item/device/flash, /obj/item/clothing/glasses, - /obj/item/ammo_casing/shotgun, + /obj/item/ammo_casing/a12g, /obj/item/ammo_magazine, /obj/item/weapon/cell/device, /obj/item/weapon/reagent_containers/food/snacks/donut/, diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 8eab766dba4..c33e26d809c 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -136,12 +136,12 @@ /obj/item/weapon/storage/box/blanks/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/a12g/blank(src) /obj/item/weapon/storage/box/blanks/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/a12g/blank(src) /obj/item/weapon/storage/box/beanbags name = "box of beanbag shells" @@ -152,12 +152,12 @@ /obj/item/weapon/storage/box/beanbags/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/a12g/beanbag(src) /obj/item/weapon/storage/box/beanbags/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/a12g/beanbag(src) /obj/item/weapon/storage/box/shotgunammo name = "box of shotgun slugs" @@ -168,12 +168,12 @@ /obj/item/weapon/storage/box/shotgunammo/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun(src) + new /obj/item/ammo_casing/a12g(src) /obj/item/weapon/storage/box/shotgunammo/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun(src) + new /obj/item/ammo_casing/a12g(src) /obj/item/weapon/storage/box/shotgunshells name = "box of shotgun shells" @@ -184,12 +184,12 @@ /obj/item/weapon/storage/box/shotgunshells/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/a12g/pellet(src) /obj/item/weapon/storage/box/shotgunshells/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/pellet(src) + new /obj/item/ammo_casing/a12g/pellet(src) /obj/item/weapon/storage/box/flashshells name = "box of illumination shells" @@ -200,12 +200,12 @@ /obj/item/weapon/storage/box/flashshells/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/a12g/flash(src) /obj/item/weapon/storage/box/flashshells/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/flash(src) + new /obj/item/ammo_casing/a12g/flash(src) /obj/item/weapon/storage/box/stunshells name = "box of stun shells" @@ -216,12 +216,12 @@ /obj/item/weapon/storage/box/stunshells/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/a12g/stunshell(src) /obj/item/weapon/storage/box/stunshells/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/stunshell(src) + new /obj/item/ammo_casing/a12g/stunshell(src) /obj/item/weapon/storage/box/practiceshells name = "box of practice shells" @@ -232,12 +232,12 @@ /obj/item/weapon/storage/box/practiceshells/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/practice(src) + new /obj/item/ammo_casing/a12g/practice(src) /obj/item/weapon/storage/box/practiceshells/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/practice(src) + new /obj/item/ammo_casing/a12g/practice(src) /obj/item/weapon/storage/box/empshells name = "box of emp shells" @@ -248,12 +248,12 @@ /obj/item/weapon/storage/box/empshells/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/emp(src) + new /obj/item/ammo_casing/a12g/emp(src) /obj/item/weapon/storage/box/empshells/large/New() ..() for(var/i = 1 to 8) - new /obj/item/ammo_casing/shotgun/emp(src) + new /obj/item/ammo_casing/a12g/emp(src) /obj/item/weapon/storage/box/sniperammo name = "box of 14.5mm shells" diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 183065d3ba4..5dba97befb4 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -288,8 +288,8 @@ prob(2);/obj/item/ammo_magazine/m45, prob(4);/obj/item/ammo_magazine/m45/rubber, prob(4);/obj/item/ammo_magazine/m45/flash, - prob(2);/obj/item/ammo_magazine/mc9mmt, - prob(6);/obj/item/ammo_magazine/mc9mmt/rubber) + prob(2);/obj/item/ammo_magazine/m9mmt, + prob(6);/obj/item/ammo_magazine/m9mmt/rubber) /obj/random/action_figure diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 3ee2393bbfb..d4b450341cc 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -18,17 +18,17 @@ icon_state = "38" caliber = "38" matter = list(DEFAULT_WALL_MATERIAL = 360) - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = /obj/item/ammo_casing/a38 max_ammo = 6 multiple_sprites = 1 /obj/item/ammo_magazine/s38/rubber name = "speedloader (.38 rubber)" - ammo_type = /obj/item/ammo_casing/c38r + ammo_type = /obj/item/ammo_casing/a38r /obj/item/ammo_magazine/s38/emp name = "ammunition box (.38 haywire)" - ammo_type = /obj/item/ammo_casing/c38/emp + ammo_type = /obj/item/ammo_casing/a38/emp ///////// .45 ///////// @@ -36,7 +36,7 @@ name = "pistol magazine (.45)" icon_state = "45" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a45 matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" max_ammo = 7 @@ -47,29 +47,29 @@ /obj/item/ammo_magazine/m45/rubber name = "magazine (.45 rubber)" - ammo_type = /obj/item/ammo_casing/c45r + ammo_type = /obj/item/ammo_casing/a45r /obj/item/ammo_magazine/m45/practice name = "magazine (.45 practice)" - ammo_type = /obj/item/ammo_casing/c45p + ammo_type = /obj/item/ammo_casing/a45p /obj/item/ammo_magazine/m45/flash name = "magazine (.45 flash)" - ammo_type = /obj/item/ammo_casing/c45f + ammo_type = /obj/item/ammo_casing/a45f /obj/item/ammo_magazine/m45/ap name = "magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/c45ap + ammo_type = /obj/item/ammo_casing/a45ap /obj/item/ammo_magazine/box/emp/b45 name = "ammunition box (.45 haywire)" - ammo_type = /obj/item/ammo_casing/c45/emp + ammo_type = /obj/item/ammo_casing/a45/emp /obj/item/ammo_magazine/m45uzi name = "stick magazine (.45)" icon_state = "uzi45" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a45 matter = list(DEFAULT_WALL_MATERIAL = 1200) caliber = ".45" max_ammo = 16 @@ -82,14 +82,14 @@ name = "tommygun magazine (.45)" icon_state = "tommy-mag" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a45 matter = list(DEFAULT_WALL_MATERIAL = 1500) caliber = ".45" max_ammo = 20 /obj/item/ammo_magazine/m45tommy/ap name = "tommygun magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/c45ap + ammo_type = /obj/item/ammo_casing/a45ap /obj/item/ammo_magazine/m45tommy/empty initial_ammo = 0 @@ -99,14 +99,14 @@ icon_state = "tommy-drum" w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a45 matter = list(DEFAULT_WALL_MATERIAL = 3750) caliber = ".45" max_ammo = 50 /obj/item/ammo_magazine/m45tommydrum/ap name = "tommygun drum magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/c45ap + ammo_type = /obj/item/ammo_casing/a45ap /obj/item/ammo_magazine/m45tommydrum/empty initial_ammo = 0 @@ -116,86 +116,86 @@ icon_state = "clip_pistol" desc = "A stripper clip for reloading .45 rounds into magazines." caliber = ".45" - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a45 matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal max_ammo = 9 multiple_sprites = 1 /obj/item/ammo_magazine/clip/c45/rubber name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/c45r + ammo_type = /obj/item/ammo_casing/a45r /obj/item/ammo_magazine/clip/c45/practice name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/c45p + ammo_type = /obj/item/ammo_casing/a45p /obj/item/ammo_magazine/clip/c45/flash name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/c45f + ammo_type = /obj/item/ammo_casing/a45f ///////// 9mm ///////// -/obj/item/ammo_magazine/mc9mm +/obj/item/ammo_magazine/m9mm name = "magazine (9mm)" icon_state = "9x19p" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE matter = list(DEFAULT_WALL_MATERIAL = 480) caliber = "9mm" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = /obj/item/ammo_casing/a9mm max_ammo = 8 multiple_sprites = 1 -/obj/item/ammo_magazine/mc9mm/empty +/obj/item/ammo_magazine/m9mm/empty initial_ammo = 0 -/obj/item/ammo_magazine/mc9mm/flash - ammo_type = /obj/item/ammo_casing/c9mmf +/obj/item/ammo_magazine/m9mm/flash + ammo_type = /obj/item/ammo_casing/a9mmf -/obj/item/ammo_magazine/mc9mm/rubber +/obj/item/ammo_magazine/m9mm/rubber name = "magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/c9mmr + ammo_type = /obj/item/ammo_casing/a9mmr -/obj/item/ammo_magazine/mc9mm/practice +/obj/item/ammo_magazine/m9mm/practice name = "magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/c9mmp + ammo_type = /obj/item/ammo_casing/a9mmp -/obj/item/ammo_magazine/mc9mmt +/obj/item/ammo_magazine/m9mmt name = "top mounted magazine (9mm)" icon_state = "9mmt" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = /obj/item/ammo_casing/a9mm matter = list(DEFAULT_WALL_MATERIAL = 1200) caliber = "9mm" max_ammo = 20 multiple_sprites = 1 -/obj/item/ammo_magazine/mc9mmt/empty +/obj/item/ammo_magazine/m9mmt/empty initial_ammo = 0 -/obj/item/ammo_magazine/mc9mmt/rubber +/obj/item/ammo_magazine/m9mmt/rubber name = "top mounted magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/c9mmr + ammo_type = /obj/item/ammo_casing/a9mmr -/obj/item/ammo_magazine/mc9mmt/flash +/obj/item/ammo_magazine/m9mmt/flash name = "top mounted magazine (9mm flash)" - ammo_type = /obj/item/ammo_casing/c9mmf + ammo_type = /obj/item/ammo_casing/a9mmf -/obj/item/ammo_magazine/mc9mmt/practice +/obj/item/ammo_magazine/m9mmt/practice name = "top mounted magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/c9mmp + ammo_type = /obj/item/ammo_casing/a9mmp -/obj/item/ammo_magazine/p90 +/obj/item/ammo_magazine/m9mmp90 name = "high capacity top mounted magazine (9mm armor-piercing)" icon_state = "p90" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c9mm/ap + ammo_type = /obj/item/ammo_casing/a9mm/ap matter = list(DEFAULT_WALL_MATERIAL = 3000) caliber = "9mm" max_ammo = 50 multiple_sprites = 1 -/obj/item/ammo_magazine/p90/empty +/obj/item/ammo_magazine/m9mmp90/empty initial_ammo = 0 /obj/item/ammo_magazine/clip/c9mm @@ -203,33 +203,33 @@ icon_state = "clip_pistol" desc = "A stripper clip for reloading 9mm rounds into magazines." caliber = "9mm" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = /obj/item/ammo_casing/a9mm matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal max_ammo = 9 multiple_sprites = 1 /obj/item/ammo_magazine/clip/c9mm/rubber name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/c9mmr + ammo_type = /obj/item/ammo_casing/a9mmr /obj/item/ammo_magazine/clip/c9mm/practice name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/c9mmp + ammo_type = /obj/item/ammo_casing/a9mmp /obj/item/ammo_magazine/clip/c9mm/flash name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/c9mmf + ammo_type = /obj/item/ammo_casing/a9mmf -/obj/item/ammo_magazine/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? +/obj/item/ammo_magazine/box/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? name = "ammunition Box (9mm)" icon_state = "9mm" origin_tech = list(TECH_COMBAT = 2) matter = list(DEFAULT_WALL_MATERIAL = 1800) caliber = "9mm" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = /obj/item/ammo_casing/a9mm max_ammo = 30 -/obj/item/ammo_magazine/c9mm/empty +/obj/item/ammo_magazine/box/c9mm/empty initial_ammo = 0 ///////// 5mm ///////// @@ -270,7 +270,7 @@ /obj/item/ammo_magazine/m10mm/empty initial_ammo = 0 -/obj/item/ammo_magazine/clip/a10mm +/obj/item/ammo_magazine/clip/c10mm name = "ammo clip (10mm)" icon_state = "clip_pistol" desc = "A stripper clip for reloading 5mm rounds into magazines." @@ -288,7 +288,7 @@ /obj/item/ammo_magazine/m556 name = "magazine (5.56mm)" - icon_state = "c5.56" + icon_state = "c5.56mid" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = "a556" @@ -324,7 +324,28 @@ name = "extended magazine (5.56mm armor-piercing)" max_ammo = 30 -/obj/item/ammo_magazine/clip/a556 +/obj/item/ammo_magazine/m556/small + name = "magazine (5.56)" + icon_state = "c5.56" // This icon is named wrongly. Change later. + mag_type = MAGAZINE + caliber = "a762" + matter = list(DEFAULT_WALL_MATERIAL = 900) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 10 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m556/small/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/small/practice + name = "magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556p + +/obj/item/ammo_magazine/m556/small/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/clip/c556 name = "ammo clip (5.56mm)" icon_state = "clip_rifle" caliber = "a556" @@ -333,11 +354,11 @@ max_ammo = 5 multiple_sprites = 1 -/obj/item/ammo_magazine/clip/a556/ap +/obj/item/ammo_magazine/clip/c556/ap name = "rifle clip (5.56mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a556/ap -/obj/item/ammo_magazine/clip/a556/practice +/obj/item/ammo_magazine/clip/c556/practice name = "rifle clip (5.56mm practice)" ammo_type = /obj/item/ammo_casing/a556 @@ -376,7 +397,7 @@ /obj/item/ammo_magazine/m50/empty initial_ammo = 0 -/obj/item/ammo_magazine/clip/a50 +/obj/item/ammo_magazine/clip/c50 name = "ammo clip (.50 AE)" icon_state = "clip_pistol" desc = "A stripper clip for reloading .50 Action Express rounds into magazines." @@ -405,24 +426,7 @@ /obj/item/ammo_magazine/m762/empty initial_ammo = 0 -/obj/item/ammo_magazine/s762 // 's' for small! - name = "magazine (7.62mm)" - icon_state = "SVD" - mag_type = MAGAZINE - caliber = "a762" - matter = list(DEFAULT_WALL_MATERIAL = 1000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 10 - multiple_sprites = 1 - -/obj/item/ammo_magazine/s762/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/s762/ap - name = "magazine (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/clip/a762 +/obj/item/ammo_magazine/clip/c762 name = "ammo clip (7.62mm)" icon_state = "clip_rifle" caliber = "a762" @@ -431,39 +435,39 @@ max_ammo = 5 multiple_sprites = 1 -/obj/item/ammo_magazine/clip/a762/ap +/obj/item/ammo_magazine/clip/c762/ap name = "rifle clip (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap -/obj/item/ammo_magazine/clip/a762/practice +/obj/item/ammo_magazine/clip/c762/practice name = "rifle clip (7.62mm practice)" ammo_type = /obj/item/ammo_casing/a762p ///////// 12g ///////// -/obj/item/ammo_magazine/g12 +/obj/item/ammo_magazine/m12gdrum name = "magazine (12 gauge)" icon_state = "12g" mag_type = MAGAZINE caliber = "shotgun" matter = list(DEFAULT_WALL_MATERIAL = 2200) - ammo_type = /obj/item/ammo_casing/shotgun + ammo_type = /obj/item/ammo_casing/a12g max_ammo = 24 multiple_sprites = 1 -/obj/item/ammo_magazine/g12/beanbag +/obj/item/ammo_magazine/m12gdrum/beanbag name = "magazine (12 gauge beanbag)" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/a12g/beanbag -/obj/item/ammo_magazine/g12/pellet +/obj/item/ammo_magazine/m12gdrum/pellet name = "magazine (12 gauge pellet)" - ammo_type = /obj/item/ammo_casing/shotgun/pellet + ammo_type = /obj/item/ammo_casing/a12g/pellet -/obj/item/ammo_magazine/g12/flash +/obj/item/ammo_magazine/m12gdrum/flash name = "magazine (12 gauge flash)" - ammo_type = /obj/item/ammo_casing/shotgun/flash + ammo_type = /obj/item/ammo_casing/a12g/flash -/obj/item/ammo_magazine/g12/empty +/obj/item/ammo_magazine/m12gdrum/empty initial_ammo = 0 ///////// .75 Gyrojet ///////// diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index dfbd721952d..aa34925cefe 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -13,18 +13,18 @@ caliber = "75" projectile_type = /obj/item/projectile/bullet/gyro -/obj/item/ammo_casing/c38 +/obj/item/ammo_casing/a38 desc = "A .38 bullet casing." caliber = "38" projectile_type = /obj/item/projectile/bullet/pistol -/obj/item/ammo_casing/c38r +/obj/item/ammo_casing/a38r desc = "A .38 rubber bullet casing." caliber = "38" icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/rubber -/obj/item/ammo_casing/c38/emp +/obj/item/ammo_casing/a38/emp name = ".38 haywire round" desc = "A .38 bullet casing fitted with a single-use ion pulse generator." icon_state = "empcasing" @@ -35,28 +35,28 @@ * 9mm */ -/obj/item/ammo_casing/c9mm +/obj/item/ammo_casing/a9mm desc = "A 9mm bullet casing." caliber = "9mm" projectile_type = /obj/item/projectile/bullet/pistol -/obj/item/ammo_casing/c9mm/ap +/obj/item/ammo_casing/a9mm/ap desc = "A 9mm armor-piercing bullet casing." projectile_type = /obj/item/projectile/bullet/pistol/ap -/obj/item/ammo_casing/c9mmf +/obj/item/ammo_casing/a9mmf desc = "A 9mm flash shell casing." caliber = "9mm" icon_state = "r-casing" projectile_type = /obj/item/projectile/energy/flash -/obj/item/ammo_casing/c9mmr +/obj/item/ammo_casing/a9mmr desc = "A 9mm rubber bullet casing." caliber = "9mm" icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/rubber -/obj/item/ammo_casing/c9mmp +/obj/item/ammo_casing/a9mmp desc = "A 9mm practice bullet casing." caliber = "9mm" icon_state = "r-casing" @@ -73,43 +73,43 @@ * 45 ammo */ -/obj/item/ammo_casing/c45 +/obj/item/ammo_casing/a45 desc = "A .45 bullet casing." caliber = ".45" projectile_type = /obj/item/projectile/bullet/pistol/medium -/obj/item/ammo_casing/c45ap +/obj/item/ammo_casing/a45ap desc = "A .45 Armor-Piercing bullet casing." caliber = ".45" icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/medium/ap -/obj/item/ammo_casing/c45p +/obj/item/ammo_casing/a45p desc = "A .45 practice bullet casing." caliber = ".45" icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/practice -/obj/item/ammo_casing/c45r +/obj/item/ammo_casing/a45r desc = "A .45 rubber bullet casing." caliber = ".45" icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/rubber -/obj/item/ammo_casing/c45f +/obj/item/ammo_casing/a45f desc = "A .45 flash shell casing." caliber = ".45" icon_state = "r-casing" projectile_type = /obj/item/projectile/energy/flash -/obj/item/ammo_casing/c45/emp +/obj/item/ammo_casing/a45/emp name = ".45 haywire round" desc = "A .45 bullet casing fitted with a single-use ion pulse generator." projectile_type = /obj/item/projectile/ion/small icon_state = "empcasing" matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) -/obj/item/ammo_casing/c45/hp +/obj/item/ammo_casing/a45/hp desc = "A .45 hollow-point bullet casing." projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow @@ -134,7 +134,7 @@ * Shotguns */ -/obj/item/ammo_casing/shotgun +/obj/item/ammo_casing/a12g name = "shotgun slug" desc = "A 12 gauge slug." icon_state = "slshell" @@ -142,28 +142,28 @@ projectile_type = /obj/item/projectile/bullet/shotgun matter = list(DEFAULT_WALL_MATERIAL = 360) -/obj/item/ammo_casing/shotgun/pellet +/obj/item/ammo_casing/a12g/pellet name = "shotgun shell" desc = "A 12 gauge shell." icon_state = "gshell" projectile_type = /obj/item/projectile/bullet/pellet/shotgun matter = list(DEFAULT_WALL_MATERIAL = 360) -/obj/item/ammo_casing/shotgun/blank +/obj/item/ammo_casing/a12g/blank name = "shotgun shell" desc = "A blank shell." icon_state = "blshell" projectile_type = /obj/item/projectile/bullet/blank matter = list(DEFAULT_WALL_MATERIAL = 90) -/obj/item/ammo_casing/shotgun/practice +/obj/item/ammo_casing/a12g/practice name = "shotgun shell" desc = "A practice shell." icon_state = "pshell" projectile_type = /obj/item/projectile/bullet/shotgun/practice matter = list("metal" = 90) -/obj/item/ammo_casing/shotgun/beanbag +/obj/item/ammo_casing/a12g/beanbag name = "beanbag shell" desc = "A beanbag shell." icon_state = "bshell" @@ -172,26 +172,26 @@ //Can stun in one hit if aimed at the head, but //is blocked by clothing that stops tasers and is vulnerable to EMP -/obj/item/ammo_casing/shotgun/stunshell +/obj/item/ammo_casing/a12g/stunshell name = "stun shell" desc = "A 12 gauge taser cartridge." icon_state = "stunshell" projectile_type = /obj/item/projectile/energy/electrode/stunshot matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) -/obj/item/ammo_casing/shotgun/stunshell/emp_act(severity) +/obj/item/ammo_casing/a12g/stunshell/emp_act(severity) if(prob(100/severity)) BB = null update_icon() //Does not stun, only blinds, but has area of effect. -/obj/item/ammo_casing/shotgun/flash +/obj/item/ammo_casing/a12g/flash name = "flash shell" desc = "A chemical shell used to signal distress or provide illumination." icon_state = "fshell" projectile_type = /obj/item/projectile/energy/flash/flare matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) -/obj/item/ammo_casing/shotgun/emp +/obj/item/ammo_casing/a12g/emp name = "ion shell" desc = "An advanced shotgun round that creates a small EMP when it strikes a target." icon_state = "empshell" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 7699b8483c9..373e0bff8e1 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -8,7 +8,7 @@ caliber = "9mm" origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) slot_flags = SLOT_BELT - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = /obj/item/ammo_casing/a9mm multi_aim = 1 burst_delay = 2 @@ -88,11 +88,11 @@ caliber = "9mm" origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) slot_flags = SLOT_BELT - ammo_type = "/obj/item/ammo_casing/c9mmr" + ammo_type = "/obj/item/ammo_casing/a9mmr" fire_sound = 'sound/weapons/Gunshot_light.ogg' load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/mc9mmt/rubber - allowed_magazines = list(/obj/item/ammo_magazine/mc9mmt) + magazine_type = /obj/item/ammo_magazine/m9mmt/rubber + allowed_magazines = list(/obj/item/ammo_magazine/m9mmt) /obj/item/weapon/gun/projectile/automatic/wt550/update_icon() ..() @@ -257,8 +257,8 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/g12 - allowed_magazines = list(/obj/item/ammo_magazine/g12) + magazine_type = /obj/item/ammo_magazine/m12gdrum + allowed_magazines = list(/obj/item/ammo_magazine/m12gdrum) one_handed_penalty = 4 @@ -310,8 +310,8 @@ slot_flags = SLOT_BELT // ToDo: Belt sprite. fire_sound = 'sound/weapons/Gunshot_light.ogg' load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/p90 - allowed_magazines = list(/obj/item/ammo_magazine/p90, /obj/item/ammo_magazine/mc9mmt) // ToDo: New sprite for the different mag. + magazine_type = /obj/item/ammo_magazine/m9mmp90 + allowed_magazines = list(/obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmt) // ToDo: New sprite for the different mag. firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index d4f9d265f08..69fa353a527 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -196,12 +196,12 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 2) fire_sound = 'sound/weapons/semiauto.ogg' load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/mc9mm - allowed_magazines = list(/obj/item/ammo_magazine/mc9mm) + magazine_type = /obj/item/ammo_magazine/m9mm + allowed_magazines = list(/obj/item/ammo_magazine/m9mm) /obj/item/weapon/gun/projectile/pistol/flash name = "holdout signal pistol" - magazine_type = /obj/item/ammo_magazine/mc9mm/flash + magazine_type = /obj/item/ammo_magazine/m9mm/flash /obj/item/weapon/gun/projectile/pistol/attack_hand(mob/living/user as mob) if(user.get_inactive_hand() == src) @@ -256,17 +256,17 @@ var/global/list/ammo_types = list( /obj/item/ammo_casing/a357 = ".357", - /obj/item/ammo_casing/c9mmf = "9mm", - /obj/item/ammo_casing/c45f = ".45", + /obj/item/ammo_casing/a9mmf = "9mm", + /obj/item/ammo_casing/a45f = ".45", /obj/item/ammo_casing/a10mm = "10mm", - /obj/item/ammo_casing/shotgun = "12 gauge", - /obj/item/ammo_casing/shotgun = "12 gauge", - /obj/item/ammo_casing/shotgun/pellet = "12 gauge", - /obj/item/ammo_casing/shotgun/pellet = "12 gauge", - /obj/item/ammo_casing/shotgun/pellet = "12 gauge", - /obj/item/ammo_casing/shotgun/beanbag = "12 gauge", - /obj/item/ammo_casing/shotgun/stunshell = "12 gauge", - /obj/item/ammo_casing/shotgun/flash = "12 gauge", + /obj/item/ammo_casing/a12g = "12 gauge", + /obj/item/ammo_casing/a12g = "12 gauge", + /obj/item/ammo_casing/a12g/pellet = "12 gauge", + /obj/item/ammo_casing/a12g/pellet = "12 gauge", + /obj/item/ammo_casing/a12g/pellet = "12 gauge", + /obj/item/ammo_casing/a12g/beanbag = "12 gauge", + /obj/item/ammo_casing/a12g/stunshell = "12 gauge", + /obj/item/ammo_casing/a12g/flash = "12 gauge", /obj/item/ammo_casing/a762 = "7.62mm", /obj/item/ammo_casing/a556 = "5.56mm" ) @@ -299,8 +299,8 @@ caliber = "9mm" load_method = MAGAZINE fire_sound = 'sound/weapons/semiauto.ogg' - magazine_type = /obj/item/ammo_magazine/mc9mm - allowed_magazines = list(/obj/item/ammo_magazine/mc9mm) + magazine_type = /obj/item/ammo_magazine/m9mm + allowed_magazines = list(/obj/item/ammo_magazine/m9mm) /obj/item/weapon/gun/projectile/luger/update_icon() ..() diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index e7d31c0226f..a92e59982c2 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -46,7 +46,7 @@ caliber = "38" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) fire_sound = 'sound/weapons/Gunshot_light.ogg' - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = /obj/item/ammo_casing/a38 /obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun() set name = "Name Gun" @@ -74,10 +74,10 @@ caliber = "38" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) fire_sound = 'sound/weapons/Gunshot_light.ogg' - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = /obj/item/ammo_casing/a38 /obj/item/weapon/gun/projectile/revolver/deckard/emp - ammo_type = /obj/item/ammo_casing/c38/emp + ammo_type = /obj/item/ammo_casing/a38/emp /obj/item/weapon/gun/projectile/revolver/deckard/update_icon() @@ -113,7 +113,7 @@ fire_sound = 'sound/weapons/shotgun.ogg' recoil = 2 // ow my fucking hand accuracy = -1 // smooth bore + short barrel = shit accuracy - ammo_type = /obj/item/ammo_casing/shotgun + ammo_type = /obj/item/ammo_casing/a12g // ToDo: Remove accuracy debuf in exchange for slightly injuring your hand every time you fire it. /obj/item/weapon/gun/projectile/revolver/lemat @@ -125,10 +125,10 @@ handle_casings = CYCLE_CASINGS max_shells = 9 caliber = "38" - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = /obj/item/ammo_casing/a38 var/secondary_max_shells = 1 var/secondary_caliber = "shotgun" - var/secondary_ammo_type = /obj/item/ammo_casing/shotgun + var/secondary_ammo_type = /obj/item/ammo_casing/a12g var/flipped_firing = 0 var/list/secondary_loaded = list() var/list/tertiary_loaded = list() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 84ad0bc4269..80d1a09d783 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -11,7 +11,7 @@ caliber = "shotgun" origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) load_method = SINGLE_CASING - ammo_type = /obj/item/ammo_casing/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/a12g/beanbag handle_casings = HOLD_CASINGS fire_sound = 'sound/weapons/shotgun.ogg' var/recentpump = 0 // to prevent spammage @@ -48,7 +48,7 @@ item_state = "cshotgun" origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) max_shells = 7 //match the ammo box capacity, also it can hold a round in the chamber anyways, for a total of 8. - ammo_type = /obj/item/ammo_casing/shotgun + ammo_type = /obj/item/ammo_casing/a12g /obj/item/weapon/gun/projectile/shotgun/doublebarrel name = "double-barreled shotgun" @@ -66,7 +66,7 @@ slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1) - ammo_type = /obj/item/ammo_casing/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/a12g/beanbag burst_delay = 0 firemodes = list( @@ -75,12 +75,12 @@ ) /obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet - ammo_type = /obj/item/ammo_casing/shotgun/pellet + ammo_type = /obj/item/ammo_casing/a12g/pellet /obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare name = "signal shotgun" desc = "A double-barreled shotgun meant to fire signal flash shells." - ammo_type = /obj/item/ammo_casing/shotgun/flash + ammo_type = /obj/item/ammo_casing/a12g/flash /obj/item/weapon/gun/projectile/shotgun/doublebarrel/unload_ammo(user, allow_dump) ..(user, allow_dump=1) @@ -115,6 +115,6 @@ icon_state = "sawnshotgun" item_state = "sawnshotgun" slot_flags = SLOT_BELT|SLOT_HOLSTER - ammo_type = /obj/item/ammo_casing/shotgun/pellet + ammo_type = /obj/item/ammo_casing/a12g/pellet w_class = ITEMSIZE_NORMAL force = 5 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 49678c966ca..6f1add522af 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -545,7 +545,7 @@ other types of metals and chemistry for reagents). id = "ammo_9mm" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) materials = list(DEFAULT_WALL_MATERIAL = 3750, "silver" = 100) - build_path = /obj/item/ammo_magazine/c9mm + build_path = /obj/item/ammo_magazine/box/c9mm sort_string = "TAACA" /datum/design/item/weapon/stunshell @@ -553,7 +553,7 @@ other types of metals and chemistry for reagents). id = "stunshell" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/ammo_casing/shotgun/stunshell + build_path = /obj/item/ammo_casing/a12g/stunshell sort_string = "TAACB" /datum/design/item/weapon/chemsprayer diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 0e0959705e4461fde7a7f52f77d1c71d67af7554..a120049eeadead0db24447477966a735e0dc0969 100644 GIT binary patch literal 25318 zcmbrm2UJsCw=TRx#{wb(q7(%c6c7Xv>8MndBE1*sy-O#-LhrqUpn`OfUIKzh@4W`3 zgdQY72!!O{dEfUt_n!Zp``t6fb&R;T$y$4@y~;D^dge0?Q&Um6c<$Oc001s3Daxt? z010>tS)`%>FQa4Qs{lZn@2jcnA#3Sw?q=)aVe9M!0N$CUsjAMi0v9?4y9)$n>{%6S zx~4)5gBhRE?tK1H_Q8rLT7c()L$y6-!^QRGqOUCo=Ix-A%>711{&s#B|A(1>67a9=8-#U{Af-hl3u`ZeD# zM>I(x?h!w%$NB$sBl}COXw^xOOk&_tZ2e6cvS+aDVA#l2k|GDH#{$8?wmmvD;nrY;!Ro$1bT#U!Eap+?EX2D_Z#%`|2Q74@!JRDf12GXElP6ZvN+bTb_M;vAkuc_HT>2xAK4eXM_?%mhUGwXD zp`ycZp`SSlmlkd0SepDl1VDmPEve|zge|EajJHm(KYdxvtHS(L_CDoJ+19b1OB~0Q z9ArmF?d-HhN%AU;vc;D!E&cMYyd`Eo^77X&7dN9u^}z8gsK+}$4@#_fB%=EMS=~G7 z`trl|4i&I$fF_j;R>j0zCWLi7G3K!3n+s<7vZ9BCwA;<Ax?BAPqd(}80#g*~?{(>-@fPKLLr@qqo$u1oIOrpj%%+@b&l_FzgpVjy2yE|mM zKLil7Lm~O@FMAgrh*s_|a|v9Fjo7>d5ru&TRp^X~XH5RefqsM(2 zhhp}zoMVI0_hL>(S?OYKN)&h!Zb0u{A2waRV60k!qqFbO+Y?rYotVy=9~RH}VKo}h z&rjmLvkm8s@1%%K_O_gc%|u^1XDJ8(HvlEsCz{@w+w*?@nyXpTdxPDMPgCEE2LVst zrmF2dZ7XtM5;Sf!N+Ox4;np(a`AJb4d@>pk7GCPKRW4m={8WiM!kfpw6c##uKj}^d z!|d%R9ak=Ob@2t=x+PE_+r5LsUmXxg=(BJ_W+MAC2WKa{ECkaA-L2x${yE6GPy73B zm+0u?>VJkg0d#b98!_bIC64+VaD#(G@FpW5D=T~FCkZSxwClYt0G3Qsdy1fRP@T1? ze%1rkzE6H?xF(c?UF+xKI8)3k%Ap#D5CJNn3{ zZ~Io}!hBd0wq1+%T-9Y$DRi3i0?wx9Q?6Q>sBTnArtMWpJIxjpVINui+O59-wbGN1 zhC)bTpq2g0!a7$gGu~_m^_+kXWqrYH9s-c(EuDuaCs=0KnvP8RY^m zuVBqH@P+zBoTcbC+L5n-WqJKWCrWhMp#Pcz!{Apa(AAR`oc?aS(Aj1kGsl&!|M_Gf z=|@*>*`@gFJlN~cC+p5l_B_w6ynIxe5wM`mk9Z%ol?67EtwGRVJ_dIM|ckv%2bezjX-y^ErUw>*^Vr_7MVk0mi81$NhK5rLWe`yGBe-Iw!GBG+*o~EJxh| zR_#r~Up!ykvhHsy@H-;Q%8%TZdnJFASEq19k-v&;`REZ<1x~ZP z`@NU|A9RR)4aQj@gyF$ogCEGft!;m%b z7`sbidKlS1a*j8ar}p8K(u5!u>3PzzhG@vI$e^6!6~rH7dY2bvTR&K}rUZm>HHC5P zN(N&CwAFn2Ym}pm&HHE7a=WTa>)kVJfMSNy zH1}01o77w>;nb|ge>kV*8dhqM%)6<9^6E!*9(#VgJ+=RHwcF6{AU1!(_$dT%mOPWn zwwL62NXX8ahXCGwf8pFseuWQAq*!YC-DP4U$$YN z6(BM*m(H-oNvK+2orNuCv{Ag>5dp)Mk`Z@ChKRJTd@2MuDS!V?54$-nHIfYWE6TqG z2~iuME<0lT@uN)hU+aAU-T(M-k~Ju&kQ6lvTsJ?J-cUF|vfIKDB)R2pk({UPd;x-$ zqY;9Ctps=h!FSX3S>z{?#IiUERf_z@bp(qn6mPdesRdk-K!kluO9Nokv^gCSw`n9Q zCHM;Ev%ROQMV7v|kZ0GQYN|=MgQ$>$9d32sOv;C%>CUhU>Ffs=U>xoXB)JyLpHCq< zwA&5ee*f;~f}gSb0ed6ZSlpT)1F$O1lOo|ow%-Bw{62V!=jMc& z{#`n-%FRR|_@xr~5=!vNSHL+C<)+c`xk}2Cx|KCta~FWtV9MorKSoM-iHAfaabKg4 zlk#T-VD`6j8}(s_V`gM3RdD?DTZ7IL0q@v_GgIdq)}CqX{(0wcOs&PKh;?qAOkMc+{){pUiE}R#}{DI zgCsESmr4_rfegp^6je^YZlMOlygK?LSB^fh3SR>S!Ko7oR_dyO3K zec(G*7>GDs9n_IK2m%L!1ASKg6=m)W_hA4Qhk~swOLd+S-zzGKxb0)x+9%hgbs^;x zg}gTX`6eU)&0ND2${pc@IqzVI()7ID=f4)w$6jc3x4T=BU3}s!b>0c%8=cHU_P71u zzkfH0RGC0IgQs<&2VTj}=o`#qgoK3VF{fo0h)YYz#4#=s9|VxY1P{}zx1>M_227n1 z+vxh9D-QiX?10gesJ3ixyCjxP?nvyfp1~PU_AlBeIpI0Xv@AK>ph*c0!kXD;jk54dDR_^E& zZ*CEpvimUaG--Jf2bvu}xUlfJ2R3_@04EbaqqXto$UO-T4vdlfGj@;Jg-=GHQvlo- z!|AHBpFS%V5P~39z$0*DBwxAG^Fu|FR7QK?;TTJaJa}md0_T7K@VnL0sH7i-!&Pu1 zOe(j@l2eqad^KdNkRd(p_cX!5HL-vrH6Nq%Lv{;D;DHmo&79_Upgz-NxZa?w;}p`A zwRy%lhbP^Y^t-b$PTy^k%Y$`$S~h;sU;^lPOx7~Q5$?$^Jm8@NgOS*tgO(OLDEBBq zCiWBnf@)C_jZd*^rtM@hYy?NAx~j=sL`;PB(o$T;;J*JPj1MS`1Y!Jv5y)0_ju_P(@+v$XW>LSLPvyjF`dq`J>m0 zZ~qp8_&Q;<@lhV9wH#wRd#VJ@3|xs3=4RrX!s@d$>}zyDbtm^Mv_ISV*G>!QK)};G z@qXbp>;Uw9@g%t(&P)m|w?({BE;!QKykJ-^)RnLW<_AzC! zUl^Xvkwa!!o`U1Sf6t_NSUUG9WO4V?(x(47TLAeCEd+Rzyb%kK{R^N2cdWV zcJV%)rU4+}C`$Y{9^Ze5G5-dbIN&S-baY?akE;0AiwDSyan`F(Oa!d@(}jzWOpJ_z zh+J%u(FN{q{W~Zq_91Ws#G7;@=zJkK?{T`{oP!MOKU14qaeX~$0KG8^EwU25@ABCK zW^aq8^W~$SYH4YyW#uwrZEbA}%gPv&`F*jZs|tp|Exld~K(}iBJkYv489h-=%9vHI zR>oA?QC%3ueKeh2)19Im(fMbSZ9W1fY(LR8`bGJfr>C%+ySr9D#ia^*O|cewE)~<6 zD%&C?I(ni-g2+NDRLP^ba`nt z!@E-Lr1TDd4#DyV-xFMXy$UwVuRGA?elaarWUy0xm-E<_;}fxpb)YVJE9k%KS#(+- z`EzhSu3FM#UX&8if85+i5Bg2Zn&vz}?jp7;JZOX~VXpjoXvgcI(TzxM{>$JXxjbfR z+n3{S$;O%u0-0Zn-w6v7TlV6zsh#zlrEmhD_+3zc>7%FLxop(WsR+{OJ(Kp``y_A8 zzUgxGXuO||`~3Oy*LZfPn>T&2hdoFifZJi`bggHDUZf~+>N&UUT7>bN;gS?oM-pue zU2^$0z#G5dnEG8vIAONTN?OiyH*49_ zs2BD028X>6s{`2|bt+xCUQEP?H%c{8nOiT5h)`6Pmzw{e1&&n z9gg4vE;gTi^#O$lV1N@g&lGLFm1}WDMMZ(wdCHi2RDl-5`F@PQL@KeFqYJRK0z_1- zvz7exsexJ5k=pkD+yT?Ts$v!9dn zqUR9s_p$J~CWz#N1#DSmdW%+-6OL?b{3dvipLG0U4otlcG|H%RkLV!ah)`|%fYVuy ztFQuORiPP@Iiar;)X5^#vR0(dFM=N4H;YnM&lnP@pT}~Cwb;`W-}ZO#i16G}{o4n~ z(eMb)6CZ_F$Kv!Pm*6=4GYJvMB|7F%buw?M8atKu{QC2xxm<<4B$)4ZNvAL0)3ZrM zFuh>$w(xPW-W30{Pc@k}Y5Z(H0P}(6Vx1U45#8xD{q`9e8IlAdV09mD5pYTJ%n{tp zf+-bZcB~cy20)@ilZW&oI><;wJ9ogz8V*4}%ZB_@ii7V8Bja=XiIO-2Uz0)?m+mcUN_1$?`BDHbQEwr+b#=O3U6b3Oagep6 z{z~*=^QKyr|0^x=Z;aGoBcn`<`=#O=sc3faAOOU+w0-dn?ATo7FYWo8FtA$o^&_EK|i= zSGp7IX>rZv!VBns7zJsP<%LuAz*A`La!$72)2@<1+o;A4=%ORFpf#jqO(%&r_Xu{pqyC|Drv3+@$9Dp_mTBdEoer zlR#-*gui}w89t8k*(tzN0WO)9xlipprL*}BTst2xo+Y&;wx?0sY(^#!2HR;#0X(Xg z-@G%K_CdhfcHrQajU)g(_NtuS`U5sPC)X+?1lc9IAtIvly}9L`Xh|e?ZJ^WGrWS)T z1{jDVp2nU@>80|gp{3x&u`m5ieT=oSze5EkKMD9nqXPK?6l(|EE7$jQRFrFlv--_p zyd1EX#PK*YZfTlKmU93k0`P(e*iZ0M!?tnDEg()BnxP8MZNfQgyR5J48yI}^LK&|f zQaU)_!s2H*I1p(3BZV^L)>Z;-9sJ094%_Jk(_0N5C@9_Q8{rJEheC%o+Oq60qlWT0m8eriA^P zaNj-kJK7-ywvW*v6*R2NXl$CfLc6g}Oy9SB2vFd9?pg2!(%2xdU|k1_}(v! zNi#dJH!+G@{tqGovmAh$G+y#6E%j(k;8LaW=GOh!Tf^1KLVGYx&IZDJ9|iKz^VTE= zl;dwm(i;X2Q9(_uAtZOPgHCTJ_X++(dLOabD1wkqXfJI6pZ+T4ETiN;rCr1V7Cs~B znN^2#!Qh3zc{U$lv_(0pQGQn<3hea{W0 z$JX~}4?Kqi;?HGldnye*U!11$TJZUDVOKKZofum>@q~XD-T%`X0@R5?_(jH0zWSYy}y8NdF4 zTn>t{2jp7UC(3SfY^DD{NLCFdOI9FJAz4o1P(kd{S+`yeS{H4vi}SWdpUi%Y=) z^`q`{F**T0mwcHZ0pfFgeJ?R*LY|&BsP&;LQqU;~(>fj#^jV;FI`rLk(8xc zBfg`YL3W}GB)LSTld)M4UBU@%1>W<9mv8izTZOGHU}zGNO1-yz05TGXkycX7Z;{Vc zhrL!i!KpMc$tJBD&X+$t#q&eq&qv{c@%}mFGT<9ss1rM#nbDsMJQYh!VWQ?IIeFtR zGCviBS)flbK@7nXS1io1zWjuqB%T13c1g^fdjpQ`xEH#(dtt>w%yq3~Yf{t^_bk0i z!9(hj_lHRv=iz(cjEV#Vnmk7uxK~`$6CG7U3=Ngj2mb!599lg$L&4rF6^L(EId9A z;lDfNBwp9zKPaLv3pegX*|xo>?&|LT5zQ(t;InUGVQGoozFK|noc}6etycU*!u~T$ zF&1VY{=K}9N5PJPI3Q3!n6h}DV72;EW5+Y;_v?Y`6bK-QT*dk?g!{BwiueZ=K=m2i z;DhZzl1hN;D$-aE)~|gbq@ChjUxf{W+f~k-`p~75zto5z#`1vs;->K)*DDOKZk<=Kz5Jh*Muf; zNrMced_uBa&yIcH9o}-oHa0fSW3p5VP6O@jc`{WBbb`A4cOv`NJGvr`aR!ziXpDhlSq4@2-7*7b_4ru-VN^?-`&dqrP`~8$TnbBhuSrC-IrwQOvW2sos~L0o z1T{3J1l^E~Tx(mr^m!f&sep9dxmc>0)^9i->W+rbZgJYtw8k~y0~;d^S^g56Q|noo6x<5sTR za7>M?GJ74aHjK?f5L_5i5_={G(=AhRxjkI@S0M0Ewu>3Ak6OQz9;}E;4){9?PyAY1 zPjP*!&}ub67|m&{*smYe#m?E@#Io+d^7Sr1B4NtnKS5J23Lm1jOiaeMapPUIC-XvX zbTTKK8yl_&XM1~dIL!$gX(@&(6uW@+je(`{AE9HkZYHV9-y^Bx%$-`re6Fq4nM$mi z-j|Dk$s*m!oOb<(Tc9w^5)_Uny3rXzzja-#fdvi1kUYiD}oxOkp{NVu8Hyk{4 zj&7h2o2MX?hn91GXC;M!P$>-WlPL9b+!(=C^l)+ZlL5aK+A}ZK{X`tOt|<(ld2Kl4 zWwNmx@{7d3a{EM7;Ooq=i=XX3!9xf>fs#XaeIk;X6yvgGR7-Ic2uV%`$Q+#-VimQ+ zVBnb{$-XB^GJ<|s2$u(m8o0460nc;77Fe*B1{`+96#5IQ)5*;E?bahdot*e)K6WJm z)J#lb($lYD&NK>CmKJ}!OV6U1+Qw#|M8gh@v4^Y>kR$ZHe0EBE+(Oo5%tWTn32n89 zkmcL>1Zf(o-$Q-Hv3%bzd&2~2731Z_3WZ0YIivP|`xxW4${i1`o#|_6K-RsC0~_ae z53RPc_+MiW8}?|?%{zG1y>fIG4`(i1Uq9=NZIr`=8A1Z6fH9kswXL&L=~%eN-f$v+ zQc6nk2$kh~X&#gv0GoI6GHIJ|s$Je~L}@#AY;3hX4xdP7tn%_WE{#rA9WL7YY6-C( zu4!46RN94x^AGso5-2!jS{*Gb(8$LNmL0{=Rl;_v}XaSLP10*I9QuoTYuI0`EZ&t7yj`h!W?{b z59;6|=t{r9>iZ$Hyj=Rku6CBZbA7}^pXD>T*zRtp6NI^aI$H z_e*&wa2W^Uq`5Dfog^nCjG*q#-AV>tr~bQZ(njfTOGR}{d;a3m5x!+i==(M8lbX0b z??r`Ly$bxhsV5T*m^{N?qjI_@m5$E;QK6Io029Oc!)cOa?AhWxCc;hWBm}xS*D8R5r^V_`Q{`ZW=8YBa>FHikHdq*VbmVv$NYPbq?q~n_?#% zD}Z*f9;#CMREBxl{)aWB;-4TWjpZh@jGD#}h?NW#`bi@H(gIYxB1R7$XK>_+BG?V^ z9Xqy3OzgVpAx)l1x&gI;tSxPQLO>o`l$7oii$)Hnp!ZJ(A8KoBbMWx=o_U&^bIM1v zg#G#@UyfW|T{Xkwu$9Bsq__dVf!j#Pw4I;TTXqN`xll70x|Qb#UgP_bxr9!3us zvYPfkIsER7$3Jl3%gDu_S5SiIHNCE$M7$RyH7%~{2CRY9a>Rw7iPs%~`;1RZ9UE4B z*ZjiAnPDJvN_LiMnq6E#>qRMIe`)v*Fz7fCQ2XTc`iFo9Yt`0Qx^*GY4mEJHu>Ol1*RRI%v9&qb~y;!$COsiCcx3@`Trd75?PcS&IT#ZVKnNzV$$3^|s5Z~jp zJ6JOZQfn}}JlxthyO`z-3%EgsjIjEoB6XQ=5FisjWG#|8y#cfiR6Z5uDIk2Is@|8& z4l8pGc3LuL-Z3mrrd&jlD zG-H#k06R@$1SZhT?BftlH?Kzuu*(h_P{b~=MR(%B9hBGXhatv6xwI6)*`#X;UGMz{ z{+k0G7Md4#j~E@KlVegYqfi7v@Yk>ZU8nJ%;p*?m;J;z*|3|=>S2%XCP+8O0BCXER zz&adGY+vrSUb058!SXq|T2jC*hCw-9^Q=o)zZw5&Q=zO|Qv0D&|D**m;_&Kg_i)65 zv7U!etVzpnZN+2UkP?#c$Vu-_^GrFS&T{%NL`96ibXjV!+{Cq5zr5H766IK5mhdlRc+pL$9$>uXW5mN?7+_qXq_~v7aPXu*loPjvVOj6M6p2 zT;V*x7cO3Cu4hHlt}|gv)-k~OkMIkTlA(L{+n@(|I^A&lBHut+p1otT7g*5b#L}zV znZu_)_Z%#Ux7foo($WVmZdux2>bC0K%aDMmcez;th>19kNNja55eg9ICi6R+2j$15 zs5}`y=avA@iifQURtr=mr1$Zvo{wg4GS|7ntho`RcXFDV(F5XwK;a{H<~;MxXb4bQ zS?SR)NmxnP<pQ{cB=z>(=u=`IBcf4x z#p2&SbL}RLTHkMtpK07r_bHbw_dFuL(qqD(0A){W-|Xx3(l+xe$0X-3(>DZvTEu7> z-L`%f(432?k&up&CMr{pM zZus@=n|w6GgL4q{S%k#W<*@YmO_x7-V?fAt!=yAZ#rg$cdb)Fyz{7g+BoK3&p1phM zebNm_dEe&1UQvhc(@zWfKeo`5x3jv_ke&gqB!vs&l}>hcZ9l{4P@L;I1jEr!8 zhU%cSWOl2KQh)ZJx{tx(KrWm_I$*1E8{fSdB=H~N-1)sz+dgl!`Ex) zm)08^zQM1X%=*P94jDXN`7#+;YFSorQ>6LGAH92;J~(EqD|A-~pA@%oSzY0lR4O}W zZ-=3pKj*?~HAh*7JpOP~(S(Cz=dCm<`+L^QNS?3B{9z zf4S-tWOa^XF`ZnXaxVgwoMIfmmypxd-5!!(@R{7Gv{dn|TXhBeTF{VA09?5nGJ0tj zLYc`?_jnUs$F+c;j&EJO+SsbHqtwn_RORF2OSiJZpT)&5P1Ln57&G@vN-Abfy<2cv zd}<)VGQj5HrKf(YdwD0tGSdkdQGkRdELYpwmDd@N2Nhub4fx)Y1*=?6~t4Zk0Ya#M8^kHzE7AnOUdc z!jA!5WC&7w4DK&5H973?dj-@x zgabSKl*yDjkW2VesKPVSp&4*L01_S2UyzjN>#ITb!= ztES`M5y3n(2ZH{`F8$)tCT|!Rdp3ZPkA$j5!S>uM*Lv1M(K!KM^yoBwj@w@AB@eHx z%RN=+ublB+Y62c+lVARQla_g&^U&kD;`8Wduk#|yqK(Hg*MFon$UdIEW!l78O7i=* zX_t-Cb7s3Izv_-_+7D+|02%yL2p(cIH8&FZhil8%1(!-+km2`Pg*r!~;-vrFPJDo$ z>0t%~)aP(PRYe37$hB(EWue!0oPB)vYkLJJbo<%)dz;2sgsHK@J%0Yls*nFt5b@ky z6Oz{7&qADLOK{&NziVq7dyD$6c_+us+vI2()~Bkfw7%dtjE=th^y${iYzgM1q@<}T z+k^_s)AjtA6`r!Xr)XPelREl5?^$DA&3LIhWdg<|mlI&_NXws{FRsR)8++7qHHR)_ zTgf%yvQ^Uzv`CgbhcMZ^pV&wCvgIB*{hgn}nh)U;`VpC7e9{e~=8={fryuI#tgnG@ z>CF|*vh&n01D7L&@;g(|x1g{`*<;F7nR(B)Rukx5r!AEf*%@LIpEO5R7i67}`CLZO z$jzB-0&e6j@)_2tsVFMSfNub9aVx7k(d^PRK&&Nm{H-6aznN}NeS7SCP-uG|$P2Gz z??E&zyyYoVoG1ZO=d@ik6s%D>ETu9ew;pEhv{{>YVmUJT1P1xO-|W249$`nuD2%C zN*t`U*k8UHY{2G={x-k0>xkb}#GnDj31Pz~Qr@?$h-% z>}q2CTX5-SO8Q*RYQbI<*W+Lh{zPKL+Puq2TctLe zuYW=7^ckO=wB$VIlb)I*$#nerirUpn>mixc$y*^nmSXsuQ`XqWIm%-9ydZE|D{f(K zbZ^Rr(6PC`A0ev6N)e^&aw8*nD+sLp{YU3E^>cCIfU5G%xNrT=J=y4*Ji zvQ6LtPHfy@H$j0`wN*>!_Kmx2^PM9-m*r~j&bUy3Qqw$@qfd28`3kp>j9q;$5Ahtb z*fY-Ot+z81&vNv?t>lT9|0H?(e|2m?sjD$f>f8OZ#@+aYgm?gGu8iE>b=scVQ`S{5 zBDLf~-#%>0oy%Cj6zq~BD58*>Al_c@#^uXEv7ma7{nfwTUQ#p_lw<-;ie7LOq!Yha5 zu!D}XcdNyZYQmfpN?tsF`TmxYBD2I*U}$0H9I(E#BbRy0Y^Y<{r(`YR!OK(uh^VOO z)Hid=JF3}{B_+JLf7rJYt%7YHgpOHj9xU(47!$CKJEY@Ma(UzV!|l)3Q8W$E`ks0@ zE;bhSMd&d0ch&4?Sq~}GIl97ie@XGi>} zCE0=dhIIg7OrD!9i=_X0dxa#|Y^r?quF(fa=H=hBLw zs|70Kd9}47tr4=Wc)2_UnAIR9Y+yhI6YyDRB4OR1qx!uj@N$On_?eeC|UpCtk`2hq_q2L}ha zwO(Xk2u+y%V%PxYmMH+5lD|`fTVEUak*vJK^jkjLcKt_pLRKNRfpW+3c+mNN zAZQ1XQ1?Gu=p*`s7MMcDh`??%V3p(5#n7<>!SnmyPtSQJFVC!tl# zNpk%=JNv53pNt>R(hpzsu}Bwo>RhRLn-N2E|4eu1<%>#kSL2ZBZbfBfazK}o_Ls;P ztK}gb;dKw=);1L4wzKaks}|<-Y}20vUdm|b4zA?e*R5-Q%1pj~u=A|m z`^g~-I4{S9)4x1`+2-Aawen~WY3R>|sJ;@}NS5s5>0_m2QibbP-HDdWr-VR2C(!)f z7nQWP`JK_r>))1BCH@F{h&Mj)`EB{wcl)te)=XrZERyo_3(g^%K1$r6imX9kZrm&m zi?(d79>Hj8XwdIjgB+fmCKIqM^jpBehGaycgY$v$)-HRYjrZ3_=cVCW4xCbUPCqO{ zo(1k1^dh*&#U^v6UziXu(#g1ryL`&}855!TBdbLFZR38>fm*;eA2c_@d1$YB*jgtJ zs7zkL1+|Af@a(yQSyoDZqFZwSsdt!n*1Y~9VgSRHtdKh#i>l@ngx$&-q`G_0BuWJo z1jlR^L#$N8GZH05|5WnauQep%psb{z{a?mk4V7j4bwnaAtK~PbL&`6b*7PV37xaXV zClwC5Bwp8&!gLD!4yGOett(+E_3Q>NK07pz(P6b#)W`e19(zO04(04iTlwWG9P22={4zvYLd|2&+*$8{R)S(ajDeZ zhZ_D@HXW3loEs(&B?7GM;RRp=1yK$W3-0w(tan-ru`PH!CZPw*Ic!6uv;j1!ow z_HSeH-n$oW=SAhA!`g0wBzS}qsazUr{?JHI6!p~q>C+Zl)z9dtasSH-2cNyT5=50A$En8MO z*rz<3Us=FiUX-JsNu_RlN#2)P@M&~%;!Y%>Kt}N9z+ag<|6>M72%_Ev>f3hFABl?0 z$`lFnqJ%%8`uL6rrrtk){sguV5nsn7Knq=ydWPl-XW#|$hE&7Z5;WAo48#`iUA=i7 zIPHB&lG_A)$zzt8y%L8nDl%jHot>SWe0=>V3@c5@gfh@Nn8U4I0fefDg@M`!r~x+e z!nz3+H}<-H1Nf97?#`u(ZqJq$2yj7oWXv8L)dR+ZubkHfWWOeOdMYX_{fNE!42=6R zBw%SmlxwD8a^(ffHHkvpV89EEtz6BcN|h{Nm_?w5cg|Xn*?!=8-DT-%E3)};!XUjx z!IuvThFvFDy`uK9pmKBDOK%YlDyJXF8ie7@AeTOmC`8Np`H2H{gs9K{UdWae%C4;J zcVa6ym;_$ZRiMq!0|5&JFb1Q*2Bv~34o)^u4Vhy>{&{t7L-dSIs0~RA{G(h)Vz%Ej z4wT+J#~MR&4giv-$?7 z^Pzd<=V9Dlm1XzW_LCU=cMn*`CMMdfcpibu(8<%BnHN^6gAE!c2gWOgBWQq=Q1a~A2ZFpMLzQ51wLIZ ztLK4~a3Gg}hxqD&VcvpUTN zKzy&RA47!-r(79=*^iyUN5CGmkG@1>ufHPdH$ll}us7k*A>>uE-o-g;0jdy2ews~E z6Mc>41`SbAK>IhtmR_~-(wtMBpDlv#?F5#n^8OvK?gNH;Q#Bfj$VTi@tcjV z?3zg5m*S?Fo}#0r{cSRll71~Qqh%eBJDTZxDc6c!h^58dQ^7dY&W9Q>G{ z&)N3naFB4Cp>+H!ZvaLpN-B4W*;ewxhXbapjLA4X8#+_X_TY={X+qYrBF`9lkSOd_ z>XNOEt!*2qmVkKNCyA^)LrgyOKvr8|5fX`rG|2xxKkNV3u@VJMdAGFdx>wE&MO=; z2dDh$**OHT^{&3Y_oEv>8#7?yOyPG)B0-6)drN1!fkkA-_m?vE2gnAt4|13RlO;Ve zq7u9L9RDeM&9b2#p)ipd6LRQFx=W_3r?&z3^ziVW7Zen90fXJ2K7X!v?pf{`lz;9K zcuQ(7KsO~*SL$4ALJKQtZ*S0t+t6QA>F0nG)K%`2GtB4udc9g+Nom5UG7Y#!F-XGh zmn9q94dS5u0LxieSfpBYwk9&qeuCG!x-U#tb2>Q14f{`gwfVIkF@Lv2pWV7D9v zNTFqJ8jN;k^ud=JMsUr2L9h%>Pg6^(P?prb$ROPYhp0)HEY=a0PW$QC#v6q1Hhx96;i5QZ-PAJ`C>&BhQg+IPmAbH8sLkt98UtbT~5HN8{ zmd-SBhahXW~D>KqkM6I9PEe4 z#+gH8UUgH+0b%VNFm5*xqz!qE&)?9M=O#HY#LJ8lg5c%k!#UCsK;9k^Eb=fd#KzzzBL1hTReh>%kcu-n}>WPf;Xix;r2i8AV zCllyWOwy=_mO=AFo(aiK{q3{sU3T2B5HSb^(?hrH+*w&|FrHCy!4w#D9XlXL&j`HY zy?eKN42xeM|8w0Fd-!^6Rp%6KU7+$UoLnXmR5Ki$OgdomT(SMlIN5J9ATh=?PXRIu zBg|eTV66DRO@95yr2aO8f$^3n&nuJb%X#YwtD{}U`!C0`x!w{3BClfE41LM&GL^q` zg=(|VIC^VGPjJA%U*evKvOKEa#fShhnlTT}m0!Q+08Gu5nSezmj_dT0T`&>TLgsJN z2Cgy)&?8K9pbbXrQ&LiT^Y)``jxx0~rJ)N(RI)t8EDef$4}3)OU#cdxl%yEYx->9B zz?2_1&}aac;+-|crEBU?wY9b99h5AH;T`6_lSzIcg4AEX zhK~GLQyF~X=*Z_#^V&#!3652Wo&@C)=3u+S%Ar(56&PuyE^k*?SL@Nv3r~I$33TTL zRdc$<&RwH_l{gpCZP2haJhnbg3s3&zaf@92tVRhf3Rqx4ZNw}B&^pA%$q+5&E-gwHJuO)O-81dJqniA6%I({KB}9DG zfyZ%!$q-U!P)cGq9=JkAxSSFPSsG0+7%4DghW5Iv?d^xc?xH||LPs7R502mG|B?Z* za58=Ist7Vbc}5MC&D{gtBaCKXw4RSnqr!Ya2Fv65mGtPrt}c+mw~P5Hha^p*`EF2U zLkHwmR;uq%J?jlT)S?FV(P%Axvb;C!z~}bf%-Ys!!3jNL*VmfJjU9&*0=Cv()Ji){ ziW@(+T(Jc0AICW&^xit1=qLURrb#phQubMa2s@8z2~E3to0uVCmDSRQP-KA(r2)GC-SJzBH6{Y(UC4<1k)7hyeuFoT5aq~X505`lP9$57D(rZbJTqu zHaj1uR-HQ~fU80h%2Uxnpw9gsqT%VpYp&MB#4A;`wOcjxrgbEIP|ZPrJ26@}#?G)? zzz@kEKP=xUZ%^BCf0)yC82eGZ5v`MH>oE4)Qj5t3%Xtp~-zp(;gl==1CZG4a&GvEV z0apV(W0o`72B$)})7Rh@VE|xTBmTbtZ|}W+4Kku#FJ+0{S7IfGar0u=RdhYzbnBjA z;G4K}<-W>fxs)IyzI46<^og|Sm5!4)ZE0y~V7D)VGM`}39dvXo{o=P0F;D;^{|%0C zx9qHn(G6LU76%0*ptrg!1mV~}WaLwTkhOt9WNr%XEEf<6h|-(MhfT)$&cj&WYY#jM z*Y6Z^941aoOHKQq9!o5a=^_6DOaMHTYx`nx&b1`e~HsxJQNWREF~+cF_Q zCR%7#R0f0Emt^$yuK|;jzPQVw1E^m2&yy1~Mb;0|7i0O;*H@XcR8RJ|alDLRPTPjZ zIRnC`a``H)FIOx0FtPym$1HTh&(n^Gb`=E7DTfZ@@~=(QbRVuhM?XqP9M1U!2; zgv)Rm^IEYy`e%$r5FG=~S)Bo9TPAeigWbx@JrI;*M)=Se5-?Nj%*pQCe*pXk4{*sb zfFfJPH;t^|!JxcTA?6ynz1=-9b+x%b$+L&xZ7qoQ>|#t(`AlUq^VBh^_Rt52F4Vr{KOu|DE4}yL@ zek-9+a=uVYwuQsAZ|~t~36$rJ;fEzk{B>AEFZ;v=nKy49Ret|YD#aKkleI^54S$CN zrD)1L%ox-pufQ10)$}L0ySZ7cT2;?9If17a${_04^$Zhj}1D2Y2`K6)Y~TGm$P!|#m7PjbQ9^cQSF#kMtQC^%6k(<) zqhu+vWF3Vl`%+m(MP!&Uw#hn#gt5~!jG6Py_kHJomg`*CIp?|z#>{ii`##IP{(d*5 z&M&v)oU<{GDzKdFyugc^7@(TVt1lm2s5#2=IgGLCNSDt^Qm!kM{UIw&j)d5G_Y3u3 zOI{;#rKK5o!L6M4MD*k&fF-wB7pB)m52~Ny9NTlR@2Nx~j<~SHfdpxEa}GYql-|C+ zKl2kZF(X_inga2s^la|0#qxz)FTK@^#Y6-PJeNHD zye5mw$`^TS{!0E0IRE^1`RrPKP4FZ*aE4de4BOrypE|OE?RY5G*9fVU#j8y8(T|FX zLXwmgfsuEoQkGZSbCW(V#tiJ`GJaP6=>FQfW2Mt_x#I0Ex|(sN%Z^Gnbp!$2ycyiH zoSYnMXhYOHW-H}?KWbz<gZG5^Yr-1NDSJ<2vezrJUj2oMq7q$>=^PhY&;IlIW z>oH%BJkoh&M}%xIX(~}qCfMrw?}&$0^j&1&Ya`p-2{(4c7O_&cvoKD>H-X-_ZZ(NG zV+ok#wK!Cl`97|fAvkO>~!70V1+{tu*%#~Bx43vR1F+5#gY8cEBPjg5%`dzS(7v>-4Nz{{n4 zyZjpyv47}X&WRZ=b>OA!<3{qg{zn4vHlC`a>9RV}D`#qE27^X(g<}oGa#8_*I#~pF zo1V%88Hj3s4T7B$m4%4IGg=cYe|JJF zt0wiI05h1W8a9BET*GMhOgJY##u3f?yP)YSw*w=mtl}lZ_CQvo)BVdqd7Pf~jT5zJn_(^7N{xBpGbt}# zJZc1JsnnX9Q?%-q2!sdz=77#~lsj=puhBv?WP@iuGZEHO~ z2&x?xYd)$j+H=$Lp36^e9OVY(xFT{L{ql_AiD|mj_@UboQ>+gC=aGc9+RV6~2zF`U z0rxHL-4k0tvfyTwK$L?Fe!t6K`M<|dj*?6}hO`OZJ2NWgSl8|)w|W`N zcaz;U575qrhK4$DxIKT;51W~peI&;LfHdG!3doOLyO9^d%+~_)HP{qQRo$K8ROhSI zmA!7%qR=rJ+77XR*JE$olTJQwc72VmQlIb2P|IjZNd>E1YIgQhyzVv+iim`Dqb~exvCMALsx-;vl8|lMQ@ue z^Sr8PqGQtb#pWQ7nA@j)*_7yR=e79haH*x3$kN}{y7Zdmmx{CWl?zVvCHKe!$B*bu zM?!|7^qjvvf>+0^O<>>aeU}j1UqWSW!_Rz>j2;IOR?wlA^ zx*>Y(%dTAx5=Q3SCO94iVc$$_u#o=YY({JYU+if5Wy0vFPi90@BFkQ{m^Abi#j7B- z$D^~*ud&&C6t%h5#Ed81R3!g1U0pwS;mn^a0(^G!qv_!e}dN+Erqw9&ifzWfM zs&$IbmwdTVL1&?+ClDwnq5b6lfU_r4I^{AZH@RVAGTDPTrL4!9DaC%7@X>L=MF6ie zk-FV1*=L?dT%MbYn~P}6_-gDFSd1Yb#G4uqv5G4@-|I4-Lv0Ro^{ZS=Y3`d;{l=K9 zwe0HIm1s7r#xS=t{?bJ`b_B=veSBQLp z1!D6t_kR1RIi?ba5~@@d5KWa*C9+s)M!eIc=s#GzT00+OG`p=5 zMZTP+hX>JC^65`x2|SI?Y}R&cL|EmlMs<$Jy$MjL+jx#{pZ+@*z1EQ=a~eU{c0NK+ zm8s(vNDgD3+_2H<;CP9jn%3!6ceK|dL55If+l+86@Z3Eun~OFedQ8p-j#QDQ#OsBR z3YlvK?o!an9FT!~?8^eT*2@7FcqyXbn4b4<7$_|5{>s!Pf5LX7WpY&@p*nyGBUnhw zqLl;Kk)L~qhUPYvm~iAJHh@OHe)caO`M>uh`kw$gLaDK^Lk`%{*)|em?PmI7CK;VZ zVlurerHcXm>lPQE(@MIGT}@}37c@aXN<8o=LlZ{8`T+(A`ZB*ifH(Xw*4QCfpWcw- z4X=^+`m3z;RMiPWx}bdGp?`!q2A%c^99#B-^17wlmvtegJ?LvHlc%Kz`>vN?zoDjI zGZf?)K&OS>F>zJ?3c_U72hHPT;CR?g5Tk6UvWn^SzSDhgb^TKKQ+r-XImt4ce zIpeYF+CtjS6Gtup=k~yH91r<#$-EL#m@YRoWAgyAdQQt#UONvZk8A!bauLuG%nNOv z1@u=Ys}+!DASNvl)S13a`su8hF&MC1Y0!^BT zWZ(!+Q+BqA_x`3fy39=k70u?=)rqKGsq`>Hk|Lq4W-jAwuJ29QBPX3tgW-jL4cA)0 zPbx`ex4z=&JU{?KesWX`^sgdx5X$B(DcXju(lhH&*|%!1DVSqENA^T6tjMA*@3*;3!y6Hoj9 zKz$jbE~pCn*HL{iM1l&5Xl{kaAaI7tqBQGo5DiG0wM~p zN+#fcd0-J!@6@N|R83CMe~N-h%~64wH+#aR-4C7JAnAF^ru%)R0U03rvwO|Sx#b9f zi|px(=F>f_^JgNu7a)=+7mO=k|DINe2wCAzk=0+$fbbCn6*!tf*AR5WUFZR&;>XCf zz+%8@3_c-Ekb}8wjB_^@7k60gN*Mb6nW(~G#!*`$uy7n3NDZ9ZAYlk=8iJo9bOLLS zvYc(+pZ68PMZmG#&Z;~eqS_7j*KroE4v*%+pm<`?> zg<)r$cskOa`b9`5zRXIf{Bno|s?wwnIK{EHwz&?EjGVaM!4DG6l1jpi z&Lq+3Z(x=c9qmhp)xaM3N)vVd^E&H9lz3Ukx34n}&jZ#h6B|r^G;2;NF-k8C;Ov8= zTx1#a43ZvVtKV7xLg9!{9M)5Dk#^$){+ijv@7}d7)|W?jv->zkv4R3046=2R3>M{O z6$&y=E)+P%f;CML9M>e1)D^-7=Fu9 z1_h?er;&(Q3pJ0pTkbq)Yj?YmS4jrwov#VoH#3H4^44*-t(C67< zIT>9PRxI!pc66$%weWXx!aVF$2e8Xuw=%MoA#HAPT-f=jgM)aF`fF=%@fvVIZ!?Qj zG0?Y$K~}jjao0PSVnj8yTn`fQg@M-lFD(qG7Vr(wXz!fn z7e0PWxXJN=BPFC62zkEA6msWmq_B*%WMTo3GwHtI zQCMkVZ%G>FV^#0Krh@uD=Cwu+=34T>l1FFk7tw73qD+Y7+INNmxDCyI}W{K|uo02rr;$|F*T$q&LGW#7$GClBfhj{yv z5@uvU5Uw#+h2REYQdAc9nHjTObKQ>zR80(zw?ZHrIeqrOJW0^uO+rm;-d)LCxf|$m z|75E9gAL8Q!IZ*fqekC?T!?0b^pB^9v z$bhM>&7(gJ0l_uJuF8iyu~_aXdS8*{J{FWXG8RG=OOqT`o>4TObi<`(@3{e#aw9ED zFO*|VFBX**4MU=K2QFbHN?z(49&%^CD5Ay4MPDQMt8l>vuO6E__h)sa+qdV`r?UoU?wy86!qjW0k`<;OG zE%jU5)#P)q*zL0Ylp+r{?<)yHeS6x?5WhP4ml}4v1YtIUaw5BT9N(8a^YwS&db^zhft`4 z)D%{0{3qJn?&zuj@9Otq-!`TDGH)mBnI2 zVPWCX^2y(Lsd~L7X9iMZM9P^f2_+)T!`}AwsaUf4YiOEIkiwAo65FFq4}4aH31}b- z*AZa3Qbe^v(ZCr2yQSmdUgknkA2HT&ZB}H*KJY#i>M9DXEAz*{#{R#bm|s$NRoEk`eOO!45{D_WQMlT8H<>6S zFDu*m#TwQ!wc4^wnWbqV;^I-LVr6Y+bDrt52~<^my12rPQX0{(wH47md3$>oQ5{YY z(D=cxue?_XaK+Ar)6Mx{5)u-|(({Xpsm*Uaaar(#2M=DZ^%hQ$)H%}BJWe%P(rXnl zQ?<;|{@}`~Q-hG(zc7WmP>8uex6pGY457wIM zHcj!dv6O2cQsHd8yUK#k)oZWz#QOsxU%+p&!_8VjR{2)8q$L{Prq@Xm7B#=|c)&;; zeILMjrQX*_n!m*laYt^!LB4ISuLvBEjzMu14sf5WTHJSWy9Wsb8M|`lr~1-RF5YvL z~z4&oA9KymqH`c(B)AlhLsgYcmgK>{`{$lNqO$I9On()YRPZIXX7O zXACbLZD)g^@2eDWqVnR$sl@*Nmf7|EnwtLiH`rkgGWwiuF_6RH3yhqAVB+c=$JF=0 zVv}<`S?O9lD<^pluwS_Rk(O~^UNTXP;_2xLPizl6v>UGR=o(9l`z&K*sO)jB$e0X( zGjL)^dgbd%3JNEDGtTH6aVF)v|D1K7t{(Zb5gp)zSkSSUF-1n9Kz~g^LaE~&-Y0{T zZc$uMCWT!AoYq7Y1^gVH+%Ja zPY?gIZ?6LG(PXg$GKEJx#Td<3)&;WuUK&$; zUDsT{N)-!oyX$>2p_L3DiD29yXia=~ZCFvIoO7asU-ZXx-w9LG~!j5t+F8BU=P zP{Q6vp83fzwPx7Z>tOmaV(p=VDquR*0z9`&44_-_4!(6@bv@1r%_%EuYVMZSaXg`^ zSu*`Y->zd1j8ois%@mosc<}_hBK)Ip2!qq@ZIy7MKcBkac#0Zxi}m!1QKP0#xZpgm z-10Wg3p|;_h&yyH@j*=?rBP^!_9t_@_Db4_;fg1Q?Kls2#y!#yR)XbfA9Z1azYxuL zs+4hTo*yZpg^-SnAM8?u<>(=z%*rcUgPj~sZK64Y4jGw?B)zi6smfhO)h)BeXULy? z7iDJsyFwuHU?p~NWTdpas|&Ph;JCXo0ducR59pJ6K0sv+B0@R{HO4aKey@KP{IiQIF z{))MoAy~c1&poWBx2;6>G0jrfM6m$`ELl-ekv(l0_A9$_-i7rNfw~}~Demt%{h$Wt z@^dCJ4)yj&I%M@rb#N^3*zeSnSj2}ad3IfHal7H1xHzsUT?DYGS^C@$&z6i>CB42n zga`EVj`5ET__(Jpy#u80>UV158;{l`Na(^flCQBav&tE<&zaps|97)U=UWS_e?L}{ TG7A2G1!QJ)!LaPC>w|v-il{R| literal 25469 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 Ai2wiq diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index 2b58fe71757..09fa0e217ad 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -2311,7 +2311,7 @@ "aSw" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aSx" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/security) "aSy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/security_port) -"aSz" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aSz" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aSA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aSB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aSC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) @@ -5255,7 +5255,7 @@ "bXc" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bXd" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bXe" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bXf" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/obj/item/ammo_magazine/c45m/practice,/turf/simulated/floor/tiled,/area/security/range) +"bXf" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/turf/simulated/floor/tiled,/area/security/range) "bXg" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/table/steel,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bXh" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bXi" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) @@ -6167,7 +6167,7 @@ "coE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "coF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "coG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) -"coH" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"coH" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/tactical) "coI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) "coJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/medbay_aft) "coK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) diff --git a/maps/northern_star/polaris-2.dmm b/maps/northern_star/polaris-2.dmm index 3f14b894893..9708404aa3d 100644 --- a/maps/northern_star/polaris-2.dmm +++ b/maps/northern_star/polaris-2.dmm @@ -869,11 +869,11 @@ "aqK" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqL" = (/obj/structure/sign/securearea,/turf/simulated/shuttle/wall/dark/hard_corner,/area/centcom/specops) "aqM" = (/obj/machinery/door/airlock/centcom,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aqN" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aqN" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqO" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqP" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aqQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/p90,/obj/item/ammo_magazine/p90,/obj/item/ammo_magazine/p90,/obj/item/ammo_magazine/p90,/obj/item/weapon/gun/projectile/automatic/p90,/obj/item/weapon/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aqR" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aqQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/weapon/gun/projectile/automatic/m9mmp90,/obj/item/weapon/gun/projectile/automatic/m9mmp90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aqR" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqS" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "aqT" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqU" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -896,7 +896,7 @@ "arl" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "arm" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "arn" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aro" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/ammo_magazine/a556,/obj/item/ammo_magazine/a556,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aro" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "arp" = (/obj/machinery/deployable/barrier,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "arq" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "arr" = (/obj/effect/floor_decal/corner/purple{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) @@ -953,7 +953,7 @@ "asq" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "asr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/xray,/obj/item/weapon/gun/energy/xray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ass" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ast" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/rubber,/obj/item/ammo_magazine/c45m/flash,/obj/item/ammo_magazine/c45m/flash,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ast" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "asu" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "asv" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "asw" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -1207,8 +1207,8 @@ "axk" = (/obj/structure/table/rack,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "axl" = (/obj/structure/table/rack,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "axm" = (/obj/structure/table/rack,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"axn" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"axo" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/ammo_magazine/c762,/obj/item/weapon/gun/projectile/automatic/sts35,/obj/item/weapon/gun/projectile/automatic/sts35,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"axn" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"axo" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/weapon/gun/projectile/automatic/sts35,/obj/item/weapon/gun/projectile/automatic/sts35,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "axp" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "axq" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall/dark,/area/shuttle/administration/centcom) "axr" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) From bc3f4fb0dc065a4a013cea728972b1a80a70b55e Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 05:07:34 -0400 Subject: [PATCH 3/8] Polishing oversights away --- code/modules/projectiles/ammunition/boxes.dm | 30 ++++++++++++------ .../projectiles/guns/projectile/automatic.dm | 16 +++++----- icons/obj/ammo.dmi | Bin 25318 -> 24904 bytes icons/obj/gun.dmi | Bin 70629 -> 70811 bytes 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index d4b450341cc..a43741bbc21 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -288,7 +288,7 @@ /obj/item/ammo_magazine/m556 name = "magazine (5.56mm)" - icon_state = "c5.56mid" + icon_state = "m556" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = "a556" @@ -325,14 +325,9 @@ max_ammo = 30 /obj/item/ammo_magazine/m556/small - name = "magazine (5.56)" - icon_state = "c5.56" // This icon is named wrongly. Change later. - mag_type = MAGAZINE - caliber = "a762" + icon_state = "m556-small" matter = list(DEFAULT_WALL_MATERIAL = 900) - ammo_type = /obj/item/ammo_casing/a762 max_ammo = 10 - multiple_sprites = 1 /obj/item/ammo_magazine/m556/small/empty initial_ammo = 0 @@ -342,7 +337,7 @@ ammo_type = /obj/item/ammo_casing/a556p /obj/item/ammo_magazine/m556/small/ap - name = "magazine (7.62mm armor-piercing)" + name = "magazine (5.56mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a556/ap /obj/item/ammo_magazine/clip/c556 @@ -411,7 +406,7 @@ /obj/item/ammo_magazine/m762 name = "magazine (7.62mm)" - icon_state = "c7.62" + icon_state = "m762-small" mag_type = MAGAZINE caliber = "a762" matter = list(DEFAULT_WALL_MATERIAL = 2000) @@ -426,6 +421,23 @@ /obj/item/ammo_magazine/m762/empty initial_ammo = 0 +/obj/item/ammo_magazine/m762m // Intentionally not a subtype of m762 because it's supposed to be incompatible with the Z8 Bulldog rifle. + name = "magazine (7.62mm)" + icon_state = "m762" + mag_type = MAGAZINE + caliber = "a762" + matter = list(DEFAULT_WALL_MATERIAL = 4000) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m762m/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/m762m/empty + initial_ammo = 0 + /obj/item/ammo_magazine/clip/c762 name = "ammo clip (7.62mm)" icon_state = "clip_rifle" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 373e0bff8e1..a3e1f671ec0 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -73,8 +73,8 @@ /obj/item/weapon/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands) ..() - if(istype(ammo_magazine,/obj/item/ammo_magazine/s762)) - icon_state = "arifle-small" + if(istype(ammo_magazine,/obj/item/ammo_magazine/m556/small)) + icon_state = "arifle-small" // If using the small magazines, use the small magazine sprite. else icon_state = (ammo_magazine)? "arifle" : "arifle-empty" if(!ignore_inhands) update_held_icon() @@ -343,7 +343,7 @@ icon_state = (ammo_magazine)? "tommygun" : "tommygun-empty" // update_held_icon() -/obj/item/weapon/gun/projectile/automatic/carbine +/obj/item/weapon/gun/projectile/automatic/carbine // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start. name = "assault carbine" desc = "The bullpup configured GP3000 is a lightweight, compact, military-grade assault rifle produced by Gurov Projectile Weapons LLC. It is sold almost exclusively to standing armies. The serial number on this one has been scratched off. Uses 5.56mm rounds." icon_state = "bullpup" @@ -354,8 +354,8 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE - magazine_type = /obj/item/ammo_magazine/m762 - allowed_magazines = list(/obj/item/ammo_magazine/m762) + magazine_type = /obj/item/ammo_magazine/m762m + allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762m) one_handed_penalty = 4 @@ -366,9 +366,9 @@ /obj/item/weapon/gun/projectile/automatic/carbine/update_icon(var/ignore_inhands) ..() - if(ammo_magazine) - icon_state = "bullpup" + if(istype(ammo_magazine,/obj/item/ammo_magazine/m762)) + icon_state = "bullpup-small" // If using the smaller magazines, use the small mag sprite. else icon_state = "bullpup-empty" item_state = (ammo_magazine)? "bullpup" : "bullpup-empty" - if(!ignore_inhands) update_held_icon() + if(!ignore_inhands) update_held_icon() \ No newline at end of file diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a120049eeadead0db24447477966a735e0dc0969..dcdb20e070c02b8aa3396a1095a1e030b4260674 100644 GIT binary patch literal 24904 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 NjLsUC=-+t!{{Y&mKyd&7 literal 25318 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 TG7A2G1!QJ)!LaPC>w|v-il{R| diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index ba02b5a3246aeea1ab6d7ecc6b814ae1b440a32c..75f5005aa5794183a1504ec505ee657b66650f9b 100644 GIT binary patch delta 33101 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
  • &c9BvAY_;y3 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 OJ9oz5^e0W*2mcNK?<%$c delta 32917 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 bUL=jFF2?MSk4A9-0)Gs3jdb#~Y=ZtTdbVTq From bb2f19fe7d3f70d0d7c05663f314acd763d154ec Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 05:14:51 -0400 Subject: [PATCH 4/8] Map fixes, and a comment removal --- code/modules/projectiles/ammunition/boxes.dm | 22 -------------------- maps/northern_star/polaris-1.dmm | 6 +++--- maps/northern_star/polaris-2.dmm | 6 +++--- 3 files changed, 6 insertions(+), 28 deletions(-) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index a43741bbc21..46c94ed1e66 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -232,28 +232,6 @@ /obj/item/ammo_magazine/box/c9mm/empty initial_ammo = 0 -///////// 5mm ///////// -/* -/obj/item/ammo_magazine/c5mm - name = "magazine (5mm)" - icon_state = "fiveseven" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/c5mm - matter = list(DEFAULT_WALL_MATERIAL = 1200) - caliber = "5mm" - max_ammo = 20 - //multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c5mm - name = "ammo clip (5mm)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading 5mm rounds into magazines." - caliber = "5mm" - ammo_type = /obj/item/ammo_casing/c5mm - matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 5mm casing = 60 metal - max_ammo = 9 - multiple_sprites = 1 -*/ ///////// 10mm ///////// /obj/item/ammo_magazine/m10mm diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index 09fa0e217ad..faa45896592 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -2311,7 +2311,7 @@ "aSw" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aSx" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/security) "aSy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/security_port) -"aSz" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aSz" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aSA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aSB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aSC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) @@ -5255,7 +5255,7 @@ "bXc" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bXd" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bXe" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bXf" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/mc9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/turf/simulated/floor/tiled,/area/security/range) +"bXf" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/turf/simulated/floor/tiled,/area/security/range) "bXg" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/table/steel,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bXh" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bXi" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) @@ -6167,7 +6167,7 @@ "coE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "coF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "coG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) -"coH" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"coH" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/tactical) "coI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) "coJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/medbay_aft) "coK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) diff --git a/maps/northern_star/polaris-2.dmm b/maps/northern_star/polaris-2.dmm index 9708404aa3d..edead8f1980 100644 --- a/maps/northern_star/polaris-2.dmm +++ b/maps/northern_star/polaris-2.dmm @@ -859,7 +859,7 @@ "aqA" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqB" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aqD" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aqD" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqE" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/launcher/grenade,/obj/item/weapon/gun/launcher/grenade,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqF" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps{pixel_x = 4; pixel_y = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/box/frags,/obj/item/weapon/storage/box/smokes,/obj/item/weapon/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqG" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -872,7 +872,7 @@ "aqN" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqO" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqP" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"aqQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/weapon/gun/projectile/automatic/m9mmp90,/obj/item/weapon/gun/projectile/automatic/m9mmp90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"aqQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/weapon/gun/projectile/automatic/p90,/obj/item/weapon/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqR" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/ammo_magazine/m556saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "aqS" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "aqT" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -1179,7 +1179,7 @@ "awI" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "awJ" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "awK" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"awL" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/mc9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"awL" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/m9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "awM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "awN" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "awO" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) From 36544bc7daf51665d676e9d93e0246975ed1fca2 Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 16:23:39 -0400 Subject: [PATCH 5/8] Documentation, proper file naming, and more consistency --- .../ammunition/{boxes.dm => magazines.dm} | 995 +++++++++--------- .../ammunition/{bullets.dm => rounds.dm} | 610 ++++++----- .../projectiles/guns/projectile/automatic.dm | 2 +- .../projectiles/guns/projectile/revolver.dm | 4 +- .../projectiles/guns/projectile/shotgun.dm | 4 +- polaris.dme | 4 +- 6 files changed, 836 insertions(+), 783 deletions(-) rename code/modules/projectiles/ammunition/{boxes.dm => magazines.dm} (90%) rename code/modules/projectiles/ammunition/{bullets.dm => rounds.dm} (85%) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/magazines.dm similarity index 90% rename from code/modules/projectiles/ammunition/boxes.dm rename to code/modules/projectiles/ammunition/magazines.dm index 46c94ed1e66..92512b0dd11 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -1,487 +1,510 @@ -///////// .357 ///////// - -/obj/item/ammo_magazine/s357 - name = "speedloader (.357)" - desc = "A speedloader for .357 revolvers." - icon_state = "38" - caliber = "357" - ammo_type = /obj/item/ammo_casing/a357 - matter = list(DEFAULT_WALL_MATERIAL = 1260) - max_ammo = 6 - multiple_sprites = 1 - -///////// .38 ///////// - -/obj/item/ammo_magazine/s38 - name = "speedloader (.38)" - desc = "A speedloader for .38 revolvers." - icon_state = "38" - caliber = "38" - matter = list(DEFAULT_WALL_MATERIAL = 360) - ammo_type = /obj/item/ammo_casing/a38 - max_ammo = 6 - multiple_sprites = 1 - -/obj/item/ammo_magazine/s38/rubber - name = "speedloader (.38 rubber)" - ammo_type = /obj/item/ammo_casing/a38r - -/obj/item/ammo_magazine/s38/emp - name = "ammunition box (.38 haywire)" - ammo_type = /obj/item/ammo_casing/a38/emp - -///////// .45 ///////// - -/obj/item/ammo_magazine/m45 - name = "pistol magazine (.45)" - icon_state = "45" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal - caliber = ".45" - max_ammo = 7 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m45/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45/rubber - name = "magazine (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a45r - -/obj/item/ammo_magazine/m45/practice - name = "magazine (.45 practice)" - ammo_type = /obj/item/ammo_casing/a45p - -/obj/item/ammo_magazine/m45/flash - name = "magazine (.45 flash)" - ammo_type = /obj/item/ammo_casing/a45f - -/obj/item/ammo_magazine/m45/ap - name = "magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/box/emp/b45 - name = "ammunition box (.45 haywire)" - ammo_type = /obj/item/ammo_casing/a45/emp - -/obj/item/ammo_magazine/m45uzi - name = "stick magazine (.45)" - icon_state = "uzi45" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1200) - caliber = ".45" - max_ammo = 16 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m45uzi/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45tommy - name = "tommygun magazine (.45)" - icon_state = "tommy-mag" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1500) - caliber = ".45" - max_ammo = 20 - -/obj/item/ammo_magazine/m45tommy/ap - name = "tommygun magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/m45tommy/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45tommydrum - name = "tommygun drum magazine (.45)" - icon_state = "tommy-drum" - w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 3750) - caliber = ".45" - max_ammo = 50 - -/obj/item/ammo_magazine/m45tommydrum/ap - name = "tommygun drum magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/m45tommydrum/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c45 - name = "ammo clip (.45)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading .45 rounds into magazines." - caliber = ".45" - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c45/rubber - name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a45r - -/obj/item/ammo_magazine/clip/c45/practice - name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/a45p - -/obj/item/ammo_magazine/clip/c45/flash - name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/a45f - -///////// 9mm ///////// - -/obj/item/ammo_magazine/m9mm - name = "magazine (9mm)" - icon_state = "9x19p" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 480) - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - max_ammo = 8 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mm/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m9mm/flash - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/m9mm/rubber - name = "magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/m9mm/practice - name = "magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/m9mmt - name = "top mounted magazine (9mm)" - icon_state = "9mmt" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 1200) - caliber = "9mm" - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mmt/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m9mmt/rubber - name = "top mounted magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/m9mmt/flash - name = "top mounted magazine (9mm flash)" - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/m9mmt/practice - name = "top mounted magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/m9mmp90 - name = "high capacity top mounted magazine (9mm armor-piercing)" - icon_state = "p90" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a9mm/ap - matter = list(DEFAULT_WALL_MATERIAL = 3000) - caliber = "9mm" - max_ammo = 50 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mmp90/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c9mm - name = "ammo clip (9mm)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading 9mm rounds into magazines." - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c9mm/rubber - name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/clip/c9mm/practice - name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/clip/c9mm/flash - name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/box/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? - name = "ammunition Box (9mm)" - icon_state = "9mm" - origin_tech = list(TECH_COMBAT = 2) - matter = list(DEFAULT_WALL_MATERIAL = 1800) - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - max_ammo = 30 - -/obj/item/ammo_magazine/box/c9mm/empty - initial_ammo = 0 - -///////// 10mm ///////// - -/obj/item/ammo_magazine/m10mm - name = "magazine (10mm)" - icon_state = "10mm" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "10mm" - matter = list(DEFAULT_WALL_MATERIAL = 1500) - ammo_type = /obj/item/ammo_casing/a10mm - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m10mm/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c10mm - name = "ammo clip (10mm)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading 5mm rounds into magazines." - caliber = "10mm" - ammo_type = /obj/item/ammo_casing/a10mm - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/box/emp/b10 - name = "ammunition box (10mm haywire)" - ammo_type = /obj/item/ammo_casing/a10mm/emp - -///////// 5.56mm ///////// - -/obj/item/ammo_magazine/m556 - name = "magazine (5.56mm)" - icon_state = "m556" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "a556" - matter = list(DEFAULT_WALL_MATERIAL = 1800) - ammo_type = /obj/item/ammo_casing/a556 - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m556/ext - name = "extended magazine (5.56mm)" - matter = list(DEFAULT_WALL_MATERIAL = 2700) - max_ammo = 30 - -/obj/item/ammo_magazine/m556/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/ext/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/practice - name = "magazine (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556p - -/obj/item/ammo_magazine/m556/practice/ext - name = "extended magazine (5.56mm practice)" - max_ammo = 30 - -/obj/item/ammo_magazine/m556/ap - name = "magazine (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/m556/ap/ext - name = "extended magazine (5.56mm armor-piercing)" - max_ammo = 30 - -/obj/item/ammo_magazine/m556/small - icon_state = "m556-small" - matter = list(DEFAULT_WALL_MATERIAL = 900) - max_ammo = 10 - -/obj/item/ammo_magazine/m556/small/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/small/practice - name = "magazine (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556p - -/obj/item/ammo_magazine/m556/small/ap - name = "magazine (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/clip/c556 - name = "ammo clip (5.56mm)" - icon_state = "clip_rifle" - caliber = "a556" - ammo_type = /obj/item/ammo_casing/a556 - matter = list(DEFAULT_WALL_MATERIAL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal - max_ammo = 5 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c556/ap - name = "rifle clip (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/clip/c556/practice - name = "rifle clip (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556 - -/obj/item/ammo_magazine/m556saw - name = "magazine box (5.56mm)" - icon_state = "a556" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "a556" - matter = list(DEFAULT_WALL_MATERIAL = 10000) - ammo_type = /obj/item/ammo_casing/a556 - w_class = ITEMSIZE_NORMAL // This should NOT fit in your pocket!! - max_ammo = 50 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m556saw/ap - name = "magazine box (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/m556saw/empty - initial_ammo = 0 - -///////// .50 AE ///////// - -/obj/item/ammo_magazine/m50 - name = "magazine (.50 AE)" - icon_state = "50ae" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = ".50" - matter = list(DEFAULT_WALL_MATERIAL = 1260) - ammo_type = /obj/item/ammo_casing/a50 - max_ammo = 7 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m50/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c50 - name = "ammo clip (.50 AE)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading .50 Action Express rounds into magazines." - caliber = ".50" - ammo_type = /obj/item/ammo_casing/a50 - matter = list(DEFAULT_WALL_MATERIAL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal - max_ammo = 9 - multiple_sprites = 1 - -///////// 7.62mm ///////// - -/obj/item/ammo_magazine/m762 - name = "magazine (7.62mm)" - icon_state = "m762-small" - mag_type = MAGAZINE - caliber = "a762" - matter = list(DEFAULT_WALL_MATERIAL = 2000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 10 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m762/ap - name = "magazine (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/m762/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m762m // Intentionally not a subtype of m762 because it's supposed to be incompatible with the Z8 Bulldog rifle. - name = "magazine (7.62mm)" - icon_state = "m762" - mag_type = MAGAZINE - caliber = "a762" - matter = list(DEFAULT_WALL_MATERIAL = 4000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m762m/ap - name = "magazine (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/m762m/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c762 - name = "ammo clip (7.62mm)" - icon_state = "clip_rifle" - caliber = "a762" - ammo_type = /obj/item/ammo_casing/a762 - matter = list(DEFAULT_WALL_MATERIAL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal - max_ammo = 5 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c762/ap - name = "rifle clip (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/clip/c762/practice - name = "rifle clip (7.62mm practice)" - ammo_type = /obj/item/ammo_casing/a762p - -///////// 12g ///////// - -/obj/item/ammo_magazine/m12gdrum - name = "magazine (12 gauge)" - icon_state = "12g" - mag_type = MAGAZINE - caliber = "shotgun" - matter = list(DEFAULT_WALL_MATERIAL = 2200) - ammo_type = /obj/item/ammo_casing/a12g - max_ammo = 24 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m12gdrum/beanbag - name = "magazine (12 gauge beanbag)" - ammo_type = /obj/item/ammo_casing/a12g/beanbag - -/obj/item/ammo_magazine/m12gdrum/pellet - name = "magazine (12 gauge pellet)" - ammo_type = /obj/item/ammo_casing/a12g/pellet - -/obj/item/ammo_magazine/m12gdrum/flash - name = "magazine (12 gauge flash)" - ammo_type = /obj/item/ammo_casing/a12g/flash - -/obj/item/ammo_magazine/m12gdrum/empty - initial_ammo = 0 - -///////// .75 Gyrojet ///////// - -/obj/item/ammo_magazine/m75 - name = "ammo magazine (.75 Gyrojet)" - icon_state = "75" - mag_type = MAGAZINE - caliber = "75" - ammo_type = /obj/item/ammo_casing/a75 - multiple_sprites = 1 - max_ammo = 4 - -/obj/item/ammo_magazine/m75/empty - initial_ammo = 0 - -///////// Misc. ///////// - -/obj/item/ammo_magazine/caps - name = "speedloader (caps)" - icon_state = "T38" - caliber = "caps" - color = "#FF0000" - ammo_type = /obj/item/ammo_casing/cap - matter = list(DEFAULT_WALL_MATERIAL = 600) - max_ammo = 7 +/************************************************************************/ +/* +# An explaination of the naming format for guns and ammo: +# +# a = Ammo, as in individual rounds of ammunition. +# b = Box, intended to have ammo taken out one at a time by hand. +# c = Clips, intended to reload magazines or guns quickly. +# m = Magazine, intended to hold rounds of ammo. +# s = Speedloaders, intended to reload guns quickly. +# +# Use this format, followed by the caliber. For example, a shotgun's caliber +# variable is "12g" as a result. Ergo, a shotgun round's path would have "a12g", +# or a magazine with shotgun shells would be "m12g" instead. To avoid confusion +# for developers and in-game admins spawning these items, stick to this format. +# Likewise, when creating new rounds, the caliber variable should match whatever +# the name says. +# +# This comment is copied in magazines.dm as well. +*/ +/************************************************************************/ + + + +///////// .357 ///////// + +/obj/item/ammo_magazine/s357 + name = "speedloader (.357)" + desc = "A speedloader for .357 revolvers." + icon_state = "38" + caliber = "357" + ammo_type = /obj/item/ammo_casing/a357 + matter = list(DEFAULT_WALL_MATERIAL = 1260) + max_ammo = 6 + multiple_sprites = 1 + +///////// .38 ///////// + +/obj/item/ammo_magazine/s38 + name = "speedloader (.38)" + desc = "A speedloader for .38 revolvers." + icon_state = "38" + caliber = ".38" + matter = list(DEFAULT_WALL_MATERIAL = 360) + ammo_type = /obj/item/ammo_casing/a38 + max_ammo = 6 + multiple_sprites = 1 + +/obj/item/ammo_magazine/s38/rubber + name = "speedloader (.38 rubber)" + ammo_type = /obj/item/ammo_casing/a38r + +/obj/item/ammo_magazine/s38/emp + name = "speedloader (.38 haywire)" + ammo_type = /obj/item/ammo_casing/a38/emp + +///////// .45 ///////// + +/obj/item/ammo_magazine/m45 + name = "pistol magazine (.45)" + icon_state = "45" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + caliber = ".45" + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m45/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45/rubber + name = "magazine (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a45r + +/obj/item/ammo_magazine/m45/practice + name = "magazine (.45 practice)" + ammo_type = /obj/item/ammo_casing/a45p + +/obj/item/ammo_magazine/m45/flash + name = "magazine (.45 flash)" + ammo_type = /obj/item/ammo_casing/a45f + +/obj/item/ammo_magazine/m45/ap + name = "magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/box/emp/b45 + name = "ammunition box (.45 haywire)" + ammo_type = /obj/item/ammo_casing/a45/emp + +/obj/item/ammo_magazine/m45uzi + name = "stick magazine (.45)" + icon_state = "uzi45" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 1200) + caliber = ".45" + max_ammo = 16 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m45uzi/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45tommy + name = "tommygun magazine (.45)" + icon_state = "tommy-mag" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 1500) + caliber = ".45" + max_ammo = 20 + +/obj/item/ammo_magazine/m45tommy/ap + name = "tommygun magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/m45tommy/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45tommydrum + name = "tommygun drum magazine (.45)" + icon_state = "tommy-drum" + w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 3750) + caliber = ".45" + max_ammo = 50 + +/obj/item/ammo_magazine/m45tommydrum/ap + name = "tommygun drum magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/m45tommydrum/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c45 + name = "ammo clip (.45)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading .45 rounds into magazines." + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c45/rubber + name = "ammo clip (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a45r + +/obj/item/ammo_magazine/clip/c45/practice + name = "ammo clip (.45 practice)" + ammo_type = /obj/item/ammo_casing/a45p + +/obj/item/ammo_magazine/clip/c45/flash + name = "ammo clip (.45 flash)" + ammo_type = /obj/item/ammo_casing/a45f + +///////// 9mm ///////// + +/obj/item/ammo_magazine/m9mm + name = "magazine (9mm)" + icon_state = "9x19p" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + matter = list(DEFAULT_WALL_MATERIAL = 480) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m9mm/flash + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/m9mm/rubber + name = "magazine (9mm rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/m9mm/practice + name = "magazine (9mm practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/m9mmt + name = "top mounted magazine (9mm)" + icon_state = "9mmt" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a9mm + matter = list(DEFAULT_WALL_MATERIAL = 1200) + caliber = "9mm" + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mmt/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m9mmt/rubber + name = "top mounted magazine (9mm rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/m9mmt/flash + name = "top mounted magazine (9mm flash)" + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/m9mmt/practice + name = "top mounted magazine (9mm practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/m9mmp90 + name = "high capacity top mounted magazine (9mm armor-piercing)" + icon_state = "p90" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a9mm/ap + matter = list(DEFAULT_WALL_MATERIAL = 3000) + caliber = "9mm" + max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mmp90/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c9mm + name = "ammo clip (9mm)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading 9mm rounds into magazines." + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c9mm/rubber + name = "ammo clip (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/clip/c9mm/practice + name = "ammo clip (.45 practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/clip/c9mm/flash + name = "ammo clip (.45 flash)" + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/box/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? + name = "ammunition Box (9mm)" + icon_state = "9mm" + origin_tech = list(TECH_COMBAT = 2) + matter = list(DEFAULT_WALL_MATERIAL = 1800) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + max_ammo = 30 + +/obj/item/ammo_magazine/box/c9mm/empty + initial_ammo = 0 + +///////// 10mm ///////// + +/obj/item/ammo_magazine/m10mm + name = "magazine (10mm)" + icon_state = "10mm" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "10mm" + matter = list(DEFAULT_WALL_MATERIAL = 1500) + ammo_type = /obj/item/ammo_casing/a10mm + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m10mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c10mm + name = "ammo clip (10mm)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading 5mm rounds into magazines." + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm + matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/box/emp/b10 + name = "ammunition box (10mm haywire)" + ammo_type = /obj/item/ammo_casing/a10mm/emp + +///////// 5.56mm ///////// + +/obj/item/ammo_magazine/m556 + name = "magazine (5.56mm)" + icon_state = "m556" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "5.56mm" + matter = list(DEFAULT_WALL_MATERIAL = 1800) + ammo_type = /obj/item/ammo_casing/a556 + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m556/ext + name = "extended magazine (5.56mm)" + matter = list(DEFAULT_WALL_MATERIAL = 2700) + max_ammo = 30 + +/obj/item/ammo_magazine/m556/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/ext/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/practice + name = "magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556p + +/obj/item/ammo_magazine/m556/practice/ext + name = "extended magazine (5.56mm practice)" + max_ammo = 30 + +/obj/item/ammo_magazine/m556/ap + name = "magazine (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/m556/ap/ext + name = "extended magazine (5.56mm armor-piercing)" + max_ammo = 30 + +/obj/item/ammo_magazine/m556/small + icon_state = "m556-small" + matter = list(DEFAULT_WALL_MATERIAL = 900) + max_ammo = 10 + +/obj/item/ammo_magazine/m556/small/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/small/practice + name = "magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556p + +/obj/item/ammo_magazine/m556/small/ap + name = "magazine (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/clip/c556 + name = "ammo clip (5.56mm)" + icon_state = "clip_rifle" + caliber = "5.56mm" + ammo_type = /obj/item/ammo_casing/a556 + matter = list(DEFAULT_WALL_MATERIAL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal + max_ammo = 5 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c556/ap + name = "rifle clip (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/clip/c556/practice + name = "rifle clip (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556 + +/obj/item/ammo_magazine/m556saw + name = "magazine box (5.56mm)" + icon_state = "a556" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "5.56mm" + matter = list(DEFAULT_WALL_MATERIAL = 10000) + ammo_type = /obj/item/ammo_casing/a556 + w_class = ITEMSIZE_NORMAL // This should NOT fit in your pocket!! + max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m556saw/ap + name = "magazine box (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/m556saw/empty + initial_ammo = 0 + +///////// .50 AE ///////// + +/obj/item/ammo_magazine/m50 + name = "magazine (.50 AE)" + icon_state = "50ae" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = ".50AE" + matter = list(DEFAULT_WALL_MATERIAL = 1260) + ammo_type = /obj/item/ammo_casing/a50ae + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m50/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c50 + name = "ammo clip (.50 AE)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading .50 Action Express rounds into magazines." + caliber = ".50AE" + ammo_type = /obj/item/ammo_casing/a50ae + matter = list(DEFAULT_WALL_MATERIAL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal + max_ammo = 9 + multiple_sprites = 1 + +///////// 7.62mm ///////// + +/obj/item/ammo_magazine/m762 + name = "magazine (7.62mm)" + icon_state = "m762-small" + mag_type = MAGAZINE + caliber = "7.62mm" + matter = list(DEFAULT_WALL_MATERIAL = 2000) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 10 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m762/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/m762/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m762m // Intentionally not a subtype of m762 because it's supposed to be incompatible with the Z8 Bulldog rifle. + name = "magazine (7.62mm)" + icon_state = "m762" + mag_type = MAGAZINE + caliber = "7.62mm" + matter = list(DEFAULT_WALL_MATERIAL = 4000) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m762m/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/m762m/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c762 + name = "ammo clip (7.62mm)" + icon_state = "clip_rifle" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762 + matter = list(DEFAULT_WALL_MATERIAL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal + max_ammo = 5 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c762/ap + name = "rifle clip (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/clip/c762/practice + name = "rifle clip (7.62mm practice)" + ammo_type = /obj/item/ammo_casing/a762p + +///////// 12g ///////// + +/obj/item/ammo_magazine/m12gdrum + name = "magazine (12 gauge)" + icon_state = "12g" + mag_type = MAGAZINE + caliber = "12g" + matter = list(DEFAULT_WALL_MATERIAL = 2200) + ammo_type = /obj/item/ammo_casing/a12g + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m12gdrum/beanbag + name = "magazine (12 gauge beanbag)" + ammo_type = /obj/item/ammo_casing/a12g/beanbag + +/obj/item/ammo_magazine/m12gdrum/pellet + name = "magazine (12 gauge pellet)" + ammo_type = /obj/item/ammo_casing/a12g/pellet + +/obj/item/ammo_magazine/m12gdrum/flash + name = "magazine (12 gauge flash)" + ammo_type = /obj/item/ammo_casing/a12g/flash + +/obj/item/ammo_magazine/m12gdrum/empty + initial_ammo = 0 + +///////// .75 Gyrojet ///////// + +/obj/item/ammo_magazine/m75 + name = "ammo magazine (.75 Gyrojet)" + icon_state = "75" + mag_type = MAGAZINE + caliber = ".75" + ammo_type = /obj/item/ammo_casing/a75 + multiple_sprites = 1 + max_ammo = 4 + +/obj/item/ammo_magazine/m75/empty + initial_ammo = 0 + +///////// Misc. ///////// + +/obj/item/ammo_magazine/caps + name = "speedloader (caps)" + icon_state = "T38" + caliber = "caps" + color = "#FF0000" + ammo_type = /obj/item/ammo_casing/cap + matter = list(DEFAULT_WALL_MATERIAL = 600) + max_ammo = 7 multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/rounds.dm similarity index 85% rename from code/modules/projectiles/ammunition/bullets.dm rename to code/modules/projectiles/ammunition/rounds.dm index aa34925cefe..624c0e6f768 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -1,291 +1,321 @@ -/obj/item/ammo_casing/a357 - desc = "A .357 bullet casing." - caliber = "357" - projectile_type = /obj/item/projectile/bullet/pistol/strong - -/obj/item/ammo_casing/a50 - desc = "A .50AE bullet casing." - caliber = ".50" - projectile_type = /obj/item/projectile/bullet/pistol/strong - -/obj/item/ammo_casing/a75 - desc = "A .75 gyrojet rocket sheathe." - caliber = "75" - projectile_type = /obj/item/projectile/bullet/gyro - -/obj/item/ammo_casing/a38 - desc = "A .38 bullet casing." - caliber = "38" - projectile_type = /obj/item/projectile/bullet/pistol - -/obj/item/ammo_casing/a38r - desc = "A .38 rubber bullet casing." - caliber = "38" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a38/emp - name = ".38 haywire round" - desc = "A .38 bullet casing fitted with a single-use ion pulse generator." - icon_state = "empcasing" - projectile_type = /obj/item/projectile/ion/small - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/* - * 9mm - */ - -/obj/item/ammo_casing/a9mm - desc = "A 9mm bullet casing." - caliber = "9mm" - projectile_type = /obj/item/projectile/bullet/pistol - -/obj/item/ammo_casing/a9mm/ap - desc = "A 9mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/pistol/ap - -/obj/item/ammo_casing/a9mmf - desc = "A 9mm flash shell casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/energy/flash - -/obj/item/ammo_casing/a9mmr - desc = "A 9mm rubber bullet casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a9mmp - desc = "A 9mm practice bullet casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/practice - -/* -/obj/item/ammo_casing/c5mm - desc = "A 5mm bullet casing." - caliber = "5mm" - projectile_type = /obj/item/projectile/bullet/pistol/ap -*/ - -/* - * 45 ammo - */ - -/obj/item/ammo_casing/a45 - desc = "A .45 bullet casing." - caliber = ".45" - projectile_type = /obj/item/projectile/bullet/pistol/medium - -/obj/item/ammo_casing/a45ap - desc = "A .45 Armor-Piercing bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/medium/ap - -/obj/item/ammo_casing/a45p - desc = "A .45 practice bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/practice - -/obj/item/ammo_casing/a45r - desc = "A .45 rubber bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a45f - desc = "A .45 flash shell casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/energy/flash - -/obj/item/ammo_casing/a45/emp - name = ".45 haywire round" - desc = "A .45 bullet casing fitted with a single-use ion pulse generator." - projectile_type = /obj/item/projectile/ion/small - icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/obj/item/ammo_casing/a45/hp - desc = "A .45 hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow - - -/* - * 10mm - */ - -/obj/item/ammo_casing/a10mm - desc = "A 10mm bullet casing." - caliber = "10mm" - projectile_type = /obj/item/projectile/bullet/pistol/medium - -/obj/item/ammo_casing/a10mm/emp - name = "10mm haywire round" - desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." - projectile_type = /obj/item/projectile/ion/small - icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/* - * Shotguns - */ - -/obj/item/ammo_casing/a12g - name = "shotgun slug" - desc = "A 12 gauge slug." - icon_state = "slshell" - caliber = "shotgun" - projectile_type = /obj/item/projectile/bullet/shotgun - matter = list(DEFAULT_WALL_MATERIAL = 360) - -/obj/item/ammo_casing/a12g/pellet - name = "shotgun shell" - desc = "A 12 gauge shell." - icon_state = "gshell" - projectile_type = /obj/item/projectile/bullet/pellet/shotgun - matter = list(DEFAULT_WALL_MATERIAL = 360) - -/obj/item/ammo_casing/a12g/blank - name = "shotgun shell" - desc = "A blank shell." - icon_state = "blshell" - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a12g/practice - name = "shotgun shell" - desc = "A practice shell." - icon_state = "pshell" - projectile_type = /obj/item/projectile/bullet/shotgun/practice - matter = list("metal" = 90) - -/obj/item/ammo_casing/a12g/beanbag - name = "beanbag shell" - desc = "A beanbag shell." - icon_state = "bshell" - projectile_type = /obj/item/projectile/bullet/shotgun/beanbag - matter = list(DEFAULT_WALL_MATERIAL = 180) - -//Can stun in one hit if aimed at the head, but -//is blocked by clothing that stops tasers and is vulnerable to EMP -/obj/item/ammo_casing/a12g/stunshell - name = "stun shell" - desc = "A 12 gauge taser cartridge." - icon_state = "stunshell" - projectile_type = /obj/item/projectile/energy/electrode/stunshot - matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) - -/obj/item/ammo_casing/a12g/stunshell/emp_act(severity) - if(prob(100/severity)) BB = null - update_icon() - -//Does not stun, only blinds, but has area of effect. -/obj/item/ammo_casing/a12g/flash - name = "flash shell" - desc = "A chemical shell used to signal distress or provide illumination." - icon_state = "fshell" - projectile_type = /obj/item/projectile/energy/flash/flare - matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) - -/obj/item/ammo_casing/a12g/emp - name = "ion shell" - desc = "An advanced shotgun round that creates a small EMP when it strikes a target." - icon_state = "empshell" - projectile_type = /obj/item/projectile/ion -// projectile_type = /obj/item/projectile/bullet/shotgun/ion - matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) - -/* - * 762mm - */ - -/obj/item/ammo_casing/a762 - desc = "A 7.62mm bullet casing." - caliber = "a762" - icon_state = "rifle-casing" - projectile_type = /obj/item/projectile/bullet/rifle/a762 - -/obj/item/ammo_casing/a762/ap - desc = "A 7.62mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a762/ap - -/obj/item/ammo_casing/a762p - desc = "A 7.62mm practice bullet casing." - caliber = "a762" - icon_state = "rifle-casing" // Need to make an icon for these - projectile_type = /obj/item/projectile/bullet/rifle/practice - -/obj/item/ammo_casing/a762/blank - desc = "A blank 7.62mm bullet casing." - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a762/hp - desc = "A 7.62mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow - -//145mm - -/obj/item/ammo_casing/a145 - desc = "A 14.5mm shell." - icon_state = "lcasing" - caliber = "14.5mm" - projectile_type = /obj/item/projectile/bullet/rifle/a145 - matter = list(DEFAULT_WALL_MATERIAL = 1250) - -/* - * 556mm - */ - -/obj/item/ammo_casing/a556 - desc = "A 5.56mm bullet casing." - caliber = "a556" - icon_state = "rifle-casing" - projectile_type = /obj/item/projectile/bullet/rifle/a556 - -/obj/item/ammo_casing/a556/ap - desc = "A 5.56mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a556/ap - -/obj/item/ammo_casing/a556p - desc = "A 5.56mm practice bullet casing." - caliber = "a556" - icon_state = "rifle-casing" // Need to make an icon for these - projectile_type = /obj/item/projectile/bullet/rifle/practice - -/obj/item/ammo_casing/a556/blank - desc = "A blank 5.56mm bullet casing." - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a556/hp - desc = "A 5.56mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow - -/* - * Misc - */ - -/obj/item/ammo_casing/rocket - name = "rocket shell" - desc = "A high explosive designed to be fired from a launcher." - icon_state = "rocketshell" - projectile_type = /obj/item/missile - caliber = "rocket" - -/obj/item/ammo_casing/cap - name = "cap" - desc = "A cap for children toys." - caliber = "caps" - icon_state = "r-casing" - color = "#FF0000" - projectile_type = /obj/item/projectile/bullet/pistol/cap - -/obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else. - icon_state = "s-casing-spent" - BB = null +/************************************************************************/ +/* +# An explaination of the naming format for guns and ammo: +# +# a = Ammo, as in individual rounds of ammunition. +# b = Box, intended to have ammo taken out one at a time by hand. +# c = Clips, intended to reload magazines or guns quickly. +# m = Magazine, intended to hold rounds of ammo. +# s = Speedloaders, intended to reload guns quickly. +# +# Use this format, followed by the caliber. For example, a shotgun's caliber +# variable is "12g" as a result. Ergo, a shotgun round's path would have "a12g", +# or a magazine with shotgun shells would be "m12g" instead. To avoid confusion +# for developers and in-game admins spawning these items, stick to this format. +# Likewise, when creating new rounds, the caliber variable should match whatever +# the name says. +# +# This comment is copied in magazines.dm as well. +*/ +/************************************************************************/ + +/* + * .357 + */ + +/obj/item/ammo_casing/a357 + desc = "A .357 bullet casing." + caliber = "357" + projectile_type = /obj/item/projectile/bullet/pistol/strong + +/* + * .38 + */ + +/obj/item/ammo_casing/a38 + desc = "A .38 bullet casing." + caliber = ".38" + projectile_type = /obj/item/projectile/bullet/pistol + +/obj/item/ammo_casing/a38r + desc = "A .38 rubber bullet casing." + caliber = ".38" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a38/emp + name = ".38 haywire round" + desc = "A .38 bullet casing fitted with a single-use ion pulse generator." + icon_state = "empcasing" + projectile_type = /obj/item/projectile/ion/small + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/* + * .50 Action Express + */ + +/obj/item/ammo_casing/a50ae + desc = "A .50AE bullet casing." + caliber = ".50AE" + projectile_type = /obj/item/projectile/bullet/pistol/strong + +/* + * .75 (aka Gyrojet Rockets, aka admin abuse) + */ + +/obj/item/ammo_casing/a75 + desc = "A .75 gyrojet rocket sheathe." + caliber = ".75" + projectile_type = /obj/item/projectile/bullet/gyro + +/* + * 9mm + */ + +/obj/item/ammo_casing/a9mm + desc = "A 9mm bullet casing." + caliber = "9mm" + projectile_type = /obj/item/projectile/bullet/pistol + +/obj/item/ammo_casing/a9mm/ap + desc = "A 9mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/ap + +/obj/item/ammo_casing/a9mmf + desc = "A 9mm flash shell casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/energy/flash + +/obj/item/ammo_casing/a9mmr + desc = "A 9mm rubber bullet casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a9mmp + desc = "A 9mm practice bullet casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/practice + +/* + * .45 + */ + +/obj/item/ammo_casing/a45 + desc = "A .45 bullet casing." + caliber = ".45" + projectile_type = /obj/item/projectile/bullet/pistol/medium + +/obj/item/ammo_casing/a45ap + desc = "A .45 Armor-Piercing bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/medium/ap + +/obj/item/ammo_casing/a45p + desc = "A .45 practice bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/practice + +/obj/item/ammo_casing/a45r + desc = "A .45 rubber bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a45f + desc = "A .45 flash shell casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/energy/flash + +/obj/item/ammo_casing/a45/emp + name = ".45 haywire round" + desc = "A .45 bullet casing fitted with a single-use ion pulse generator." + projectile_type = /obj/item/projectile/ion/small + icon_state = "empcasing" + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/obj/item/ammo_casing/a45/hp + desc = "A .45 hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow + + +/* + * 10mm + */ + +/obj/item/ammo_casing/a10mm + desc = "A 10mm bullet casing." + caliber = "10mm" + projectile_type = /obj/item/projectile/bullet/pistol/medium + +/obj/item/ammo_casing/a10mm/emp + name = "10mm haywire round" + desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." + projectile_type = /obj/item/projectile/ion/small + icon_state = "empcasing" + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/* + * 12g (aka shotgun ammo) + */ + +/obj/item/ammo_casing/a12g + name = "shotgun slug" + desc = "A 12 gauge slug." + icon_state = "slshell" + caliber = "12g" + projectile_type = /obj/item/projectile/bullet/shotgun + matter = list(DEFAULT_WALL_MATERIAL = 360) + +/obj/item/ammo_casing/a12g/pellet + name = "shotgun shell" + desc = "A 12 gauge shell." + icon_state = "gshell" + projectile_type = /obj/item/projectile/bullet/pellet/shotgun + matter = list(DEFAULT_WALL_MATERIAL = 360) + +/obj/item/ammo_casing/a12g/blank + name = "shotgun shell" + desc = "A blank shell." + icon_state = "blshell" + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a12g/practice + name = "shotgun shell" + desc = "A practice shell." + icon_state = "pshell" + projectile_type = /obj/item/projectile/bullet/shotgun/practice + matter = list("metal" = 90) + +/obj/item/ammo_casing/a12g/beanbag + name = "beanbag shell" + desc = "A beanbag shell." + icon_state = "bshell" + projectile_type = /obj/item/projectile/bullet/shotgun/beanbag + matter = list(DEFAULT_WALL_MATERIAL = 180) + +//Can stun in one hit if aimed at the head, but +//is blocked by clothing that stops tasers and is vulnerable to EMP +/obj/item/ammo_casing/a12g/stunshell + name = "stun shell" + desc = "A 12 gauge taser cartridge." + icon_state = "stunshell" + projectile_type = /obj/item/projectile/energy/electrode/stunshot + matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) + +/obj/item/ammo_casing/a12g/stunshell/emp_act(severity) + if(prob(100/severity)) BB = null + update_icon() + +//Does not stun, only blinds, but has area of effect. +/obj/item/ammo_casing/a12g/flash + name = "flash shell" + desc = "A chemical shell used to signal distress or provide illumination." + icon_state = "fshell" + projectile_type = /obj/item/projectile/energy/flash/flare + matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) + +/obj/item/ammo_casing/a12g/emp + name = "ion shell" + desc = "An advanced shotgun round that creates a small EMP when it strikes a target." + icon_state = "empshell" + projectile_type = /obj/item/projectile/ion +// projectile_type = /obj/item/projectile/bullet/shotgun/ion + matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) + +/* + * 7.62mm + */ + +/obj/item/ammo_casing/a762 + desc = "A 7.62mm bullet casing." + caliber = "7.62mm" + icon_state = "rifle-casing" + projectile_type = /obj/item/projectile/bullet/rifle/a762 + +/obj/item/ammo_casing/a762/ap + desc = "A 7.62mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a762/ap + +/obj/item/ammo_casing/a762p + desc = "A 7.62mm practice bullet casing." + caliber = "7.62mm" + icon_state = "rifle-casing" // Need to make an icon for these + projectile_type = /obj/item/projectile/bullet/rifle/practice + +/obj/item/ammo_casing/a762/blank + desc = "A blank 7.62mm bullet casing." + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a762/hp + desc = "A 7.62mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow + +//145mm + +/obj/item/ammo_casing/a145 + desc = "A 14.5mm shell." + icon_state = "lcasing" + caliber = "14.5mm" + projectile_type = /obj/item/projectile/bullet/rifle/a145 + matter = list(DEFAULT_WALL_MATERIAL = 1250) + +/* + * 5.56mm + */ + +/obj/item/ammo_casing/a556 + desc = "A 5.56mm bullet casing." + caliber = "5.56mm" + icon_state = "rifle-casing" + projectile_type = /obj/item/projectile/bullet/rifle/a556 + +/obj/item/ammo_casing/a556/ap + desc = "A 5.56mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/ap + +/obj/item/ammo_casing/a556p + desc = "A 5.56mm practice bullet casing." + caliber = "5.56mm" + icon_state = "rifle-casing" // Need to make an icon for these + projectile_type = /obj/item/projectile/bullet/rifle/practice + +/obj/item/ammo_casing/a556/blank + desc = "A blank 5.56mm bullet casing." + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a556/hp + desc = "A 5.56mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow + +/* + * Misc + */ + +/obj/item/ammo_casing/rocket + name = "rocket shell" + desc = "A high explosive designed to be fired from a launcher." + icon_state = "rocketshell" + projectile_type = /obj/item/missile + caliber = "rocket" + +/obj/item/ammo_casing/cap + name = "cap" + desc = "A cap for children toys." + caliber = "caps" + icon_state = "r-casing" + color = "#FF0000" + projectile_type = /obj/item/projectile/bullet/pistol/cap + +/obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else. + icon_state = "s-casing-spent" + BB = null projectile_type = null \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index a3e1f671ec0..9bb9862fd3a 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -252,7 +252,7 @@ item_state = null w_class = ITEMSIZE_LARGE force = 10 - caliber = "shotgun" + caliber = "12g" fire_sound = 'sound/weapons/shotgun.ogg' origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index a92e59982c2..36a929af280 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -107,7 +107,7 @@ name = "\"The Judge\"" desc = "A revolving hand-shotgun by Cybersun Industries that packs the power of a 12 guage in the palm of your hand (if you don't break your wrist). Uses 12 shotgun rounds." icon_state = "judge" - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 4) max_shells = 5 fire_sound = 'sound/weapons/shotgun.ogg' @@ -127,7 +127,7 @@ caliber = "38" ammo_type = /obj/item/ammo_casing/a38 var/secondary_max_shells = 1 - var/secondary_caliber = "shotgun" + var/secondary_caliber = "12g" var/secondary_ammo_type = /obj/item/ammo_casing/a12g var/flipped_firing = 0 var/list/secondary_loaded = list() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 80d1a09d783..bc14bb94256 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -8,7 +8,7 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) load_method = SINGLE_CASING ammo_type = /obj/item/ammo_casing/a12g/beanbag @@ -64,7 +64,7 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1) ammo_type = /obj/item/ammo_casing/a12g/beanbag diff --git a/polaris.dme b/polaris.dme index 9f075b1d76b..92abfde4f5d 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1876,8 +1876,8 @@ #include "code\modules\projectiles\effects.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\ammunition\boxes.dm" -#include "code\modules\projectiles\ammunition\bullets.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\launcher.dm" #include "code\modules\projectiles\guns\projectile.dm" From ae3d877730869ab198896feb23e1bab5f3c94b15 Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 16:25:38 -0400 Subject: [PATCH 6/8] Might be helpful if I clicked save on my files --- code/modules/projectiles/ammunition/rounds.dm | 4 +++- code/modules/projectiles/guns/projectile/automatic.dm | 8 ++++---- code/modules/projectiles/guns/projectile/boltaction.dm | 4 ++-- code/modules/projectiles/guns/projectile/pistol.dm | 4 ++-- code/modules/projectiles/guns/projectile/revolver.dm | 6 +++--- code/modules/projectiles/guns/projectile/sniper.dm | 2 +- 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 624c0e6f768..3230e6ed622 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -258,7 +258,9 @@ desc = "A 7.62mm hollow-point bullet casing." projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow -//145mm +/* + * 14.5mm (anti-materiel rifle round) + */ /obj/item/ammo_casing/a145 desc = "A 14.5mm shell." diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 9bb9862fd3a..5abcead8f3f 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -56,7 +56,7 @@ item_state = null w_class = ITEMSIZE_LARGE force = 10 - caliber = "a556" + caliber = "5.56mm" origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE @@ -109,7 +109,7 @@ item_state = "z8carbine" w_class = ITEMSIZE_LARGE force = 10 - caliber = "a762" + caliber = "7.62mm" origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3) ammo_type = "/obj/item/ammo_casing/a556" // Is this really needed anymore? fire_sound = 'sound/weapons/Gunshot.ogg' @@ -181,7 +181,7 @@ force = 10 slot_flags = 0 max_shells = 50 - caliber = "a556" + caliber = "5.56mm" origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2) slot_flags = SLOT_BACK ammo_type = "/obj/item/ammo_casing/a556" // Is this really needed anymore? @@ -350,7 +350,7 @@ item_state = "bullpup" w_class = ITEMSIZE_LARGE force = 10 - caliber = "a762" + caliber = "7.62mm" origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE diff --git a/code/modules/projectiles/guns/projectile/boltaction.dm b/code/modules/projectiles/guns/projectile/boltaction.dm index cbc403c4e00..17e2fe1234d 100644 --- a/code/modules/projectiles/guns/projectile/boltaction.dm +++ b/code/modules/projectiles/guns/projectile/boltaction.dm @@ -7,7 +7,7 @@ icon_state = "boltaction" fire_sound = 'sound/weapons/rifleshot.ogg' max_shells = 5 - caliber = "a762" + caliber = "7.62mm" origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech. ammo_type = /obj/item/ammo_casing/a762 load_method = SINGLE_CASING|SPEEDLOADER @@ -60,7 +60,7 @@ icon_state = "leveraction" fire_sound = 'sound/weapons/rifleshot.ogg' max_shells = 5 - caliber = "a762" + caliber = "7.62mm" origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech. ammo_type = /obj/item/ammo_casing/a762 load_method = SINGLE_CASING|SPEEDLOADER diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 69fa353a527..ba5f4f147d0 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -120,7 +120,7 @@ icon_state = "deagle" item_state = "deagle" force = 14.0 - caliber = ".50" + caliber = ".50AE" load_method = MAGAZINE fire_sound = 'sound/weapons/deagle.ogg' magazine_type = /obj/item/ammo_magazine/m50 @@ -168,7 +168,7 @@ desc = "Speak softly, and carry a big gun. Fires rare .75 caliber self-propelled exploding bolts--because fuck you and everything around you." icon_state = "gyropistol" max_shells = 8 - caliber = "75" + caliber = ".75" fire_sound = 'sound/weapons/rpg.ogg' origin_tech = list(TECH_COMBAT = 3) ammo_type = "/obj/item/ammo_casing/a75" diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 36a929af280..3886450fcf2 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -43,7 +43,7 @@ name = "revolver" desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds." icon_state = "detective" - caliber = "38" + caliber = ".38" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) fire_sound = 'sound/weapons/Gunshot_light.ogg' ammo_type = /obj/item/ammo_casing/a38 @@ -71,7 +71,7 @@ name = "Deckard .38" desc = "A custom-built revolver, based off the semi-popular Detective Special model." icon_state = "deckard-empty" - caliber = "38" + caliber = ".38" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) fire_sound = 'sound/weapons/Gunshot_light.ogg' ammo_type = /obj/item/ammo_casing/a38 @@ -124,7 +124,7 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) handle_casings = CYCLE_CASINGS max_shells = 9 - caliber = "38" + caliber = ".38" ammo_type = /obj/item/ammo_casing/a38 var/secondary_max_shells = 1 var/secondary_caliber = "12g" diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 8afda4b63b4..9a16f68a4c0 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -80,7 +80,7 @@ slot_flags = SLOT_BACK // Needs a sprite. origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) recoil = 2 //extra kickback - caliber = "a762" + caliber = "7.62mm" load_method = MAGAZINE accuracy = -3 //shooting at the hip scoped_accuracy = 0 From cef9c4f98d0afa61c9369a60a677541d3472cffd Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 16:27:05 -0400 Subject: [PATCH 7/8] One last thing. --- code/modules/projectiles/ammunition/magazines.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 92512b0dd11..cd80854af3a 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -15,7 +15,10 @@ # Likewise, when creating new rounds, the caliber variable should match whatever # the name says. # -# This comment is copied in magazines.dm as well. +# This comment is copied in rounds.dm as well. +# +# Also, if a magazine is only meant for a specific gun, include the name +# of the specific gun in the path. Example: m45uzi is only for the Uzi. */ /************************************************************************/ From 3a0bdf5cf963aca113d269d1d88556f60e1d5e1e Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 16:31:17 -0400 Subject: [PATCH 8/8] Name tweak for Anewbe --- code/modules/projectiles/ammunition/magazines.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index cd80854af3a..6202e03cde9 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -329,6 +329,7 @@ max_ammo = 30 /obj/item/ammo_magazine/m556/small + name = "reduced magazine (5.56mm)" icon_state = "m556-small" matter = list(DEFAULT_WALL_MATERIAL = 900) max_ammo = 10