[MIRROR] Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) [MDB IGNORE] (#22937)

* Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes)

* Update nukeops.dm

* Update clownops.dm

* Modular fixes

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-08-08 18:38:40 +02:00
committed by GitHub
parent 763d9cf4f3
commit 7c68b51b6c
49 changed files with 1208 additions and 860 deletions

View File

@@ -1,33 +1,33 @@
// 7.12x82mm (SAW)
// 7mm (SAW)
/obj/item/ammo_casing/mm712x82
name = "7.12x82mm bullet casing"
desc = "A 7.12x82mm bullet casing."
/obj/item/ammo_casing/m7mm
name = "7mm bullet casing"
desc = "A 7mm bullet casing."
icon_state = "762-casing"
caliber = CALIBER_712X82MM
projectile_type = /obj/projectile/bullet/mm712x82
caliber = CALIBER_A7MM
projectile_type = /obj/projectile/bullet/a7mm
/obj/item/ammo_casing/mm712x82/ap
name = "7.12x82mm armor-piercing bullet casing"
desc = "A 7.12x82mm bullet casing designed with a hardened-tipped core to help penetrate armored targets."
projectile_type = /obj/projectile/bullet/mm712x82/ap
/obj/item/ammo_casing/m7mm/ap
name = "7mm armor-piercing bullet casing"
desc = "A 7mm bullet casing designed with a hardened-tipped core to help penetrate armored targets."
projectile_type = /obj/projectile/bullet/a7mm/ap
/obj/item/ammo_casing/mm712x82/hollow
name = "7.12x82mm hollow-point bullet casing"
desc = "A 7.12x82mm bullet casing designed to cause more damage to unarmored targets."
projectile_type = /obj/projectile/bullet/mm712x82/hp
/obj/item/ammo_casing/m7mm/hollow
name = "7mm hollow-point bullet casing"
desc = "A 7mm bullet casing designed to cause more damage to unarmored targets."
projectile_type = /obj/projectile/bullet/a7mm/hp
/obj/item/ammo_casing/mm712x82/incen
name = "7.12x82mm incendiary bullet casing"
desc = "A 7.12x82mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames."
projectile_type = /obj/projectile/bullet/incendiary/mm712x82
/obj/item/ammo_casing/m7mm/incen
name = "7mm incendiary bullet casing"
desc = "A 7mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames."
projectile_type = /obj/projectile/bullet/incendiary/a7mm
/obj/item/ammo_casing/mm712x82/match
name = "7.12x82mm match bullet casing"
desc = "A 7.12x82mm bullet casing manufactured to unfailingly high standards, you could pull off some cool trickshots with this."
projectile_type = /obj/projectile/bullet/mm712x82/match
/obj/item/ammo_casing/m7mm/match
name = "7mm match bullet casing"
desc = "A 7mm bullet casing manufactured to unfailingly high standards, you could pull off some cool trickshots with this."
projectile_type = /obj/projectile/bullet/a7mm/match
/obj/item/ammo_casing/mm712x82/bouncy
name = "7.12x82mm rubber bullet casing"
desc = "A 7.12x82mm rubber bullet casing manufactured to unfailingly disastrous standards, you could piss off a lot of people spraying this down a hallway."
projectile_type = /obj/projectile/bullet/mm712x82/bouncy
/obj/item/ammo_casing/m7mm/bouncy
name = "7mm rubber bullet casing"
desc = "A 7mm rubber bullet casing manufactured to unfailingly disastrous standards, you could piss off a lot of people spraying this down a hallway."
projectile_type = /obj/projectile/bullet/a7mm/bouncy

View File

@@ -14,6 +14,14 @@
desc = "A .357 bullet casing, manufactured to exceedingly high standards."
projectile_type = /obj/projectile/bullet/a357/match
/obj/item/ammo_casing/a357/phasic
name = ".357 phasic bullet casing"
projectile_type = /obj/projectile/bullet/a357/phasic
/obj/item/ammo_casing/a357/heartseeker
name = ".357 heartseeker bullet casing"
projectile_type = /obj/projectile/bullet/a357/heartseeker
// 7.62x38mmR (Nagant Revolver)
/obj/item/ammo_casing/n762

View File

