Skip to content

Commit

Permalink
Merge branch 'Bubberstation:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
MosleyTheMalO authored Jun 11, 2024
2 parents b0f8c63 + 3ca7054 commit 5079e15
Show file tree
Hide file tree
Showing 32 changed files with 454 additions and 23 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/exosuit_fab.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
#define BORG_MODEL_ENGINEERING (1<<4)
/// Module is compatible with Service Cyborg model
#define BORG_MODEL_SERVICE (1<<5)
//Bubber addition start
/// Module is compatible with Research Cyborg model
#define BORG_MODEL_RESEARCH (1<<6)
//Bubber addition end

/// Module is compatible with Ripley Exosuit models
#define EXOSUIT_MODULE_RIPLEY (1<<0)
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/~~bubber_defines/research_categories.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
//I'm tired. This is defines for mech fabs.
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH "/Research Cyborgs"
6 changes: 6 additions & 0 deletions code/__DEFINES/~~bubber_defines/traits.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
// This file contains all the bubber modular traits

#define TRAIT_HYDROPHILIC "hydrophilic"
#define TRAIT_CAN_BE_PICKED_UP "can_be_picked_up"

//Cyborg traits

#define TRAIT_RESEARCH_CYBORG "research_cyborg"
6 changes: 3 additions & 3 deletions code/game/objects/items/robot/robot_upgrades.dm
Original file line number Diff line number Diff line change
Expand Up @@ -517,14 +517,14 @@
defib_instance?.forceMove(borg.drop_location()) // [on_defib_instance_qdel_or_moved()] handles the rest.

/obj/item/borg/upgrade/processor
name = "medical cyborg surgical processor"
desc = "An upgrade to the Medical model, installing a processor \
name = "medical and research cyborg surgical processor" // BUBBER EDIT Research borgs
desc = "An upgrade to the Medical and Research model, installing a processor \
capable of scanning surgery disks and carrying \
out procedures"
icon_state = "cyborg_upgrade3"
require_model = TRUE
model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical)
model_flags = BORG_MODEL_MEDICAL
model_flags = list(BORG_MODEL_MEDICAL, BORG_MODEL_RESEARCH)

items_to_add = list(/obj/item/surgical_processor)

Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/silicon/robot/robot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@
"Miner" = /obj/item/robot_model/miner,
"Janitor" = /obj/item/robot_model/janitor,
"Service" = /obj/item/robot_model/service,
"Research" = /obj/item/robot_model/sci,//BUBBEREDIT - Addition of Research borgs
)
if(!CONFIG_GET(flag/disable_peaceborg))
GLOB.cyborg_model_list["Peacekeeper"] = /obj/item/robot_model/peacekeeper
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mod/modules/_module.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@

