Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
- Smartgun lockers only have two drums
- MK1s removed from Platoon leader lockers
- A19 ammo made into a child of base 'heavy' 10x28 ammo for simplicity
- M41 rubber magazine box added
- Rubber rounds now do 5 damage, don't spam people with rubber rounds it hurts
- SG armor can now fit M37 holster and any long guns
- UPP now use 10x31 caseless for the Type 71. It's 10x28 but with more penetration essentially
- UPP GPMG now chambered with 10x31, sharing ammo with Type 71s
  • Loading branch information
AmoryBlaine committed Aug 17, 2024
1 parent acdf62e commit f9b907b
Show file tree
Hide file tree
Showing 14 changed files with 159 additions and 169 deletions.
2 changes: 1 addition & 1 deletion code/__DEFINES/guns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#define AMMO_BAND_COLOR_TRAINING "#FFFFFF"
// Uncommon
#define AMMO_BAND_COLOR_HOLOTARGETING "#276A74"
#define AMMO_BAND_COLOR_RUBBER "#556696"
#define AMMO_BAND_COLOR_RUBBER "#d8d9db"
#define AMMO_BAND_COLOR_HOLLOWPOINT "#BA5D00"
#define AMMO_BAND_COLOR_INCENDIARY "#9C2219"
#define AMMO_BAND_COLOR_IMPACT "#7866FF"
Expand Down
166 changes: 85 additions & 81 deletions code/datums/ammo/bullet/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
//======
*/

//====== 10X24 Pulse Rifle
/datum/ammo/bullet/rifle
name = "rifle bullet"
name = "10x24 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM

damage = 40
Expand All @@ -18,54 +19,8 @@
damage_falloff = DAMAGE_FALLOFF_TIER_7
max_range = 24 //So S8 users don't have their bullets magically disappaer at 22 tiles (S8 can see 24 tiles)

/datum/ammo/bullet/rifle/heavy
name = "heavy rifle bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM

damage = 55
penetration = ARMOR_PENETRATION_TIER_4
accuracy = HIT_ACCURACY_TIER_3
shell_speed = AMMO_SPEED_TIER_6
effective_range_max = 10
damage_falloff = DAMAGE_FALLOFF_TIER_9

/datum/ammo/bullet/rifle/heavy/ap
name = "armor-piercing heavy rifle bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM

damage = 45
penetration = ARMOR_PENETRATION_TIER_8

/datum/ammo/bullet/rifle/heavy/heap
headshot_state = HEADSHOT_OVERLAY_HEAVY
name = "armor-piercing heavy rifle bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM

damage = 70
penetration = ARMOR_PENETRATION_TIER_10

// PvE M4RA rounds - pens&does toxin to whomever gets hit by it
/datum/ammo/bullet/rifle/heavy/du
name = "depleted uranium heavy rifle bullet"

damage = 60
accurate_range_min = 4
penetration = ARMOR_PENETRATION_TIER_5
scatter = -SCATTER_AMOUNT_TIER_8

/datum/ammo/bullet/rifle/heavy/du/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))

/datum/ammo/bullet/rifle/heavy/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
target.AddComponent(/datum/component/toxic_buildup)
knockback(target, fired_proj, max_range = 2)


/datum/ammo/bullet/rifle/holo_target
name = "holo-targeting rifle bullet"
name = "holo-targeting 10x24 bullet"
damage = 30
var/holo_stacks = 10

Expand All @@ -74,13 +29,12 @@
M.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time)

/datum/ammo/bullet/rifle/holo_target/hunting
name = "holo-targeting hunting bullet"
name = "holo-targeting 10x24 bullet"
damage = 25
holo_stacks = 15

/datum/ammo/bullet/rifle/explosive
name = "explosive rifle bullet"

name = "explosive 10x24 bullet"
damage = 25
accurate_range = 22
accuracy = 0
Expand All @@ -98,14 +52,14 @@
cell_explosion(T, 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data)

/datum/ammo/bullet/rifle/ap
name = "armor-piercing rifle bullet"
name = "armor-piercing 10x24 bullet"

damage = 30
penetration = ARMOR_PENETRATION_TIER_8

// Basically AP but better. Focused at taking out armour temporarily
/datum/ammo/bullet/rifle/ap/toxin
name = "toxic rifle bullet"
name = "toxic 10x24 bullet"
var/acid_per_hit = 7
var/organic_damage_mult = 3

Expand All @@ -125,7 +79,7 @@


