Files
necromanceranne 8df0c5851d Partially reverts #89619, where I partially reverted #87936; Puts back the mining and damage AOE damage on Mech PKA, but improves the standard modkits as well (#89993)
## About The Pull Request

In #89619, I removed the mech PKA's mining AOE and reduced the damaging
AOE to a fraction of the damage.

I have restored both of these aspects, but I have also applied this
change to the standard PKA's mining and damage AOE. I have also included
the mob biotype limitations as well.

AOE modkits take 10% capacity, now allowing miners to use them in more
setups. However, they conflict with one another. You can only have one
AOE mod until you can get the dual AOE mod from tendrils.

The AOE damage/mining effect is now a 2 tile effect rather than 1 tile
effect.

## Why It's Good For The Game

My intent in the previous PR was to bring mech PKA's down to standard
mining limitations. So, why not improve those standards for everyone
instead? The new state of mining expects you to be dealing with a lot of
mobs at once. Even small vents can, on occasion, decide to spit out
several goliaths back to back. That's a lot of mobs with a lot of
health.

Miners need AOE options more than ever. They have very little that are
actually meaningful, sadly. So my intent here is that this should be an
expectation for our miners to be seeking out and can fit into their
current, standard gameplay.

Certainly I've only felt like shit having to sacrifice a damage or
cooldown mod for an AOE mod, only to get a very minor amount of damage
splash for my efforts. That, and the radius doesn't usually impact most
mobs as they spawn and attack from awkward angles or distances from one
another where they are JUST out of reach of one another. Trying to use
the splash to hit multiple enemies is often not worth it compared to
just hitting one enemy at a time with a lot of damage.

So, let's just go with the standard of 'Good AOE is fundamentally needed
now' and worth from that premise.

## Changelog
🆑
balance: Mech PKA now once again mines turfs and does full damage on its
AOE explosion (still only hitting mining mobs).
balance: The standard PKA AOE mods are now by default 10% capacity. But
they cannot be used with one another.
balance: The standard PKA offensive AOE mod now does the PKA's full
damage in its AOE.
balance: Mining AOEs will affect everything within a 2 tile radius
around the point of impact, up from a 1 tile radius.
/🆑

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-03-19 07:57:52 +01:00

292 lines
12 KiB
Plaintext

