Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makes PMC and RMC Smartguns use 10x28. Brought up damage to standard. #601

Merged
merged 6 commits into from
Dec 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading