diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index 951474062a..990b87b52d 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -411,12 +411,6 @@ category = list("Arms and Ammunition") hidden = 1 -/datum/category_item/autolathe/arms/pistol_clip_10mm - name = "ammo clip (10mm)" - path =/obj/item/ammo_magazine/clip/c10mm - category = list("Arms and Ammunition") - hidden = 1 - /datum/category_item/autolathe/arms/pistol_clip_50 name = "ammo clip (.44)" path =/obj/item/ammo_magazine/clip/c50 diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index cec258270c..30ccee5746 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -38,7 +38,7 @@ /obj/item/weapon/gun/projectile/sec/flash, /obj/item/ammo_magazine/m45/flash, /obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare, - /obj/item/weapon/storage/box/flashshells + /obj/item/ammo_magazine/ammo_box/b12g/flash ) cost = 25 containertype = /obj/structure/closet/crate/secure/gear @@ -66,8 +66,8 @@ /datum/supply_pack/munitions/shotgun name = "Weapons - Shotgun crate" contains = list( - /obj/item/weapon/storage/box/shotgunammo, - /obj/item/weapon/storage/box/shotgunshells, + /obj/item/ammo_magazine/ammo_box/b12g, + /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/weapon/gun/projectile/shotgun/pump/combat = 2 ) cost = 50 @@ -198,8 +198,8 @@ /datum/supply_pack/munitions/shotgunammo name = "Ammunition - Shotgun shells" contains = list( - /obj/item/weapon/storage/box/shotgunammo = 2, - /obj/item/weapon/storage/box/shotgunshells = 2 + /obj/item/ammo_magazine/ammo_box/b12g = 2, + /obj/item/ammo_magazine/ammo_box/b12g/pellet = 2 ) cost = 25 containertype = /obj/structure/closet/crate/secure/weapon @@ -208,7 +208,7 @@ /datum/supply_pack/munitions/beanbagammo name = "Ammunition - Beanbag shells" - contains = list(/obj/item/weapon/storage/box/beanbags = 3) + contains = list(/obj/item/ammo_magazine/ammo_box/b12g/beanbag = 3) cost = 25 containertype = /obj/structure/closet/crate containername = "Ballistic ammunition crate" diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm index b926fa8b8d..c19c4b0097 100644 --- a/code/datums/supplypacks/security.dm +++ b/code/datums/supplypacks/security.dm @@ -256,7 +256,7 @@ /obj/item/weapon/shield/riot = 3, /obj/item/weapon/handcuffs = 3, /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/box/beanbags, + /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /obj/item/weapon/storage/box/handcuffs ) cost = 40 diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 8b853aed63..8a749250b6 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -63,11 +63,11 @@ /datum/uplink_item/item/ammo/sniperammo name = "Anti-Materiel Rifle ammo box (14.5mm)" - path = /obj/item/weapon/storage/box/sniperammo + path = /obj/item/ammo_magazine/ammo_box/b145 /datum/uplink_item/item/ammo/sniperammo_highvel name = "Anti-Materiel Rifle ammo box (14.5mm sabot)" - path = /obj/item/weapon/storage/box/sniperammo/highvel + path = /obj/item/ammo_magazine/ammo_box/b145/highvel /datum/uplink_item/item/ammo/c545 name = "Rifle Magazine (5.45mm)" @@ -107,25 +107,25 @@ /datum/uplink_item/item/ammo/g12 name = "12g Shotgun Ammo Box (Slug)" - path = /obj/item/weapon/storage/box/shotgunammo + path = /obj/item/ammo_magazine/ammo_box/b12g /datum/uplink_item/item/ammo/g12/beanbag name = "12g Shotgun Ammo Box (Beanbag)" - path = /obj/item/weapon/storage/box/beanbags + path = /obj/item/ammo_magazine/ammo_box/b12g/beanbag item_cost = 10 // Discount due to it being LTL. /datum/uplink_item/item/ammo/g12/pellet name = "12g Shotgun Ammo Box (Pellet)" - path = /obj/item/weapon/storage/box/shotgunshells + path =/obj/item/ammo_magazine/ammo_box/b12g/pellet /datum/uplink_item/item/ammo/g12/stun name = "12g Shotgun Ammo Box (Stun)" - path = /obj/item/weapon/storage/box/stunshells + path = /obj/item/ammo_magazine/ammo_box/b12g/stunshell item_cost = 10 // Discount due to it being LTL. /datum/uplink_item/item/ammo/g12/flash name = "12g Shotgun Ammo Box (Flash)" - path = /obj/item/weapon/storage/box/flashshells + path = /obj/item/ammo_magazine/ammo_box/b12g/flash item_cost = 10 // Discount due to it being LTL. /datum/uplink_item/item/ammo/cell diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index 15995b15c6..1bb63fab38 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -9,8 +9,13 @@ throw_range = 15 throw_speed = 3 - //matter = list(MAT_STEEL = 50,MAT_GLASS = 50) - + //matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/device/binoculars/attack_self(mob/user) zoom() + +/obj/item/device/binoculars/spyglass + name = "spyglass" + desc = "It's a hand-held telescope, useful for star-gazing, peeping, and recon." + icon_state = "spyglass" + slot_flags = SLOT_BELT \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 4eac505ebf..18d0ef948f 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -142,126 +142,6 @@ /obj/item/weapon/dnainjector/m2h = 3 ) -/obj/item/weapon/storage/box/blanks - name = "box of blank shells" - desc = "It has a picture of a gun and several warning symbols on the front." - icon_state = "blankshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/blank = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/blanks/large - starts_with = list(/obj/item/ammo_casing/a12g/blank = 16) - -/obj/item/weapon/storage/box/beanbags - name = "box of beanbag shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "beanshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/beanbags/large/New() - starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 16) - -/obj/item/weapon/storage/box/shotgunammo - name = "box of shotgun slugs" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "lethalshellshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/shotgunammo/large - starts_with = list(/obj/item/ammo_casing/a12g = 16) - -/obj/item/weapon/storage/box/shotgunshells - name = "box of shotgun shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "lethalslug_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/pellet = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/shotgunshells/large - starts_with = list(/obj/item/ammo_casing/a12g/pellet = 16) - -/obj/item/weapon/storage/box/flashshells - name = "box of illumination shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "illumshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/flash = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/flashshells/large - starts_with = list(/obj/item/ammo_casing/a12g/flash = 16) - -/obj/item/weapon/storage/box/stunshells - name = "box of stun shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "stunshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/stunshells/large - starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 16) - -/obj/item/weapon/storage/box/practiceshells - name = "box of practice shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "blankshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/practice = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/practiceshells/large - starts_with = list(/obj/item/ammo_casing/a12g/practice = 16) - -/obj/item/weapon/storage/box/empshells - name = "box of emp shells" - desc = "It has a picture of a gun and several warning symbols on the front." - icon_state = "empshot_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/emp = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/empshells/large - starts_with = list(/obj/item/ammo_casing/a12g/emp = 16) - -/obj/item/weapon/storage/box/flechetteshells - name = "box of shotgun flechettes" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - icon_state = "lethalslug_box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - starts_with = list(/obj/item/ammo_casing/a12g/flechette = 8) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/flechetteshells/large - starts_with = list(/obj/item/ammo_casing/a12g/flechette = 16) - -/obj/item/weapon/storage/box/sniperammo - name = "box of 14.5mm shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - starts_with = list(/obj/item/ammo_casing/a145 = 7) - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/weapon/storage/box/sniperammo/highvel - name = "box of 14.5mm sabot shells" - desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - starts_with = list(/obj/item/ammo_casing/a145/highvel = 7) - /obj/item/weapon/storage/box/flashbangs name = "box of flashbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm index c4766db55a..ee67551914 100644 --- a/code/game/objects/random/guns_and_ammo.dm +++ b/code/game/objects/random/guns_and_ammo.dm @@ -154,10 +154,10 @@ icon_state = "ammo" /obj/random/ammo/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/box/beanbags, - prob(2);/obj/item/weapon/storage/box/shotgunammo, - prob(4);/obj/item/weapon/storage/box/shotgunshells, - prob(1);/obj/item/weapon/storage/box/stunshells, + return pick(prob(6);/obj/item/ammo_magazine/ammo_box/b12g/beanbag, + prob(2);/obj/item/ammo_magazine/ammo_box/b12g, + prob(4);/obj/item/ammo_magazine/ammo_box/b12g/pellet, + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/stunshell, prob(2);/obj/item/ammo_magazine/m45, prob(4);/obj/item/ammo_magazine/m45/rubber, prob(4);/obj/item/ammo_magazine/m45/flash, @@ -315,8 +315,8 @@ ), prob(1);list( /obj/item/weapon/gun/projectile/garand, - /obj/item/ammo_magazine/m762garand, - /obj/item/ammo_magazine/m762garand + /obj/item/ammo_magazine/m762enbloc, + /obj/item/ammo_magazine/m762enbloc ), prob(1);list( /obj/item/weapon/gun/projectile/revolvingrifle, @@ -489,11 +489,11 @@ ), prob(3);list( /obj/item/weapon/gun/projectile/shotgun/pump/slug, - /obj/item/weapon/storage/box/shotgunammo + /obj/item/ammo_magazine/ammo_box/b12g ), prob(1);list( /obj/item/weapon/gun/projectile/shotgun/pump/combat, - /obj/item/weapon/storage/box/shotgunammo + /obj/item/ammo_magazine/ammo_box/b12g ) ) diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm index a9e567c6c0..6940a6702f 100644 --- a/code/game/objects/random/mapping.dm +++ b/code/game/objects/random/mapping.dm @@ -351,8 +351,8 @@ /obj/item/clothing/suit/armor/vest, /obj/item/weapon/gun/projectile/garand, /obj/item/weapon/gun/projectile/garand, - /obj/item/ammo_magazine/m762garand, - /obj/item/ammo_magazine/m762garand, + /obj/item/ammo_magazine/m762enbloc, + /obj/item/ammo_magazine/m762enbloc, /obj/structure/closet/crate/plastic ), prob(2);list( diff --git a/code/game/objects/random/mob_vr.dm b/code/game/objects/random/mob_vr.dm index d644e9e014..b153ce360b 100644 --- a/code/game/objects/random/mob_vr.dm +++ b/code/game/objects/random/mob_vr.dm @@ -96,8 +96,8 @@ icon = 'icons/obj/ammo.dmi' icon_state = "666" /obj/random/ammo_all/item_to_spawn() - return pick(prob(5);/obj/item/weapon/storage/box/shotgunammo,\ - prob(5);/obj/item/weapon/storage/box/shotgunshells,\ + return pick(prob(5);/obj/item/ammo_magazine/ammo_box/b12g,\ + prob(5);/obj/item/ammo_magazine/ammo_box/b12g/pellet,\ prob(5);/obj/item/ammo_magazine/clip/c762,\ prob(5);/obj/item/ammo_magazine/m380,\ prob(5);/obj/item/ammo_magazine/m45,\ @@ -111,24 +111,25 @@ prob(4);/obj/item/ammo_magazine/m9mmp90,\ prob(4);/obj/item/ammo_magazine/m10mm,\ prob(4);/obj/item/ammo_magazine/m545/small,\ - prob(3);/obj/item/ammo_magazine/clip/c10mm,\ prob(3);/obj/item/ammo_magazine/clip/c44,\ + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp,\ + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm,\ prob(3);/obj/item/ammo_magazine/s44,\ prob(3);/obj/item/ammo_magazine/m762,\ prob(3);/obj/item/ammo_magazine/m545,\ prob(3);/obj/item/weapon/cell/device/weapon,\ prob(2);/obj/item/ammo_magazine/m44,\ prob(2);/obj/item/ammo_magazine/s357,\ - prob(2);/obj/item/ammo_magazine/m762m,\ + prob(2);/obj/item/ammo_magazine/m762/ext,\ prob(2);/obj/item/ammo_magazine/clip/c12g, prob(2);/obj/item/ammo_magazine/clip/c12g/pellet,\ prob(1);/obj/item/ammo_magazine/m45tommy,\ /* prob(1);/obj/item/ammo_magazine/m95,\ */ prob(1);/obj/item/ammo_casing/rocket,\ - prob(1);/obj/item/weapon/storage/box/sniperammo,\ - prob(1);/obj/item/weapon/storage/box/flashshells,\ - prob(1);/obj/item/weapon/storage/box/beanbags,\ - prob(1);/obj/item/weapon/storage/box/stunshells,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b145,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/flash,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/beanbag,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/stunshell,\ prob(1);/obj/item/ammo_magazine/mtg,\ prob(1);/obj/item/ammo_magazine/m12gdrum,\ prob(1);/obj/item/ammo_magazine/m12gdrum/pellet,\ diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index a0737da55c..87b91e8469 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -300,8 +300,8 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh uncommon_loot = list( /obj/item/weapon/storage/box/sinpockets, - /obj/item/weapon/storage/box/practiceshells, - /obj/item/weapon/storage/box/blanks, + /obj/item/ammo_magazine/ammo_box/b12g/practice, + /obj/item/ammo_magazine/ammo_box/b12g/blank, /obj/item/weapon/storage/box/smokes, /obj/item/weapon/storage/box/metalfoam, /obj/item/weapon/storage/box/handcuffs, @@ -311,8 +311,8 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh rare_loot = list( /obj/item/weapon/storage/box/flashbangs, /obj/item/weapon/storage/box/empslite, - /obj/item/weapon/storage/box/flashshells, - /obj/item/weapon/storage/box/stunshells, + /obj/item/ammo_magazine/ammo_box/b12g/flash, + /obj/item/ammo_magazine/ammo_box/b12g/stunshell, /obj/item/weapon/storage/box/teargas ) diff --git a/code/modules/awaymissions/loot_vr.dm b/code/modules/awaymissions/loot_vr.dm index d6364d3bd4..4569c0aec8 100644 --- a/code/modules/awaymissions/loot_vr.dm +++ b/code/modules/awaymissions/loot_vr.dm @@ -145,7 +145,6 @@ prob(8);/obj/item/weapon/gun/projectile/automatic/c20r,\ prob(8);/obj/item/weapon/gun/projectile/automatic/stg,\ prob(8);/obj/item/weapon/melee/energy/sword,\ - /* prob(8);/obj/item/weapon/gun/projectile/automatic/m41a,\ */ prob(7);/obj/item/weapon/gun/energy/captain,\ prob(7);/obj/item/weapon/gun/energy/sniperrifle,\ prob(7);/obj/item/weapon/gun/projectile/automatic/p90,\ @@ -176,8 +175,8 @@ new new_gun(C) if(prob(50)) var/new_ammo = pick( // Copied from Random.dm - prob(5);/obj/item/weapon/storage/box/shotgunammo,\ - prob(5);/obj/item/weapon/storage/box/shotgunshells,\ + prob(5);/obj/item/ammo_magazine/ammo_box/b12g,\ + prob(5);/obj/item/ammo_magazine/ammo_box/b12g/pellet,\ prob(5);/obj/item/ammo_magazine/s357,\ prob(5);/obj/item/ammo_magazine/clip/c762,\ prob(5);/obj/item/ammo_magazine/m45,\ @@ -197,12 +196,13 @@ prob(4);/obj/item/ammo_magazine/m9mmt/rubber,\ prob(4);/obj/item/ammo_magazine/m10mm,\ prob(4);/obj/item/ammo_magazine/m9mmp90,\ - /* prob(4);/obj/item/ammo_magazine/m14,\ - prob(4);/obj/item/ammo_magazine/m14/large,\*/ prob(4);/obj/item/ammo_magazine/m545/ext, prob(4);/obj/item/ammo_magazine/m762,\ + prob(4);/obj/item/ammo_magazine/ammo_box/b762/surplus/hunter,\ + prob(4);/obj/item/ammo_magazine/ammo_box/b762/surplus,\ prob(4);/obj/item/ammo_magazine/m545/ext,\ - prob(3);/obj/item/ammo_magazine/clip/c10mm,\ + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp,\ + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm,\ prob(3);/obj/item/ammo_magazine/clip/c44,\ prob(3);/obj/item/ammo_magazine/m545,\ prob(2);/obj/item/ammo_magazine/m44,\ @@ -210,12 +210,12 @@ prob(1);/obj/item/weapon/storage/box/frags,\ /* prob(1);/obj/item/ammo_magazine/m95,\ */ prob(1);/obj/item/ammo_casing/rocket,\ - prob(1);/obj/item/weapon/storage/box/sniperammo,\ - prob(1);/obj/item/weapon/storage/box/flashshells,\ - prob(1);/obj/item/weapon/storage/box/beanbags,\ - prob(1);/obj/item/weapon/storage/box/practiceshells,\ - prob(1);/obj/item/weapon/storage/box/stunshells,\ - prob(1);/obj/item/weapon/storage/box/blanks,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b145,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/flash,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/beanbag,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/practice,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/stunshell,\ + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/blank,\ prob(1);/obj/item/ammo_magazine/mtg,\ prob(1);/obj/item/ammo_magazine/m45tommydrum,\ prob(1);/obj/item/ammo_magazine/m45tommy) @@ -286,7 +286,7 @@ else if(prob(50)) if(live_cargo) // Something else very much alive and angry. var/spawn_type = pick(/mob/living/simple_mob/animal/space/alien, /mob/living/simple_mob/animal/space/alien/drone, /mob/living/simple_mob/animal/space/alien/sentinel) - new spawn_type(C) + new spawn_type(C) else // Just a costume. new /obj/item/clothing/head/xenos(C) new /obj/item/clothing/suit/xenos(C) diff --git a/code/modules/projectiles/ammunition/ammo_boxes.dm b/code/modules/projectiles/ammunition/ammo_boxes.dm index 332b634a0f..04d9d55d70 100644 --- a/code/modules/projectiles/ammunition/ammo_boxes.dm +++ b/code/modules/projectiles/ammunition/ammo_boxes.dm @@ -55,4 +55,500 @@ ammo_type = /obj/item/ammo_casing/cap matter = list(MAT_STEEL = 2040) max_ammo = 24 - multiple_sprites = null \ No newline at end of file + multiple_sprites = null + +/* + * .357 + */ + +/obj/item/ammo_magazine/ammo_box/b357 + name = "ammo box (.357)" + desc = "A box of .357 rounds" + icon_state = "magnum" + caliber = ".357" + ammo_type = /obj/item/ammo_casing/a357 + matter = list(MAT_STEEL = 5040) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b357/rubber + name = "ammo box (.357 rubber)" + desc = "A box of .357 rubber rounds" + icon_state = "magnum_r" + caliber = ".357" + ammo_type = /obj/item/ammo_casing/a357/rubber + matter = list(MAT_STEEL = 5040) + max_ammo = 24 + multiple_sprites = 1 + +/* + * .38 + */ + +/obj/item/ammo_magazine/ammo_box/b38 + name = "ammo box (.38)" + desc = "A box of .38 rounds" + icon_state = "pistol" + caliber = ".38" + ammo_type = /obj/item/ammo_casing/a38 + matter = list(MAT_STEEL = 1440) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b38/rubber + name = "ammo box (.38 rubber)" + desc = "A box of .38 rubber rounds" + icon_state = "pistol_p" + caliber = ".38" + ammo_type = /obj/item/ammo_casing/a38/rubber + matter = list(MAT_STEEL = 1440) + max_ammo = 24 + multiple_sprites = 1 + +/* + * 10mm + */ + +/obj/item/ammo_magazine/ammo_box/b10mm + name = "ammo box (10mm)" + desc = "A box of 10mm rounds" + icon_state = "box10mm" + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm + matter = list(MAT_STEEL = 3000) + max_ammo = 40 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b10mm/practice + name = "ammo box (10mm practice)" + desc = "A box of 10mm practice rounds" + icon_state = "box10mm-practice" + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm/practice + matter = list(MAT_STEEL = 2400) + max_ammo = 40 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b10mm/rubber + name = "ammo box (10mm rubber)" + desc = "A box of 10mm rubber rounds" + icon_state = "box10mm-rubber" + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm/rubber + matter = list(MAT_STEEL = 2400) + max_ammo = 40 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b10mm/emp + name = "ammo box (10mm haywire)" + desc = "A box of 10mm haywire rounds" + icon_state = "box10mm-hw" + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm/emp + matter = list(MAT_STEEL = 5200, MAT_URANIUM = 4000) + max_ammo = 40 + multiple_sprites = 1 + +/* + * .44 + */ + +/obj/item/ammo_magazine/ammo_box/b44 + name = "ammo box (.44)" + desc = "A box of .44 rounds" + icon_state = "box44" + caliber = ".44" + ammo_type = /obj/item/ammo_casing/a44 + matter = list(MAT_STEEL = 5040) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b44/rubber + name = "ammo box (.44 rubber)" + desc = "A box of .44 rubber rounds" + icon_state = "box44-rubber" + caliber = ".44" + ammo_type = /obj/item/ammo_casing/a44/rubber + matter = list(MAT_STEEL = 1440) + max_ammo = 24 + multiple_sprites = 1 + +/* + * .45 + */ + +/obj/item/ammo_magazine/ammo_box/b45 + name = "ammo box (.45)" + desc = "A box of .45 rounds" + icon_state = "pistol_s" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45 + matter = list(MAT_STEEL = 1800) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b45/practice + name = "ammo box (.45 practice)" + desc = "A box of .45 practice rounds" + icon_state = "pistol_p" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45/practice + matter = list(MAT_STEEL = 1440) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b45/ap + name = "ammo box (.45 AP)" + desc = "A box of .45 armor-piercing rounds" + icon_state = "pistol_ap" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45/ap + matter = list(MAT_STEEL = 1200, MAT_PLASTEEL = 600) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b45/hp + name = "ammo box (.45 HP)" + desc = "A box of .45 hollow-point rounds" + icon_state = "pistol_hp" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45/hp + matter = list(MAT_STEEL = 1440, MAT_PLASTIC = 360) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b45/rubber + name = "ammo box (.45 rubber)" + desc = "A box of .45 rubber rounds" + icon_state = "pistol_r" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45/rubber + matter = list(MAT_STEEL = 1440) + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b45/emp + name = "ammo box (.45 haywire)" + desc = "A box of .45 haywire rounds" + icon_state = "pistol_hw" + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45/emp + matter = list(MAT_STEEL = 3120, MAT_URANIUM = 2400) + max_ammo = 24 + multiple_sprites = 1 + +/* + * 12g (aka shotgun ammo) + */ + +/obj/item/ammo_magazine/ammo_box/b12g + name = "ammo box (12 gauge slug)" + desc = "A box of 12 gauge slug rounds" + icon_state = "slug" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g + matter = list(MAT_STEEL = 2880) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/pellet + name = "ammo box (12 gauge buckshot)" + desc = "A box of 12 gauge buckshot rounds" + icon_state = "buckshot" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/pellet + matter = list(MAT_STEEL = 2880) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/beanbag + name = "ammo box (12 gauge beanbag)" + desc = "A box of 12 gauge beanbag rounds" + icon_state = "bean" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/beanbag + matter = list(MAT_STEEL = 1440) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/stunshell + name = "ammo box (12 gauge stun)" + desc = "A box of 12 gauge stun rounds" + icon_state = "stunslug" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/stunshell + matter = list(MAT_STEEL = 2880, MAT_GLASS = 5760) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/emp + name = "ammo box (12 gauge EMP)" + desc = "A box of 12 gauge EMP rounds" + icon_state = "emp" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/emp + matter = list(MAT_STEEL = 2880, MAT_URANIUM = 1920) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/flechette + name = "ammo box (12 gauge flechette)" + desc = "A box of 12 gauge flechette rounds" + icon_state = "bean" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/flechette + matter = list(MAT_STEEL = 2880, MAT_PLASTEEL = 800) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/practice + name = "ammo box (12 gauge practice)" + desc = "A box of 12 gauge practice rounds" + icon_state = "practice" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/practice + matter = list(MAT_STEEL = 480) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/blank + name = "ammo box (12 gauge blank)" + desc = "A box of 12 gauge blank rounds" + icon_state = "blank" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/blank + matter = list(MAT_STEEL = 720) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b12g/flash + name = "ammo box (12 gauge flash)" + desc = "A box of 12 gauge flash rounds" + icon_state = "flash" + caliber = "12g" + ammo_type = /obj/item/ammo_casing/a12g/flash + matter = list(MAT_STEEL = 720, MAT_GLASS = 720) + max_ammo = 8 + multiple_sprites = 1 + +/* + * 14.5mm (anti-materiel rifle round) + */ + +/obj/item/ammo_magazine/ammo_box/b145 + desc = "ammo box (14.5mm)" + desc = "A box of 14.5mm rounds" + icon_state = "sniper" + caliber = "14.5mm" + ammo_type = /obj/item/ammo_casing/a145 + matter = list(MAT_STEEL = 8750) + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b145/highvel + desc = "ammo box (14.5mm sabot)" + desc = "A box of 14.5mm sabot rounds" + icon_state = "sniper" + caliber = "14.5mm" + ammo_type = /obj/item/ammo_casing/a145 + matter = list(MAT_STEEL = 8750) + max_ammo = 7 + multiple_sprites = 1 + +/* + * 7.62mm + */ + +/obj/item/ammo_magazine/ammo_box/b762 + name = "ammo box (7.62mm)" + desc = "A box of 7.62mm rounds" + icon_state = "rifle" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762 + matter = list(MAT_STEEL = 6000) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/hp + name = "ammo box (7.62mm HP)" + desc = "A box of 7.62mm hollow-point rounds" + icon_state = "rifle_hp" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/hp + matter = list(MAT_STEEL = 9000) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/ap + name = "ammo box (7.62mm AP)" + desc = "A box of 7.62mm armor-piercing rounds" + icon_state = "rifle_ap" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/ap + matter = list(MAT_STEEL = 9000) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/practice + name = "ammo box (7.62mm practice)" + desc = "A box of 7.62mm practice rounds" + icon_state = "rifle_p" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/practice + matter = list(MAT_STEEL = 2700) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/hunter + name = "ammo box (7.62mm hunter)" + desc = "A box of 7.62mm hunter rounds" + icon_state = "rifle_hunter" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/hunter + matter = list(MAT_STEEL = 6000) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/surplus + name = "ammo wrap (7.62mm)" + desc = "A paper wrap of 7.62mm rounds" + icon_state = "paper_wrap" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762 + matter = list(MAT_STEEL = 1600) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/surplus/blank + name = "ammo wrap (7.62mm blank)" + desc = "A paper wrap of 7.62mm blank rounds" + icon_state = "paper_wrap" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/blank + matter = list(MAT_STEEL = 720) + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b762/surplus/hunter + name = "ammo wrap (7.62mm hunter)" + desc = "A paper wrap of 7.62mm hunter rounds" + icon_state = "paper_wrap" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762/hunter + matter = list(MAT_STEEL = 1600) + max_ammo = 8 + multiple_sprites = 1 + +/* + * 5.45mm + */ + +/obj/item/ammo_magazine/ammo_box/b545 + name = "ammo box (5.45mm)" + desc = "A box of 5.45mm rounds" + icon_state = "hrifle" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545 + matter = list(MAT_STEEL = 5400) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/ap + name = "ammo box (5.45mm AP)" + desc = "A box of 5.45mm armor-piercing rounds" + icon_state = "hrifle-ap" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/ap + matter = list(MAT_STEEL = 8100) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/hp + name = "ammo box (5.45mm HP)" + desc = "A box of 5.45mm hollow-point rounds" + icon_state = "hrifle-hp" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/hp + matter = list(MAT_STEEL = 5400) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/practice + name = "ammo box (5.45mm practice)" + desc = "A box of 5.45mm practice rounds" + icon_state = "hrifle-practice" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/practice + matter = list(MAT_STEEL = 2700) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/hunter + name = "ammo box (5.45mm hunter)" + desc = "A box of 5.45mm hunter rounds" + icon_state = "hrifle-hunter" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/hunter + matter = list(MAT_STEEL = 5400) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/blank + name = "ammo box (5.45mm blank)" + desc = "A box of 5.45mm blank rounds" + icon_state = "hrifle-practice" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/blank + matter = list(MAT_STEEL = 2700) + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/large + name = "ammo box (5.45mm)" + desc = "A steel box of 5.45mm rounds" + icon_state = "boxhrifle" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545 + matter = list(MAT_STEEL = 18000) + max_ammo = 100 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/large/ap + name = "ammo box (5.45mm AP)" + desc = "A steel box of 5.45mm armor-piercing rounds" + icon_state = "boxhrifle-ap" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/ap + matter = list(MAT_STEEL = 27000) + max_ammo = 100 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/large/hp + name = "ammo box (5.45mm HP)" + desc = "A steel box of 5.45mm hollow-point rounds" + icon_state = "boxhrifle-hp" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/hp + matter = list(MAT_STEEL = 18000) + max_ammo = 100 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/large/practice + name = "ammo box (5.45mm practice)" + desc = "A steel box of 5.45mm practice rounds" + icon_state = "boxhrifle-practice" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/practice + matter = list(MAT_STEEL = 9000) + max_ammo = 100 + multiple_sprites = 1 + +/obj/item/ammo_magazine/ammo_box/b545/large/hunter + name = "ammo box (5.45mm hunter)" + desc = "A steel box of 5.45mm hunter rounds" + icon_state = "boxhrifle-hunter" + caliber = "5.45mm" + ammo_type = /obj/item/ammo_casing/a545/hunter + matter = list(MAT_STEEL = 18000) + max_ammo = 100 + multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index aa43a54792..b678ec8d9e 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -3,7 +3,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. Really obsolete. Don't use this. +# 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. @@ -15,7 +15,7 @@ # Likewise, when creating new rounds, the caliber variable should match whatever # the name says. # -# This comment is copied in rounds.dm as well. +# This comment is copied in rounds.dm and ammo_boxes.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. @@ -35,12 +35,13 @@ max_ammo = 9 multiple_sprites = 1 -/obj/item/ammo_magazine/mfoam_dart/pistol/riot - ammo_type = /obj/item/ammo_casing/afoam_dart/riot - /obj/item/ammo_magazine/mfoam_dart/pistol/empty initial_ammo = 0 +/obj/item/ammo_magazine/mfoam_dart/pistol/riot + ammo_type = /obj/item/ammo_casing/afoam_dart/riot + +// SMG /obj/item/ammo_magazine/mfoam_dart/smg name = "\improper Donk-Soft smg magazine" icon = 'icons/obj/gun_toy.dmi' @@ -52,13 +53,13 @@ max_ammo = 20 multiple_sprites = 1 +/obj/item/ammo_magazine/mfoam_dart/smg/empty + initial_ammo = 0 + /obj/item/ammo_magazine/mfoam_dart/smg/riot ammo_type = /obj/item/ammo_casing/afoam_dart/riot matter = list(MAT_PLASTIC = 1260, MAT_PLASTIC = 250) -/obj/item/ammo_magazine/mfoam_dart/smg/empty - initial_ammo = 0 - ///////// .357 ///////// /obj/item/ammo_magazine/s357 @@ -71,6 +72,21 @@ max_ammo = 6 multiple_sprites = 1 +/obj/item/ammo_magazine/s357/stun + name = "speedloader (.357 stun)" + icon_state = "T38" + ammo_type = /obj/item/ammo_casing/a357/stun + +/obj/item/ammo_magazine/s357/rubber + name = "speedloader (.357 rubber)" + icon_state = "T38" + ammo_type = /obj/item/ammo_casing/a357/rubber + +/obj/item/ammo_magazine/s357/flash + name = "speedloader (.357 flash)" + icon_state = "S38" + ammo_type = /obj/item/ammo_casing/a357/flash + ///////// .38 ///////// /obj/item/ammo_magazine/s38 @@ -131,6 +147,7 @@ name = "ammunition box (.45 haywire)" ammo_type = /obj/item/ammo_casing/a45/emp +// Uzi /obj/item/ammo_magazine/m45uzi name = "stick magazine (.45)" icon_state = "uzi45" @@ -144,14 +161,16 @@ /obj/item/ammo_magazine/m45uzi/empty initial_ammo = 0 +// Tommy Gun /obj/item/ammo_magazine/m45tommy name = "Tommy Gun magazine (.45)" - icon_state = "tommy-mag" + icon_state = "tomstick" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 matter = list(MAT_STEEL = 1500) caliber = ".45" max_ammo = 20 + multiple_sprites = 1 /obj/item/ammo_magazine/m45tommy/ap name = "Tommy Gun magazine (.45 AP)" @@ -162,21 +181,23 @@ /obj/item/ammo_magazine/m45tommydrum name = "Tommy Gun drum magazine (.45)" - icon_state = "tommy-drum" + icon_state = "tomdrum" w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 matter = list(MAT_STEEL = 3750) caliber = ".45" max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m45tommydrum/empty + initial_ammo = 0 /obj/item/ammo_magazine/m45tommydrum/ap name = "Tommy Gun drum magazine (.45 AP)" ammo_type = /obj/item/ammo_casing/a45/ap -/obj/item/ammo_magazine/m45tommydrum/empty - initial_ammo = 0 - +// Stripper Clip /obj/item/ammo_magazine/clip/c45 name = "ammo clip (.45)" icon_state = "clip_pistol" @@ -199,13 +220,14 @@ name = "ammo clip (.45 flash)" ammo_type = /obj/item/ammo_casing/a45/flash +// Speedloader /obj/item/ammo_magazine/s45 name = "speedloader (.45)" icon_state = "45s" ammo_type = /obj/item/ammo_casing/a45 matter = list(MAT_STEEL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" - max_ammo = 7 + max_ammo = 6 multiple_sprites = 1 /obj/item/ammo_magazine/s45/empty @@ -238,6 +260,9 @@ max_ammo = 30 multiple_sprites = 1 +/obj/item/ammo_magazine/m5mmcaseless/empty + initial_ammo = 0 + /obj/item/ammo_magazine/m5mmcaseless/stun icon_state = "caseless-mag-alt" ammo_type = /obj/item/ammo_casing/a5mmcaseless/stun @@ -246,7 +271,7 @@ /obj/item/ammo_magazine/m9mm name = "magazine (9mm)" - icon_state = "9x19p_fullsize" + icon_state = "m91" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE matter = list(MAT_STEEL = 600) @@ -255,15 +280,6 @@ max_ammo = 10 multiple_sprites = 1 -/obj/item/ammo_magazine/m9mm/large - desc = "\"FOR LAW ENFORCEMENT/MILITARY USE ONLY\" is clearly etched on the magazine. This is probably illegal for you to have." // Remember, Security is not Law Enforcement, so it's illegal for Security to use as well. - icon_state = "9x19p_highcap" - max_ammo = 17 - origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1) - -/obj/item/ammo_magazine/m9mm/large/preban // Sold by traders. - desc = "A large capacity magazine that was built before the SolGov Assault Weapons Ban, so it's legal to own." - /obj/item/ammo_magazine/m9mm/empty initial_ammo = 0 @@ -279,10 +295,33 @@ name = "magazine (9mm practice)" ammo_type = /obj/item/ammo_casing/a9mm/practice +// Extended +/obj/item/ammo_magazine/m9mm/large + name = "extended magazine (9mm)" + desc = "\"FOR LAW ENFORCEMENT/MILITARY USE ONLY\" is clearly etched on the magazine. This is probably illegal for you to have." // Remember, Security is not Law Enforcement, so it's illegal for Security to use as well. + icon_state = "m93" + origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1) + mag_type = MAGAZINE + matter = list(MAT_STEEL = 1000) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + max_ammo = 17 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mm/large/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m9mm/large/preban // Sold by traders. + desc = "A large capacity magazine that was built before the SolGov Assault Weapons Ban, so it's legal to own." + +/obj/item/ammo_magazine/m9mm/large/preban/hp // Hollow Point version + name = "magazine (9mm hollow-point)" + ammo_type = /obj/item/ammo_casing/a9mm/hp + // Compact /obj/item/ammo_magazine/m9mm/compact name = "compact magazine (9mm)" - icon_state = "9x19p" + icon_state = "m92" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE matter = list(MAT_STEEL = 480) @@ -337,6 +376,7 @@ ammo_type = /obj/item/ammo_casing/a9mm/ap matter = list(MAT_STEEL = 1000, MAT_PLASTEEL = 2000) +// P90 /obj/item/ammo_magazine/m9mmp90 name = "large capacity top mounted magazine (9mm armor-piercing)" icon_state = "p90" @@ -350,6 +390,7 @@ /obj/item/ammo_magazine/m9mmp90/empty initial_ammo = 0 +// Stripper Clip /obj/item/ammo_magazine/clip/c9mm name = "ammo clip (9mm)" icon_state = "clip_pistol" @@ -372,6 +413,7 @@ name = "ammo clip (.45 flash)" ammo_type = /obj/item/ammo_casing/a9mm/flash +// Advanced SMG /obj/item/ammo_magazine/m9mmAdvanced desc = "A very high capacity double stack magazine made specially for the Advanced SMG. Filled with 21 9mm bullets." icon_state = "S9mm" @@ -408,20 +450,6 @@ /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(MAT_STEEL = 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.45mm ///////// /obj/item/ammo_magazine/m545 @@ -435,41 +463,43 @@ max_ammo = 20 multiple_sprites = 1 -/obj/item/ammo_magazine/m545/ext - name = "extended magazine (5.45mm)" - matter = list(MAT_STEEL = 2700) - max_ammo = 30 - /obj/item/ammo_magazine/m545/empty initial_ammo = 0 -/obj/item/ammo_magazine/m545/ext/empty - initial_ammo = 0 - /obj/item/ammo_magazine/m545/practice name = "magazine (5.45mm practice)" ammo_type = /obj/item/ammo_casing/a545/practice -/obj/item/ammo_magazine/m545/practice/ext - name = "extended magazine (5.45mm practice)" - max_ammo = 30 - /obj/item/ammo_magazine/m545/ap name = "magazine (5.45mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a545/ap -/obj/item/ammo_magazine/m545/ap/ext - name = "extended magazine (5.45mm armor-piercing)" - max_ammo = 30 - /obj/item/ammo_magazine/m545/hunter name = "magazine (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter +// Extended +/obj/item/ammo_magazine/m545/ext + name = "extended magazine (5.45mm)" + matter = list(MAT_STEEL = 2700) + max_ammo = 30 + +/obj/item/ammo_magazine/m545/ext/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m545/practice/ext + name = "extended magazine (5.45mm practice)" + max_ammo = 30 + +/obj/item/ammo_magazine/m545/ap/ext + name = "extended magazine (5.45mm armor-piercing)" + max_ammo = 30 + /obj/item/ammo_magazine/m545/hunter/ext name = "extended magazine (5.45mm hunting)" max_ammo = 30 +// Reduced /obj/item/ammo_magazine/m545/small name = "reduced magazine (5.45mm)" icon_state = "m545-small" @@ -491,6 +521,7 @@ name = "magazine (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter +// Stripper Clip /obj/item/ammo_magazine/clip/c545 name = "ammo clip (5.45mm)" icon_state = "clip_rifle" @@ -512,6 +543,7 @@ name = "rifle clip (5.45mm practice)" ammo_type = /obj/item/ammo_casing/a545 +// SAW /obj/item/ammo_magazine/m545saw name = "magazine box (5.45mm)" icon_state = "a545" @@ -524,6 +556,9 @@ max_ammo = 50 multiple_sprites = 1 +/obj/item/ammo_magazine/m545saw/empty + initial_ammo = 0 + /obj/item/ammo_magazine/m545saw/ap name = "magazine box (5.45mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a545/ap @@ -532,9 +567,6 @@ name = "magazine box (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter -/obj/item/ammo_magazine/m545saw/empty - initial_ammo = 0 - ///////// .44 Magnum ///////// /obj/item/ammo_magazine/m44 @@ -551,6 +583,7 @@ /obj/item/ammo_magazine/m44/empty initial_ammo = 0 +// Stripper Clip /obj/item/ammo_magazine/clip/c44 name = "ammo clip (.44)" icon_state = "clip_pistol" @@ -561,6 +594,7 @@ max_ammo = 9 multiple_sprites = 1 +// Speedloader /obj/item/ammo_magazine/s44 name = "speedloader (.44)" icon_state = "44" @@ -595,33 +629,31 @@ max_ammo = 10 multiple_sprites = 1 +/obj/item/ammo_magazine/m762/empty + initial_ammo = 0 + /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 +// Extended +/obj/item/ammo_magazine/m762/ext + name = "extended magazine (7.62mm)" + icon_state = "m762" + matter = list(MAT_STEEL = 4000) + max_ammo = 20 + +/obj/item/ammo_magazine/m762/ext/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(MAT_STEEL = 4000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m762m/ap +/obj/item/ammo_magazine/m762/ext/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/m762garand - name = "garand clip (7.62mm)" // The clip goes into the magazine, hence the name. I'm very sure this is correct. - icon_state = "gclip" +// Enbloc +/obj/item/ammo_magazine/m762enbloc + name = "enbloc (7.62mm)" + icon_state = "enbloc" mag_type = MAGAZINE caliber = "7.62mm" matter = list(MAT_STEEL = 1600) @@ -629,13 +661,14 @@ max_ammo = 8 multiple_sprites = 1 -/obj/item/ammo_magazine/m762garand/ap +/obj/item/ammo_magazine/m762enbloc/ap name = "garand clip (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap -/obj/item/ammo_magazine/m762/empty +/obj/item/ammo_magazine/m762enbloc/empty initial_ammo = 0 +// Stripper Clip /obj/item/ammo_magazine/clip/c762 name = "ammo clip (7.62mm)" icon_state = "clip_rifle" @@ -657,6 +690,7 @@ name = "rifle clip (7.62mm hunting)" ammo_type = /obj/item/ammo_casing/a762/hunter +// SVD /obj/item/ammo_magazine/m762svd name = "\improper SVD magazine (7.62mm)" icon_state = "SVD" @@ -667,13 +701,13 @@ max_ammo = 10 multiple_sprites = 1 +/obj/item/ammo_magazine/m762svd/empty + initial_ammo = 0 + /obj/item/ammo_magazine/m762svd/ap name = "\improper SVD magazine (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap -/obj/item/ammo_magazine/m762svd/empty - initial_ammo = 0 - ///////// 12g ///////// /obj/item/ammo_magazine/m12gdrum @@ -686,6 +720,9 @@ max_ammo = 24 multiple_sprites = 1 +/obj/item/ammo_magazine/m12gdrum/empty + initial_ammo = 0 + /obj/item/ammo_magazine/m12gdrum/beanbag name = "magazine (12 gauge beanbag)" ammo_type = /obj/item/ammo_casing/a12g/beanbag @@ -698,9 +735,7 @@ name = "magazine (12 gauge flash)" ammo_type = /obj/item/ammo_casing/a12g/flash -/obj/item/ammo_magazine/m12gdrum/empty - initial_ammo = 0 - +// Clip /obj/item/ammo_magazine/clip/c12g name = "ammo clip (12g slug)" icon_state = "12gclipslug" // Still a placeholder sprite. Feel free to make a better one. @@ -738,15 +773,3 @@ /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(MAT_STEEL = 600) - max_ammo = 7 - multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines_vr.dm b/code/modules/projectiles/ammunition/magazines_vr.dm deleted file mode 100644 index 0050ae7d47..0000000000 --- a/code/modules/projectiles/ammunition/magazines_vr.dm +++ /dev/null @@ -1,9 +0,0 @@ -/obj/item/ammo_magazine/m9mm/large/preban/hp // Hollow Point Version - name = "magazine (9mm hollow-point)" - ammo_type = /obj/item/ammo_casing/a9mm/hp - -/obj/item/weapon/magnetic_ammo/pistol/khi - name = "flechette magazine (small, khi)" - desc = "A magazine containing smaller carbyne flechettes, intended for a pistol." - icon_state = "caseless-mag-short-alt" - remaining = 12 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm index ea0c995ac8..3b6bd97c88 100644 --- a/code/modules/projectiles/ammunition/magnetic.dm +++ b/code/modules/projectiles/ammunition/magnetic.dm @@ -17,3 +17,9 @@ name = "flechette magazine (small)" desc = "A magazine containing smaller steel flechettes, intended for a pistol." icon_state = "caseless-mag-short" + +/obj/item/weapon/magnetic_ammo/pistol/khi + name = "flechette magazine (small, khi)" + desc = "A magazine containing smaller carbyne flechettes, intended for a pistol." + icon_state = "caseless-mag-short-alt" + remaining = 12 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 0ea73396f8..2cbe138c61 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -222,6 +222,18 @@ projectile_type = /obj/item/projectile/bullet/pistol/medium matter = list(MAT_STEEL = 75) +/obj/item/ammo_casing/a10mm/practice + desc = "A 10mm practice bullet casing." + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/practice + matter = list(MAT_STEEL = 60) + +/obj/item/ammo_casing/a10mm/rubber + desc = "A 10mm rubber bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/rubber + icon_state = "r-casing" + matter = list(MAT_STEEL = 60) + /obj/item/ammo_casing/a10mm/emp name = "10mm haywire round" desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." diff --git a/code/modules/projectiles/guns/energy/laser_vr.dm b/code/modules/projectiles/guns/energy/laser_vr.dm index 6219af2ebf..428b0500d6 100644 --- a/code/modules/projectiles/guns/energy/laser_vr.dm +++ b/code/modules/projectiles/guns/energy/laser_vr.dm @@ -127,35 +127,6 @@ cut_overlays() update_mode() -///////////////////////////////////////////////////// -//////////////////// Custom Ammo //////////////////// -///////////////////////////////////////////////////// -//---------------- Beams ---------------- -/obj/item/projectile/beam/eluger - name = "laser beam" - icon_state = "xray" - light_color = "#00FF00" - muzzle_type = /obj/effect/projectile/muzzle/xray - tracer_type = /obj/effect/projectile/tracer/xray - impact_type = /obj/effect/projectile/impact/xray - -/obj/item/projectile/beam/imperial - name = "laser beam" - fire_sound = 'sound/weapons/mandalorian.ogg' - icon_state = "darkb" - light_color = "#8837A3" - muzzle_type = /obj/effect/projectile/muzzle/darkmatter - tracer_type = /obj/effect/projectile/tracer/darkmatter - impact_type = /obj/effect/projectile/impact/darkmatter - -/obj/item/projectile/beam/stun/kin21 - name = "kinh21 stun beam" - icon_state = "omnilaser" - light_color = "#0000FF" - muzzle_type = /obj/effect/projectile/muzzle/laser_omni - tracer_type = /obj/effect/projectile/tracer/laser_omni - impact_type = /obj/effect/projectile/impact/laser_omni - //Gun Locking Mechanism /obj/item/weapon/gun/energy/locked req_access = list(access_armory) //for toggling safety diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index e9fce291a3..cea479f48c 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -415,7 +415,7 @@ slot_flags = SLOT_BACK load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m762 - allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762m) + allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762/ext) projectile_type = /obj/item/projectile/bullet/rifle/a762 one_handed_penalty = 45 @@ -429,7 +429,7 @@ ..() if(istype(ammo_magazine,/obj/item/ammo_magazine/m762)) icon_state = "bullpup-small" - else if(istype(ammo_magazine,/obj/item/ammo_magazine/m762m)) + else if(istype(ammo_magazine,/obj/item/ammo_magazine/m762/ext)) icon_state = "bullpup" else item_state = "bullpup-empty" diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 678146eb18..3095666b83 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -78,7 +78,7 @@ caliber = ".45" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) ammo_type = /obj/item/ammo_casing/a45/rubber - max_shells = 7 + max_shells = 6 /obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() diff --git a/code/modules/projectiles/guns/projectile/semiauto.dm b/code/modules/projectiles/guns/projectile/semiauto.dm index 31dcf48873..d3fec59325 100644 --- a/code/modules/projectiles/guns/projectile/semiauto.dm +++ b/code/modules/projectiles/guns/projectile/semiauto.dm @@ -12,8 +12,8 @@ slot_flags = SLOT_BACK //fire_sound = 'sound/weapons/rifleshot.ogg' load_method = MAGAZINE // ToDo: Make it so MAGAZINE, SPEEDLOADER and SINGLE_CASING can all be used on the same gun. - magazine_type = /obj/item/ammo_magazine/m762garand - allowed_magazines = list(/obj/item/ammo_magazine/m762garand) + magazine_type = /obj/item/ammo_magazine/m762enbloc + allowed_magazines = list(/obj/item/ammo_magazine/m762enbloc) auto_eject = 1 auto_eject_sound = 'sound/weapons/garand_ping.ogg' diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 734d14c63a..d3f30f29d2 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -37,6 +37,14 @@ icon_state = "laser" damage = 15 +/obj/item/projectile/beam/weaklaser/blue + icon_state = "bluelaser" + light_color = "#0066FF" + + muzzle_type = /obj/effect/projectile/muzzle/laser_blue + tracer_type = /obj/effect/projectile/tracer/laser_blue + impact_type = /obj/effect/projectile/impact/laser_blue + /obj/item/projectile/beam/smalllaser damage = 25 @@ -44,7 +52,7 @@ damage = 30 armor_penetration = 10 - + /obj/item/projectile/beam/midlaser damage = 40 armor_penetration = 10 @@ -226,7 +234,7 @@ fire_sound = 'sound/weapons/Taser.ogg' nodamage = 1 taser_effect = 1 - agony = 40 + agony = 35 damage_type = HALLOSS light_color = "#FFFFFF" hitsound = 'sound/weapons/zapbang.ogg' @@ -264,6 +272,34 @@ if(A.cell) A.cell.give(drainamt * 2) +/obj/item/projectile/beam/stun/kin21 + name = "kinh21 stun beam" + icon_state = "omnilaser" + light_color = "#0000FF" + muzzle_type = /obj/effect/projectile/muzzle/laser_omni + tracer_type = /obj/effect/projectile/tracer/laser_omni + impact_type = /obj/effect/projectile/impact/laser_omni + +/obj/item/projectile/beam/stun/blue + icon_state = "bluelaser" + light_color = "#0066FF" + muzzle_type = /obj/effect/projectile/muzzle/laser_blue + tracer_type = /obj/effect/projectile/tracer/laser_blue + impact_type = /obj/effect/projectile/impact/laser_blue + +/obj/item/projectile/beam/disable + name = "disabler beam" + icon_state = "omnilaser" + nodamage = 1 + taser_effect = 1 + agony = 100 //One shot stuns for the time being until adjustments are fully made. + damage_type = HALLOSS + light_color = "#00CECE" + + muzzle_type = /obj/effect/projectile/muzzle/laser_omni + tracer_type = /obj/effect/projectile/tracer/laser_omni + impact_type = /obj/effect/projectile/impact/laser_omni + /obj/item/projectile/beam/shock name = "shock beam" icon_state = "lightning" @@ -282,11 +318,26 @@ damage = 5 agony = 10 +/obj/item/projectile/beam/eluger + name = "laser beam" + icon_state = "xray" + light_color = "#00FF00" + muzzle_type = /obj/effect/projectile/muzzle/xray + tracer_type = /obj/effect/projectile/tracer/xray + impact_type = /obj/effect/projectile/impact/xray + +/obj/item/projectile/beam/imperial + name = "laser beam" + fire_sound = 'sound/weapons/mandalorian.ogg' + icon_state = "darkb" + light_color = "#8837A3" + muzzle_type = /obj/effect/projectile/muzzle/darkmatter + tracer_type = /obj/effect/projectile/tracer/darkmatter + impact_type = /obj/effect/projectile/impact/darkmatter // // Projectile Beam Definitions // - /obj/item/projectile/beam/pointdefense name = "point defense salvo" icon_state = "laser" @@ -300,3 +351,63 @@ muzzle_type = /obj/effect/projectile/muzzle/pointdefense tracer_type = /obj/effect/projectile/tracer/pointdefense impact_type = /obj/effect/projectile/impact/pointdefense + +// +// Energy Net +// +/obj/item/projectile/beam/energy_net + name = "energy net projection" + icon_state = "xray" + nodamage = 1 + agony = 5 + damage_type = HALLOSS + light_color = "#00CC33" + + muzzle_type = /obj/effect/projectile/muzzle/xray + tracer_type = /obj/effect/projectile/tracer/xray + impact_type = /obj/effect/projectile/impact/xray + +/obj/item/projectile/beam/energy_net/on_hit(var/atom/netted) + do_net(netted) + ..() + +/obj/item/projectile/beam/energy_net/proc/do_net(var/mob/M) + var/obj/item/weapon/energy_net/net = new (get_turf(M)) + net.throw_impact(M) + +// +// Healing Beam +// +/obj/item/projectile/beam/medigun + name = "healing beam" + icon_state = "healbeam" + damage = 0 //stops it damaging walls + nodamage = TRUE + no_attack_log = TRUE + damage_type = BURN + check_armour = "laser" + light_color = "#80F5FF" + + combustion = FALSE + + muzzle_type = /obj/effect/projectile/muzzle/medigun + tracer_type = /obj/effect/projectile/tracer/medigun + impact_type = /obj/effect/projectile/impact/medigun + +/obj/item/projectile/beam/medigun/on_hit(var/atom/target, var/blocked = 0) + if(istype(target, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = target + if(M.health < M.maxHealth) + var/obj/effect/overlay/pulse = new /obj/effect/overlay(get_turf(M)) + pulse.icon = 'icons/effects/effects.dmi' + pulse.icon_state = "heal" + pulse.name = "heal" + pulse.anchored = TRUE + spawn(20) + qdel(pulse) + to_chat(target, "As the beam strikes you, your injuries close up!") + M.adjustBruteLoss(-15) + M.adjustFireLoss(-15) + M.adjustToxLoss(-5) + M.adjustOxyLoss(-5) + return 1 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams_vr.dm b/code/modules/projectiles/projectile/beams_vr.dm deleted file mode 100644 index 3f3e82071d..0000000000 --- a/code/modules/projectiles/projectile/beams_vr.dm +++ /dev/null @@ -1,85 +0,0 @@ -/obj/item/projectile/beam/disable - name = "disabler beam" - icon_state = "omnilaser" - nodamage = 1 - taser_effect = 1 - agony = 100 //One shot stuns for the time being until adjustments are fully made. - damage_type = HALLOSS - light_color = "#00CECE" - - muzzle_type = /obj/effect/projectile/muzzle/laser_omni - tracer_type = /obj/effect/projectile/tracer/laser_omni - impact_type = /obj/effect/projectile/impact/laser_omni - -/obj/item/projectile/beam/stun - agony = 35 - -/obj/item/projectile/beam/energy_net - name = "energy net projection" - icon_state = "xray" - nodamage = 1 - agony = 5 - damage_type = HALLOSS - light_color = "#00CC33" - - muzzle_type = /obj/effect/projectile/muzzle/xray - tracer_type = /obj/effect/projectile/tracer/xray - impact_type = /obj/effect/projectile/impact/xray - -/obj/item/projectile/beam/energy_net/on_hit(var/atom/netted) - do_net(netted) - ..() - -/obj/item/projectile/beam/energy_net/proc/do_net(var/mob/M) - var/obj/item/weapon/energy_net/net = new (get_turf(M)) - net.throw_impact(M) - -/obj/item/projectile/beam/stun/blue - icon_state = "bluelaser" - light_color = "#0066FF" - - muzzle_type = /obj/effect/projectile/muzzle/laser_blue - tracer_type = /obj/effect/projectile/tracer/laser_blue - impact_type = /obj/effect/projectile/impact/laser_blue - -/obj/item/projectile/beam/weaklaser/blue - icon_state = "bluelaser" - light_color = "#0066FF" - - muzzle_type = /obj/effect/projectile/muzzle/laser_blue - tracer_type = /obj/effect/projectile/tracer/laser_blue - impact_type = /obj/effect/projectile/impact/laser_blue - -/obj/item/projectile/beam/medigun - name = "healing beam" - icon_state = "healbeam" - damage = 0 //stops it damaging walls - nodamage = TRUE - no_attack_log = TRUE - damage_type = BURN - check_armour = "laser" - light_color = "#80F5FF" - - combustion = FALSE - - muzzle_type = /obj/effect/projectile/muzzle/medigun - tracer_type = /obj/effect/projectile/tracer/medigun - impact_type = /obj/effect/projectile/impact/medigun - -/obj/item/projectile/beam/medigun/on_hit(var/atom/target, var/blocked = 0) - if(istype(target, /mob/living/carbon/human)) - var/mob/living/carbon/human/M = target - if(M.health < M.maxHealth) - var/obj/effect/overlay/pulse = new /obj/effect/overlay(get_turf(M)) - pulse.icon = 'icons/effects/effects.dmi' - pulse.icon_state = "heal" - pulse.name = "heal" - pulse.anchored = TRUE - spawn(20) - qdel(pulse) - to_chat(target, "As the beam strikes you, your injuries close up!") - M.adjustBruteLoss(-15) - M.adjustFireLoss(-15) - M.adjustToxLoss(-5) - M.adjustOxyLoss(-5) - return 1 diff --git a/code/modules/projectiles/projectile/bullets_vr.dm b/code/modules/projectiles/projectile/bullets_vr.dm deleted file mode 100644 index 2f927afe99..0000000000 --- a/code/modules/projectiles/projectile/bullets_vr.dm +++ /dev/null @@ -1,29 +0,0 @@ -/obj/item/projectile/bullet/pistol/rubber/strong //"rubber" bullets for revolvers and matebas - damage = 10 - agony = 60 - embed_chance = 0 - sharp = FALSE - check_armour = "melee" - -/obj/item/projectile/energy/flash/strong - name = "chemical shell" - icon_state = "bullet" - damage = 10 - range = 15 //if the shell hasn't hit anything after travelling this far it just explodes. - flash_strength = 15 - brightness = 15 - -/obj/item/projectile/energy/electrode/stunshot/strong - name = "stunshot" - icon_state = "bullet" - damage = 10 - taser_effect = 1 - agony = 100 - -/obj/item/projectile/bullet/magnetic/flechette/small/khi - name = "small carbyne flechette" - icon_state = "flechette" - fire_sound = 'sound/weapons/rapidslice.ogg' - damage = 18 - armor_penetration = 100 - penetrating = 10 diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 3136f10199..f3f1068110 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -87,6 +87,13 @@ damage = 5 agony = 80 +/obj/item/projectile/energy/electrode/stunshot/strong + name = "stunshot" + icon_state = "bullet" + damage = 10 + taser_effect = 1 + agony = 100 + /obj/item/projectile/energy/declone name = "declone" icon_state = "declone" @@ -136,6 +143,19 @@ name = "largebolt" damage = 20 +/obj/item/projectile/energy/bow + name = "engergy bolt" + icon_state = "cbbolt" + damage = 20 + +/obj/item/projectile/energy/bow/heavy + damage = 30 + icon_state = "cbbolt" + +/obj/item/projectile/energy/bow/stun + name = "stun bolt" + agony = 30 + /obj/item/projectile/energy/acid //Slightly up-gunned (Read: The thing does agony and checks bio resist) variant of the simple alien mob's projectile, for queens and sentinels. name = "acidic spit" icon_state = "neurotoxin" @@ -260,3 +280,23 @@ range = 10 damage = 15 SA_bonus_damage = 60 // 75 total on animals + +/obj/item/projectile/energy/electrode/strong + agony = 70 + +/obj/item/projectile/energy + flash_strength = 10 + +/obj/item/projectile/energy/flash + flash_range = 1 + +/obj/item/projectile/energy/flash/strong + name = "chemical shell" + icon_state = "bullet" + damage = 10 + range = 15 //if the shell hasn't hit anything after travelling this far it just explodes. + flash_strength = 15 + brightness = 15 + +/obj/item/projectile/energy/flash/flare + flash_range = 2 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/energy_vr.dm b/code/modules/projectiles/projectile/energy_vr.dm deleted file mode 100644 index 5bc690c1b5..0000000000 --- a/code/modules/projectiles/projectile/energy_vr.dm +++ /dev/null @@ -1,25 +0,0 @@ -/obj/item/projectile/energy/electrode/strong - agony = 70 - -/obj/item/projectile/energy - flash_strength = 10 - -/obj/item/projectile/energy/flash - flash_range = 1 - -/obj/item/projectile/energy/flash/flare - flash_range = 2 - -/obj/item/projectile/energy/bow - name = "engergy bolt" - icon_state = "cbbolt" - damage = 20 - - -/obj/item/projectile/energy/bow/heavy - damage = 30 - icon_state = "cbbolt" - -/obj/item/projectile/energy/bow/stun - name = "stun bolt" - agony = 30 diff --git a/code/modules/projectiles/projectile/magnetic.dm b/code/modules/projectiles/projectile/magnetic.dm index 12452d4618..8b003bb6e5 100644 --- a/code/modules/projectiles/projectile/magnetic.dm +++ b/code/modules/projectiles/projectile/magnetic.dm @@ -29,6 +29,14 @@ damage = 12 armor_penetration = 100 +/obj/item/projectile/bullet/magnetic/flechette/small/khi + name = "small carbyne flechette" + icon_state = "flechette" + fire_sound = 'sound/weapons/rapidslice.ogg' + damage = 18 + armor_penetration = 100 + penetrating = 10 + /obj/item/projectile/bullet/magnetic/flechette/hunting name = "shredder slug" armor_penetration = 30 @@ -179,4 +187,4 @@ explosion(A, -1, -1, 1, 3) return ..() else - ..() + ..() \ No newline at end of file diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index 5013b230de..f6644babaa 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -112,7 +112,7 @@ id = "stunshell" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/storage/box/stunshells + build_path = /obj/item/ammo_magazine/ammo_box/b12g/stunshell sort_string = "MABBB" /datum/design/item/weapon/ballistic/ammo/empshell @@ -121,7 +121,7 @@ id = "empshell" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) materials = list(MAT_STEEL = 4000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/storage/box/empshells + build_path = /obj/item/ammo_magazine/ammo_box/b12g/emp sort_string = "MABBC" // Phase weapons diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index 20db6e308e..ab04b3c332 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -82,6 +82,9 @@ /obj/item/weapon/gun/energy/sizegun/admin name = "modified size gun" desc = "An older model sizegun, modified to be without limits on minimum/maximum size, and have an unlimited charge. Time to show 'em that size does matter." + description_fluff = "A standard size gun that has been modified with a distabilized bluespace element that has allowed the gun \ + to break the normal laws of physics and create a 'weapon' capable of sizing any creature well beyond any conceivable size. \ + Only a handfull of these exist in the known universe and they are exclusively owned by NanoTrasen for research purposes." icon_state = "sizegun_admin" item_state = "sizegun_admin" charge_cost = 0 diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index bc7116f5d7..6c5c1d0738 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/ammo_boxes.dmi b/icons/obj/ammo_boxes.dmi index 3706970041..0117deddee 100644 Binary files a/icons/obj/ammo_boxes.dmi and b/icons/obj/ammo_boxes.dmi differ diff --git a/icons/obj/ammo_vr.dmi b/icons/obj/ammo_vr.dmi index 4d823c7542..07189d9cb4 100644 Binary files a/icons/obj/ammo_vr.dmi and b/icons/obj/ammo_vr.dmi differ diff --git a/maps/stellardelight/stellar_delight1.dmm b/maps/stellardelight/stellar_delight1.dmm index 5be491d41c..2e87830b16 100644 --- a/maps/stellardelight/stellar_delight1.dmm +++ b/maps/stellardelight/stellar_delight1.dmm @@ -1660,20 +1660,20 @@ /area/security/security_cell_hallway) "dD" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = 6; - pixel_y = -1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/purple, /obj/effect/floor_decal/milspec/color/black, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = -5; + pixel_y = 7 + }, /turf/simulated/floor/tiled/dark, /area/security/armoury) "dF" = ( @@ -12022,21 +12022,22 @@ /area/security/warden) "zE" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/stunshells{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/box/flashshells{ - pixel_x = 1 - }, -/obj/item/weapon/storage/box/beanbags{ - pixel_x = 4; - pixel_y = -5 - }, /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 6 }, /obj/effect/floor_decal/milspec/color/black, +/obj/item/ammo_magazine/ammo_box/b12g/stunshell{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/ammo_magazine/ammo_box/b12g/flash{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/ammo_magazine/ammo_box/b12g/beanbag{ + pixel_x = -5; + pixel_y = 7 + }, /turf/simulated/floor/tiled/dark, /area/security/armoury) "zG" = ( diff --git a/maps/stellardelight/stellar_delight2.dmm b/maps/stellardelight/stellar_delight2.dmm index 917295d9de..a423e68b95 100644 --- a/maps/stellardelight/stellar_delight2.dmm +++ b/maps/stellardelight/stellar_delight2.dmm @@ -13513,12 +13513,12 @@ /area/storage/primary) "Ez" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/beanbags, /obj/item/weapon/gun/projectile/shotgun/doublebarrel, /obj/item/weapon/paper{ info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, +/obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/stellardelight/deck2/barbackroom) "EA" = ( diff --git a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm index 133fd1025f..68a7dd0597 100644 --- a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm @@ -38,28 +38,28 @@ "aL" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) "aM" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) "aN" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aO" = (/obj/structure/table/standard,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aS" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aT" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aO" = (/obj/structure/table/standard,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/obj/effect/floor_decal/corner/red/border{dir = 9; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aS" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aT" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/border{dir = 5; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aU" = (/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "aV" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"aW" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aX" = (/obj/structure/closet/crate/hydroponics,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aW" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime/border{dir = 9; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aX" = (/obj/structure/closet/crate/hydroponics,/obj/effect/floor_decal/corner/lime/border{dir = 5; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "aZ" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "ba" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bb" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bb" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bc" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{dir = 8; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "be" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bf" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bg" = (/obj/machinery/vending/security,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bh" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"bi" = (/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bg" = (/obj/machinery/vending/security,/obj/effect/floor_decal/corner/red/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bh" = (/obj/structure/table/rack,/obj/item/weapon/cell/device/weapon,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bi" = (/obj/effect/floor_decal/corner/lime/border{dir = 8; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bk" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "bl" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "bm" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) @@ -67,17 +67,17 @@ "bo" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bp" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bq" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"br" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/effect/floor_decal/corner/red/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"br" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/effect/floor_decal/corner/red/border{dir = 10; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bs" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bt" = (/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bu" = (/obj/effect/floor_decal/corner/red/border,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bv" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "bw" = (/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "bx" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle/pistol,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"by" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"by" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bz" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bA" = (/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 8},/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bB" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bA" = (/obj/effect/floor_decal/corner/lime/border{dir = 8; icon_state = "bordercolor"},/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bB" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bC" = (/obj/effect/decal/remains/posi,/turf/template_noop,/area/template_noop) "bD" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bE" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) @@ -156,20 +156,20 @@ "cZ" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) "da" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dd" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dd" = (/obj/machinery/vending/robotics,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "de" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "df" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dg" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dh" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dh" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "di" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"dj" = (/obj/item/mecha_parts/part/gygax_right_leg,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dj" = (/obj/item/mecha_parts/part/gygax_right_leg,/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dk" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/mecha_parts/part/gygax_left_arm,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "dl" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dn" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase) "do" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/mechanical/combat_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dq" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dq" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dr" = (/obj/effect/decal/cleanable/blood/oil,/turf/template_noop,/area/template_noop) "ds" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dt" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) @@ -181,8 +181,8 @@ "dz" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dA" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dB" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dC" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dD" = (/obj/structure/closet/crate/secure/hydrosec,/obj/effect/floor_decal/corner/lime/border{icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dC" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/lime/border{dir = 10; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dD" = (/obj/structure/closet/crate/secure/hydrosec,/obj/effect/floor_decal/corner/lime/border{dir = 6; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dE" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/gravemarker{dir = 1},/turf/template_noop,/area/template_noop) "dF" = (/obj/effect/gibspawner/robot,/turf/template_noop,/area/template_noop) "dG" = (/obj/effect/gibspawner/human,/turf/template_noop,/area/template_noop) diff --git a/maps/submaps/surface_submaps/wilderness/deathden.dmm b/maps/submaps/surface_submaps/wilderness/deathden.dmm index bf2542946f..d0bbccc747 100644 --- a/maps/submaps/surface_submaps/wilderness/deathden.dmm +++ b/maps/submaps/surface_submaps/wilderness/deathden.dmm @@ -67,7 +67,7 @@ "wK" = (/obj/structure/window/reinforced/tinted/frosted{dir = 1},/obj/structure/table/wooden_reinforced,/obj/random/soap,/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "xN" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "xS" = (/mob/living/simple_mob/animal/sif/savik{health = 200; melee_damage_lower = 20; melee_damage_upper = 40; name = "alpha savik"},/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"xZ" = (/obj/item/weapon/storage/box/shotgunammo/large,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"xZ" = (/obj/item/ammo_magazine/ammo_box/b12g/pellet,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "yn" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) "yL" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/flame/candle/everburn,/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "yS" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/effect/floor_decal/carpet{dir = 8},/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index a92c25c064..cdba4f64c5 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -35167,14 +35167,6 @@ /area/tether/surfacebase/surface_one_hall) "lSW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/blanks{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/weapon/storage/box/blanks{ - pixel_x = 2; - pixel_y = -2 - }, /obj/item/ammo_magazine/clip/c762/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/machinery/recharger/wallcharger{ @@ -35189,6 +35181,8 @@ /obj/item/ammo_magazine/m45/practice, /obj/item/ammo_magazine/m9mmt/practice, /obj/item/ammo_magazine/m9mmt/practice, +/obj/item/ammo_magazine/ammo_box/b12g/blank, +/obj/item/ammo_magazine/ammo_box/b12g/blank, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/weaponsrange) "lTn" = ( diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index f9fd05e2ab..cbc8186c5f 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -4826,19 +4826,19 @@ /area/tether/surfacebase/security/armory) "ahA" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = -2; +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/ammo_magazine/ammo_box/b12g/pellet{ + pixel_x = -5; pixel_y = 7 }, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/box/shotgunshells{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/armory) "ahB" = ( @@ -6064,20 +6064,21 @@ /area/tether/surfacebase/security/outfitting/storage) "ajs" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/stunshells{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/box/flashshells{ - pixel_x = 1 - }, -/obj/item/weapon/storage/box/beanbags{ - pixel_x = 4; - pixel_y = -5 - }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, +/obj/item/ammo_magazine/ammo_box/b12g/beanbag{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/ammo_magazine/ammo_box/b12g/flash{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/ammo_magazine/ammo_box/b12g/stunshell{ + pixel_x = -5; + pixel_y = 7 + }, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/armory) "ajt" = ( diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 3a8133e1c9..8334e042a5 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -31914,12 +31914,12 @@ /area/hallway/lower/third_south) "bcu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/beanbags, /obj/item/weapon/gun/projectile/shotgun/doublebarrel, /obj/item/weapon/paper{ info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, +/obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/tether/surfacebase/bar_backroom) "bcv" = ( diff --git a/vorestation.dme b/vorestation.dme index 275f73398f..ce35c6f6ad 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3491,7 +3491,6 @@ #include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\ammunition\ammo_boxes.dm" #include "code\modules\projectiles\ammunition\magazines.dm" -#include "code\modules\projectiles\ammunition\magazines_vr.dm" #include "code\modules\projectiles\ammunition\magnetic.dm" #include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\ammunition\smartmag.dm" @@ -3568,13 +3567,10 @@ #include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm" #include "code\modules\projectiles\projectile\arc.dm" #include "code\modules\projectiles\projectile\beams.dm" -#include "code\modules\projectiles\projectile\beams_vr.dm" #include "code\modules\projectiles\projectile\blob.dm" #include "code\modules\projectiles\projectile\bullets.dm" -#include "code\modules\projectiles\projectile\bullets_vr.dm" #include "code\modules\projectiles\projectile\change.dm" #include "code\modules\projectiles\projectile\energy.dm" -#include "code\modules\projectiles\projectile\energy_vr.dm" #include "code\modules\projectiles\projectile\explosive.dm" #include "code\modules\projectiles\projectile\force.dm" #include "code\modules\projectiles\projectile\hook.dm"