@@ -15,21 +15,21 @@
/obj/item/ammo_casing/a762/enchanted
projectile_type = /obj/projectile/bullet/a762/enchanted
// 5.56mm (M-90gl Carbine)
// .223 (M-90gl Carbine)
/obj/item/ammo_casing/a556
name = "5.56mm bullet casing"
desc = "A 5.56mm bullet casing."
caliber = CALIBER_A556
projectile_type = /obj/projectile/bullet/a556
/obj/item/ammo_casing/a223
name = ".223 bullet casing"
desc = "A .223 bullet casing."
caliber = CALIBER_A223
projectile_type = /obj/projectile/bullet/a223
/obj/item/ammo_casing/a556/phasic
name = "5.56mm phasic bullet casing"
desc = "A 5.56mm phasic bullet casing."
projectile_type = /obj/projectile/bullet/a556/phasic
/obj/item/ammo_casing/a223/phasic
name = ".223 phasic bullet casing"
desc = "A .223 phasic bullet casing."
projectile_type = /obj/projectile/bullet/a223/phasic
/obj/item/ammo_casing/a556/weak
projectile_type = /obj/projectile/bullet/a556/weak
/obj/item/ammo_casing/a223/weak
projectile_type = /obj/projectile/bullet/a223/weak
// 40mm (Grenade Launcher)
@@ -39,3 +39,8 @@
caliber = CALIBER_40MM
icon_state = "40mmHE"
projectile_type = /obj/projectile/bullet/a40mm
/obj/item/ammo_casing/a40mm/rubber
name = "40mm rubber shell"
desc = "A cased rubber slug. The big brother of the beanbag slug, this thing will knock someone out in one. Doesn't do so great against anyone in armor."
projectile_type = /obj/projectile/bullet/shotgun_beanbag/a40mm

View File

@@ -32,6 +32,11 @@
desc = "A .45 bullet casing."
projectile_type = /obj/projectile/bullet/c45/ap
/obj/item/ammo_casing/c45/hp
name = ".45 hollow point bullet casing"
desc = "A .45 bullet casing."
projectile_type = /obj/projectile/bullet/c45/hp
/obj/item/ammo_casing/c45/inc
name = ".45 incendiary bullet casing"
desc = "A .45 bullet casing."

View File

@@ -6,11 +6,28 @@
max_ammo = 7
multiple_sprites = AMMO_BOX_PER_BULLET
item_flags = NO_MAT_REDEMPTION
ammo_band_icon = "+357_ammo_band"
ammo_band_color = null
/obj/item/ammo_box/a357/match
name = "speed loader (.357 Match)"
desc = "Designed to quickly reload revolvers. These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with."
ammo_type = /obj/item/ammo_casing/a357/match
ammo_band_color = "#77828a"
/obj/item/ammo_box/a357/phasic
name = "speed loader (.357 Phasic)"
desc = "Designed to quickly reload revolvers. Holds phasic ammo, also known as 'Ghost Lead', allowing it to pass through non-organic material."
ammo_type = /obj/item/ammo_casing/a357/phasic
ammo_band_color = "#693a6a"
/obj/item/ammo_box/a357/heartseeker
name = "speed loader (.357 Heartseeker)"
desc = "Designed to quickly reload revolvers. Holds heartseeker ammo, which veers into targets with exceptional precision using \
an unknown method. It apparently predicts movement using neural pulses in the brain, but that's less marketable. \
As seen in the hit NTFlik horror-space western film, Forget-Me-Not! Brought to you by Roseus Galactic!"
ammo_type = /obj/item/ammo_casing/a357/heartseeker
ammo_band_color = "#a91e1e"
/obj/item/ammo_box/c38
name = "speed loader (.38)"
@@ -84,6 +101,20 @@
max_ammo = 4
multiple_sprites = AMMO_BOX_PER_BULLET
/obj/item/ammo_box/a40mm/rubber
name = "ammo box (40mm rubber slug)"
ammo_type = /obj/item/ammo_casing/a40mm/rubber
/obj/item/ammo_box/rocket
name = "rocket bouquet (84mm HE)"
icon_state = "rocketbundle"
ammo_type = /obj/item/ammo_casing/rocket
max_ammo = 3
multiple_sprites = AMMO_BOX_PER_BULLET
/obj/item/ammo_box/rocket/can_load(mob/user)
return FALSE
/obj/item/ammo_box/a762
name = "stripper clip (7.62mm)"
desc = "A stripper clip."

