Skip to content

Commit

Permalink
[MIRROR] Adds some more engi borg modules and buffs the engi borg RPE…
Browse files Browse the repository at this point in the history
…D [MDB IGNORE] (#785)

* Adds some more engi borg modules and buffs the engi borg RPED (#79374)

---------

Co-authored-by: SkyratBot <[email protected]>
Co-authored-by: Autisem <[email protected]>
  • Loading branch information
3 people authored Nov 23, 2023
1 parent 3ccbce2 commit e62dcd7
Show file tree
Hide file tree
Showing 8 changed files with 60 additions and 8 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/nozzle_define.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/// 3 differnt modes for the firefighter extinquisher
#define EXTINGUISHER 0
#define RESIN_LAUNCHER 1
#define RESIN_FOAM 2
5 changes: 4 additions & 1 deletion code/game/machinery/rechargestation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
33 changes: 32 additions & 1 deletion code/game/objects/items/robot/robot_upgrades.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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!"))
Expand All @@ -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."
Expand Down
5 changes: 0 additions & 5 deletions code/game/objects/items/tanks/watertank.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
11 changes: 11 additions & 0 deletions code/modules/research/designs/mechfabricator_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
8 changes: 7 additions & 1 deletion code/modules/research/stock_parts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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!
Expand Down
1 change: 1 addition & 0 deletions code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1017,6 +1017,7 @@
"borg_upgrade_lavaproof",
"borg_upgrade_rped",
"borg_upgrade_hypermod",
"borg_upgrade_inducer",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)

Expand Down
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit e62dcd7

Please sign in to comment.