This commit is contained in:
silicons
2021-05-28 05:41:57 -07:00
parent 32410a7ea8
commit 8247f32d1c
31 changed files with 128 additions and 64 deletions
+2 -2
View File
@@ -1507,13 +1507,13 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
. += new /obj/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
. += new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
. += new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
// . += new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
// Real tangible stuff planes
. += new /obj/screen/plane_master/main{plane = TURF_PLANE}
. += new /obj/screen/plane_master/main{plane = OBJ_PLANE}
. += new /obj/screen/plane_master/main{plane = MOB_PLANE}
. += new /obj/screen/plane_master/cloaked //Cloaked atoms!
// . += new /obj/screen/plane_master/cloaked //Cloaked atoms!
//VOREStation Add - Random other plane masters
. += new /obj/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
@@ -8,3 +8,12 @@
name = T_BOARD("AI core")
origin_tech = list(TECH_DATA = 4, TECH_BIO = 2)
board_type = "other"
/obj/item/circuitboard/chem_master
name = T_BOARD("ChemMaster 3000")
build_path = /obj/machinery/chem_master
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2)
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
/obj/item/weapon/stock_parts/manipulator = 2)
@@ -535,3 +535,43 @@
..()
*/
//Pill sprites for UIs
/datum/asset/simple/namespaced/chem_master
keep_local_name = TRUE
/datum/asset/simple/namespaced/chem_master/register()
for(var/i = 1 to 24)
assets["pill[i].png"] = icon('icons/obj/chemical.dmi', "pill[i]")
for(var/i = 1 to 4)
assets["bottle-[i].png"] = icon('icons/obj/chemical.dmi', "bottle-[i]")
return ..()
// Nanomaps
/datum/asset/simple/nanomaps
// It REALLY doesnt matter too much if these arent up to date
// They are relatively big
assets = list(
// VOREStation Edit: We don't need Southern Cross
// "southern_cross_nanomap_z1.png" = 'icons/_nanomaps/southern_cross_nanomap_z1.png',
// "southern_cross_nanomap_z10.png" = 'icons/_nanomaps/southern_cross_nanomap_z10.png',
// "southern_cross_nanomap_z2.png" = 'icons/_nanomaps/southern_cross_nanomap_z2.png',
// "southern_cross_nanomap_z3.png" = 'icons/_nanomaps/southern_cross_nanomap_z3.png',
// "southern_cross_nanomap_z5.png" = 'icons/_nanomaps/southern_cross_nanomap_z5.png',
// "southern_cross_nanomap_z6.png" = 'icons/_nanomaps/southern_cross_nanomap_z6.png',
"tether_nanomap_z1.png" = 'icons/_nanomaps/tether_nanomap_z1.png',
"tether_nanomap_z2.png" = 'icons/_nanomaps/tether_nanomap_z2.png',
"tether_nanomap_z3.png" = 'icons/_nanomaps/tether_nanomap_z3.png',
"tether_nanomap_z4.png" = 'icons/_nanomaps/tether_nanomap_z4.png',
"tether_nanomap_z5.png" = 'icons/_nanomaps/tether_nanomap_z5.png',
"tether_nanomap_z6.png" = 'icons/_nanomaps/tether_nanomap_z6.png',
"tether_nanomap_z7.png" = 'icons/_nanomaps/tether_nanomap_z7.png',
"tether_nanomap_z8.png" = 'icons/_nanomaps/tether_nanomap_z8.png',
"tether_nanomap_z9.png" = 'icons/_nanomaps/tether_nanomap_z9.png',
"tether_nanomap_z10.png" = 'icons/_nanomaps/tether_nanomap_z10.png',
"tether_nanomap_z13.png" = 'icons/_nanomaps/tether_nanomap_z13.png',
"tether_nanomap_z14.png" = 'icons/_nanomaps/tether_nanomap_z14.png',
// VOREStation Edit End
)
@@ -82,7 +82,7 @@
/obj/machinery/chem_master/ui_assets(mob/user)
return list(
get_asset_datum(/datum/asset/chem_master),
get_asset_datum(/datum/asset/simple/namespaced/chem_master),
)
/obj/machinery/chem_master/ui_interact(mob/user, datum/tgui/ui = null)
@@ -4,3 +4,14 @@
diethylamine spawn_reagent = "diethylamine"
plantbgone spawn_reagent = "plantbgone"
mutagen spawn_reagent = "mutagen"
//Biochem
nutriment spawn_reagent = "nutriment"
protein spawn_reagent = "protein"
//Special Ops
biomass spawn_reagent = "biomass"
carthatoline spawn_reagent = "carthatoline"
corophizine spawn_reagent = "corophizine"
myelamine spawn_reagent = "myelamine"
osteodaxon spawn_reagent = "osteodaxon"
+4 -4
View File
@@ -74,15 +74,15 @@
// Subtype for glasses_state
/datum/tgui_module/crew_monitor/glasses
/datum/tgui_module/crew_monitor/glasses/tgui_state(mob/user)
/datum/tgui_module/crew_monitor/glasses/ui_state(mob/user)
return GLOB.tgui_glasses_state
// Subtype for self_state
/datum/tgui_module/crew_monitor/robot
/datum/tgui_module/crew_monitor/robot/tgui_state(mob/user)
return GLOB.tgui_self_state
/datum/tgui_module/crew_monitor/robot/ui_state(mob/user)
return GLOB.self_state
// Subtype for nif_state
/datum/tgui_module/crew_monitor/nif
/datum/tgui_module/crew_monitor/nif/tgui_state(mob/user)
/datum/tgui_module/crew_monitor/nif/ui_state(mob/user)
return GLOB.tgui_nif_state
+8 -8
View File
@@ -1,5 +1,5 @@
GLOBAL_DATUM_INIT(tgui_glasses_state, /datum/tgui_state/glasses_state, new)
/datum/tgui_state/glasses_state/can_use_topic(var/src_object, var/mob/user)
GLOBAL_DATUM_INIT(tgui_glasses_state, /datum/ui_state/glasses_state, new)
/datum/ui_state/glasses_state/can_use_topic(var/src_object, var/mob/user)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.glasses == src_object)
@@ -7,8 +7,8 @@ GLOBAL_DATUM_INIT(tgui_glasses_state, /datum/tgui_state/glasses_state, new)
return UI_CLOSE
GLOBAL_DATUM_INIT(tgui_nif_state, /datum/tgui_state/nif_state, new)
/datum/tgui_state/nif_state/can_use_topic(var/src_object, var/mob/user)
GLOBAL_DATUM_INIT(tgui_nif_state, /datum/ui_state/nif_state, new)
/datum/ui_state/nif_state/can_use_topic(var/src_object, var/mob/user)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.nif && H.nif.stat == NIF_WORKING && src_object == H.nif)
@@ -17,8 +17,8 @@ GLOBAL_DATUM_INIT(tgui_nif_state, /datum/tgui_state/nif_state, new)
return UI_CLOSE
// This is slightly distinct from the module state, as it wants to update if not working
GLOBAL_DATUM_INIT(tgui_nif_main_state, /datum/tgui_state/nif_main_state, new)
/datum/tgui_state/nif_main_state/can_use_topic(var/src_object, var/mob/user)
GLOBAL_DATUM_INIT(tgui_nif_main_state, /datum/ui_state/nif_main_state, new)
/datum/ui_state/nif_main_state/can_use_topic(var/src_object, var/mob/user)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!H.nif || src_object != H.nif)
@@ -31,8 +31,8 @@ GLOBAL_DATUM_INIT(tgui_nif_main_state, /datum/tgui_state/nif_main_state, new)
return UI_CLOSE
GLOBAL_DATUM_INIT(tgui_commlink_state, /datum/tgui_state/commlink_state, new)
/datum/tgui_state/commlink_state/can_use_topic(var/src_object, var/mob/user)
GLOBAL_DATUM_INIT(tgui_commlink_state, /datum/ui_state/commlink_state, new)
/datum/ui_state/commlink_state/can_use_topic(var/src_object, var/mob/user)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.nif && H.nif.stat == NIF_WORKING && H.nif.comm == src_object)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.
+1 -1
View File
@@ -369,7 +369,7 @@ rules:
# max-depth: error
## Enforce a maximum line length
max-len: [error, {
code: 80,
code: 120,
## Ignore imports
ignorePattern: '^(import\s.+\sfrom\s|.*require\()',
ignoreUrls: true,
+1
View File
@@ -31,6 +31,7 @@
"jest-circus": "^26.6.3",
"jsdom": "^16.5.3",
"mini-css-extract-plugin": "^1.4.1",
"prop-types": "^15.7.2",
"sass": "^1.32.8",
"sass-loader": "^11.0.1",
"style-loader": "^2.0.0",
+22 -22
View File
@@ -125,11 +125,11 @@ const ChemMasterBeaker = (props, context) => {
beakerLoaded
beakerContents={beakerReagents}
buttons={(chemical, i) => (
<Box mb={(i < beakerReagents.length - 1) && "2px"}>
<Box mb={(i < beakerReagents.length - 1) && "2px"}>
<Button
content="Analyze"
mb="0"
onClick={() => modalOpen(context, 'analyze', {
content="Analyze"
mb="0"
onClick={() => modalOpen(context, 'analyze', {
idx: i + 1,
beaker: 1,
})}
@@ -146,22 +146,22 @@ const ChemMasterBeaker = (props, context) => {
/>)
)}
<Button
content="All"
mb="0"
onClick={() => act('add', {
content="All"
mb="0"
onClick={() => act('add', {
id: chemical.id,
amount: chemical.volume,
})}
/>
<Button
content="Custom.."
mb="0"
onClick={() => modalOpen(context, 'addcustom', {
content="Custom.."
mb="0"
onClick={() => modalOpen(context, 'addcustom', {
id: chemical.id,
})}
/>
</Box>
)}
)}
/>
: (
<Box color="label">
@@ -197,11 +197,11 @@ const ChemMasterBuffer = (props, context) => {
beakerLoaded
beakerContents={bufferReagents}
buttons={(chemical, i) => (
<Box mb={(i < bufferReagents.length - 1) && "2px"}>
<Box mb={(i < bufferReagents.length - 1) && "2px"}>
<Button
content="Analyze"
mb="0"
onClick={() => modalOpen(context, 'analyze', {
content="Analyze"
mb="0"
onClick={() => modalOpen(context, 'analyze', {
idx: i + 1,
beaker: 0,
})}
@@ -218,22 +218,22 @@ const ChemMasterBuffer = (props, context) => {
/>)
)}
<Button
content="All"
mb="0"
onClick={() => act('remove', {
content="All"
mb="0"
onClick={() => act('remove', {
id: chemical.id,
amount: chemical.volume,
})}
/>
<Button
content="Custom.."
mb="0"
onClick={() => modalOpen(context, 'removecustom', {
content="Custom.."
mb="0"
onClick={() => modalOpen(context, 'removecustom', {
id: chemical.id,
})}
/>
</Box>
)}
)}
/>
: (
<Box color="label">
@@ -3,10 +3,10 @@ import { round } from 'common/math';
import { Fragment } from 'inferno';
import { useBackend } from "../backend";
import {
Box,
Button,
Flex,
Icon,
Box,
Button,
Flex,
Icon,
LabeledList,
ProgressBar,
Section } from "../components";
@@ -124,7 +124,7 @@ export const EmbeddedController = (props, context) => {
/**
* Used for the upper status display that is used on 90% of these UIs.
* @param {StatusDisplayProps} props
* @param {StatusDisplayProps} props
*/
const StatusDisplay = (props, context) => {
const {
@@ -169,7 +169,7 @@ const StandardControls = (props, context) => {
data["external_pressure"]
- data["chamber_pressure"]) > 5);
}
let internalForceSafe = true;
if (data["exterior_status"] && data.exterior_status.state === "open") {
internalForceSafe = false;
@@ -551,7 +551,7 @@ primaryRoutes["AirlockConsoleDocking"] = AirlockConsoleDocking;
*/
const DockingConsoleSimple = (props, context) => {
const { act, data } = useBackend(context);
let dockHatch = <Box color="bad">ERROR</Box>;
if (data.exterior_status.state === "open") {
@@ -661,8 +661,8 @@ const DoorAccessConsole = (props, context) => {
{/* Interior Button */}
<Button
icon={interiorOpen ? "arrow-left" : "exclamation-triangle"}
content={interiorOpen
? "Cycle To Exterior"
content={interiorOpen
? "Cycle To Exterior"
: "Lock Exterior Door"}
onClick={() => {
act(interiorOpen ? "cycle_ext_door" : "force_ext");
@@ -737,4 +737,4 @@ const EscapePodBerthConsole = (props, context) => {
</Fragment>
);
};
primaryRoutes["EscapePodBerthConsole"] = EscapePodBerthConsole;
primaryRoutes["EscapePodBerthConsole"] = EscapePodBerthConsole;
@@ -1,5 +1,5 @@
import { Box } from '../../components';
const PropTypes = require('prop-types');
// const PropTypes = require('prop-types');
const formatUnits = a => a + ' unit' + (a === 1 ? '' : 's');
@@ -37,17 +37,17 @@ export const BeakerContents = props => {
);
};
BeakerContents.propTypes = {
/**
* Whether there is a loaded beaker or not
*/
beakerLoaded: PropTypes.bool,
/**
* The reagents in the beaker
*/
beakerContents: PropTypes.array,
/**
* The buttons to display next to each reagent line
*/
buttons: PropTypes.arrayOf(PropTypes.element),
};
// BeakerContents.propTypes = {
// /**
// * Whether there is a loaded beaker or not
// */
// beakerLoaded: PropTypes.bool,
// /**
// * The reagents in the beaker
// */
// beakerContents: PropTypes.array,
// /**
// * The buttons to display next to each reagent line
// */
// buttons: PropTypes.arrayOf(PropTypes.element),
// };
+1
View File
@@ -10,6 +10,7 @@
"inferno-vnode-flags": "^7.4.8",
"js-yaml": "^4.1.0",
"marked": "^2.0.3",
"prop-types": "^15.7.2",
"tgui-dev-server": "workspace:*",
"tgui-polyfill": "workspace:*"
}
File diff suppressed because one or more lines are too long
+2
View File
@@ -8374,6 +8374,7 @@ resolve@^2.0.0-next.3:
jest-circus: ^26.6.3
jsdom: ^16.5.3
mini-css-extract-plugin: ^1.4.1
prop-types: ^15.7.2
sass: ^1.32.8
sass-loader: ^11.0.1
style-loader: ^2.0.0
@@ -8397,6 +8398,7 @@ resolve@^2.0.0-next.3:
inferno-vnode-flags: ^7.4.8
js-yaml: ^4.1.0
marked: ^2.0.3
prop-types: ^15.7.2
tgui-dev-server: "workspace:*"
tgui-polyfill: "workspace:*"
languageName: unknown