View File

@@ -1,34 +1,34 @@
/obj/item/ammo_box/magazine/mm712x82
name = "box magazine (7.12x82mm)"
icon_state = "a762-50"
ammo_type = /obj/item/ammo_casing/mm712x82
caliber = CALIBER_712X82MM
/obj/item/ammo_box/magazine/m7mm
name = "box magazine (7mm)"
icon_state = "a7mm-50"
ammo_type = /obj/item/ammo_casing/m7mm
caliber = CALIBER_A7MM
max_ammo = 50
/obj/item/ammo_box/magazine/mm712x82/hollow
name = "box magazine (Hollow-Point 7.12x82mm)"
ammo_type = /obj/item/ammo_casing/mm712x82/hollow
/obj/item/ammo_box/magazine/m7mm/hollow
name = "box magazine (Hollow-Point 7mm)"
ammo_type = /obj/item/ammo_casing/m7mm/hollow
/obj/item/ammo_box/magazine/mm712x82/ap
name = "box magazine (Armor Penetrating 7.12x82mm)"
ammo_type = /obj/item/ammo_casing/mm712x82/ap
/obj/item/ammo_box/magazine/m7mm/ap
name = "box magazine (Armor Penetrating 7mm)"
ammo_type = /obj/item/ammo_casing/m7mm/ap
/obj/item/ammo_box/magazine/mm712x82/incen
name = "box magazine (Incendiary 7.12x82mm)"
ammo_type = /obj/item/ammo_casing/mm712x82/incen
/obj/item/ammo_box/magazine/m7mm/incen
name = "box magazine (Incendiary 7mm)"
ammo_type = /obj/item/ammo_casing/m7mm/incen
/obj/item/ammo_box/magazine/mm712x82/match
name = "box magazine (Match 7.12x82mm)"
ammo_type = /obj/item/ammo_casing/mm712x82/match
/obj/item/ammo_box/magazine/m7mm/match
name = "box magazine (Match 7mm)"
ammo_type = /obj/item/ammo_casing/m7mm/match
/obj/item/ammo_box/magazine/mm712x82/bouncy
name = "box magazine (Rubber 7.12x82mm)"
ammo_type = /obj/item/ammo_casing/mm712x82/bouncy
/obj/item/ammo_box/magazine/m7mm/bouncy
name = "box magazine (Rubber 7mm)"
ammo_type = /obj/item/ammo_casing/m7mm/bouncy
/obj/item/ammo_box/magazine/mm712x82/bouncy/hicap
name = "hi-cap box magazine (Rubber 7.12x82mm)"
/obj/item/ammo_box/magazine/m7mm/bouncy/hicap
name = "hi-cap box magazine (Rubber 7mm)"
max_ammo = 150
/obj/item/ammo_box/magazine/mm712x82/update_icon_state()
/obj/item/ammo_box/magazine/m7mm/update_icon_state()
. = ..()
icon_state = "a762-[min(round(ammo_count(), 10), 50)]" //Min is used to prevent high capacity magazines from attempting to get sprites with larger capacities
icon_state = "a7mm-[min(round(ammo_count(), 10), 50)]" //Min is used to prevent high capacity magazines from attempting to get sprites with larger capacities

View File

@@ -10,14 +10,14 @@
. = ..()
icon_state = "[base_icon_state]-[LAZYLEN(stored_ammo) ? "full" : "empty"]"
/obj/item/ammo_box/magazine/m556
name = "toploader magazine (5.56mm)"
icon_state = "5.56m"
ammo_type = /obj/item/ammo_casing/a556
caliber = CALIBER_A556
/obj/item/ammo_box/magazine/m223
name = "toploader magazine (.223)"
icon_state = ".223"
ammo_type = /obj/item/ammo_casing/a223
caliber = CALIBER_A223
max_ammo = 30
multiple_sprites = AMMO_BOX_FULL_EMPTY
/obj/item/ammo_box/magazine/m556/phasic
name = "toploader magazine (5.56mm Phasic)"
ammo_type = /obj/item/ammo_casing/a556/phasic
/obj/item/ammo_box/magazine/m223/phasic
name = "toploader magazine (.223 Phasic)"
ammo_type = /obj/item/ammo_casing/a223/phasic

