mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
Exosuit Equipment Tweaking (#13925)
This commit is contained in:
@@ -29,6 +29,6 @@
|
||||
name = T_BOARD_MECHA("ballistic weapon systems")
|
||||
contains_software = list(MECH_SOFTWARE_WEAPONS)
|
||||
icon_state = "mainboard"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 3)
|
||||
origin_tech = list(TECH_DATA = 3, TECH_COMBAT = 3)
|
||||
|
||||
#undef T_BOARD_MECHA
|
||||
@@ -229,6 +229,7 @@
|
||||
L.adjustOxyLoss(oxy_heal * -1)
|
||||
L.adjustCloneLoss(clone_heal * -1)
|
||||
L.adjustHalLoss(hal_heal * -1)
|
||||
L.add_chemical_effect(CE_PAINKILLER, 50) //Pain is bad :(
|
||||
|
||||
if(ishuman(L) && bone_heal)
|
||||
var/mob/living/carbon/human/H = L
|
||||
@@ -263,6 +264,73 @@
|
||||
restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND)
|
||||
restricted_software = list(MECH_SOFTWARE_MEDICAL)
|
||||
|
||||
/obj/item/device/healthanalyzer/mech //Used to set up the full body scan feature
|
||||
var/obj/machinery/body_scanconsole/internal_bodyscanner = null
|
||||
var/fullScan = FALSE //Toggle whether to do full or basic scan
|
||||
|
||||
/obj/item/device/healthanalyzer/mech/Initialize()
|
||||
. = ..()
|
||||
internal_bodyscanner = new /obj/machinery/body_scanconsole(src)
|
||||
internal_bodyscanner.use_power = FALSE
|
||||
|
||||
/obj/item/mecha_equipment/mounted_system/medanalyzer/CtrlClick(mob/user)
|
||||
var/obj/item/device/healthanalyzer/mech/HA = holding
|
||||
if(istype(HA))
|
||||
HA.fullScan = !HA.fullScan
|
||||
to_chat(user, SPAN_NOTICE("You switch to \the [src]'s [HA.fullScan ? "full body" : "basic"] scan mode."))
|
||||
|
||||
/obj/item/device/healthanalyzer/mech/attack(mob/living/M, var/mob/living/heavy_vehicle/user)
|
||||
for(var/mob/pilot in user.pilots)
|
||||
health_scan_mob(M, pilot, TRUE, TRUE)
|
||||
if(!fullScan)
|
||||
for(var/mob/pilot in user.pilots)
|
||||
health_scan_mob(M, pilot, TRUE, TRUE)
|
||||
else
|
||||
user.visible_message("<b>[user]</b> starts scanning \the [M] with \the [src].", SPAN_NOTICE("You start scanning \the [M] with \the [src]."))
|
||||
if(do_after(user, 7 SECONDS, TRUE))
|
||||
print_scan(M, user)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/device/healthanalyzer/mech/proc/print_scan(var/mob/M, var/mob/living/user)
|
||||
var/obj/item/paper/medscan/R = new(user.loc)
|
||||
R.color = "#eeffe8"
|
||||
R.set_content_unsafe("Scan ([M.name])", internal_bodyscanner.format_occupant_data(get_medical_data(M)))
|
||||
|
||||
if(ishuman(user) && !(user.l_hand && user.r_hand))
|
||||
user.put_in_hands(R)
|
||||
user.visible_message(SPAN_NOTICE("\The [src] spits out a piece of paper."))
|
||||
|
||||
/obj/item/device/healthanalyzer/mech/proc/get_medical_data(var/mob/living/carbon/human/H)
|
||||
if (!ishuman(H))
|
||||
return
|
||||
|
||||
var/list/medical_data = list(
|
||||
"stationtime" = worldtime2text(),
|
||||
"brain_activity" = H.get_brain_status(),
|
||||
"blood_volume" = H.get_blood_volume(),
|
||||
"blood_oxygenation" = H.get_blood_oxygenation(),
|
||||
"blood_pressure" = H.get_blood_pressure(),
|
||||
|
||||
"bruteloss" = get_severity(H.getBruteLoss(), TRUE),
|
||||
"fireloss" = get_severity(H.getFireLoss(), TRUE),
|
||||
"oxyloss" = get_severity(H.getOxyLoss(), TRUE),
|
||||
"toxloss" = get_severity(H.getToxLoss(), TRUE),
|
||||
"cloneloss" = get_severity(H.getCloneLoss(), TRUE),
|
||||
|
||||
"rads" = H.total_radiation,
|
||||
"paralysis" = H.paralysis,
|
||||
"bodytemp" = H.bodytemperature,
|
||||
"borer_present" = H.has_brain_worms(),
|
||||
"inaprovaline_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/inaprovaline),
|
||||
"dexalin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/dexalin),
|
||||
"stoxin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/soporific),
|
||||
"bicaridine_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/bicaridine),
|
||||
"dermaline_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/dermaline),
|
||||
"thetamycin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/thetamycin),
|
||||
"blood_amount" = REAGENT_VOLUME(H.vessel, /decl/reagent/blood),
|
||||
"disabilities" = H.sdisabilities,
|
||||
"lung_ruptured" = H.is_lung_ruptured(),
|
||||
"lung_rescued" = H.is_lung_rescued(),
|
||||
"external_organs" = H.organs.Copy(),
|
||||
"internal_organs" = H.internal_organs.Copy(),
|
||||
"species_organs" = H.species.has_organ
|
||||
)
|
||||
return medical_data
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
/datum/design/item/mechfab/exosuit_equipment/ion
|
||||
name = "Mounted Ion Rifle"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 3000, MATERIAL_URANIUM = 3000, MATERIAL_PHORON = 3000)
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_equipment/mounted_system/combat/ion
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
/datum/design/item/mechfab/exosuit_equipment/rcd
|
||||
name = "Mounted RFD-C"
|
||||
time = 90
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 25000, DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GOLD = 15000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 8000, DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GOLD = 10000)
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
|
||||
build_path = /obj/item/mecha_equipment/mounted_system/rfd
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
name = "Mounted Flashbang Launcher"
|
||||
req_tech = list(TECH_COMBAT = 3)
|
||||
build_path = /obj/item/mecha_equipment/mounted_system/combat/grenadeflash
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 3000, MATERIAL_SILVER = 3000)
|
||||
|
||||
/datum/design/item/mechfab/exosuit_equipment/cleaner
|
||||
name = "Mounted Cleaner Grenade Launcher"
|
||||
@@ -88,7 +88,7 @@
|
||||
name = "Mounted Crisis Drone"
|
||||
build_path = /obj/item/mecha_equipment/crisis_drone
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_BIO = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 1000, MATERIAL_SILVER = 2000, MATERIAL_GLASS = 5000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 5000, MATERIAL_GOLD = 1000, MATERIAL_SILVER = 2000)
|
||||
|
||||
/datum/design/item/mechfab/exosuit_equipment/analyzer
|
||||
name = "Mounted Health Analyzer"
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
/datum/design/item/mechfab/exosuit/heavy_head
|
||||
name = "Heavy Exosuit Sensors"
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 12000, MATERIAL_PHORON = 12500, MATERIAL_SILVER = 10000, MATERIAL_GOLD = 10000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 12000, MATERIAL_URANIUM = 7000, MATERIAL_SILVER = 7000, MATERIAL_GOLD = 7000)
|
||||
build_path = /obj/item/mech_component/sensors/heavy
|
||||
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4)
|
||||
|
||||
@@ -159,14 +159,14 @@
|
||||
/datum/design/item/mechfab/exosuit/heavy_arms
|
||||
name = "Heavy Exosuit Manipulators"
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_PHORON = 12500, MATERIAL_SILVER = 10000, MATERIAL_GOLD = 10000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_URANIUM = 5000, MATERIAL_SILVER = 5000, MATERIAL_GOLD = 5000)
|
||||
build_path = /obj/item/mech_component/manipulators/heavy
|
||||
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4)
|
||||
|
||||
/datum/design/item/mechfab/exosuit/heavy_legs
|
||||
name = "Heavy Exosuit Motivators"
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_PHORON = 12500, MATERIAL_SILVER = 10000, MATERIAL_GOLD = 10000)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_URANIUM = 5000, MATERIAL_SILVER = 5000, MATERIAL_GOLD = 5000)
|
||||
build_path = /obj/item/mech_component/propulsion/heavy
|
||||
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4)
|
||||
|
||||
@@ -200,5 +200,4 @@
|
||||
name = "Armored Treads"
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
build_path = /obj/item/mech_component/propulsion/tracks
|
||||
req_tech = list(TECH_MATERIAL = 4)
|
||||
build_path = /obj/item/mech_component/propulsion/tracks
|
||||
@@ -0,0 +1,20 @@
|
||||
# Your name.
|
||||
author: Ben10083
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- balance: "Increased cost of exosuit Ion Rifle so it now requires rare material such as phoron instead of only requiring steel."
|
||||
- balance: "Made exosuit flashbang launcher easier to produce by changing material requirements."
|
||||
- balance: "Made exosuit RCD easier to produce by reducing phoron cost."
|
||||
- balance: "Reduced Exosuit Combat Circuit tech cost so it is available at round start."
|
||||
- balance: "Removed phoron requirement from heavy mech construction."
|
||||
- tweak: "Removed tech requirement from exosuit treads."
|
||||
- rscadd: "Exosuit health analyzer can now switch between basic and full body scans."
|
||||
- rscadd: "Exosuit crisis drone now nullifies some of the pain of the target."
|
||||
Reference in New Issue
Block a user