// SKYRAT EDIT START - No using modules when not all parts are deployed.
if(!(allow_flags & MODULE_ALLOW_INACTIVE))
for(var/obj/item/part as anything in mod.mod_parts)
for(var/obj/item/part as anything in mod.get_parts())
if(part.loc == mod)
balloon_alert(mod.wearer, "deploy all parts first!")
return FALSE
Expand Down
10 changes: 10 additions & 0 deletions html/changelogs/AutoChangeLog-pr-1407.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
author: "pixelkitty286"
delete-after: True
changes:
- rscadd: "Research cyborgs"
- rscadd: "ability to pry cyborg cells out"
- rscdel: "~~disabled malf cyborg factory~~"
- qol: "made an alt method removing cells"
- balance: "rebalanced cyborg making"
- image: "Sprites for research cyborgs"
- code_imp: "what ever needed to get the cyborgs working"
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-1586.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "BurgerBB"
delete-after: True
changes:
- balance: "Increases the chances of the Wizard Die of Fate event running."
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-1620.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "theselfish"
delete-after: True
changes:
- bugfix: "Drill Hats ACTUALLY work."
Binary file modified modular_skyrat/master_files/icons/mob/robots.dmi
Binary file not shown.
9 changes: 8 additions & 1 deletion modular_skyrat/modules/borgs/code/robot_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,10 @@
"Peacekeeper" = image(icon = 'icons/mob/silicon/robots.dmi', icon_state = "peace"),
"Clown" = image(icon = 'icons/mob/silicon/robots.dmi', icon_state = "clown"),
"Syndicate" = image(icon = 'icons/mob/silicon/robots.dmi', icon_state = "synd_sec"),
"Spider Clan" = image(icon = CYBORG_ICON_NINJA, icon_state = "ninja_engi")
"Spider Clan" = image(icon = CYBORG_ICON_NINJA, icon_state = "ninja_engi"),
//Bubber addition start
"Research" = image(icon = 'modular_zubbers/modules/borgs/sprites/robot_sci.dmi', icon_state = "research"),
//Bubber addition end
))
var/model_selection = show_radial_menu(user, user, model_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 42, require_near = TRUE)
if(!model_selection)
Expand Down Expand Up @@ -640,6 +643,10 @@
model = new /obj/item/robot_model/syndicatejack
if("Spider Clan")
model = new /obj/item/robot_model/ninja
//Bubber addition start
if("Research")
model = new /obj/item/robot_model/sci
//Bubber addition end
else
return FALSE
if (!set_disguise_vars(model, user))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@
chance *= 5.5
delay_mult *= 0.85
knows_wires = TRUE
if (HAS_TRAIT(user, TRAIT_DIAGNOSTIC_HUD))
if (HAS_TRAIT(user, TRAIT_DIAGNOSTIC_HUD) || HAS_TRAIT(user, TRAIT_RESEARCH_CYBORG)) // BUBBER EDIT - Research cyborgs
if (knows_wires)
chance *= 1.25 // ((10 * 8) * 1.25) = 100%
else
Expand Down
80 changes: 80 additions & 0 deletions modular_zubbers/code/game/objects/items/robot/items/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,82 @@
icon_state = "borg_stack_apparatus"
storable = list(/obj/item/paper)

//Research cyborg apparatus
/obj/item/borg/apparatus/research
name = "Research manipulation gripper"
desc = "A simple grasping tool suited to assist in a wide array of research applications."
icon = 'modular_zubbers/modules/borgs/sprites/robot_items.dmi'
icon_state = "gripper_sci"
storable = list(
/obj/item/slime_extract,
/obj/item/slimepotion,
/obj/item/disk,
/obj/item/stock_parts,
/obj/item/reagent_containers/cup/beaker,
/obj/item/assembly/prox_sensor,
/obj/item/healthanalyzer, //To build medibots
/obj/item/borg_restart_board, //To allow repairs
/obj/item/borg/upgrade/rename, //Basics not an upgrade
/obj/item/relic,
/obj/item/mod,
/obj/item/reagent_containers/syringe,
/obj/item/reagent_containers/dropper,
)

/obj/item/borg/apparatus/research/examine()
. = ..()
if(stored)
. += "The gripper currently has [stored] secured."
. += span_notice(" <i>Alt-click</i> will drop the currently held item. ")

/obj/item/borg/apparatus/circuit_sci
name = "Research circuit assembly gripper"
desc = "A complex grasping tool used for working with circuitry."
icon = 'modular_zubbers/modules/borgs/sprites/robot_items.dmi'
icon_state = "gripper_circ"
storable = list(
/obj/item/circuitboard,
/obj/item/compact_remote,
/obj/item/controller,
/obj/item/multitool/circuit,
/obj/item/integrated_circuit,
/obj/item/circuit_component,
/obj/item/usb_cable,
)

/obj/item/borg/apparatus/circuit_sci/examine()
. = ..()
if(stored)
. += "The gripper currently has [stored] secured."
. += span_notice(" <i>Alt-click</i> will drop the currently held item. ")

/obj/item/borg/apparatus/circuit_sci/pre_attack(atom/atom, mob/living/user, params) // copy and paste
if(istype(atom, /obj/item/ai_module) && !stored) //If an admin wants a borg to upload laws, who am I to stop them? Otherwise, we can hint that it fails
to_chat(user, span_warning("This circuit board doesn't seem to have standard robot apparatus pin holes. You're unable to pick it up."))
return ..()

