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

upp machinegunner tweaks #198

Merged
merged 8 commits into from
May 2, 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
52 changes: 52 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,38 @@
/obj/item/storage/belt/marine/smartgunner/standard
has_gamemode_skin = FALSE

/obj/item/storage/belt/marine/smartgunner/upp
name = "\improper Type 90 pattern machinegunner belt"
desc = "Recently adopted by UPP military, this belt allows machinegunners to carry more ammo boxes into battle. It also found use with SOF breachers using Type 23 shotguns."
icon_state = "upp_machinegun"
item_state = "upp_machinegun"
storage_slots = 7
bypass_w_limit = list(
/obj/item/ammo_magazine/pkp,
)
can_hold = list(
/obj/item/attachable/bayonet,
/obj/item/device/flashlight/flare,
/obj/item/ammo_magazine/pkp,
/obj/item/ammo_magazine/rifle,
/obj/item/ammo_magazine/smg,
/obj/item/ammo_magazine/pistol,
/obj/item/ammo_magazine/revolver,
/obj/item/ammo_magazine/sniper,
/obj/item/ammo_magazine/handful,
/obj/item/explosive/grenade,
/obj/item/explosive/mine,
/obj/item/reagent_container/food/snacks,
)

has_gamemode_skin = FALSE
item_state_slots = list(
WEAR_L_HAND = "upp_belt",
WEAR_R_HAND = "upp_belt")

/obj/item/storage/belt/marine/smartgunner/upp/fill_preset_inventory()
return

/obj/item/storage/belt/marine/quackers
name = "Mr. Quackers"
desc = "What are we going to do today, Mr. Quackers?"
Expand Down Expand Up @@ -1721,6 +1753,26 @@
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)

/obj/item/storage/belt/gun/smartgunner/upp
name = "\improper Type 92 pattern machinegunner sidearm rig"
desc = "Type 92 is an experimental ammo-carrying rig issued to UPP machinegunners which combines a sidearm holster with box-shaped pouches for limited storage."
icon_state = "upp_machinegun_pistol"
storage_slots = 7
can_hold = list(
/obj/item/weapon/gun/pistol/t73,
/obj/item/ammo_magazine/pistol/t73,
/obj/item/ammo_magazine/pistol/t73_impact,
/obj/item/weapon/gun/pistol/np92,
/obj/item/ammo_magazine/pistol/np92,
/obj/item/weapon/gun/revolver/upp,
/obj/item/ammo_magazine/revolver/upp,
/obj/item/ammo_magazine/pkp,
)
has_gamemode_skin = FALSE
item_state_slots = list(
WEAR_L_HAND = "upp_belt",
WEAR_R_HAND = "upp_belt")

/obj/item/storage/belt/gun/mortarbelt
name="\improper M276 pattern mortar operator belt"
desc="An M276 load-bearing rig configured to carry ammunition for the M402 mortar, along with a sidearm."
Expand Down
41 changes: 38 additions & 3 deletions code/modules/clothing/suits/marine_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -404,9 +404,6 @@
. = ..()
if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD] && name == "M56 combat harness")
name = "M56 snow combat harness"
else
name = "M56 combat harness"
//select_gamemode_skin(type)

/obj/item/clothing/suit/storage/marine/smartgunner/mob_can_equip(mob/equipping_mob, slot, disable_warning = FALSE)
. = ..()
Expand Down Expand Up @@ -445,6 +442,44 @@
/obj/item/clothing/suit/storage/marine/smartgunner/standard
flags_atom = NO_SNOW_TYPE

