mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-15 09:03:53 +01:00
moves robot scanner upgrade to science (#19114)
* moves robot scanner upgrade to science * . * . * . * . * . * . * lol * . --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
@@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(ear_styles_list) // Stores /datum/sprite_accessory/ears indexe
|
||||
GLOBAL_LIST_EMPTY(tail_styles_list) // Stores /datum/sprite_accessory/tail indexed by type
|
||||
GLOBAL_LIST_EMPTY(wing_styles_list) // Stores /datum/sprite_accessory/wing indexed by type
|
||||
|
||||
GLOBAL_LIST_INIT(custom_species_bases, new) // Species that can be used for a Custom Species icon base
|
||||
GLOBAL_LIST_EMPTY(custom_species_bases) // Species that can be used for a Custom Species icon base
|
||||
|
||||
//Customizables
|
||||
GLOBAL_LIST_INIT(headsetlist, list("Standard","Bowman","Earbud"))
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
/obj/item/borg/upgrade/proc/generic_error(var/mob/living/silicon/robot/R, var/obj/item/borg/type)
|
||||
type = lowertext(initial(type.name))
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint for \the \"[type]\" detected!")
|
||||
to_chat(usr, "There's no mounting point for \the \"[type]\" module!")
|
||||
to_chat(R, span_warning("Upgrade mounting error! No suitable hardpoint for \the \"[type]\" detected!"))
|
||||
to_chat(usr, span_warning("There's no mounting point for \the \"[type]\" module!"))
|
||||
|
||||
/obj/item/borg/upgrade/proc/software_error(var/mob/living/silicon/robot/R, var/obj/item/borg/type)
|
||||
type = lowertext(initial(type.name))
|
||||
to_chat(R, "Upgrade installation error! Incompatibility with \the \"[type]\" detected!")
|
||||
to_chat(usr, "\The \"[type]\" upgrade is not compatibile!")
|
||||
to_chat(R, span_warning("Upgrade installation error! Incompatibility with \the \"[type]\" detected!"))
|
||||
to_chat(usr, span_warning("\The \"[type]\" upgrade is not compatibile!"))
|
||||
|
||||
/* ######################################################################################################
|
||||
# Utility section. All reusable upgrades without lasting effects, like renaming, reset, etc. go here.#
|
||||
@@ -85,7 +85,7 @@
|
||||
return 0
|
||||
|
||||
if(R.health < 0)
|
||||
to_chat(usr, "You have to repair the robot before using this module!")
|
||||
to_chat(usr, span_warning("You have to repair the robot before using this module!"))
|
||||
return 0
|
||||
|
||||
if(!R.key)
|
||||
@@ -118,13 +118,14 @@
|
||||
if(..()) return 0
|
||||
|
||||
if(R.has_basic_upgrade(type))
|
||||
to_chat(R, "Actuator already running on overdrive mode!")
|
||||
to_chat(usr, "It'd be unwise to plug another vtec module in!")
|
||||
to_chat(R,span_warning("Actuator already running on overdrive mode!"))
|
||||
to_chat(usr, span_warning("It'd be unwise to plug another vtec module in!"))
|
||||
return 0
|
||||
|
||||
add_verb(R, /mob/living/silicon/robot/proc/toggle_vtec)
|
||||
R.vtec_active = TRUE
|
||||
R.hud_used.toggle_vtec_control()
|
||||
to_chat(R, span_notice("Actuator overdrive enabled!"))
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/basic/sizeshift
|
||||
@@ -138,11 +139,12 @@
|
||||
if(..()) return 0
|
||||
|
||||
if(R.has_basic_upgrade(type))
|
||||
to_chat(R, "Size alteration module already applied!")
|
||||
to_chat(usr, "There's no space for another size alteration module!")
|
||||
to_chat(R, span_warning("Size alteration module already applied!"))
|
||||
to_chat(usr, span_warning("There's no space for another size alteration module!"))
|
||||
return 0
|
||||
|
||||
add_verb(R, /mob/living/proc/set_size)
|
||||
to_chat(R, span_notice("Size adjustments active!"))
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/basic/syndicate
|
||||
@@ -156,8 +158,8 @@
|
||||
if(..()) return 0
|
||||
|
||||
if(R.has_basic_upgrade(type))
|
||||
to_chat(R, "Secret modules already unlocked!")
|
||||
to_chat(usr, "Plugging another scambled module would be useless!")
|
||||
to_chat(R, span_warning("Secret modules already unlocked!"))
|
||||
to_chat(usr, span_warning("Plugging another scambled module would be useless!"))
|
||||
return 0
|
||||
|
||||
R.emag_items = 1
|
||||
@@ -174,8 +176,8 @@
|
||||
if(..()) return 0
|
||||
|
||||
if(R.has_basic_upgrade(type))
|
||||
to_chat(R, "All possible languages already uploaded!")
|
||||
to_chat(usr, "The language database is up to date!")
|
||||
to_chat(R, span_warning("All possible languages already uploaded!"))
|
||||
to_chat(usr, span_warning("The language database is up to date!"))
|
||||
return 0
|
||||
|
||||
R.add_language(LANGUAGE_SOL_COMMON, 1)
|
||||
@@ -219,6 +221,7 @@
|
||||
R.add_language(LANGUAGE_SHADEKIN, 1)
|
||||
*/
|
||||
|
||||
to_chat(R, span_notice("Language database updated!"))
|
||||
return 1
|
||||
|
||||
/* ###########################################################################
|
||||
@@ -244,15 +247,15 @@
|
||||
return 0
|
||||
|
||||
if(R.has_advanced_upgrade(type))
|
||||
to_chat(R, "Maximum capacity achieved for this hardpoint!")
|
||||
to_chat(usr, "There's no room for another capacity upgrade!")
|
||||
to_chat(R, span_warning("Maximum capacity achieved for this hardpoint!"))
|
||||
to_chat(usr, span_warning("There's no room for another capacity upgrade!"))
|
||||
return 0
|
||||
|
||||
var/obj/item/dogborg/sleeper/B = T
|
||||
var/X = B.max_item_count*2
|
||||
B.max_item_count = X //I couldn't do T = maxitem*2 for some reason.
|
||||
to_chat(R, "Internal capacity doubled.")
|
||||
to_chat(usr, "Internal capacity doubled.")
|
||||
to_chat(R, span_notice("Internal capacity doubled."))
|
||||
to_chat(usr, span_notice("Internal capacity doubled."))
|
||||
B.upgraded_capacity = TRUE
|
||||
return 1
|
||||
|
||||
@@ -290,6 +293,7 @@
|
||||
return 0
|
||||
|
||||
R.module.modules += new/obj/item/healthanalyzer/advanced(R.module)
|
||||
to_chat(R, span_notice("Advanced health analyzer initialized!"))
|
||||
return 1
|
||||
|
||||
//Robot size gun
|
||||
@@ -336,15 +340,15 @@
|
||||
return 0
|
||||
|
||||
if(R.has_restricted_upgrade(type))
|
||||
to_chat(R, "Maximum capability achieved for this hardpoint!")
|
||||
to_chat(usr, "There's no room for another capability upgrade!")
|
||||
to_chat(R, span_warning("Maximum capability achieved for this hardpoint!"))
|
||||
to_chat(usr, span_warning("There's no room for another capability upgrade!"))
|
||||
return 0
|
||||
|
||||
var/obj/item/dogborg/sleeper/B = T
|
||||
var/X = B.max_item_count*2 //double the capacity from 1 to 2 to allow sleepers to store some items, at most 4 with both upgrades
|
||||
B.max_item_count = X //I couldn't do T = maxitem*2 for some reason.
|
||||
to_chat(R, "Internal capability upgraded.")
|
||||
to_chat(usr, "Internal capability upgraded.")
|
||||
to_chat(R, span_notice("Internal capability upgraded."))
|
||||
to_chat(usr, span_notice("Internal capability upgraded."))
|
||||
B.compactor = TRUE
|
||||
return 1
|
||||
|
||||
@@ -370,12 +374,13 @@
|
||||
return 0
|
||||
|
||||
if(R.has_restricted_upgrade(type))
|
||||
to_chat(R, "Maximum cooling achieved for this hardpoint!")
|
||||
to_chat(usr, "There's no room for another cooling unit!")
|
||||
to_chat(R, span_warning("Maximum cooling achieved for this hardpoint!"))
|
||||
to_chat(usr, span_warning("There's no room for another cooling unit!"))
|
||||
return 0
|
||||
|
||||
var/obj/item/gun/energy/robotic/taser/B = T
|
||||
B.recharge_time = max(2 , B.recharge_time - 4)
|
||||
to_chat(R, span_notice("Taser cooling upgraded!"))
|
||||
return 1
|
||||
|
||||
//Advanced RPED
|
||||
@@ -447,6 +452,36 @@
|
||||
R.module.modules += new/obj/item/gun/energy/kinetic_accelerator/cyborg(R.module)
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/restricted/adv_scanner
|
||||
name = "robotic Ore Scanning Upgrade Module"
|
||||
desc = "Used to improve the integrated robot scanning module, allowing for larger more fine-tuned scan ranges."
|
||||
icon_state = "cyborg_upgrade3"
|
||||
item_state = "cyborg_upgrade"
|
||||
module_flags = BORG_MODULE_MINER
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/restricted/adv_scanner/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
if(!R.supports_upgrade(type))
|
||||
generic_error(R, type)
|
||||
return 0
|
||||
|
||||
var/obj/target_module = R.has_upgrade_module(/obj/item/mining_scanner/robot)
|
||||
if(!target_module)
|
||||
to_chat(usr, span_warning("This robot has had its scanner removed!"))
|
||||
return 0
|
||||
|
||||
if(R.has_restricted_upgrade(type))
|
||||
to_chat(R, span_warning("Scanner was already upgraded!"))
|
||||
to_chat(usr, span_warning("There's no room for another scanning upgrade!"))
|
||||
return 0
|
||||
|
||||
var/obj/item/mining_scanner/robot/robot_scanner = target_module
|
||||
robot_scanner.upgrade()
|
||||
to_chat(R, span_notice("Mining scanner upgraded!"))
|
||||
return 1
|
||||
|
||||
/* ###############################################
|
||||
# Unsorted section. All cargo modules go here.#
|
||||
###############################################*/
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
..()
|
||||
|
||||
/datum/gear_tweak/color/get_contents(var/metadata)
|
||||
return "Color: <font color='[metadata]'>⚫</font>"
|
||||
return "Color: <font color='[metadata]'>⬤</font>"
|
||||
|
||||
/datum/gear_tweak/color/get_default()
|
||||
return valid_colors ? valid_colors[1] : COLOR_GRAY
|
||||
|
||||
@@ -440,27 +440,13 @@
|
||||
|
||||
/obj/item/mining_scanner/robot
|
||||
name = "integrated deep scan device"
|
||||
description_info = "This scanner can be upgraded for mining points."
|
||||
var/upgrade_cost = 2500
|
||||
|
||||
/obj/item/mining_scanner/robot/attackby(obj/item/O, mob/user)
|
||||
if(exact)
|
||||
return
|
||||
if(!istype(O, /obj/item/card/id/cargo/miner/borg))
|
||||
return
|
||||
if(!(user == loc || user == loc.loc))
|
||||
return
|
||||
var/obj/item/card/id/cargo/miner/borg/id = O
|
||||
if(!id.adjust_mining_points(-upgrade_cost))
|
||||
return
|
||||
upgrade(user)
|
||||
description_info = "A basic, integrated ore scanning device which can be upgraded."
|
||||
|
||||
/obj/item/mining_scanner/robot/proc/upgrade(mob/user)
|
||||
desc = "An advanced device used to locate ore deep underground."
|
||||
description_info = "This scanner has variable range, you can use the Set Scanner Range verb, or alt+click the device. Drills dig in 5x5."
|
||||
scan_time = 0.5 SECONDS
|
||||
exact = TRUE
|
||||
to_chat(user, span_notice("You've upgraded the mining scanner for [upgrade_cost] points."))
|
||||
|
||||
/obj/item/mining_scanner/robot/click_alt(mob/user)
|
||||
change_size(user)
|
||||
|
||||
@@ -1570,6 +1570,14 @@
|
||||
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
|
||||
else
|
||||
return FALSE
|
||||
if(given_type == /obj/item/borg/upgrade/restricted/adv_scanner)
|
||||
var/obj/item/mining_scanner/robot/robot_scanner = has_upgrade_module(/obj/item/mining_scanner/robot)
|
||||
if(robot_scanner && robot_scanner.exact)
|
||||
return robot_scanner
|
||||
else if(!robot_scanner)
|
||||
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
|
||||
else
|
||||
return FALSE
|
||||
if(given_type == /obj/item/borg/upgrade/restricted/advrped)
|
||||
return has_upgrade_module(/obj/item/storage/part_replacer/adv)
|
||||
if(given_type == /obj/item/borg/upgrade/restricted/diamonddrill)
|
||||
|
||||
@@ -622,7 +622,7 @@
|
||||
name = "miner robot module"
|
||||
channels = list(CHANNEL_SUPPLY = 1)
|
||||
networks = list(NETWORK_MINE)
|
||||
supported_upgrades = list(/obj/item/borg/upgrade/restricted/pka, /obj/item/borg/upgrade/restricted/diamonddrill)
|
||||
supported_upgrades = list(/obj/item/borg/upgrade/restricted/pka, /obj/item/borg/upgrade/restricted/diamonddrill, /obj/item/borg/upgrade/restricted/adv_scanner)
|
||||
pto_type = PTO_CARGO
|
||||
|
||||
/obj/item/robot_module/robot/miner/create_equipment(var/mob/living/silicon/robot/robot)
|
||||
|
||||
@@ -477,6 +477,17 @@
|
||||
materials = list(MAT_PLASTEEL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 500, MAT_PLATINUM = 350)
|
||||
build_path = /obj/item/borg/upgrade/restricted/pka
|
||||
|
||||
/datum/design_techweb/prosfab/robot_upgrade/restricted/adv_scanner
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
|
||||
)
|
||||
name = "Ore Scanning Upgrade"
|
||||
desc = "An upgrade module to improve the potency of the integrated ore scanner."
|
||||
id = "borg_adv_scanner_module"
|
||||
// req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_POWER = 4)
|
||||
materials = list(MAT_STEEL = 6000, MAT_GLASS = 4000, MAT_GOLD = 2000, MAT_VERDANTIUM = 1500, MAT_DIAMOND = 350)
|
||||
build_path = /obj/item/borg/upgrade/restricted/adv_scanner
|
||||
|
||||
/datum/design_techweb/prosfab/robot_upgrade/restricted/tasercooler
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SECURITY
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
design_ids = list(
|
||||
"borg_pka_module",
|
||||
"pka_mineaoe",
|
||||
"borg_adv_scanner_module",
|
||||
// "damagemod",
|
||||
// "cooldownmod",
|
||||
// "triggermod",
|
||||
|
||||
@@ -5,6 +5,7 @@ import { resolveAsset } from 'tgui/assets';
|
||||
import { useBackend } from 'tgui/backend';
|
||||
import { Window } from 'tgui/layouts';
|
||||
import { Stack } from 'tgui-core/components';
|
||||
import { fetchRetry } from 'tgui-core/http';
|
||||
import { Changes } from './Changes';
|
||||
import { DateDropdown } from './DateDropdown';
|
||||
import { Footer } from './Resources/Footer';
|
||||
@@ -38,7 +39,7 @@ export const Changelog = (props) => {
|
||||
|
||||
act('get_month', { date });
|
||||
|
||||
fetch(resolveAsset(`${date}.yml`)).then(async (changelogData) => {
|
||||
fetchRetry(resolveAsset(`${date}.yml`)).then(async (changelogData) => {
|
||||
const result = await changelogData.text();
|
||||
const errorRegex = /^Cannot find/;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user