//Illegal gripper to allow research cyborgs when hacked to do further robotics work
/obj/item/borg/apparatus/illegal
name = "Sketchy looking gripper"
desc = "A tool used to expanded robotics work"
icon_state = "connector"
storable = list(
/obj/item/mmi,
/obj/item/assembly/flash, //to build borgs,
/obj/item/bodypart/arm/left/robot,
/obj/item/bodypart/arm/right/robot,
/obj/item/bodypart/leg/left/robot,
/obj/item/bodypart/leg/right/robot,
/obj/item/bodypart/chest/robot,
/obj/item/bodypart/head/robot,
/obj/item/borg/upgrade/ai, //Shell makeing
)
/obj/item/borg/apparatus/illegal/examine()
. = ..()
if(stored)
. += "The apparatus currently has [stored] secured."
. += span_notice(" <i>Alt-click</i> will drop the currently held item. ")

/obj/item/borg/apparatus/tank_manipulator
name = "tank manipulation apparatus"
desc = "An apparatus for carrying and manipulating handheld tanks."
Expand All @@ -25,3 +101,7 @@
/obj/item/robot_model/saboteur/New(...)
. = ..()
basic_modules += /obj/item/borg/apparatus/tank_manipulator

/obj/item/borg/apparatus/sheet_manipulator/Initialize()
. = ..()
storable += /obj/item/stack/rods
8 changes: 4 additions & 4 deletions modular_zubbers/code/modules/clothing/head/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@
name = "blueshield's campaign hat"
desc = "A variant of the warden's campaign hat recolored to match the Blueshield. Made with durathread to protect their squishy braincase. It's padded with nano-kevlar, making it more protective than standard berets."
icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi'
icon_state = "bluedrill"
armor_type = /datum/armor/suit_armor/blueshield //same as the Blueshield's default beret.

/obj/item/clothing/head/hats/warden/drill/captain
name = "captain's campaign hat"
desc = "A variant of the warden's campaign hat for your more militaristic captains."
icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi'
icon_state = "capdrill"
armor_type = /datum/armor/hats_caphat

/obj/item/clothing/head/hats/warden/drill/hos
name = "head of security's campaign hat"
desc = "A variant of the warden's campaign hat for the Head of Security. End the blood-feud and team up."
icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi'
icon_state = "hosdrill"
armor_type = /datum/armor/hats_hos

/obj/item/clothing/head/hats/warden/drill/nanotrasen
name = "representative's campaign hat"
desc = "A variant of the warden's campaign hat for your more militaristic representatives."
icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi'
worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi'
icon_state = "repdrill"
armor_type = /datum/armor/head_nanotrasen_consultant

Expand Down
54 changes: 54 additions & 0 deletions modular_zubbers/code/modules/research/designs/mechfab_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,57 @@
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)

//research cyborg upgrades
/datum/design/borg_upgrade_advancedhealth
name = "Research Advanced Health Analyzer"
id = "borg_upgrade_advancedanalyzer"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/healthanalyzer
materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/glass = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/silver =SHEET_MATERIAL_AMOUNT, /datum/material/gold =HALF_SHEET_MATERIAL_AMOUNT * 1.5)
construction_time = 4 SECONDS
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH,
)

//Blue space Rped upgrade
/datum/design/borg_upgrade_brped
name = "Bluespace Rapid Part Exchange Device"
id = "borg_upgrade_brped"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/brped
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT*5,
/datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5,
)
construction_time = 12 SECONDS
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH
)

/datum/design/borg_upgrade_inducer_sci
name = "Research Cyborg inducer"
id = "borg_upgrade_inducer_sci"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/inducer_sci
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 = 12 SECONDS
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH
)

