diff --git a/code/datums/action.dm b/code/datums/action.dm index 6143a227e9..ce557a7e03 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -216,6 +216,12 @@ /datum/action/item_action/toggle_firemode name = "Toggle Firemode" +/datum/action/item_action/toggle_bipod + name = "Toggle Stability" + +/datum/action/item_action/toggle_moveshoot + name = "Toggle Wielding" + /datum/action/item_action/rcl_col name = "Change Cable Color" icon_icon = 'icons/mob/actions/actions_items.dmi' diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 38ed31a2be..6c82b02534 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -21,6 +21,9 @@ /obj/item/ammo_box/magazine/mws_mag, /obj/item/electrostaff, /obj/item/gun/ballistic/automatic/magrifle)) + + var/static/list/forbidden_devices = typecacheof(list( + /obj/item/gun/energy/minigun)) /obj/machinery/recharger/RefreshParts() for(var/obj/item/stock_parts/capacitor/C in component_parts) @@ -72,7 +75,13 @@ return var/allowed = is_type_in_typecache(G, allowed_devices) + var/forbidden = is_type_in_typecache(G, forbidden_devices) + if(forbidden) + explosion(src, 0, 3, 3, 3, flame_range = 3) + to_chat(user, "[src] shortcircuits and explodes the [G]!") + qdel(G) + return 0 if(allowed) if(anchored) if(charging || panel_open) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index be219986e9..1cd857b3e8 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -105,6 +105,27 @@ to_chat(user, "There is nothing left in the quiver.") return TRUE +/obj/item/storage/backpack/ammopack + name = "Ammobearer Backpack" + desc = "A sturdy, unwieldy backpack designed to store heavy munitions." + icon_state = "ammopack" + item_state = "ammopack" + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + +/obj/item/storage/backpack/ammopack/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 12 + STR.can_hold = typecacheof(list(/obj/item/ammo_box/magazine/lmg/huge, /obj/item/ammo_box/magazine/lmg/large, /obj/item/ammo_box/magazine/lmg/huge/empty, /obj/item/ammo_box/magazine/lmg/large/empty)) + +/obj/item/storage/backpack/ammopack/PopulateContents() + new /obj/item/ammo_box/magazine/lmg/huge + new /obj/item/ammo_box/magazine/lmg/huge + new /obj/item/ammo_box/magazine/lmg/huge + new /obj/item/ammo_box/magazine/lmg/huge + new /obj/item/ammo_box/magazine/lmg/huge + /obj/item/storage/backpack/holding/satchel name = "satchel of holding" desc = "A satchel that opens into a localized pocket of Blue Space." diff --git a/code/modules/jobs/job_types/bos.dm b/code/modules/jobs/job_types/bos.dm index e673ba4e53..36905f5240 100644 --- a/code/modules/jobs/job_types/bos.dm +++ b/code/modules/jobs/job_types/bos.dm @@ -40,7 +40,10 @@ H.mind.teach_crafting_recipe(/datum/crafting_recipe/gate_bos) /* -Elder +Elder +I fucking hate you this is an admin role +don't re-add it you goblins +admin role fuckers use it. */ /datum/job/bos/f13elder @@ -50,8 +53,8 @@ Elder exp_type = EXP_TYPE_BROTHERHOODCOMMAND head_announce = list("Security") req_admin_notify = 1 - total_positions = 1 - spawn_positions = 1 + total_positions = 0 + spawn_positions = 0 description = "You are the Elder of this local chapter of the Brotherhood of Steel. You may be a veteran of warfare, an experienced commander or even a genius Scribe, and you command all the men within this bunker. Your main goals are to lead the Brotherhood, to solve conflicts inbetween castes and to manage the Head Paladin, Head Knight and Head Scribe." supervisors = "the High Elders" exp_requirements = 1200 @@ -92,7 +95,7 @@ Head Paladin exp_requirements = 600 loadout_options = list( - /datum/outfit/loadout/hpa, //Laser Gatling, Super Sledge + /datum/outfit/loadout/hpa, //Laser Gatling, /datum/outfit/loadout/hpb, //Tribeam, Powerfist /datum/outfit/loadout/hpc //14mm pistol, Shield, Pre-war Ripper ) @@ -124,17 +127,15 @@ Head Paladin /datum/outfit/loadout/hpa name = "Heavy Weapons Head Paladin" backpack_contents = list( - /obj/item/gun/ballistic/automatic/m72 = 1, - /obj/item/ammo_box/magazine/m2mm = 2, - /obj/item/gun/energy/laser/wattz/magneto = 1, - /obj/item/stock_parts/cell/ammo/ec = 2 + /obj/item/minigunpack = 1, + /obj/item/stock_parts/cell/ammo/ecp = 2 ) /datum/outfit/loadout/hpb name = "Refined Head Paladin" backpack_contents = list( - /obj/item/gun/ballistic/automatic/bozar = 1, - /obj/item/ammo_box/magazine/m556/rifle = 2, + /obj/item/gun/energy/laser/scatter = 1, + /obj/item/stock_parts/cell/ammo/mfc = 3, /obj/item/gun/energy/laser/wattz/magneto = 1, /obj/item/stock_parts/cell/ammo/ec = 2 ) @@ -265,10 +266,11 @@ Head Knight ) /datum/outfit/loadout/hkc - name = "Backliner Head Knight" + name = "Explosives Head Knight" backpack_contents = list( - /obj/item/gun/energy/laser/rcw = 1, - /obj/item/stock_parts/cell/ammo/ecp = 3 + /obj/item/book/granter/trait/explosives_advanced = 1, + /obj/item/gun/ballistic/shotgun/automatic/combat/neostead = 1, + /obj/item/ammo_box/shotgun/buck = 3 ) /datum/outfit/job/bos/f13headknight/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -301,10 +303,12 @@ Paladin exp_requirements = 300 loadout_options = list( - /datum/outfit/loadout/paladina, //Frontline P - /datum/outfit/loadout/paladinb, //Frontline SP - /datum/outfit/loadout/paladinc, //Heavy P - /datum/outfit/loadout/paladind //Heavy SP + /datum/outfit/loadout/paladina, // AER12 + /datum/outfit/loadout/paladinb, // AER12 SP + /datum/outfit/loadout/paladinc, // RCW + /datum/outfit/loadout/paladind, // RCW SP + /datum/outfit/loadout/paladine, // Pre-war Ripper + /datum/outfit/loadout/paladinf, // Pre-war Ripper SP ) outfit = /datum/outfit/job/bos/f13paladin @@ -332,7 +336,6 @@ Paladin neck = /obj/item/clothing/neck/mantle/bos/paladin backpack_contents = list( /obj/item/reagent_containers/hypospray/medipen/stimpak = 3, - /obj/item/melee/powered/ripper = 1, ) /datum/outfit/loadout/paladina @@ -362,8 +365,8 @@ Paladin /datum/outfit/loadout/paladinc name = "Heavy Paladin" backpack_contents = list( - /obj/item/gun/energy/laser/scatter = 1, - /obj/item/stock_parts/cell/ammo/mfc = 3, + /obj/item/gun/energy/laser/rcw = 1, + /obj/item/stock_parts/cell/ammo/ecp = 3, /obj/item/gun/energy/laser/wattz/magneto = 1, /obj/item/stock_parts/cell/ammo/ec = 2, /obj/item/clothing/suit/armor/f13/power_armor/t51b/bos = 1, @@ -374,8 +377,8 @@ Paladin /datum/outfit/loadout/paladind name = "Heavy Senior Paladin" backpack_contents = list( - /obj/item/gun/energy/laser/scatter = 1, - /obj/item/stock_parts/cell/ammo/mfc = 3, + /obj/item/gun/energy/laser/rcw = 1, + /obj/item/stock_parts/cell/ammo/ecp = 3, /obj/item/gun/energy/laser/wattz/magneto = 1, /obj/item/stock_parts/cell/ammo/ec = 2, /obj/item/clothing/suit/armor/f13/power_armor/t51b/bos = 1, @@ -383,6 +386,29 @@ Paladin /obj/item/clothing/accessory/bos/seniorpaladin = 1 ) +/datum/outfit/loadout/paladine + name = "CQC Paladin" + backpack_contents = list( + /obj/item/melee/powered/ripper/prewar = 1, + /obj/item/shield/riot/bullet_proof = 1, + /obj/item/gun/energy/laser/wattz/magneto = 1, + /obj/item/stock_parts/cell/ammo/ec = 2, + /obj/item/clothing/suit/armor/f13/power_armor/t51b/bos = 1, + /obj/item/clothing/head/helmet/f13/power_armor/t51b/bos = 1, + /obj/item/clothing/accessory/bos/paladin = 1 + ) + +/datum/outfit/loadout/paladinf + name = "Senior CQC Paladin" + backpack_contents = list( + /obj/item/melee/powered/ripper/prewar = 1, + /obj/item/shield/riot/bullet_proof = 1, + /obj/item/gun/energy/laser/wattz/magneto = 1, + /obj/item/stock_parts/cell/ammo/ec = 2, + /obj/item/clothing/suit/armor/f13/power_armor/t51b/bos = 1, + /obj/item/clothing/head/helmet/f13/power_armor/t51b/bos = 1, + /obj/item/clothing/accessory/bos/paladin = 1 + ) /datum/outfit/job/bos/f13paladin/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -479,7 +505,7 @@ Senior Knight supervisors = "the Head Knight" loadout_options = list( - /datum/outfit/loadout/ska, //AER9, MK23 pistol + /datum/outfit/loadout/ska, //wattz2k, MK23 pistol /datum/outfit/loadout/skb, //Marksman Rifle, Sig pistol /datum/outfit/loadout/skc //Auto-5 Shotgun, MK23 pistol ) @@ -517,9 +543,9 @@ Senior Knight ) /datum/outfit/loadout/ska - name = "Senior Knight-Footman" + name = "Senior Knight-Sniper" backpack_contents = list( - /obj/item/gun/energy/laser/aer9 = 1, + /obj/item/gun/energy/laser/wattz2k = 1, /obj/item/stock_parts/cell/ammo/mfc = 3, /obj/item/gun/ballistic/automatic/pistol/mk23 = 1, /obj/item/ammo_box/magazine/m45exp = 2 @@ -539,8 +565,8 @@ Senior Knight name = "Senior Knight-Engineer" backpack_contents = list( /obj/item/storage/belt/utility/full/engi = 1, - /obj/item/gun/ballistic/shotgun/automatic/combat/auto5 = 1, - /obj/item/ammo_box/shotgun/buck = 2, + /obj/item/gun/ballistic/automatic/shotgun/riot = 1, + /obj/item/ammo_box/magazine/d12g = 2, /obj/item/gun/ballistic/automatic/pistol/mk23 = 1, /obj/item/ammo_box/magazine/m45exp = 2 ) @@ -607,7 +633,7 @@ Knight head = /obj/item/clothing/head/helmet/f13/combat/brotherhood backpack_contents = list( /obj/item/melee/onehanded/knife/survival = 1, - /obj/item/reagent_containers/hypospray/medipen/stimpak = 1, + /obj/item/reagent_containers/hypospray/medipen/stimpak = 1 ) /datum/outfit/loadout/knighta diff --git a/code/modules/jobs/job_types/enclave.dm b/code/modules/jobs/job_types/enclave.dm index 1c9c03902e..4bea434af2 100644 --- a/code/modules/jobs/job_types/enclave.dm +++ b/code/modules/jobs/job_types/enclave.dm @@ -110,6 +110,11 @@ supervisors = "The Captain, and command." outfit = /datum/outfit/job/enclave/peacekeeper/enclavelt exp_requirements = 1000 + + loadout_options = list( + /datum/outfit/loadout/gysergeantshotgun, // citykiller + prewar ripper + /datum/outfit/job/enclave/peacekeeper/enclavelt, // XL70E3 (LSW but powerful) + 2 HE nades + 2 Incind nades + 2x 50 round mags + ) /datum/outfit/job/enclave/peacekeeper/enclavelt name = "Enclave Lieutenant" @@ -118,7 +123,6 @@ head = /obj/item/clothing/head/helmet/f13/enclave/officer uniform = /obj/item/clothing/under/f13/enclave/officer suit = /obj/item/clothing/suit/armor/f13/enclavetrenchcoat - suit_store = /obj/item/gun/ballistic/automatic/fnfal accessory = /obj/item/clothing/accessory/ncr/LT1 id = /obj/item/card/id/dogtag/enclave/officer ears = /obj/item/radio/headset/headset_enclave/command @@ -129,8 +133,35 @@ /obj/item/grenade/flashbang = 1, /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, + /obj/item/melee/onehanded/knife/survival = 1 + ) + +/datum/outfit/job/enclave/peacekeeper/enclavelt + name = "Support Officer" + backpack_contents = list( + /obj/item/grenade/flashbang = 1, + /obj/item/melee/onehanded/knife/survival = 1, + /obj/item/gun/ballistic/automatic/smg/p90 = 1, + /obj/item/ammo_box/magazine/m10mm_p90 = 2 + ) + +/datum/outfit/job/enclave/peacekeeper/enclavelt + name = "Front-Line Officer" + backpack_contents = list( + /obj/item/grenade/f13/he_grenade = 2, + /obj/item/melee/onehanded/knife/survival = 1, + /obj/item/gun/ballistic/automatic/fnfal = 1, + /obj/item/ammo_box/magazine/m762/ext = 2 + ) + +/datum/outfit/job/enclave/peacekeeper/enclavelt + name = "Light Support Officer" + backpack_contents = list( + /obj/item/grenade/f13/he_grenade = 2, + /obj/item/grenade/f13/incendiary = 2, /obj/item/melee/onehanded/knife/survival = 1, - /obj/item/ammo_box/magazine/m762 = 2, + /obj/item/gun/ballistic/automatic/xl70e3 = 1, + /obj/item/ammo_box/magazine/m556/rifle/extended = 2 ) /datum/outfit/job/enclave/peacekeeper/enclavelt/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -175,7 +206,7 @@ /obj/item/storage/bag/money/small/wastelander = 1, /obj/item/melee/onehanded/knife/survival = 1, /obj/item/clothing/head/f13/enclave/peacekeeper = 1, - /obj/item/ammo_box/magazine/m5mm = 2, + /obj/item/ammo_box/magazine/m5mm = 2 ) /datum/outfit/job/enclave/enclave/enclavepilot/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -199,8 +230,8 @@ exp_requirements = 600 loadout_options = list( - /datum/outfit/loadout/gysergeantshotgun, // shotgun + ripper - /datum/outfit/loadout/gysergeantrifle // carbine, suppressor, ESDs + /datum/outfit/loadout/gysergeantshotgun, // citykiller + prewar ripper + /datum/outfit/loadout/gysergeantrifle // ALR, ) /datum/outfit/job/enclave/peacekeeper/f13gysergeant/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -237,11 +268,9 @@ /datum/outfit/loadout/gysergeantrifle name = "Support Sergeant" - suit_store = /obj/item/gun/ballistic/automatic/assault_carbine/worn + suit_store = /obj/item/gun/ballistic/automatic/service/alr backpack_contents = list( - /obj/item/ammo_box/magazine/m5mm = 4, - /obj/item/ammo_box/m5mmbox/shock = 1, - /obj/item/suppressor = 1 + /obj/item/ammo_box/magazine/m556/rifle/assault = 2, ) //Armored Infantry @@ -261,6 +290,12 @@ loadout_options = list( /datum/outfit/loadout/troopy, ) + loadout_options = list( + /datum/outfit/loadout/troopy, // 5MM Minigun + /datum/outfit/loadout/assaulttrooper, // Pre-war ripper + bulletpro shield + 2 supers + /datum/outfit/loadout/breacher, // 3 C4 + R91 + 2 30 mag + /datum/outfit/loadout/lasgun // AER12 + ) /datum/outfit/job/enclave/peacekeeper/Armoredinfantry @@ -269,20 +304,42 @@ head = /obj/item/clothing/head/helmet/f13/power_armor/t51b/bos/hardened/enclave suit = /obj/item/clothing/suit/armor/f13/power_armor/t51green/enclave accessory = /obj/item/clothing/accessory/enclave/specialist - backpack_contents = list( /obj/item/reagent_containers/hypospray/medipen/stimpak = 2, /obj/item/grenade/flashbang = 1, /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, - /obj/item/melee/onehanded/knife/survival = 1, + /obj/item/melee/onehanded/knife/survival = 1 ) + /datum/outfit/loadout/troopy - name = "Standard" + name = "Heavy Weapons Specialist" backpack_contents = list( - /obj/item/minigunpack = 1, - /obj/item/stock_parts/cell/ammo/ecp = 2, + /obj/item/minigunpackbal5mm = 1 + ) + +/datum/outfit/loadout/assaulttrooper + name = "Assault Specialist" + backpack_contents = list( + /obj/item/melee/powered/ripper/prewar = 1, + /obj/item/shield/riot/bullet_proof = 1, + /obj/item/reagent_containers/hypospray/medipen/stimpak/super = 2 + ) + +/datum/outfit/loadout/breacher + name = "Heavy Breacher" + backpack_contents = list( + /obj/item/grenade/plastic/c4 = 3, + /obj/item/gun/ballistic/automatic/assault_rifle = 1, + /obj/item/ammo_box/magazine/m556/rifle/assault = 2 + ) + +/datum/outfit/loadout/lasgun + name = "Laser Support Officer" + backpack_contents = list( + /obj/item/gun/energy/laser/aer12 = 1, + /obj/item/stock_parts/cell/ammo/mfc = 4 ) /datum/outfit/job/enclave/peacekeeper/Armoredinfantry/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -317,12 +374,12 @@ backpack_contents = list( /obj/item/reagent_containers/hypospray/medipen/stimpak = 2, - /obj/item/grenade/frag = 1, + /obj/item/grenade/frag = 2, /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, /obj/item/melee/onehanded/knife/survival = 1, /obj/item/clothing/head/f13/enclave/peacekeeper = 1, - /obj/item/ammo_box/magazine/m5mm = 2, + /obj/item/ammo_box/magazine/m5mm = 4 ) /datum/outfit/job/enclave/peacekeeper/enclavesgt/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -363,7 +420,7 @@ /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, /obj/item/melee/onehanded/knife/survival = 1, - /obj/item/ammo_box/magazine/m556/rifle = 3, + /obj/item/ammo_box/magazine/m556/rifle = 3 ) /datum/outfit/loadout/specmedic @@ -430,7 +487,7 @@ /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, /obj/item/melee/onehanded/knife/survival = 1, - /obj/item/ammo_box/magazine/m556/rifle = 2, + /obj/item/ammo_box/magazine/m556/rifle = 2 ) // ENCLAVE REMNANTS @@ -473,7 +530,7 @@ /obj/item/reagent_containers/hypospray/medipen/stimpak = 3, /obj/item/pda = 1, /obj/item/storage/bag/money/small/wastelander = 1, - /obj/item/melee/onehanded/knife/survival = 1, + /obj/item/melee/onehanded/knife/survival = 1 ) /datum/outfit/loadout/enclaveremnantrifle @@ -586,7 +643,7 @@ /obj/item/stock_parts/cell/ammo/mfc = 2, /obj/item/storage/bag/money/small/wastelander = 1, /obj/item/melee/onehanded/knife/survival = 1, - /obj/item/clothing/head/beret/enclave/science = 1, + /obj/item/clothing/head/beret/enclave/science = 1 ) /datum/outfit/job/enclave/noncombat/enclavesci/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -637,7 +694,7 @@ backpack_contents = list( /obj/item/reagent_containers/hypospray/medipen/stimpak = 2, /obj/item/storage/bag/money/small/wastelander = 1, - /obj/item/melee/onehanded/knife/survival = 1, + /obj/item/melee/onehanded/knife/survival = 1 ) /datum/outfit/loadout/bunkerduty_botany @@ -647,7 +704,7 @@ gloves = /obj/item/clothing/gloves/botanic_leather backpack_contents = list( /obj/item/storage/bag/plants = 1, - /obj/item/plant_analyzer = 1, + /obj/item/plant_analyzer = 1 ) /datum/outfit/loadout/bunkerduty_engi @@ -659,7 +716,7 @@ /obj/item/storage/belt/utility = 1, /obj/item/stack/sheet/metal/twenty = 1, /obj/item/stack/sheet/glass/ten = 2, - /obj/item/stack/cable_coil/thirty = 2, + /obj/item/stack/cable_coil/thirty = 2 ) /datum/outfit/loadout/bunkerduty_janny @@ -670,7 +727,7 @@ backpack_contents = list( /obj/item/reagent_containers/spray/cleaner = 1, /obj/item/mop/advanced = 1, - /obj/item/grenade/chem_grenade/cleaner = 3, + /obj/item/grenade/chem_grenade/cleaner = 3 ) /datum/outfit/loadout/bunkerduty_chaplain @@ -680,7 +737,7 @@ backpack_contents = list( /obj/item/storage/book/bible = 2, /obj/item/pen = 1, - /obj/item/folder = 1, + /obj/item/folder = 1 ) /datum/outfit/loadout/bunkerduty_cook @@ -689,7 +746,7 @@ suit = /obj/item/clothing/neck/apron/housewife backpack_contents = list( /obj/item/storage/box/ingredients/wildcard = 4, - /obj/item/kitchen/knife/butcher = 1, + /obj/item/kitchen/knife/butcher = 1 ) // Enclave Citizen diff --git a/code/modules/jobs/job_types/legion.dm b/code/modules/jobs/job_types/legion.dm index 8aec03295e..2cfefd0918 100644 --- a/code/modules/jobs/job_types/legion.dm +++ b/code/modules/jobs/job_types/legion.dm @@ -83,6 +83,10 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al ADD_TRAIT(H, TRAIT_GENERIC, src) ADD_TRAIT(H, TRAIT_FEARLESS, src) //no phobias for the Legion! ADD_TRAIT(H, TRAIT_BERSERKER, src) + ADD_TRAIT(H, TRAIT_HARD_YARDS, src) + ADD_TRAIT(H, TRAIT_LIFEGIVER, src) + ADD_TRAIT(H, TRAIT_IRONFIST, src) + ADD_TRAIT(H, TRAIT_BIG_LEAGUES, src) /obj/item/storage/box/legate name = "legate belongings" @@ -141,7 +145,6 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al r_pocket = /obj/item/storage/bag/money/small/legion l_pocket = /obj/item/flashlight/lantern r_hand = /obj/item/melee/unarmed/powerfist/goliath - l_hand = /obj/item/tank/internals/oxygen ears = /obj/item/radio/headset/headset_legion/cent backpack_contents = list( /obj/item/binoculars = 1, @@ -178,9 +181,9 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al minimal_access = list(ACCESS_PUBLIC, ACCESS_LEGION, ACCESS_LEGION3, ACCESS_LEGION_COMMAND, ACCESS_LEGION2, ACCESS_CHANGE_IDS, ACCESS_LEGION1, ACCESS_LEGION4) loadout_options = list( - /datum/outfit/loadout/palacent, // M1919, Goliath, 10mm pistol - /datum/outfit/loadout/rangerhunter, // Hunting revolver, Sniper, Spatha - /datum/outfit/loadout/centurion, // City-Killer shotgun, 14mm pistol + /datum/outfit/loadout/palacent, // M1919, Goliath, Crusader Pistol + /datum/outfit/loadout/rangerhunter, // Hunting revolver, AMR, Spatha + /datum/outfit/loadout/centurion, // Goliath, CQC, 14mm pistol ) /datum/outfit/job/CaesarsLegion/Legionary/f13centurion/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -221,13 +224,14 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al name = "Paladin-Slayer Centurion" suit = /obj/item/clothing/suit/armor/f13/legion/palacent head = /obj/item/clothing/head/helmet/f13/legion/palacent - suit_store = /obj/item/gun/ballistic/automatic/m1919 + suit_store = /obj/item/gun/ballistic/revolver/m29 backpack_contents = list( - /obj/item/ammo_box/magazine/m762 = 3, - /obj/item/gun/ballistic/automatic/pistol/n99/crusader = 1, - /obj/item/ammo_box/magazine/m10mm_adv/simple = 2 + /obj/item/ammo_box/m44 = 3, + /obj/item/melee/unarmed/powerfist/goliath = 1, + /obj/item/book/granter/martial/cqc = 1, + /obj/item/restraints/legcuffs/bola/tactical = 1 ) - + /datum/outfit/loadout/rangerhunter name = "Ranger-Hunter Centurion" suit = /obj/item/clothing/suit/armor/f13/legion/rangercent @@ -244,12 +248,11 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al name = "Warlord Centurion" suit = /obj/item/clothing/suit/armored/heavy/legion/centurion head = /obj/item/clothing/head/helmet/f13/legion/centurion - suit_store = /obj/item/gun/ballistic/automatic/pistol/pistol14 + suit_store = /obj/item/gun/ballistic/automatic/m1919 backpack_contents = list( - /obj/item/ammo_box/magazine/m14mm = 2, - /obj/item/melee/unarmed/powerfist/goliath = 1, - /obj/item/book/granter/martial/cqc = 1, - /obj/item/reagent_containers/pill/patch/healingpowder/berserker = 2 + /obj/item/ammo_box/magazine/m762 = 3, + /obj/item/gun/ballistic/revolver/m29/alt = 1, + /obj/item/ammo_box/m44 = 2 ) @@ -272,10 +275,10 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al minimal_access = list(ACCESS_PUBLIC, ACCESS_LEGION, ACCESS_LEGION3, ACCESS_LEGION_COMMAND, ACCESS_LEGION2, ACCESS_CHANGE_IDS, ACCESS_LEGION1, ACCESS_LEGION4) loadout_options = list( - /datum/outfit/loadout/decvetbull, // Supersledge, 10mm SMG, Smokebomb - /datum/outfit/loadout/decvetwolf, // Thermic lance, .45 revoler, Extra Bitter - /datum/outfit/loadout/decvetsnake, // Brush gun, Ripper, Extra Bitters - /datum/outfit/loadout/decvetbrave // Trench shotgun, .44 revolver, Ballistic fist + /datum/outfit/loadout/decvetbull, // Supersledge, Reinf. Bola, Smokebomb + /datum/outfit/loadout/decvetwolf, // Ripper, Extra Bitter + /datum/outfit/loadout/decvetsnake, // Brush gun, Scope, Spatha, Extra Bitters + /datum/outfit/loadout/decvetbrave // Carl Gustav, Ballistic Fist, ) /datum/outfit/job/CaesarsLegion/Legionary/f13decanvet/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -359,8 +362,8 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al supervisors = "the Veteran Decanus and the Centurion" loadout_options = list( - /datum/outfit/loadout/decprimfront, //Grenade Launcher, Ballistic Fist, Bolas - /datum/outfit/loadout/decprimheavy // + /datum/outfit/loadout/decprimfront, // legion lance, lever shotty, spatha + bolas + /datum/outfit/loadout/decprimheavy // Grenade launcher, 44 Revolver, Explo Book ) outfit = /datum/outfit/job/CaesarsLegion/Legionary/f13decan @@ -424,11 +427,11 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al head = /obj/item/clothing/head/helmet/f13/legion/prime/decan suit_store = /obj/item/gun/ballistic/revolver/grenadelauncher backpack_contents = list( - /obj/item/gun/ballistic/revolver/ballisticfist = 1, /obj/item/restraints/legcuffs/bola = 1, - /obj/item/ammo_box/a40mm = 2, + /obj/item/ammo_box/a40mm = 3, /obj/item/gun/ballistic/revolver/m29 = 1, - /obj/item/ammo_box/m44 = 3 + /obj/item/ammo_box/m44 = 3, + /obj/item/book/granter/trait/explosives_advanced = 1 ) // ----------------- RECRUIT DECANUS --------------------- @@ -444,7 +447,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al loadout_options = list( /datum/outfit/loadout/recdeclegion, // Uzi, Bumper sword, Smokebomb - /datum/outfit/loadout/recdectribal // SKS, Throwing spears, Reinforced machete, Bottlecap mine + /datum/outfit/loadout/recdectribal // SKS, Throwing spears, Reinforced machete, Bottlecap mine x2 ) outfit = /datum/outfit/job/CaesarsLegion/Legionary/f13decanrec @@ -504,8 +507,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al backpack_contents = list( /obj/item/ammo_box/magazine/sks = 3, /obj/item/melee/onehanded/machete/forgedmachete = 1, - /obj/item/storage/backpack/spearquiver = 1, - /obj/item/bottlecap_mine = 1 + /obj/item/bottlecap_mine = 2 ) //......................//////////////////////////////////................................................ @@ -589,8 +591,8 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al name = "Desert Fox" head = /obj/item/clothing/head/helmet/f13/legion/vet/vexil backpack_contents = list( - /obj/item/gun/ballistic/automatic/smg/american180 = 1, - /obj/item/ammo_box/magazine/m22smg = 1, + /obj/item/gun/ballistic/automatic/smg/tommygun = 1, + /obj/item/ammo_box/magazine/tommygunm45 = 1, /obj/item/gun/ballistic/revolver/contender = 1, /obj/item/ammo_box/a45lcrev = 3 ) @@ -647,6 +649,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al id = /obj/item/card/id/dogtag/legion/prime suit = /obj/item/clothing/suit/armor/f13/legion/vet/explorer head = /obj/item/clothing/head/helmet/f13/legion/vet/explorer + mask = /obj/item/clothing/mask/bandana/legion neck = /obj/item/storage/belt/holster/rugged glasses = /obj/item/clothing/glasses/sunglasses/big neck = /obj/item/storage/belt/holster @@ -684,7 +687,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al title = "Legion Frumentarius" flag = F13FRUMENTARIUS display_order = JOB_DISPLAY_ORDER_FRUMENTARIUS - description = "The Eyes and Ears of Caesar. Frumentarii cover a wide range of specializations, from Ambassadors to local Tribes, Infiltrators of enemy societies, Couriers, Intelligence Gatherers and the Secret Police of Legion Camps. Unlike the lesser Legionaries, a Frumentarius is given much unsupervised freedom to do as one pleases, so long as the Legion's goals are accomplished. You are one of these Frumentarius. Spread Caesar's Will, for Mars is watching." + description = "The Eyes and Ears of Caesar. Frumentarii cover a wide range of specializations, from Ambassadors to local Tribes, Infiltrators of enemy societies, Couriers, Intelligence Gatherers and the Secret Police of Legion Camps. Unlike the lesser Legionaries, a Frumentarius is given much unsupervised freedom to do as one pleases, so long as the Legion's goals are accomplished. You are one of these Frumentarius. Spread Caesar's Will, for Mars is watching. Do remember however, you are still required to esc and you're still required to paint your armor if you intend to fight in the legion main group." supervisors = "the Vet Decanus" selection_color = "#ffdddd" total_positions = 2 @@ -696,6 +699,13 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al access = list(ACCESS_PUBLIC, ACCESS_LEGION, ACCESS_LEGION3, ACCESS_LEGION_COMMAND, ACCESS_LEGION2, ACCESS_CHANGE_IDS, ACCESS_LEGION1, ACCESS_LEGION4) minimal_access = list(ACCESS_PUBLIC, ACCESS_LEGION, ACCESS_LEGION3, ACCESS_LEGION_COMMAND, ACCESS_LEGION2, ACCESS_CHANGE_IDS, ACCESS_LEGION1, ACCESS_LEGION4) + loadout_options = list( + /datum/outfit/loadout/ncr, + /datum/outfit/loadout/Brotherhood, + /datum/outfit/loadout/Townie, + /datum/outfit/loadout/Church + ) + /datum/outfit/job/CaesarsLegion/Legionary/f13frumentarius // .357 Revolver, Spatha name = "Legion Frumentarius" jobtype = /datum/job/CaesarsLegion/Legionary/f13frumentarius @@ -722,9 +732,59 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al if(visualsOnly) return ADD_TRAIT(H, TRAIT_HARD_YARDS, src) - ADD_TRAIT(H, TRAIT_LIFEGIVER, src) + ADD_TRAIT(H, TRAIT_SILENT_STEP, src) ADD_TRAIT(H, TRAIT_BIG_LEAGUES, src) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/ncrcombat) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/ncrcombathelmet) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/ncrsalvagedarmorconversion) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/ncrsalvagedhelmetconversion) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/horsearmorncr) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/boscombatarmor) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/boscombathelmet) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/enclavecombat) + H.mind.teach_crafting_recipe(/datum/crafting_recipe/enclavecombathelmet) + +/datum/outfit/loadout/ncr + name = "NCR Spy" + suit_store = /obj/item/gun/ballistic/automatic/service + suit = /obj/item/clothing/suit/armor/f13/ncrarmor/mantle + head = /obj/item/clothing/head/f13/ncr + backpack_contents = list( + /obj/item/clothing/under/f13/ncr = 1, + /obj/item/storage/box/ration/menu_three = 1, + /obj/item/ammo_box/magazine/m556/rifle = 3 + ) +/datum/outfit/loadout/Brotherhood + name = "Brotherhood Infiltrator" + suit_store = /obj/item/gun/energy/laser/aer9 + suit = /obj/item/clothing/suit/armor/f13/combat/brotherhood/initiate + head = /obj/item/clothing/head/helmet/f13/combat/brotherhood/initiate + backpack_contents = list( + /obj/item/clothing/under/syndicate/brotherhood = 1, + /obj/item/clothing/accessory/bos/initiateK = 1, + /obj/item/stock_parts/cell/ammo/mfc = 3 + ) + +/datum/outfit/loadout/Townie + name = "Townie Bum" + uniform = /obj/item/clothing/under/f13/merchant + suit = /obj/item/clothing/suit/overalls/farmer + head = /obj/item/clothing/head/f13/ranger_hat/tan + suit_store = /obj/item/gun/ballistic/revolver/caravan_shotgun + backpack_contents = list( + /obj/item/ammo_box/shotgun/buck = 2, + /obj/item/stack/f13Cash/caps/onezerozero = 1 + ) + +/datum/outfit/loadout/Church + name = "Church Beggar" + suit = /obj/item/clothing/suit/hooded/robes/cotc + backpack_contents = list( + /obj/item/clothing/shoes/f13/rag = 1, + /obj/item/clothing/under/f13/settler = 1, + /obj/item/reagent_containers/pill/patch/bitterdrink = 1, + ) //......................//////////////////////////////////................................................ // // @@ -745,7 +805,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al loadout_options = list( //ALL: Gladius /datum/outfit/loadout/vetaxe, // AXE AND FISTS AND NOTHING FUCKING ELSE - /datum/outfit/loadout/vetsmg, // 10mm SMG, .357 Revolver + /datum/outfit/loadout/vetsmg, // type 93 AR, .357 Revolver, poultice /datum/outfit/loadout/vetberserker, // Lever shotgun, Bola, Legion Lance /datum/outfit/loadout/vetrifle // Trail gun, .357 Revolver, Throwing knives ) @@ -788,23 +848,22 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al /obj/item/restraints/handcuffs = 1, /obj/item/melee/onehanded/machete/gladius = 1, /obj/item/reagent_containers/pill/patch/bitterdrink = 1, - /obj/item/stack/crafting/armor_plate = 4, + /obj/item/stack/crafting/armor_plate = 5 ) /datum/outfit/loadout/vetaxe - name = "Frontline" + name = "War-Hound" suit_store = /obj/item/twohanded/legionaxe backpack_contents = list( - /obj/item/melee/unarmed/tigerclaw = 1, - /obj/item/restraints/legcuffs/bola = 1, + /obj/item/restraints/legcuffs/bola = 2, /obj/item/reagent_containers/pill/patch/healpoultice = 2 ) /datum/outfit/loadout/vetsmg - name = "Flanker" - suit_store = /obj/item/gun/ballistic/automatic/smg/smg10mm + name = "Front-line" + suit_store = /obj/item/gun/ballistic/automatic/type93/worn backpack_contents = list( - /obj/item/ammo_box/magazine/m10mm_adv/ext = 2, + /obj/item/ammo_box/magazine/m556/rifle = 2, /obj/item/gun/ballistic/revolver/colt357 = 1, /obj/item/ammo_box/a357 = 1, /obj/item/melee/onehanded/machete/gladius = 1, @@ -844,7 +903,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al supervisors = "the Decani and Centurion" loadout_options = list( //ALL: Forged Machete - /datum/outfit/loadout/primelancer, // .357 revolver, Buckler, Bola + /datum/outfit/loadout/primelancer, // .44 Revolver, Legion Shield, Bola /datum/outfit/loadout/primerifle, // Cowboy repeater, Firebomb /datum/outfit/loadout/primebrave, // Hunting shotgun, Throwing spears /datum/outfit/loadout/primepila, // Legion Lance, Extra Medicine @@ -883,18 +942,19 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al backpack_contents = list( /obj/item/storage/bag/money/small/legenlisted = 1, /obj/item/reagent_containers/pill/patch/healpoultice = 2, - /obj/item/gun/ballistic/revolver/revolver45 = 1, + /obj/item/gun/ballistic/revolver/revolver45 = 1 ) /datum/outfit/loadout/primelancer - name = "Guardian" + name = "Straight Outta Drymouth" r_hand = /obj/item/shield/riot/legion backpack_contents = list( - /obj/item/gun/ballistic/revolver/colt357 = 1, - /obj/item/ammo_box/a357 = 3, /obj/item/restraints/legcuffs/bola = 1, - /obj/item/melee/onehanded/machete/gladius = 1 - ) + /obj/item/melee/onehanded/machete/gladius = 1, + /obj/item/reagent_containers/pill/patch/healingpowder = 3, + /obj/item/gun/ballistic/revolver/m29/snub = 1, + /obj/item/ammo_box/m44 = 2 + ) /datum/outfit/loadout/primerifle name = "Sharpshooter" @@ -906,7 +966,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al /datum/outfit/loadout/primebrave name = "Heart of the Bull" - suit_store = /obj/item/twohanded/fireaxe/bmprsword + suit_store = /obj/item/twohanded/sledgehammer/simple backpack_contents = list( /obj/item/storage/backpack/spearquiver = 1, /obj/item/gun/ballistic/revolver/colt357 = 1, @@ -951,7 +1011,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al loadout_options = list( /datum/outfit/loadout/recruittribal, // Sledgehammer, bola, throwing spear quiver, trekking /datum/outfit/loadout/recruitbowman, // Sturdy bow, bow autodraw, trekking, Extra Medicine - /datum/outfit/loadout/recruitlegion // Caravan shotgun, 2 x prefilled Molotovs, Machete, Extra Medicine + /datum/outfit/loadout/recruitlegion // 2x 1911, Gladius, 3x Powder, 2 bolas ) matchmaking_allowed = list( @@ -989,7 +1049,7 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al /datum/outfit/loadout/recruittribal name = "Tribal Recruit" - suit_store = /obj/item/twohanded/sledgehammer/simple + suit_store = /obj/item/twohanded/fireaxe/bmprsword backpack_contents = list( /obj/item/storage/backpack/spearquiver = 1, /obj/item/restraints/legcuffs/bola = 1, @@ -1005,16 +1065,17 @@ Weapons Lever shotgun, Grease gun, Repeater carbines, Revolvers, simple guns al /obj/item/warpaint_bowl = 1, /obj/item/book/granter/trait/bowman = 1 ) - + /datum/outfit/loadout/recruitlegion - name = "Straight Outta Drymouth" - suit_store = /obj/item/melee/onehanded/machete + name = "Rehabilitated Tribal" backpack_contents = list( - /obj/item/storage/backpack/spearquiver = 1, - /obj/item/reagent_containers/pill/patch/healingpowder = 2, - /obj/item/gun/ballistic/revolver/colt357 = 1, - /obj/item/ammo_box/a357 = 3 - ) + /obj/item/restraints/legcuffs/bola = 2, + /obj/item/melee/onehanded/machete = 1, + /obj/item/reagent_containers/pill/patch/healingpowder = 3, + /obj/item/gun/ballistic/automatic/autopipe = 1, + /obj/item/ammo_box/magazine/autopipe = 4 + ) + //......................//////////////////////////////////................................................ // // diff --git a/code/modules/jobs/job_types/ncr.dm b/code/modules/jobs/job_types/ncr.dm index 33120b9b3c..edd1c78375 100644 --- a/code/modules/jobs/job_types/ncr.dm +++ b/code/modules/jobs/job_types/ncr.dm @@ -169,8 +169,8 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC, ACCESS_CHANGE_IDS, ACCESS_NCR3, ACCESS_NCR4) loadout_options = list( - /datum/outfit/loadout/captainbackline, // Commander's Coat - /datum/outfit/loadout/captainfrontline // Captain's Armor + /datum/outfit/loadout/captainbackline, // R84 + /datum/outfit/loadout/captainfrontline // Court Martial ) /datum/outfit/job/ncr/f13captain // Binoculars, Trench knife @@ -246,11 +246,11 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC, ACCESS_NCR3) loadout_options = list( - /datum/outfit/loadout/LTbackline, // Commander's Coat - /datum/outfit/loadout/LTfrontline // Captain's Armor + /datum/outfit/loadout/LTbackline, // NCR Golf-Club + /datum/outfit/loadout/LTfrontline // Republic Pride ) -/datum/outfit/job/ncr/f13lieutenant // Republic's Pride, Binoculars, Bayonet, 9mm pistol +/datum/outfit/job/ncr/f13lieutenant // Binoculars, Bayonet, 9mm pistol name = "NCR Lieutenant" jobtype = /datum/job/ncr/f13lieutenant id = /obj/item/card/id/dogtag/ncrlieutenant @@ -423,8 +423,8 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC) loadout_options = list( - /datum/outfit/loadout/sergeantrifleman, - /datum/outfit/loadout/sergeantscout + /datum/outfit/loadout/sergeantrifleman, // R91 + Bowie Knife + /datum/outfit/loadout/sergeantscout // Neostead + Bowie Knife ) /datum/outfit/job/ncr/f13sergeant @@ -452,11 +452,11 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. /datum/outfit/loadout/sergeantscout name = "Lead Scout" - suit_store = /obj/item/gun/ballistic/automatic/marksman + suit_store = /obj/item/gun/ballistic/shotgun/automatic/combat/neostead head = /obj/item/clothing/head/f13/ncr suit = /obj/item/clothing/suit/armor/f13/ncrarmor/mantle/reinforced backpack_contents = list( - /obj/item/ammo_box/magazine/m556/rifle = 2, + /obj/item/ammo_box/shotgun/buck = 3, /obj/item/storage/box/ration/menu_one = 1, /obj/item/melee/onehanded/knife/bowie = 1, /obj/item/binoculars = 1 @@ -560,7 +560,7 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. loadout_options = list( // ALL: Binoculars, Bowie knife, Sequoia /datum/outfit/loadout/vrclassic, // DKS /datum/outfit/loadout/vrlite, // Brush - /datum/outfit/loadout/vrshotgunner // Lever Action Shotgun + /datum/outfit/loadout/vrshotgunner // neostead Shotgun ) access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC, ACCESS_CHANGE_IDS, ACCESS_NCR3, ACCESS_NCR4) @@ -737,7 +737,7 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. outfit = /datum/outfit/job/ncr/f13heavytrooper loadout_options = list( - /datum/outfit/loadout/shockht, // BAR, nobody uses the citykiller lol + /datum/outfit/loadout/shockht, // G11 /datum/outfit/loadout/supportht, // R84 /datum/outfit/loadout/meleeht // Rocket Sledge, lighter armor in exchange for mobility and melee ) @@ -764,8 +764,8 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. /datum/outfit/loadout/shockht name = "Shock Heavy Trooper" backpack_contents = list( - /obj/item/gun/ballistic/automatic/bar = 1, - /obj/item/ammo_box/magazine/m762/ext = 2, + /obj/item/gun/ballistic/automatic/g11 = 1, + /obj/item/ammo_box/magazine/m473 = 2, /obj/item/storage/box/ration/menu_four = 1 ) @@ -810,7 +810,7 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. loadout_options = list( // ALL: Trench tool, Limited blueprints - /datum/outfit/loadout/combatengineerflamethrower, // Flamethrower, 9mm pistol + /datum/outfit/loadout/combatengineermg, // R88, some ammo /datum/outfit/loadout/combatengineerdestroyer // Hunting Shotgun, C4 Explosive, Extra Materials ) @@ -834,24 +834,23 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. /obj/item/reagent_containers/hypospray/medipen/stimpak = 1 ) -/datum/outfit/loadout/combatengineerflamethrower - name = "Flamethrower Unit" - suit_store = /obj/item/gun/ballistic/automatic/pistol/ninemil +/datum/outfit/loadout/combatengineermg + name = "Machinegun Unit" backpack_contents = list( /obj/item/storage/box/ration/menu_three = 1, - /obj/item/m2flamethrowertank = 1, - /obj/item/ammo_box/magazine/m9mmds = 2, - /obj/item/stack/sheet/metal/fifty = 1, - /obj/item/stack/sheet/glass/fifty = 1 + /obj/item/gun/ballistic/automatic/R88 = 1, + /obj/item/ammo_box/magazine/lmg/large = 1 ) + /datum/outfit/loadout/combatengineerdestroyer name = "Explosives Expert" suit_store = /obj/item/gun/ballistic/revolver/grenadelauncher backpack_contents = list( /obj/item/storage/box/ration/menu_ten = 1, - /obj/item/ammo_box/a40mm = 2, + /obj/item/ammo_box/a40mm = 1, /obj/item/grenade/plastic/c4 = 1, - /obj/item/book/granter/crafting_recipe/blueprint/trapper = 1, + /obj/item/grenade/f13/frag = 3, + /obj/item/grenade/f13/he_grenade = 4, /obj/item/book/granter/trait/explosives = 1 ) @@ -981,7 +980,8 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. /datum/outfit/loadout/corporalpathfinder, // Service Rifle /datum/outfit/loadout/corporalcqc, // Hunting Shotgun /datum/outfit/loadout/corporaldesignatedmarksman, // Hunting Rifle + Scope - /datum/outfit/loadout/corporalraider // Melee Monkey + /datum/outfit/loadout/corporalraider, // Melee Monkey + /datum/outfit/loadout/ammobearer // LMG Support ) /datum/outfit/job/ncr/f13corporal @@ -1037,6 +1037,17 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. /obj/item/storage/box/ration/menu_seven = 1 ) +/datum/outfit/loadout/ammobearer + name = "Ammobearer" + backpack_contents = list( + /obj/item/storage/backpack/ammopack = 1, + /obj/item/ammo_box/magazine/lmg/huge = 3, + /obj/item/gun/ballistic/automatic/pistol/m1911 = 1, + /obj/item/ammo_box/magazine/m45 = 2, + /obj/item/storage/box/ration/menu_seven = 1 + ) + + // TROOPER /datum/job/ncr/f13trooper @@ -1052,9 +1063,9 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. loadout_options = list( /datum/outfit/loadout/trooperrifleman, // Service Rifle, Bayonet - /datum/outfit/loadout/troopermechanics, - /datum/outfit/loadout/trooperscout, - /datum/outfit/loadout/trooperconscript + /datum/outfit/loadout/troopermechanics, // trench shotgun, Bayo, toolbox, 30 sandbags + /datum/outfit/loadout/trooperscout, // hunting rifle, scope, bayo + /datum/outfit/loadout/trooperconscript // varmint, bayo ) /datum/outfit/job/ncr/f13trooper @@ -1087,7 +1098,6 @@ Weapons Service Rifle, Grease Gun, 9mm pistol, all good. backpack_contents = list( /obj/item/ammo_box/shotgun/buck = 3, /obj/item/melee/onehanded/knife/bayonet = 1, - /obj/item/ammo_box/shotgun/incendiary = 1, /obj/item/clothing/under/f13/mechanic = 1, /obj/item/storage/toolbox/mechanical = 1, /obj/item/stack/sheet/mineral/sandbags = 30, diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index 91973467be..86cb067de7 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -37,7 +37,7 @@ start_empty = 1 -/obj/item/ammo_box/magazine/lmg +/obj/item/ammo_box/magazine/lmg/small name = "ammo box (5.56)" icon_state = "r80" ammo_type = /obj/item/ammo_casing/a556 @@ -45,7 +45,7 @@ max_ammo = 60 multiple_sprites = 2 -/obj/item/ammo_box/magazine/lmg/empty +/obj/item/ammo_box/magazine/lmg/small/empty start_empty = 1 /obj/item/ammo_box/magazine/cz53 @@ -86,3 +86,27 @@ /obj/item/ammo_box/magazine/mm762/update_icon() ..() icon_state = "762belt-[round(ammo_count(),20)]" + +/obj/item/ammo_box/magazine/lmg/large + name = "large ammo box (5.56mm)" + icon_state = "r120" + ammo_type = /obj/item/ammo_casing/a556 + caliber = "a556" + max_ammo = 120 + multiple_sprites = 2 + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/ammo_box/magazine/lmg/large/empty + start_empty = 1 + +/obj/item/ammo_box/magazine/lmg/huge + name = "huge ammo box (5.56mm)" + icon_state = "r240" + ammo_type = /obj/item/ammo_casing/a556 + caliber = "a556" + max_ammo = 240 + multiple_sprites = 2 + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/ammo_box/magazine/lmg/huge/empty + start_empty = 1 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 7da914103b..22b6382b28 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -1362,7 +1362,7 @@ icon_state = "R84" item_state = "R84" slowdown = 1.5 - mag_type = /obj/item/ammo_box/magazine/lmg + mag_type = /obj/item/ammo_box/magazine/lmg/small extra_damage = 23 fire_delay = 6 burst_shot_delay = 2.5 @@ -1400,6 +1400,72 @@ actions_types = list(/datum/action/item_action/toggle_firemode) fire_sound = 'sound/f13weapons/assaultrifle_fire.ogg' +//R88 Squad Support Weapon Keywords: NCR, 5.56mm, Automatic, 60-120-240 rounds, Damage decrease (bullethose) +/obj/item/gun/ballistic/automatic/R88 + name = "R88 General Purpose Machine Gun" + desc = "A general purpose machine gun using several sizes of ammo boxes. Chambered in 5.56, use of a bipod is heavily advised. It seems to be able to mount a scope." + icon_state = "R88" + item_state = "R88" + slowdown = 1.7 + mag_type = /obj/item/ammo_box/magazine/lmg/large + extra_damage = 18 + extra_penetration = 0.1 + fire_delay = 6 + burst_shot_delay = 2.5 + is_automatic = TRUE + automatic = 1 + autofire_shot_delay = 1.5 + spread = 40 + can_attachments = TRUE + can_scope = FALSE + zoomable = TRUE + zoom_amt = 10 + zoom_out_amt = 13 + var/bipod = FALSE + actions_types = list(/*/datum/action/item_action/toggle_firemode, *//datum/action/item_action/toggle_bipod) + fire_sound = 'sound/weapons/gpmg.ogg' + slot_flags = ITEM_SLOT_BACK + w_class = WEIGHT_CLASS_HUGE + +/obj/item/gun/ballistic/automatic/R88/ui_action_click(mob/user, action) +/* if(istype(action, /datum/action/item_action/toggle_firemode)) + if(is_automatic == FALSE) + burst_select() + if(is_automatic == TRUE) + auto_select()*/ + + if(istype(action, /datum/action/item_action/toggle_bipod)) + if(bipod == FALSE) + bipod_on() + to_chat(user, "You deploy the bipod.") + RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/stop_walk) + else + bipod_off() + to_chat(user, "You fold up the bipod.") + UnregisterSignal(user, COMSIG_MOVABLE_PRE_MOVE) + else + return ..() + +/obj/item/gun/ballistic/automatic/R88/proc/bipod_on() + spread = 12 + autofire_shot_delay = 1 + bipod = TRUE + + +/obj/item/gun/ballistic/automatic/R88/proc/bipod_off() + spread = 45 + autofire_shot_delay = 1.5 + bipod = FALSE + +/obj/item/gun/ballistic/automatic/R88/proc/stop_walk(mob/dude) + to_chat(dude, "You can't walk while bipoded!") + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + +/obj/item/gun/ballistic/automatic/R88/dropped(mob/user) + . = ..() + UnregisterSignal(user, COMSIG_MOVABLE_PRE_MOVE) + if(bipod) + bipod_off() //M1919 Machinegun Keywords: LEGION, .308, Automatic, 80 round belt. Special modifiers: damage decrease bullethose /obj/item/gun/ballistic/automatic/m1919 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 90355a4253..bc61635601 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -729,6 +729,12 @@ . = ..() ammo_pack.attach_gun(user) +/obj/item/gun/energy/minigun/Destroy() + ammo_pack.gun = null + ammo_pack = null + . = ..() + + //// BETA /// Obsolete /obj/item/gun/energy/laser/lasertesting diff --git a/code/modules/research/designs/ammolathe_designs.dm b/code/modules/research/designs/ammolathe_designs.dm index 5275a2a942..47bff2b220 100644 --- a/code/modules/research/designs/ammolathe_designs.dm +++ b/code/modules/research/designs/ammolathe_designs.dm @@ -602,7 +602,21 @@ name = "empty ammo box (5.56)" id = "lmg556" materials = list(/datum/material/iron = 8000) - build_path = /obj/item/ammo_box/magazine/lmg/empty + build_path = /obj/item/ammo_box/magazine/lmg/small/empty + category = list("initial", "Advanced Magazines") + +/datum/design/ammolathe/lmg556large + name = "empty machinegun box (5.56)" + id = "lmg556large" + materials = list(/datum/material/iron = 12000) + build_path = /obj/item/ammo_box/magazine/lmg/large/empty + category = list("initial", "Advanced Magazines") + +/datum/design/ammolathe/lmg556huge + name = "empty extended machinegun box (5.56)" + id = "lmg556huge" + materials = list(/datum/material/iron = 18000) + build_path = /obj/item/ammo_box/magazine/lmg/huge/empty category = list("initial", "Advanced Magazines") /datum/design/ammolathe/mm762 @@ -684,3 +698,5 @@ materials = list(/datum/material/iron = 20000, /datum/material/blackpowder = 1000) build_path = /obj/item/ammo_box/a357box/ricochet category = list("initial", "Advanced Ammo") + + diff --git a/icons/fallout/objects/guns/ammo.dmi b/icons/fallout/objects/guns/ammo.dmi index bce2eeeeea..9ac8916927 100644 Binary files a/icons/fallout/objects/guns/ammo.dmi and b/icons/fallout/objects/guns/ammo.dmi differ diff --git a/icons/fallout/objects/guns/ballistic.dmi b/icons/fallout/objects/guns/ballistic.dmi index f5de79e5a0..92d7cb8682 100644 Binary files a/icons/fallout/objects/guns/ballistic.dmi and b/icons/fallout/objects/guns/ballistic.dmi differ diff --git a/icons/fallout/objects/storage.dmi b/icons/fallout/objects/storage.dmi index 1066ae7bf5..ca732edcb9 100644 Binary files a/icons/fallout/objects/storage.dmi and b/icons/fallout/objects/storage.dmi differ diff --git a/icons/fallout/onmob/backslot_bags.dmi b/icons/fallout/onmob/backslot_bags.dmi index 1f324387c3..817c160ccd 100644 Binary files a/icons/fallout/onmob/backslot_bags.dmi and b/icons/fallout/onmob/backslot_bags.dmi differ diff --git a/icons/fallout/onmob/weapons/guns_lefthand.dmi b/icons/fallout/onmob/weapons/guns_lefthand.dmi index 29ea0b5069..b7de8192a9 100644 Binary files a/icons/fallout/onmob/weapons/guns_lefthand.dmi and b/icons/fallout/onmob/weapons/guns_lefthand.dmi differ diff --git a/icons/fallout/onmob/weapons/guns_righthand.dmi b/icons/fallout/onmob/weapons/guns_righthand.dmi index 8426ca6862..10655ec7db 100644 Binary files a/icons/fallout/onmob/weapons/guns_righthand.dmi and b/icons/fallout/onmob/weapons/guns_righthand.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 6249d838f1..66fac81890 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/inhands/equipment/backpack_lefthand.dmi b/icons/mob/inhands/equipment/backpack_lefthand.dmi index 07d435a3e3..73c4810f0a 100644 Binary files a/icons/mob/inhands/equipment/backpack_lefthand.dmi and b/icons/mob/inhands/equipment/backpack_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/backpack_righthand.dmi b/icons/mob/inhands/equipment/backpack_righthand.dmi index a35217fc67..14c49cab5f 100644 Binary files a/icons/mob/inhands/equipment/backpack_righthand.dmi and b/icons/mob/inhands/equipment/backpack_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 6c63feae00..0e2f4245d5 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 6c7a154f1b..2c373d97cc 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 5950d55a1b..9c856ad118 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 482b70778c..889acb2b3e 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 4d1d68b878..8101c5ee54 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/sound/weapons/gpmg.ogg b/sound/weapons/gpmg.ogg new file mode 100644 index 0000000000..a5276971d0 Binary files /dev/null and b/sound/weapons/gpmg.ogg differ