View File

@@ -90,6 +90,10 @@
name = "SMG magazine (Armour Piercing .45)"
ammo_type = /obj/item/ammo_casing/c45/ap
/obj/item/ammo_box/magazine/smgm45/hp
name = "SMG magazine (Hollow Point .45)"
ammo_type = /obj/item/ammo_casing/c45/hp
/obj/item/ammo_box/magazine/smgm45/incen
name = "SMG magazine (Incendiary .45)"
ammo_type = /obj/item/ammo_casing/c45/inc

View File

@@ -44,8 +44,8 @@
/obj/item/ammo_box/magazine/toy/m762
name = "donksoft box magazine"
icon_state = "a762-toy"
base_icon_state = "a762"
icon_state = "a7mm-toy"
base_icon_state = "a7mm"
ammo_type = /obj/item/ammo_casing/foam_dart
max_ammo = 50
@@ -54,5 +54,5 @@
icon_state = "[base_icon_state]-[round(ammo_count(), 10)]"
/obj/item/ammo_box/magazine/toy/m762/riot
icon_state = "a762-riot"
icon_state = "a7mm-riot"
ammo_type = /obj/item/ammo_casing/foam_dart/riot

View File

@@ -154,7 +154,7 @@
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "m90"
selector_switch_icon = TRUE
accepted_magazine_type = /obj/item/ammo_box/magazine/m556
accepted_magazine_type = /obj/item/ammo_box/magazine/m223
can_suppress = FALSE
var/obj/item/gun/ballistic/revolver/grenadelauncher/underbarrel
burst_size = 3
@@ -229,7 +229,7 @@
icon_state = "arg"
inhand_icon_state = "arg"
slot_flags = 0
accepted_magazine_type = /obj/item/ammo_box/magazine/m556
accepted_magazine_type = /obj/item/ammo_box/magazine/m223
can_suppress = FALSE
burst_size = 3
fire_delay = 1
@@ -238,13 +238,13 @@
/obj/item/gun/ballistic/automatic/l6_saw
name = "\improper L6 SAW"
desc = "A heavily modified 7.12x82mm light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation."
desc = "A heavily modified 7mm light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation."
icon_state = "l6"
inhand_icon_state = "l6closedmag"
base_icon_state = "l6"
w_class = WEIGHT_CLASS_HUGE
slot_flags = 0
accepted_magazine_type = /obj/item/ammo_box/magazine/mm712x82
accepted_magazine_type = /obj/item/ammo_box/magazine/m7mm
weapon_weight = WEAPON_HEAVY
burst_size = 1
actions_types = list()

View File

@@ -24,21 +24,22 @@
/obj/projectile/bullet/syndicate_turret
damage = 20
// 7.12x82mm (SAW)
// 7mm (SAW)
/obj/projectile/bullet/mm712x82
name = "7.12x82mm bullet"
/obj/projectile/bullet/a7mm
name = "7mm bullet"
damage = 30
armour_penetration = 5
wound_bonus = -50
wound_falloff_tile = 0
/obj/projectile/bullet/mm712x82/ap
name = "7.12x82mm armor-piercing bullet"
/obj/projectile/bullet/a7mm/ap
name = "7mm armor-piercing bullet"
damage = 25
armour_penetration = 75
/obj/projectile/bullet/mm712x82/hp
name = "7.12x82mm hollow-point bullet"
/obj/projectile/bullet/a7mm/hp
name = "7mm hollow-point bullet"
damage = 50
sharpness = SHARP_EDGED
weak_against_armour = TRUE
@@ -46,20 +47,20 @@
bare_wound_bonus = 30
wound_falloff_tile = -8
/obj/projectile/bullet/incendiary/mm712x82
name = "7.12x82mm incendiary bullet"
/obj/projectile/bullet/incendiary/a7mm
name = "7mm incendiary bullet"
damage = 15
fire_stacks = 3
/obj/projectile/bullet/mm712x82/match
name = "7.12x82mm match bullet"
/obj/projectile/bullet/a7mm/match
name = "7mm match bullet"
ricochets_max = 2
ricochet_chance = 60
ricochet_auto_aim_range = 4
ricochet_incidence_leeway = 55
/obj/projectile/bullet/mm712x82/bouncy
name = "7.12x82mm rubber bullet"
/obj/projectile/bullet/a7mm/bouncy
name = "7mm rubber bullet"
damage = 20
ricochets_max = 40
ricochet_chance = 500 // will bounce off anything and everything, whether they like it or not