//so we have our own category
/datum/design/borg_upgrade_surgical_processor_sci
name = "Research Surgical Processor"
id = "borg_upgrade_surgicalprocessor_sci"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/processor
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5,
/datum/material/glass =SHEET_MATERIAL_AMOUNT*2,
/datum/material/silver =SHEET_MATERIAL_AMOUNT*2,
)
construction_time = 4 SECONDS
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESEARCH
)
10 changes: 10 additions & 0 deletions modular_zubbers/code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
. = ..()
design_ids += list(
"crewmonitor",
"borg_upgrade_advancedanalyzer",
)
/datum/techweb_node/xenoorgan_biotech/New()
. = ..()
Expand All @@ -39,7 +40,16 @@
. = ..()
design_ids += list(
"borg_upgrade_advcutter",
"borg_upgrade_inducer_sci",
"borg_upgrade_brped"
)

/datum/techweb_node/cyborg_upg_med/New()
design_ids += list(
"borg_upgrade_surgicalprocessor_sci",
)
return ..()

// Computer Tech
/datum/techweb_node/computer_board_gaming/New()
. = ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,12 @@

min_players = 30
max_occurrences = 1
weight = 1
weight = 3
earliest_start = 60 MINUTES

track = EVENT_TRACK_MODERATE
tags = list(TAG_COMMUNAL,TAG_COMBAT)

/datum/round_event/wizard_dice
announce_when = 5

Expand Down
Binary file modified modular_zubbers/icons/mob/clothing/head/hats.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
modsuit.theme.name = lowertext(modsuit_skin_prefix)

// ensure we're applying our config theme changes, just in case
for(var/obj/item/part as anything in modsuit.mod_parts)
for(var/obj/item/part as anything in modsuit.get_parts())
part.name = "[modsuit.theme.name] [initial(part.name)]"
part.desc = "[initial(part.desc)] [modsuit.theme.desc]"

Expand Down
18 changes: 18 additions & 0 deletions modular_zubbers/modules/borgs/code/robot_defense.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//Alt method of removing the cell
/mob/living/silicon/robot/screwdriver_act_secondary(mob/living/user, obj/item/tool)
if(!opened)
return ..()
if(!wiresexposed)
if(!cell)
balloon_alert(user, "no cell!")
return TRUE
balloon_alert(user, "removing cell...")
tool.play_tool_sound(src, 100)
if(!tool.use_tool(src, user, 3 SECONDS) || !opened)
balloon_alert(user, "interrupted!")
return TRUE
tool.play_tool_sound(src, 100)
balloon_alert(user, "cell removed")
cell.forceMove(drop_location())
diag_hud_set_borgcell()
return TRUE
11 changes: 9 additions & 2 deletions modular_zubbers/modules/borgs/code/robot_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@

#define CYBORG_ICON_TYPE_RAPTOR "raptor"

//Small raptors I moved it into here to be found easier
#define CYBORG_ICON_SCI_WIDE 'modular_zubbers/modules/borgs/sprites/widerobot_sci.dmi'
#define CYBORG_ICON_SCI_TALL 'modular_zubbers/modules/borgs/sprites/tallrobot_sci.dmi'
#define CYBORG_ICON_SCI_LARGE_BUBBER 'modular_zubbers/modules/borgs/sprites/largerobot_sci.dmi'
#define CYBORG_ICON_SCI 'modular_zubbers/modules/borgs/sprites/robot_sci.dmi'

#define CYBORG_ICON_TYPE_SMOLRAPTOR "smolraptor"

#define CYBORG_ICON_GEN_SMOLRAPTOR 'modular_zubbers/modules/borgs/sprites/smallraptors/smolraptor_gen.dmi'
Expand Down Expand Up @@ -67,7 +71,6 @@
#define CYBORG_ICON_TYPE_SYNDI_CATBORG "FELI-Combat"
#define CYBORG_ICON_TYPE_NINJA_CATBORG "FELI-Ninja"


/mob/living/silicon/robot/model/centcom
icon = CYBORG_ICON_CENTCOM_WIDE_BUBBER
icon_state = "valecc"
Expand All @@ -92,3 +95,7 @@

/mob/living/silicon/robot/model/centcom/ResetModel()
return

//Research cyborgs
/mob/living/silicon/robot/model/sci
icon_state = "research"
Loading

0 comments on commit 5079e15

Please sign in to comment.