Skip to content

Commit

Permalink
Makes PMC and RMC Smartguns use 10x28. Brought up damage to standard. (
Browse files Browse the repository at this point in the history
  • Loading branch information
private-tristan authored Dec 23, 2024
1 parent 40bf1a8 commit 207fdca
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 15 deletions.
37 changes: 37 additions & 0 deletions code/datums/ammo/bullet/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,43 @@
target.AddComponent(/datum/component/status_effect/toxic_buildup)
knockback(target, fired_proj, max_range = 2)

// Terminator Smartgun

/datum/ammo/bullet/rifle/heavy/dirty
name = "irradiated 10x28 bullet"
debilitate = list(0,0,0,3,0,0,0,1)
damage = 60
shrapnel_chance = SHRAPNEL_CHANCE_TIER_7

/datum/ammo/bullet/rifle/heavy/ap/dirty
name = "irradiated armor-piercing 10x28 bullet"
debilitate = list(0,0,0,3,0,0,0,1)
damage = 45

// RMC Smartgun

/datum/ammo/bullet/rifle/heavy/holo_target //Royal marines smartgun bullet has only diff between regular ammo is this one does holostacks and less damage
name = "holo-targeting 10x28 bullet"
damage = 50
/// inflicts this many holo stacks per bullet hit
var/holo_stacks = 15
/// modifies the default cap limit of 100 by this amount
var/bonus_damage_cap_increase = 0
/// multiplies the default drain of 5 holo stacks per second by this amount
var/stack_loss_multiplier = 1

/datum/ammo/bullet/rifle/heavy/holo_target/on_hit_mob(mob/hit_mob, obj/projectile/bullet)
. = ..()
hit_mob.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time, bonus_damage_cap_increase, stack_loss_multiplier)

/datum/ammo/bullet/rifle/heavy/holo_target/ap
name = "holo-targetting armor-piercing 10x28 bullet"
icon_state = "bullet"

accuracy = HIT_ACCURACY_TIER_2
damage = 35
penetration = ARMOR_PENETRATION_TIER_8

// Custom Specialist M4RA rounds

/datum/ammo/bullet/rifle/heavy/spec
Expand Down
7 changes: 7 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1969,6 +1969,13 @@
has_gamemode_skin = TRUE

/obj/item/storage/belt/gun/smartgunner/pmc/full/fill_preset_inventory()
handle_item_insertion(new /obj/item/weapon/gun/pistol/vp78())
new /obj/item/ammo_magazine/pistol/vp78(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)

/obj/item/storage/belt/gun/smartgunner/wo/full/fill_preset_inventory()
handle_item_insertion(new /obj/item/weapon/gun/pistol/vp78())
new /obj/item/ammo_magazine/pistol/vp78(src)
new /obj/item/ammo_magazine/smartgun/dirty(src)
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/storage/pouch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,10 @@
new /obj/item/ammo_magazine/rifle/ap(src)

/obj/item/storage/pouch/magazine/large/pmc_sg/fill_preset_inventory()
for(var/i = 1 to storage_slots)
new /obj/item/ammo_magazine/smartgun(src)

/obj/item/storage/pouch/magazine/large/wo_sg/fill_preset_inventory()
for(var/i = 1 to storage_slots)
new /obj/item/ammo_magazine/smartgun/dirty(src)

Expand Down
5 changes: 3 additions & 2 deletions code/modules/gear_presets/pmc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,6 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null),
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/smartgunner/veteran/pmc, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc, WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/gunner, WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/rmc, WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/leader, WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/black_vest, WEAR_ACCESSORY)
Expand All @@ -1009,6 +1008,8 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null),
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/pistol/large/vp78, WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/smartgunner/pmc/full, WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(new_human), WEAR_EYES)


/datum/equipment_preset/pmc/pmc_gunner/get_antag_clothing_equipment()
return list(
Expand Down Expand Up @@ -1060,7 +1061,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null),
list("Sandbags x25", 10, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED),

list("SPECIAL AMMUNITION", 0, null, null, null),
list("Irradiated smartgun drum (10x28mm)", 15, /obj/item/ammo_magazine/smartgun/dirty, null, VENDOR_ITEM_REGULAR),
list("Smartgun drum (10x28mm)", 15, /obj/item/ammo_magazine/smartgun, null, VENDOR_ITEM_REGULAR),

list("ATTACHMENTS", 0, null, null, null),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
Expand Down
5 changes: 2 additions & 3 deletions code/modules/gear_presets/whiteout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/commando, WEAR_L_EAR)
//head
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/commando, WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(new_human), WEAR_EYES)
//uniform
var/obj/item/clothing/under/marine/veteran/pmc/commando/M = new()
var/obj/item/clothing/accessory/storage/webbing/W = new()
Expand All @@ -161,8 +160,8 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc/commando, WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/rmc, WEAR_FEET)
//pockets
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/pmc_sg, WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/pmc_sg, WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/wo_sg, WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/wo_sg, WEAR_L_STORE)