View File

@@ -109,6 +109,20 @@
damage = 60
wound_bonus = -30
/obj/projectile/bullet/a357/phasic
name = ".357 phasic bullet"
icon_state = "gaussphase"
damage = 35
armour_penetration = 100
projectile_phasing = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS
/obj/projectile/bullet/a357/heartseeker
name = ".357 heartseeker bullet"
icon_state = "gauss"
damage = 50
homing = TRUE
homing_turn_speed = 120
// admin only really, for ocelot memes
/obj/projectile/bullet/a357/match
name = ".357 match bullet"

View File

@@ -1,19 +1,19 @@
// 5.56mm (M-90gl Carbine)
// .223 (M-90gl Carbine)
/obj/projectile/bullet/a556
name = "5.56mm bullet"
/obj/projectile/bullet/a223
name = ".223 bullet"
damage = 35
armour_penetration = 30
wound_bonus = -40
/obj/projectile/bullet/a556/weak //centcom
/obj/projectile/bullet/a223/weak //centcom
damage = 20
/obj/projectile/bullet/a556/phasic
name = "5.56mm phasic bullet"
/obj/projectile/bullet/a223/phasic
name = ".223 phasic bullet"
icon_state = "gaussphase"
damage = 20
armour_penetration = 70
damage = 30
armour_penetration = 100
projectile_phasing = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS
// 7.62 (Nagant Rifle)

View File

@@ -24,6 +24,14 @@
sharpness = NONE
embedding = null
/obj/projectile/bullet/shotgun_beanbag/a40mm
name = "rubber slug"
icon_state = "cannonball"
damage = 20
stamina = 160 //BONK
wound_bonus = 30
weak_against_armour = TRUE
/obj/projectile/bullet/incendiary/shotgun
name = "incendiary slug"
icon_state = "pellet"

View File

@@ -10,6 +10,11 @@
name = ".45 armor-piercing bullet"
armour_penetration = 50
/obj/projectile/bullet/c45/hp
name = ".45 hollow point bullet"
damage = 50
weak_against_armour = TRUE
/obj/projectile/bullet/incendiary/c45
name = ".45 incendiary bullet"
damage = 15

View File

@@ -26,13 +26,15 @@
var/random_crits_enabled = TRUE // Worst thing Valve ever added
/obj/projectile/bullet/rocket/on_hit(atom/target, blocked = FALSE)
var/random_crit_gib = FALSE
if(isliving(target) && prob(1) && random_crits_enabled)
var/mob/living/gibbed_dude = target
if(gibbed_dude.stat < HARD_CRIT)
gibbed_dude.say("Is that a fucking ro-", forced = "hit by rocket")
random_crit_gib = TRUE
..()
do_boom(target)
do_boom(target, random_crit_gib)
if(anti_armour_damage && ismecha(target))
var/obj/vehicle/sealed/mecha/M = target
M.take_damage(anti_armour_damage)
@@ -43,11 +45,15 @@
/** This proc allows us to customize the conditions necesary for the rocket to detonate, allowing for different explosions for living targets, turf targets,
among other potential differences. This granularity is helpful for things like the special rockets mechs use. */
/obj/projectile/bullet/rocket/proc/do_boom(atom/target)
/obj/projectile/bullet/rocket/proc/do_boom(atom/target, random_crit_gib = FALSE)
if(!isliving(target)) //if the target isn't alive, so is a wall or something
explosion(target, heavy_impact_range = 1, light_impact_range = 2, flame_range = 3, flash_range = 4, explosion_cause = src)
else
explosion(target, light_impact_range = 2, flame_range = 3, flash_range = 4, explosion_cause = src)
if(random_crit_gib)
var/mob/living/gibbed_dude = target
new /obj/effect/temp_visual/crit(get_turf(gibbed_dude))
gibbed_dude.gib()
/// PM9 HEAP rocket - the anti-anything missile you always craved.
/obj/projectile/bullet/rocket/heap