/obj/item/clothing/suit/storage/marine/smartgunner/upp
name = "\improper UH7-I heavy plated harness"
desc = "An experimental set of heavy armor with additional harnesses designed to support QYJ-72-I smartmachinegun. Heavy plates along with harnesses make wearing backpacks extremely uncomfortable and borderline impossible."
icon_state = "upp_armor_heavy"
storage_slots = 1
slowdown = SLOWDOWN_ARMOR_HEAVY
flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE
flags_inventory = BLOCKSHARPOBJ|SMARTGUN_HARNESS|BLOCK_KNOCKDOWN
armor_melee = CLOTHING_ARMOR_MEDIUMHIGH
armor_bullet = CLOTHING_ARMOR_HIGHPLUS
armor_laser = CLOTHING_ARMOR_MEDIUMLOW
armor_energy = CLOTHING_ARMOR_MEDIUM
armor_bomb = CLOTHING_ARMOR_HIGH
armor_bio = CLOTHING_ARMOR_MEDIUM
armor_rad = CLOTHING_ARMOR_MEDIUMLOW
armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS
uniform_restricted = list(/obj/item/clothing/under/marine/veteran/UPP, /obj/item/clothing/under/marine/veteran/UPP/medic, /obj/item/clothing/under/marine/veteran/UPP/engi)
allowed = list(
/obj/item/tank/emergency_oxygen,
/obj/item/device/flashlight,
/obj/item/ammo_magazine,
/obj/item/explosive/mine,
/obj/item/attachable/bayonet,
/obj/item/weapon/gun/pkp,
/obj/item/storage/backpack/general_belt,
/obj/item/device/motiondetector,
/obj/item/device/walkman,
)


/obj/item/clothing/suit/storage/marine/smartgunner/upp/Initialize()
. = ..()
pockets.bypass_w_limit = list(
/obj/item/ammo_magazine/minigun,
/obj/item/ammo_magazine/pkp,
)


/obj/item/clothing/suit/storage/marine/leader
name = "\improper B12 pattern marine armor"
desc = "Semi-experimental body armor system similar to M3, incorporating primarily carbon fiber instead of boron carbide. \nDesigned in a lovely olive green, slightly improved protection against blunt impact and biological hazards."
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/under/marine_uniform.dm
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_UPP
suit_restricted = list(/obj/item/clothing/suit/storage/marine/faction/UPP, /obj/item/clothing/suit/gimmick/jason, /obj/item/clothing/suit/storage/snow_suit/soviet, /obj/item/clothing/suit/storage/snow_suit/survivor, /obj/item/clothing/suit/storage/webbing)
suit_restricted = list(/obj/item/clothing/suit/storage/marine/faction/UPP, /obj/item/clothing/suit/gimmick/jason, /obj/item/clothing/suit/storage/snow_suit/soviet, /obj/item/clothing/suit/storage/snow_suit/survivor, /obj/item/clothing/suit/storage/webbing, /obj/item/clothing/suit/storage/marine/smartgunner/upp)
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE

/obj/item/clothing/under/marine/veteran/UPP/boiler
Expand Down
15 changes: 14 additions & 1 deletion code/modules/projectiles/guns/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -272,13 +272,26 @@
return FALSE
if(!skillcheck(user, SKILL_FIREARMS, SKILL_FIREARMS_TRAINED))
to_chat(user, SPAN_WARNING("You don't seem to know how to use [src]..."))
return 0
return FALSE

/obj/item/weapon/gun/pkp/iff
name = "\improper QYJ-72-I General Purpose Machine Gun"
desc = "The QYJ-72-I is an experimental variant of common UPP GPMG featuring IFF capabilities which were developed by reverse-engineering USCM smartweapons. Aside from that, not much has been done to this machinegun: it's still heavy, overheats rather quickly and is able to lay down range unprecedented amounts of lead. \n<b>Alt-click it to open the feed cover and allow for reloading.</b>"
actions_types = list(/datum/action/item_action/toggle_iff_pkp)
aim_slowdown = SLOWDOWN_ADS_SPECIALIST
var/iff_enabled = TRUE
var/requires_harness = TRUE

/obj/item/weapon/gun/pkp/iff/able_to_fire(mob/living/user)
. = ..()
if(.)
if(!ishuman(user))
return FALSE
var/mob/living/carbon/human/H = user
if(requires_harness)
if(!H.wear_suit || !(H.wear_suit.flags_inventory & SMARTGUN_HARNESS))
balloon_alert(user, "harness required")
return FALSE

/obj/item/weapon/gun/pkp/iff/set_bullet_traits()
LAZYADD(traits_to_give, list(
Expand Down
Binary file modified icons/mob/humans/onmob/belt.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/belts.dmi
Binary file not shown.
Loading
Loading