diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm index b6e632b7f03..8e41e4311d0 100644 --- a/code/game/objects/random/guns_and_ammo.dm +++ b/code/game/objects/random/guns_and_ammo.dm @@ -95,6 +95,8 @@ prob(1);/obj/item/gun/ballistic/shotgun/pump/rifle/taj, prob(1);/obj/item/gun/ballistic/shotgun/pump/rifle/lever, prob(1);/obj/item/gun/ballistic/shotgun/pump/rifle/lever/win1895, + prob(1);/obj/item/gun/ballistic/caseless/phoron_spitter, + prob(1);/obj/item/gun/ballistic/caseless/wild_hunt, prob(2);/obj/item/gun/ballistic/silenced) /obj/random/projectile/sec @@ -188,39 +190,43 @@ /obj/random/multiple/gun/projectile/smg/item_to_spawn() return pick( - prob(3);list( + prob(6);list( /obj/item/gun/ballistic/automatic/wt550, /obj/item/ammo_magazine/m9mmt, /obj/item/ammo_magazine/m9mmt ), - prob(3);list( + prob(6);list( /obj/item/gun/ballistic/automatic/wt274, /obj/item/ammo_magazine/m45uzi/wt274, /obj/item/ammo_magazine/m45uzi/wt274 ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/automatic/mini_uzi, /obj/item/ammo_magazine/m45uzi, /obj/item/ammo_magazine/m45uzi ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/automatic/tommygun, /obj/item/ammo_magazine/m45tommy, /obj/item/ammo_magazine/m45tommy ), - prob(2);list( + prob(4);list( /obj/item/gun/ballistic/automatic/c20r, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/automatic/p90, /obj/item/ammo_magazine/m57x28mmp90 ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/automatic/mini_uzi/taj, /obj/item/ammo_magazine/m45uzi, /obj/item/ammo_magazine/m45uzi + ), + prob(1);list( + /obj/item/gun/ballistic/caseless/phoron_spitter, + /obj/item/ammo_magazine/mphoronshot ) ) @@ -234,36 +240,41 @@ /obj/random/multiple/gun/projectile/rifle/item_to_spawn() return pick( - prob(2);list( + prob(4);list( /obj/item/gun/ballistic/automatic/sts35, /obj/item/ammo_magazine/m556, /obj/item/ammo_magazine/m556 ), - prob(2);list( + prob(4);list( /obj/item/gun/ballistic/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762 ), - prob(4);list( + prob(8);list( /obj/item/gun/ballistic/shotgun/pump/rifle, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762 ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/shotgun/pump/rifle/lever/win1895, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762 ), - prob(1);list( + prob(2);list( /obj/item/gun/ballistic/automatic/bullpup, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762 ), - prob(4);list( + prob(8);list( /obj/item/gun/ballistic/shotgun/pump/rifle/taj, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762 - ) + ), + prob(1);list( + /obj/item/gun/ballistic/caseless/wild_hunt, + /obj/item/ammo_magazine/mfiftycalcaseless, + /obj/item/ammo_magazine/mfiftycalcaseless + ), ) /obj/random/multiple/gun/projectile/handgun diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 64df58b42bc..6085d779434 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -503,7 +503,7 @@ /obj/item/ammo_casing/a5mmcaseless desc = "A 5mm solid phoron caseless round." caliber = "5mm caseless" - icon_state = "casing" // Placeholder. Should probably be purple. + icon_state = "p-casing" projectile_type = /obj/projectile/bullet/pistol // Close enough to be comparable. materials_base = list(MAT_STEEL = 180) casing_flags = CASING_DELETE @@ -512,10 +512,27 @@ desc = "A 5mm solid phoron caseless stun round." projectile_type = /obj/projectile/energy/electrode // Maybe nerf this considering there's 30 rounds in a mag. + /* * Misc */ +/obj/item/ammo_casing/fiftycalcaseless + name = "caseless phoron round" + desc = "A 12.7mm caseless round." + caliber = "12.7mm caseless" + icon_state = "p-casing" + projectile_type = /obj/projectile/bullet/incendiary/caseless + casing_flags = CASING_DELETE + +/obj/item/ammo_casing/phoron_shrap + name = "phoron shrapnel" + desc = "Should you really be holding this?" + caliber = "phoron shrapnel" + icon_state = "phoronshrap" + projectile_type = /obj/projectile/bullet/incendiary/caseless + casing_flags = CASING_DELETE + /obj/item/ammo_casing/rocket name = "rocket shell" desc = "A high explosive designed to be fired from a launcher." diff --git a/code/modules/projectiles/guns/projectile/caseless.dm b/code/modules/projectiles/guns/projectile/caseless.dm index 6332892d9a7..752b1ec0def 100644 --- a/code/modules/projectiles/guns/projectile/caseless.dm +++ b/code/modules/projectiles/guns/projectile/caseless.dm @@ -24,7 +24,7 @@ /obj/item/gun/ballistic/caseless/usmc name = "M41A Pulse Rifle" - desc = "A relic dating back to the Xenomorph Wars and the former primary battle rifle of the United Solar Marine Corps. Loads using 10x24mm caseless Magazines" + desc = "A relic of the Phoron Wars and a more violent age. The former primary battle rifle of the United Terran Marine Corps. It's now discontinued, like most caseless designs, due to cost and lack of need. Still preferred by many. Loads using 10x24mm caseless Magazines." icon_state = "usmc" item_state = "usmc" w_class = WEIGHT_CLASS_BULKY @@ -35,7 +35,72 @@ magazine_type = /obj/item/ammo_magazine/m10x24mm/small allowed_magazines = list(/obj/item/ammo_magazine/m10x24mm/small, /obj/item/ammo_magazine/m10x24mm/med, /obj/item/ammo_magazine/m10x24mm/large) recoil = 0 + auto_eject = 1 + auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), list(mode_name="4-round bursts", burst=4, fire_delay=null, move_delay=6, burst_accuracy=list(0,-5,-10,-15), dispersion=list(0.0, 0.2, 0.4, 0.6)),//Small damage countered by tight spread. ) + +/obj/item/gun/ballistic/caseless/wild_hunt //extremely powerful and rare rifle - meant to spawn with maybe 2 mags extra, or be for asset protection/ert/solo antags/etc + name = "Gorlex WILD-HUNT 12.7mm Caseless Rifle" + desc = "An ancient rifle of the Phoron Wars. For when you want to kill something with no negotiation. The Wild Hunt is a beast that kicks like a mule and fires experimental caseless phoron rounds. It has, obviously, horrific results, setting targets on fire after giving them a golf-ball sized hole. Now generally disused due to the extreme maintenance cost and impracticality. Nobody makes these, anymore." + icon_state = "wild-hunt" + item_state = "wild-hunt" + caliber = "12.7mm caseless" + w_class = WEIGHT_CLASS_BULKY + slot_flags = SLOT_BACK + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/mfiftycalcaseless + recoil = 1 + accuracy = -10 + allowed_magazines = list(/obj/item/ammo_magazine/mfiftycalcaseless) + one_handed_penalty = 100 //you simply do not + auto_eject = 1 + auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' + fire_sound = 'sound/weapons/gunshot/sniper.ogg' + + firemodes = list( + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), + list(mode_name="automatic", burst=1, fire_delay=-1, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 1) + ) + +/obj/item/gun/ballistic/caseless/wild_hunt/update_icon_state() + . = ..() + if(ammo_magazine) + icon_state = initial(icon_state) + else + icon_state = "[initial(icon_state)]-empty" + +/obj/item/gun/ballistic/caseless/wild_hunt/Initialize(mapload) + . = ..() + var/fluff_date = rand(2501,2543) + desc += "\n You see a stamp on the side: GORLEX MARAUDERS, MANUFACTURED IN [fluff_date]." + + +/obj/item/gun/ballistic/caseless/phoron_spitter // phoron war SMG that fires phoron shards. + name = "Gorlex 'SHRAPNEL-SPITTER' Phoron SMG" + desc = "A short-barrel SMG from the Phoron Wars that lacks conventional ammo, instead using compressed matter cartridges. Coils accelerate a ferromagnetic, self-oxidizing cloud of alloy. Lack of traditional cycling means it can fire blindingly fast. Like all caseless weapons, it's fallen by the wayside, and is no longer produced." + caliber = "phoron shrapnel" + w_class = WEIGHT_CLASS_BULKY + slot_flags = SLOT_BACK + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/mphoronshot + allowed_magazines = list(/obj/item/ammo_magazine/mphoronshot) + icon_state = "phoron_shredder" + item_state = "ashot" //close enough + recoil = 1.5 + accuracy = -30 + one_handed_penalty = 50 + auto_eject = 1 + auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' + + firemodes = list( + list(mode_name="full auto", burst=1, fire_delay=-1, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 1), + list(mode_name="fuller auto", burst=2, fire_delay=-1, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 1) + ) + +/obj/item/gun/ballistic/caseless/phoron_spitter/Initialize(mapload) + . = ..() + var/fluff_date = rand(2501,2543) + desc += "\nYou see a stamp on the side: GORLEX MARAUDERS, MANUFACTURED IN [fluff_date]." diff --git a/code/modules/projectiles/magazines/unsorted.dm b/code/modules/projectiles/magazines/unsorted.dm index 783a94ddcb0..6f6f3ebe5a0 100644 --- a/code/modules/projectiles/magazines/unsorted.dm +++ b/code/modules/projectiles/magazines/unsorted.dm @@ -317,6 +317,29 @@ icon_state = "caseless-mag-alt" ammo_type = /obj/item/ammo_casing/a5mmcaseless/stun +/////// 12.7mm / 50 caliber caseless ///////// + +/obj/item/ammo_magazine/mfiftycalcaseless + name = "Wild Hunt magazine (12.7mm caseless)" + ammo_type = /obj/item/ammo_casing/fiftycalcaseless + icon_state = "caseless-127" + caliber = "12.7mm caseless" + mag_type = MAGAZINE + max_ammo = 20 + multiple_sprites = 1 + +/////// phoron shrapnel smg ////// + +/obj/item/ammo_magazine/mphoronshot + name = "compressed phoron matter container" + desc = "A compressed matter container meant for the Gorlex SHRAPNEL-SPITTER SMG. Contains a phoron alloy that self-oxidzes and ignites on contact with air. \n \nThey're in good shape for the shape they're in, \nbut God, I wonder how they think they can win, \nwith phoron rolling down their skin." + max_ammo = 40 + caliber = "phoron shrapnel" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/phoron_shrap + icon_state = "spitterammo" + multiple_sprites = 1 + ///////// 9mm ///////// /obj/item/ammo_magazine/m9mm diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index e72fec88cb4..b45355d7a2a 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -496,6 +496,17 @@ damage = 15 range = 6 +/obj/projectile/bullet/incendiary/caseless + name = "caseless phoron slug" + icon_state = "bullet_alt" + damage = 50 + damage_type = BRUTE + incendiary = 1 + flammability = 4 + armor_penetration = 35 + + + /* Practice rounds and blanks */ /obj/projectile/bullet/practice diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi index aeb7c090d58..1bd3902dd41 100644 Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi index 85ad50c790a..603ec2ecedd 100644 Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 500665b42cb..97caca3b4b9 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/gun/ballistic.dmi b/icons/obj/gun/ballistic.dmi index e7fa9abdc79..30257b6709b 100644 Binary files a/icons/obj/gun/ballistic.dmi and b/icons/obj/gun/ballistic.dmi differ