mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 01:34:01 +00:00
[MIRROR] Adds some more engi borg modules and buffs the engi borg RPED [MDB IGNORE] (#25199)
* Adds some more engi borg modules and buffs the engi borg RPED (#79374) - add Internal inducer: An inducer for engi borgs, it uses power from there own cell to charge other devices - Buff the RPED module to be onpar with BSRPED in storage(same otherwise) - Borg chargers now also draw from powernet like cells do The RPED buff is more because the standard capacity for parts is really low, this lets borgs use RPED more hassle free. They still need to physicaly be next to the machine so its not an insane buff otherwise * Adds some more engi borg modules and buffs the engi borg RPED --------- Co-authored-by: Autisem <36102060+Autisem@users.noreply.github.com>
This commit is contained in:
4
code/__DEFINES/nozzle_define.dm
Normal file
4
code/__DEFINES/nozzle_define.dm
Normal file
@@ -0,0 +1,4 @@
|
||||
/// 3 differnt modes for the firefighter extinquisher
|
||||
#define EXTINGUISHER 0
|
||||
#define RESIN_LAUNCHER 1
|
||||
#define RESIN_FOAM 2
|
||||
@@ -156,4 +156,7 @@
|
||||
/obj/machinery/recharge_station/proc/process_occupant(seconds_per_tick)
|
||||
if(!occupant)
|
||||
return
|
||||
SEND_SIGNAL(occupant, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, recharge_speed * seconds_per_tick / 2, repairs, sendmats)
|
||||
var/main_draw = use_power_from_net(recharge_speed * seconds_per_tick, take_any = TRUE) //Pulls directly from the Powernet to dump into the cell
|
||||
if(!main_draw)
|
||||
return
|
||||
SEND_SIGNAL(occupant, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, main_draw, repairs, sendmats)
|
||||
|
||||
@@ -598,7 +598,6 @@
|
||||
/obj/item/borg/upgrade/rped/action(mob/living/silicon/robot/R, user = usr)
|
||||
. = ..()
|
||||
if(.)
|
||||
|
||||
var/obj/item/storage/part_replacer/cyborg/RPED = locate() in R
|
||||
if(RPED)
|
||||
to_chat(user, span_warning("This unit is already equipped with a RPED module!"))
|
||||
@@ -615,6 +614,38 @@
|
||||
if (RPED)
|
||||
R.model.remove_module(RPED, TRUE)
|
||||
|
||||
/obj/item/borg/upgrade/inducer
|
||||
name = "engineering integrated power inducer"
|
||||
desc = "An integrated inducer that can charge a device's internal cell from power provided by the cyborg."
|
||||
require_model = TRUE
|
||||
model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur)
|
||||
model_flags = BORG_MODEL_ENGINEERING
|
||||
|
||||
/obj/item/borg/upgrade/inducer/action(mob/living/silicon/robot/R, user = usr)
|
||||
. = ..()
|
||||
if(.)
|
||||
var/obj/item/inducer/cyborg/inter_inducer = locate() in R
|
||||
if(inter_inducer)
|
||||
return FALSE
|
||||
inter_inducer = new(R.model)
|
||||
R.model.basic_modules += inter_inducer
|
||||
R.model.add_module(inter_inducer, FALSE, TRUE)
|
||||
inter_inducer.cell = R.cell
|
||||
|
||||
/obj/item/borg/upgrade/inducer/deactivate(mob/living/silicon/robot/R, user = usr)
|
||||
. = ..()
|
||||
if (.)
|
||||
var/obj/item/inducer/cyborg/inter_inducer = locate() in R.model
|
||||
if (inter_inducer)
|
||||
R.model.remove_module(inter_inducer, TRUE)
|
||||
inter_inducer.cell = null
|
||||
|
||||
/obj/item/inducer/cyborg
|
||||
name = "Internal inducer"
|
||||
powertransfer = 1500
|
||||
icon = 'icons/obj/tools.dmi'
|
||||
icon_state = "inducer-engi"
|
||||
|
||||
/obj/item/borg/upgrade/pinpointer
|
||||
name = "medical cyborg crew pinpointer"
|
||||
desc = "A crew pinpointer module for the medical cyborg. Permits remote access to the crew monitor."
|
||||
|
||||
@@ -205,11 +205,6 @@
|
||||
to_chat(user, span_notice("You [amount_per_transfer_from_this == 10 ? "remove" : "affix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray."))
|
||||
|
||||
//ATMOS FIRE FIGHTING BACKPACK
|
||||
|
||||
#define EXTINGUISHER 0
|
||||
#define RESIN_LAUNCHER 1
|
||||
#define RESIN_FOAM 2
|
||||
|
||||
/obj/item/watertank/atmos
|
||||
name = "backpack firefighter tank"
|
||||
desc = "A refrigerated and pressurized backpack tank with extinguisher nozzle, intended to fight fires. Swaps between extinguisher, resin launcher and a smaller scale resin foamer."
|
||||
|
||||
@@ -1581,6 +1581,17 @@
|
||||
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ENGINEERING
|
||||
)
|
||||
|
||||
/datum/design/borg_upgrade_inducer
|
||||
name = "Cyborg inducer"
|
||||
id = "borg_upgrade_inducer"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/borg/upgrade/inducer
|
||||
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/silver = SHEET_MATERIAL_AMOUNT * 2)
|
||||
construction_time = 120
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ENGINEERING
|
||||
)
|
||||
|
||||
/datum/design/borg_upgrade_circuit_app
|
||||
name = "Circuit Manipulator"
|
||||
id = "borg_upgrade_circuitapp"
|
||||
|
||||
@@ -197,12 +197,18 @@ If you create T5+ please take a pass at mech_fabricator.dm. The parts being good
|
||||
|
||||
/obj/item/storage/part_replacer/cyborg //SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
|
||||
name = "rapid part exchange device"
|
||||
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
|
||||
desc = "Special mechanical module made to store, sort, and apply standard machine parts. This one has an extra large compartment for more parts."
|
||||
icon_state = "borgrped"
|
||||
inhand_icon_state = "RPED"
|
||||
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
|
||||
|
||||
/obj/item/storage/part_replacer/cyborg/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 400
|
||||
atom_storage.max_total_storage = 800
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_GIGANTIC
|
||||
|
||||
/obj/item/storage/part_replacer/proc/get_sorted_parts(ignore_stacks = FALSE)
|
||||
var/list/part_list = list()
|
||||
//Assemble a list of current parts, then sort them by their rating!
|
||||
|
||||
@@ -1017,6 +1017,7 @@
|
||||
"borg_upgrade_lavaproof",
|
||||
"borg_upgrade_rped",
|
||||
"borg_upgrade_hypermod",
|
||||
"borg_upgrade_inducer",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@
|
||||
#include "code\__DEFINES\movespeed_modification.dm"
|
||||
#include "code\__DEFINES\multiz.dm"
|
||||
#include "code\__DEFINES\nitrile.dm"
|
||||
#include "code\__DEFINES\nozzle_define.dm"
|
||||
#include "code\__DEFINES\nuclear_bomb.dm"
|
||||
#include "code\__DEFINES\obj_flags.dm"
|
||||
#include "code\__DEFINES\observers.dm"
|
||||
|
||||
Reference in New Issue
Block a user