/datum/ammo/bullet/rifle/ap/penetrating
name = "wall-penetrating rifle bullet"
name = "wall-penetrating 10x24 bullet"
shrapnel_chance = 0

damage = 35
Expand All @@ -138,29 +92,28 @@
))

/datum/ammo/bullet/rifle/le
name = "armor-shredding rifle bullet"
name = "armor-shredding 10x24 bullet"

damage = 20
penetration = ARMOR_PENETRATION_TIER_4
pen_armor_punch = 5

/datum/ammo/bullet/rifle/heap
name = "high-explosive armor-piercing rifle bullet"
name = "high-explosive armor-piercing 10x24 bullet"

headshot_state = HEADSHOT_OVERLAY_HEAVY
damage = 55//big damage, doesn't actually blow up because thats stupid.
penetration = ARMOR_PENETRATION_TIER_8
shrapnel_chance = SHRAPNEL_CHANCE_TIER_3

/datum/ammo/bullet/rifle/rubber
name = "rubber rifle bullet"
sound_override = 'sound/weapons/gun_c99.ogg'

damage = 0
name = "rubber 10x24 bullet"
damage = 5
stamina_damage = 15
shrapnel_chance = 0

/datum/ammo/bullet/rifle/incendiary
name = "incendiary rifle bullet"
name = "incendiary 10x24 bullet"
damage_type = BURN
shrapnel_chance = 0
flags_ammo_behavior = AMMO_BALLISTIC
Expand All @@ -176,8 +129,54 @@
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))

/datum/ammo/bullet/rifle/m4ra
name = "A19 high velocity bullet"
//====== 10X28 Smartgun

/datum/ammo/bullet/rifle/heavy
name = "10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 55
penetration = ARMOR_PENETRATION_TIER_3
accuracy = HIT_ACCURACY_TIER_3
shell_speed = AMMO_SPEED_TIER_6
effective_range_max = 10
damage_falloff = DAMAGE_FALLOFF_TIER_9

/datum/ammo/bullet/rifle/heavy/ap
name = "armor-piercing 10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 45
penetration = ARMOR_PENETRATION_TIER_8

/datum/ammo/bullet/rifle/heavy/heap
headshot_state = HEADSHOT_OVERLAY_HEAVY
name = "armor-piercing 10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 70
penetration = ARMOR_PENETRATION_TIER_10
shrapnel_chance = SHRAPNEL_CHANCE_TIER_3

/datum/ammo/bullet/rifle/heavy/du
name = "depleted uranium 10x28 bullet"

damage = 60
accurate_range_min = 4
penetration = ARMOR_PENETRATION_TIER_5
scatter = -SCATTER_AMOUNT_TIER_8

/datum/ammo/bullet/rifle/heavy/du/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))

/datum/ammo/bullet/rifle/heavy/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
target.AddComponent(/datum/component/toxic_buildup)
knockback(target, fired_proj, max_range = 2)

// Custom Specialist M4RA rounds

/datum/ammo/bullet/rifle/heavy/spec
name = "high velocity 10x28 bullet"
shrapnel_chance = 0
damage_falloff = 0
flags_ammo_behavior = AMMO_BALLISTIC
Expand All @@ -188,8 +187,8 @@
penetration= ARMOR_PENETRATION_TIER_7
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/incendiary
name = "A19 high velocity incendiary bullet"
/datum/ammo/bullet/rifle/heavy/spec/incendiary
name = "high velocity incendiary 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC

damage = 40
Expand All @@ -198,14 +197,14 @@
penetration= ARMOR_PENETRATION_TIER_5
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/incendiary/set_bullet_traits()
/datum/ammo/bullet/rifle/heavy/spec/incendiary/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))

/datum/ammo/bullet/rifle/m4ra/impact
name = "A19 high velocity impact bullet"
/datum/ammo/bullet/rifle/heavy/spec/impact
name = "high velocity impact 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC

damage = 40
Expand All @@ -214,10 +213,10 @@
penetration = ARMOR_PENETRATION_TIER_10
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/impact/on_hit_mob(mob/M, obj/projectile/P)
/datum/ammo/bullet/rifle/heavy/spec/impact/on_hit_mob(mob/M, obj/projectile/P)
knockback(M, P, 32) // Can knockback basically at max range

/datum/ammo/bullet/rifle/m4ra/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
/datum/ammo/bullet/rifle/heavy/spec/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
Expand All @@ -232,26 +231,31 @@
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