/////////////////////////////////////////
/////////////////Mining//////////////////
/////////////////////////////////////////
/datum/design/cargo_express
name = "Express Supply Console Board"//shes beautiful
desc = "Allows for the construction of circuit boards used to build an Express Supply Console."//who?
id = "cargoexpress"//the coder reading this
build_type = IMPRINTER
materials = list(/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/circuitboard/computer/cargo/express
category = list(
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_CARGO
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/bluespace_pod
name = "Express Supply Drop Pod Upgrade Disk"
desc = "Allows the Cargo Express Console to call down the Bluespace Drop Pod, greatly increasing user safety."//who?
id = "bluespace_pod"//the coder reading this
build_type = PROTOLATHE
materials = list(/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/disk/cargo/bluespace_pod
category = list(
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_CARGO
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/pickaxe
name = "Pickaxe"
id = "pickaxe"
build_type = PROTOLATHE | AWAY_LATHE | AUTOLATHE
materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/pickaxe
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/drill
name = "Mining Drill"
desc = "Yours is the drill that will pierce through the rock walls."
id = "drill"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*3, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT) //expensive, but no need for miners.
build_path = /obj/item/pickaxe/drill
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/drill_diamond
name = "Diamond-Tipped Mining Drill"
desc = "Yours is the drill that will pierce the heavens!"
id = "drill_diamond"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT*3,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT,
/datum/material/diamond =SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/pickaxe/drill/diamonddrill
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/plasmacutter
name = "Plasma Cutter"
desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff."
id = "plasmacutter"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/glass =SMALL_MATERIAL_AMOUNT*5,
/datum/material/plasma = SMALL_MATERIAL_AMOUNT*4,
)
build_path = /obj/item/gun/energy/plasmacutter
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design/plasmacutter_adv
name = "Advanced Plasma Cutter"
desc = "It's an advanced plasma cutter, oh my god."
id = "plasmacutter_adv"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT,
/datum/material/plasma =SHEET_MATERIAL_AMOUNT,
/datum/material/gold =SMALL_MATERIAL_AMOUNT*5,
)
build_path = /obj/item/gun/energy/plasmacutter/adv
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/jackhammer
name = "Sonic Jackhammer"
desc = "Essentially a handheld planet-cracker. Rock walls cower in fear when they hear one of these."
id = "jackhammer"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT*3,
/datum/material/glass =SHEET_MATERIAL_AMOUNT,
/datum/material/silver =SHEET_MATERIAL_AMOUNT,
/datum/material/diamond = SHEET_MATERIAL_AMOUNT*3,
)
build_path = /obj/item/pickaxe/drill/jackhammer
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/superresonator
name = "Upgraded Resonator"
desc = "An upgraded version of the resonator that allows more fields to be active at once."
id = "superresonator"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT*2,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/silver =HALF_SHEET_MATERIAL_AMOUNT,
/datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/resonator/upgraded
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/trigger_guard_mod
name = "Kinetic Accelerator Trigger Guard Mod"
desc = "A device which allows kinetic accelerators to be wielded by any organism."
id = "triggermod"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/gold =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/borg/upgrade/modkit/trigger_guard
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/damage_mod
name = "Kinetic Accelerator Damage Mod"
desc = "A device which allows kinetic accelerators to deal more damage."
id = "damagemod"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/gold =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/borg/upgrade/modkit/damage
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/damage_mod/borg
id = "borg_upgrade_damagemod"
build_type = MECHFAB
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design/cooldown_mod
name = "Kinetic Accelerator Cooldown Mod"
desc = "A device which decreases the cooldown of a Kinetic Accelerator."
id = "cooldownmod"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/gold =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/borg/upgrade/modkit/cooldown
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/cooldown_mod/borg
id = "borg_upgrade_cooldownmod"
build_type = MECHFAB
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design/range_mod
name = "Kinetic Accelerator Range Mod"
desc = "A device which allows kinetic accelerators to fire at a further range."
id = "rangemod"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/gold =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/borg/upgrade/modkit/range
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/range_mod/borg
id = "borg_upgrade_rangemod"
build_type = MECHFAB
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design/hyperaccelerator
name = "Kinetic Accelerator Mining AoE Mod"
desc = "A modification kit for Kinetic Accelerators which causes it to fire AoE blasts that destroy rock."
id = "hypermod"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT*4,
/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5,
/datum/material/silver =SHEET_MATERIAL_AMOUNT,
/datum/material/gold =SHEET_MATERIAL_AMOUNT,
/datum/material/diamond =SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/borg/upgrade/modkit/aoe/turfs
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/hyperaccelerator/borg
id = "borg_upgrade_hypermod"
build_type = MECHFAB
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design/mining_scanner
name = "Mining Scanner"
id = "mining_scanner"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/glass =SMALL_MATERIAL_AMOUNT*5,
/datum/material/iron =SMALL_MATERIAL_AMOUNT*5,
/datum/material/silver =HALF_SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/t_scanner/adv_mining_scanner/lesser
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MINING
)
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/unique_modkit
category = list(
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_PKA_MODS,
)
build_type = PROTOLATHE
departmental_flags = DEPARTMENT_BITFLAG_CARGO
/datum/design/unique_modkit/offensive_turf_aoe
name = "Kinetic Accelerator Offensive Mining Explosion Mod"
desc = "A device which causes kinetic accelerators to fire AoE blasts that destroy rock and damage creatures."
id = "hyperaoemod"
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*3.5, /datum/material/glass = SHEET_MATERIAL_AMOUNT*1.5, /datum/material/silver =SHEET_MATERIAL_AMOUNT*1.5, /datum/material/gold =SHEET_MATERIAL_AMOUNT*1.5, /datum/material/diamond = SHEET_MATERIAL_AMOUNT*2)
build_path = /obj/item/borg/upgrade/modkit/aoe/mobs/andturfs
/datum/design/unique_modkit/rapid_repeater
name = "Kinetic Accelerator Rapid Repeater Mod"
desc = "A device which greatly reduces a kinetic accelerator's cooldown on striking a living target or rock, but greatly increases its base cooldown."
id = "repeatermod"
materials = list(/datum/material/iron =HALF_SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/uranium = SHEET_MATERIAL_AMOUNT*4, /datum/material/bluespace =SHEET_MATERIAL_AMOUNT)
build_path = /obj/item/borg/upgrade/modkit/cooldown/repeater
/datum/design/unique_modkit/resonator_blast
name = "Kinetic Accelerator Resonator Blast Mod"
desc = "A device which causes kinetic accelerators to fire shots that leave and detonate resonator blasts."
id = "resonatormod"
materials = list(/datum/material/iron =HALF_SHEET_MATERIAL_AMOUNT*5, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT*5, /datum/material/silver =HALF_SHEET_MATERIAL_AMOUNT*5, /datum/material/uranium =SHEET_MATERIAL_AMOUNT * 2.5)
build_path = /obj/item/borg/upgrade/modkit/resonator_blasts
/datum/design/unique_modkit/bounty
name = "Kinetic Accelerator Death Syphon Mod"
desc = "A device which causes kinetic accelerators to permanently gain damage against creature types killed with it."
id = "bountymod"
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2, /datum/material/silver = SHEET_MATERIAL_AMOUNT*2, /datum/material/gold = SHEET_MATERIAL_AMOUNT*2, /datum/material/bluespace = SHEET_MATERIAL_AMOUNT*2)
build_path = /obj/item/borg/upgrade/modkit/bounty