Skip to content

Commit

Permalink
CO Vendor Tweaks (cmss13-devs#4751)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->

# About the pull request

CO's only having one belt and satchel to choose from is weird and dumb.
This PR seeks to Fix this by adding a variety of existing belts to the
CO vendor, as well as touches the Weapon Vendor, by adding a variety
attachments and equipment, to bring CO in line with SLs, IOs and other
Field officer roles.

# Explain why it's good for the game
Gives COs more options for their loadouts


# Testing Photographs and Procedure
<!-- Include any screenshots/videos/debugging steps of the modified code
functioning successfully, ideally including edge cases. -->
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
add: Added more attachments, and belts to the CO arsenal.
add: CO now has an Essentials Kit like other roles, containing his
Designator, and other useful tools.
add: Re-Adds Bridgecoat to some Officer Dress vendors. (Limited to CO(+)
and XO currently.)
del: Removed Laser Designator from CO spawn Preset.
balance: CO can now vend welding Helmet visors.
balance: Adds grenade packets to CO Vendor.
/:cl:

---------

Co-authored-by: Zonespace <[email protected]>
  • Loading branch information
4hands44 and Zonespace27 authored Oct 25, 2023
1 parent 990bd14 commit c6e17e2
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
//------------GEAR VENDOR---------------

GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
list("COMMANDING OFFICER'S PRIMARY (CHOOSE 1)", 0, null, null, null),
list("M46C pulse rifle", 0, /obj/effect/essentials_set/co/riflepreset, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
list("M56C Smartgun", 0, /obj/item/storage/box/m56c_system, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
list("COMMANDER'S PRIMARY (CHOOSE 1)", 0, null, null, null),
list("M46C Pulse Rifle", 0, /obj/effect/essentials_set/co/riflepreset, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY),
list("M56C Smartgun", 0, /obj/item/storage/box/m56c_system, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY),

list("PRIMARY AMMUNITION", 0, null, null, null),
list("M41A MK1 Magazine", 30, /obj/item/ammo_magazine/rifle/m41aMK1, null, VENDOR_ITEM_RECOMMENDED),
Expand All @@ -28,24 +28,33 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
list("M41A Rubber Shot Magazine", 10, /obj/item/ammo_magazine/rifle/rubber, null, VENDOR_ITEM_REGULAR),
list("Beanbag Slugs", 10, /obj/item/ammo_magazine/shotgun/beanbag, null, VENDOR_ITEM_REGULAR),

list("EXPLOSIVES", 0, null, null, null),
list("HEDP Grenade Pack", 15, /obj/item/storage/box/packet/high_explosive, null, VENDOR_ITEM_REGULAR),
list("HEFA Grenade Pack", 15, /obj/item/storage/box/packet/hefa, null, VENDOR_ITEM_REGULAR),
list("WP Grenade Pack", 15, /obj/item/storage/box/packet/phosphorus, null, VENDOR_ITEM_REGULAR),

list("RAIL ATTACHMENTS", 0, null, null, null),
list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR),
list("Reflex Sight", 15, /obj/item/attachable/reflex, null, VENDOR_ITEM_REGULAR),
list("S4 2x Telescopic Mini-Scope", 15, /obj/item/attachable/scope/mini, null, VENDOR_ITEM_REGULAR),

list("Helmet Visors", 0, null, null, null),
list("Welding Visor", 5, /obj/item/device/helmet_visor/welding_visor, null, VENDOR_ITEM_RECOMMENDED),

list("UNDERBARREL ATTACHMENTS", 0, null, null, null),
list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR),
list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Vertical Grip", 15, /obj/item/attachable/verticalgrip, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Shotgun", 15, /obj/item/attachable/attached_gun/shotgun, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Extinguisher", 15, /obj/item/attachable/attached_gun/extinguisher, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Flamethrower", 15, /obj/item/attachable/attached_gun/flamer, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Grenade Launcher", 5, /obj/item/attachable/attached_gun/grenade, null, VENDOR_ITEM_REGULAR),

list("BARREL ATTACHMENTS", 0, null, null, null),
list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
list("Recoil Compensator", 15, /obj/item/attachable/compensator, null, VENDOR_ITEM_REGULAR),
))
list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR),
))

/obj/structure/machinery/cm_vending/gear/commanding_officer
name = "\improper ColMarTech Commanding Officer Weapon Rack"
Expand All @@ -63,9 +72,15 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Headset", 0, /obj/item/device/radio/headset/almayer/mcom/cdrcom, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY),
list("Satchel", 0, /obj/item/storage/backpack/satchel/lockable, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),

list("COMMANDING OFFICER ESSENTIALS KIT (TAKE ALL)", 0, null, null, null),
list("Commanding Officer Essentials Kit", 0, /obj/effect/essentials_set/commanding_officer, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),

list("BAGS (CHOOSE 1)", 0, null, null, null),
list("Commanding Officer Backpack", 0, /obj/item/storage/backpack/mcommander, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
list("Secure Satchel", 0, /obj/item/storage/backpack/satchel/lockable, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),

list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Commanding Officer's M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/CO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY),
list("Commanding Officer's M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/CO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
Expand All @@ -84,8 +99,13 @@ GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED),
list("Security HUD Glasses", 0, /obj/item/clothing/glasses/sunglasses/sechud, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR),

list("BELTS (TAKE ALL)", 0, null, null, null),
list("BELTS (CHOOSE 1)", 0, null, null, null),
list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("Military Police Belt", 0, /obj/item/storage/belt/security/MP/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("M276 Medical Storage Rig", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("M276 Holster Toolrig", 0, /obj/item/storage/belt/gun/utility/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),

list("POUCHES (CHOOSE 2)", 0, null, null, null),
list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
Expand All @@ -110,6 +130,15 @@ GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
/obj/structure/machinery/cm_vending/clothing/commanding_officer/get_listed_products(mob/user)
return GLOB.cm_vending_clothing_commanding_officer

/obj/effect/essentials_set/commanding_officer
spawned_gear_list = list(
/obj/item/device/binoculars/range/designator,
/obj/item/map/current_map,
/obj/item/device/whistle,
/obj/item/weapon/gun/energy/taser,
/obj/item/device/megaphone,
)

// This gets around the COs' weapon not spawning without incendiary mag.
/obj/effect/essentials_set/co/riflepreset
spawned_gear_list = list(
Expand Down
7 changes: 4 additions & 3 deletions code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@
dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black, /obj/item/clothing/head/marine/peaked)
dress_shoes = list(/obj/item/clothing/shoes/dress/commander)
dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress)
dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress, /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey, )

/datum/equipment_preset/uscm_ship/commander/New()
. = ..()
Expand Down Expand Up @@ -458,7 +458,6 @@
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/pistol/command(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_L_HAND)
if(kit)
new_human.equip_to_slot_or_del(new kit(new_human), WEAR_IN_BACK)

Expand All @@ -479,6 +478,8 @@
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/black,
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit,
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/falcon,
/obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey,
/obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat,
)

/datum/equipment_preset/uscm_ship/commander/council/load_gear(mob/living/carbon/human/new_human)
Expand Down Expand Up @@ -512,7 +513,7 @@
minimap_icon = list("cic" = MINIMAP_ICON_COLOR_HEAD)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC

dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full, /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey,)

/datum/equipment_preset/uscm_ship/xo/New()
. = ..()
Expand Down

0 comments on commit c6e17e2

Please sign in to comment.