/datum/ammo/bullet/rifle/mar40
name = "heavy rifle bullet"

damage = 55
//====== 10x31 Type 71

/datum/ammo/bullet/rifle/type71
name = "heavy rifle bullet"
/datum/ammo/bullet/rifle/heavy/upp
name = "10x31 bullet"

damage = 55
penetration = ARMOR_PENETRATION_TIER_3
penetration = ARMOR_PENETRATION_TIER_4

/datum/ammo/bullet/rifle/type71/ap
name = "heavy armor-piercing rifle bullet"
/datum/ammo/bullet/rifle/heavy/upp/ap
name = "armor-piercing 10x31 bullet"

damage = 40
penetration = ARMOR_PENETRATION_TIER_10

/datum/ammo/bullet/rifle/type71/heap
name = "heavy high-explosive armor-piercing rifle bullet"
/datum/ammo/bullet/rifle/heavy/upp/heap
name = "high-explosive armor-piercing 10x31 bullet"

headshot_state = HEADSHOT_OVERLAY_HEAVY
damage = 65
penetration = ARMOR_PENETRATION_TIER_10
shrapnel_chance = SHRAPNEL_CHANCE_TIER_3

// Misc

/datum/ammo/bullet/rifle/mar40
name = "7.62x39mm rifle bullet"
damage = 45
penetration = ARMOR_PENETRATION_TIER_2
8 changes: 4 additions & 4 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@

list("PRIMARY AMMUNITION", 0, null, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 5, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (10x31mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (10x31mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),

list("SIDEARMS", 0, null, null, null),
list("Type 73 Pistol", 25, /obj/item/weapon/gun/pistol/t73, null, VENDOR_ITEM_REGULAR),
Expand Down Expand Up @@ -137,8 +137,8 @@

list("PRIMARY AMMUNITION", -1, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 60, /obj/item/ammo_magazine/smg/bizon, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),

list("SIDEARMS", -1, null, null),
list("Type 73 Pistol", 20, /obj/item/weapon/gun/pistol/t73, VENDOR_ITEM_REGULAR),
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/stacks/sheets/sheet_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("empty magazine box (Type71)", /obj/item/ammo_box/magazine/type71/empty), \
new/datum/stack_recipe("empty magazine box (Type71 AP)", /obj/item/ammo_box/magazine/type71/ap/empty), \
null, \
new/datum/stack_recipe("empty rifle ammo box (5.45x39mm)", /obj/item/ammo_box/rounds/type71/empty), \
new/datum/stack_recipe("empty rifle ammo box (5.45x39mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \
new/datum/stack_recipe("empty rifle ammo box (10x31mm)", /obj/item/ammo_box/rounds/type71/empty), \
new/datum/stack_recipe("empty rifle ammo box (10x31mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \


)) \
Expand Down
20 changes: 0 additions & 20 deletions code/game/objects/structures/crates_lockers/closets/job_closets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,6 @@

/obj/structure/closet/secure_closet/platoon_sergeant/Initialize()
. = ..()
new /obj/item/weapon/gun/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/clothing/head/helmet/marine/leader(src)
new /obj/item/device/binoculars/range/designator(src)
new /obj/item/device/whistle(src)
Expand All @@ -99,12 +93,6 @@

/obj/structure/closet/secure_closet/platoon_sergeant_forecon/Initialize()
. = ..()
new /obj/item/weapon/gun/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/ammo_magazine/rifle/m41aMK1(src)
new /obj/item/device/binoculars/range/designator(src)
new /obj/item/device/whistle(src)

Expand Down Expand Up @@ -141,10 +129,6 @@
new /obj/item/clothing/suit/storage/marine/smartgunner(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/secure_closet/smartgunner_forecon
Expand All @@ -159,10 +143,6 @@
new /obj/item/clothing/suit/storage/marine/smartgunner/standard(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/cryo/Initialize()
Expand Down
4 changes: 4 additions & 0 deletions code/modules/clothing/suits/marine_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,10 @@
)
var/list/smartgun_back = list(
/obj/item/storage/large_holster/machete,
/obj/item/storage/large_holster/m37,
/obj/item/weapon/gun/rifle,
/obj/item/weapon/gun/shotgun/combat,
/obj/item/weapon/gun/shotgun/pump,
)

/obj/item/clothing/suit/storage/marine/smartgunner/Initialize()
Expand Down
Loading

0 comments on commit f9b907b

Please sign in to comment.