caseless rifle bonanza (#6425)

## About The Pull Request

PR related to a ore thing about rifles/etc. the objective of these guns
is gonna be as ultrarare loot/asset protection/ert stuff. basically this
is just the ballistic equivalents to the pulse rifle.

so far - gorlex Wild Hunt rifle, 100% AP (not extra damage vs armored
though), 50 brute, sets on fire


![image](https://github.com/Citadel-Station-13/Citadel-Station-13-RP/assets/54826962/bb84cccf-e2fc-4c72-8963-37f9a3b4673e)

also adds a generic new sprite - purple boolet


![image](https://github.com/Citadel-Station-13/Citadel-Station-13-RP/assets/54826962/4d582f63-a1b5-43f3-a121-d319983e7773)


todo: sprites


## Why It's Good For The Game

gun and lore fun.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: caseless rifles
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
This commit is contained in:
bearrrrrrrr
2024-05-23 02:31:15 -07:00
committed by GitHub
parent 15ee89df66
commit fc55e4ed6e
9 changed files with 143 additions and 16 deletions
+25 -14
View File
@@ -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
+18 -1
View File
@@ -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."
@@ -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]."
@@ -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
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 90 KiB