new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles/whiteout, WEAR_EYES)

Expand Down
14 changes: 7 additions & 7 deletions code/modules/projectiles/guns/smartgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
var/requires_battery = TRUE
/// Whether the smartgun requires a harness to use
var/requires_harness = TRUE
ammo = /datum/ammo/bullet/smartgun
ammo = /datum/ammo/bullet/rifle/heavy
actions_types = list(
/datum/action/item_action/smartgun/toggle_accuracy_improvement,
/datum/action/item_action/smartgun/toggle_ammo_type,
Expand Down Expand Up @@ -675,10 +675,6 @@
/obj/item/weapon/gun/smartgun/dirty
name = "\improper M56D 'Dirty' smartgun"
desc = "The actual firearm in the 4-piece M56D Smartgun System. If you have this, you're about to bring some serious pain to anyone in your way.\nYou may toggle firing restrictions by using a special action.\nAlt-click it to open the feed cover and allow for reloading."
current_mag = /obj/item/ammo_magazine/smartgun/dirty
ammo = /obj/item/ammo_magazine/smartgun/dirty
ammo_primary = /datum/ammo/bullet/smartgun/dirty//Toggled ammo type
ammo_secondary = /datum/ammo/bullet/smartgun/dirty/armor_piercing///Toggled ammo type
flags_gun_features = GUN_WY_RESTRICTED|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY

/obj/item/weapon/gun/smartgun/dirty/Initialize(mapload, ...)
Expand All @@ -689,6 +685,10 @@
//TERMINATOR SMARTGUN
/obj/item/weapon/gun/smartgun/dirty/elite
name = "\improper M56T 'Terminator' smartgun"
current_mag = /obj/item/ammo_magazine/smartgun/dirty
ammo = /obj/item/ammo_magazine/smartgun/dirty
ammo_primary = /datum/ammo/bullet/rifle/heavy/dirty //Toggled ammo type
ammo_secondary = /datum/ammo/bullet/rifle/heavy/ap/dirty ///Toggled ammo type
desc = "The actual firearm in the 4-piece M56T Smartgun System. If you have this, you're about to bring some serious pain to anyone in your way.\nYou may toggle firing restrictions by using a special action.\nAlt-click it to open the feed cover and allow for reloading."

/obj/item/weapon/gun/smartgun/dirty/elite/Initialize(mapload, ...)
Expand Down Expand Up @@ -752,8 +752,8 @@
desc = "The actual firearm in the 2-piece L56A2 Smartgun System. This Variant is used by the Three World Empires Royal Marines Commando units.\nYou may toggle firing restrictions by using a special action.\nAlt-click it to open the feed cover and allow for reloading."
current_mag = /obj/item/ammo_magazine/smartgun/holo_targetting
ammo = /obj/item/ammo_magazine/smartgun/holo_targetting
ammo_primary = /datum/ammo/bullet/smartgun/holo_target //Toggled ammo type
ammo_secondary = /datum/ammo/bullet/smartgun/holo_target/ap ///Toggled ammo type
ammo_primary = /datum/ammo/bullet/rifle/heavy/holo_target //Toggled ammo type
ammo_secondary = /datum/ammo/bullet/rifle/heavy/holo_target/ap ///Toggled ammo type
flags_gun_features = GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY
icon = 'icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi'
icon_state = "magsg"
Expand Down
6 changes: 3 additions & 3 deletions code/modules/projectiles/magazines/specialist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,16 +106,16 @@

/obj/item/ammo_magazine/smartgun/dirty
name = "irradiated smartgun drum"
desc = "What at first glance appears to be a standard 500 round M56 Smartgun drum, is actually a drum loaded with irradiated rounds, providing an extra 'oomph' to to its bullets. The magazine itself is slightly modified to only fit in M56D or M56T smartguns, and is marked with a red X."
desc = "What at first glance appears to be a standard 500 round M56 Smartgun drum, is actually a drum loaded with irradiated rounds, providing an extra 'oomph' to to its bullets. The magazine itself is slightly modified to only fit in M56T smartguns, and is marked with a red X."
icon_state = "m56_drum_dirty"
default_ammo = /datum/ammo/bullet/smartgun/dirty
default_ammo = /datum/ammo/bullet/rifle/heavy/dirty
gun_type = /obj/item/weapon/gun/smartgun

/obj/item/ammo_magazine/smartgun/holo_targetting
name = "holotargetting smartgun drum"
desc = "Holotargetting rounds for use in the royal marines commando L56A2 smartgun."
icon_state = "m56_drum"
default_ammo = /datum/ammo/bullet/smartgun/holo_target
default_ammo = /datum/ammo/bullet/rifle/heavy/holo_target
gun_type = /obj/item/weapon/gun/smartgun/rmc
//-------------------------------------------------------
//Flare gun. Close enough?
Expand Down

0 comments on commit 207fdca

Please sign in to comment.