{
quantity={10}
SHEET_MATERIAL_AMOUNT={SHEET_MATERIAL_AMOUNT}
availableMaterials={availableMaterials}
+ maxmult={maxmult}
/>
{
!canPrint && 'FabricatorRecipe__Button--disabled',
])}>
act('make', {
id: design.id,
diff --git a/tgui/packages/tgui/interfaces/BorerChem.jsx b/tgui/packages/tgui/interfaces/BorerChem.jsx
index 35eb63857fc..8f5210ed0fa 100644
--- a/tgui/packages/tgui/interfaces/BorerChem.jsx
+++ b/tgui/packages/tgui/interfaces/BorerChem.jsx
@@ -44,7 +44,7 @@ export const BorerChem = (props, context) => {
disabled={data.onCooldown || data.notEnoughChemicals}
onClick={() =>
act('inject', {
- reagent: chemical.id,
+ reagent: chemical.title,
})
}
/>
diff --git a/tgui/packages/tgui/interfaces/MafiaPanel.tsx b/tgui/packages/tgui/interfaces/MafiaPanel.tsx
index ee63d105dd1..23b4b45a27a 100644
--- a/tgui/packages/tgui/interfaces/MafiaPanel.tsx
+++ b/tgui/packages/tgui/interfaces/MafiaPanel.tsx
@@ -16,6 +16,7 @@ type RoleInfo = {
type PlayerInfo = {
name: string;
+ role_revealed: string;
is_you: BooleanLike;
ref: string;
alive: string;
@@ -49,11 +50,13 @@ type MafiaData = {
is_observer: boolean;
all_roles: string[];
admin_controls: boolean;
+ person_voted_up_ref: string;
+ player_voted_up: BooleanLike;
};
export const MafiaPanelData = (props, context) => {
const { act, data } = useBackend(context);
- const { phase, roleinfo, admin_controls, messages } = data;
+ const { phase, roleinfo, admin_controls, messages, player_voted_up } = data;
const [mafia_tab, setMafiaMode] = useLocalState(
context,
'mafia_tab',
@@ -90,7 +93,7 @@ export const MafiaPanelData = (props, context) => {
- {phase === 'Judgment' && (
+ {phase === 'Judgment' && !player_voted_up && (
@@ -401,17 +404,20 @@ const MafiaJudgement = (props, context) => {
const { act, data } = useBackend(context);
return (
-
+
act('vote_abstain')}>
@@ -424,16 +430,22 @@ const MafiaJudgement = (props, context) => {
const MafiaPlayers = (props, context) => {
const { act, data } = useBackend(context);
- const { players } = data;
+ const { players = [], person_voted_up_ref } = data;
return (
{players?.map((player) => (
-
+
{player.name}
- {player.is_you && ' (YOU)'} {!player.alive && '(DEAD)'}
+ {(!!player.is_you && ' (YOU)') ||
+ (!!player.role_revealed && ' - ' + player.role_revealed)}
{player.votes !== undefined &&
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/pixel_size.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/pixel_size.tsx
index 4afde6a8bb1..ed5fb9aafa7 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/pixel_size.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/pixel_size.tsx
@@ -9,5 +9,8 @@ export const pixel_size: Feature = {
1.5: 'Pixel Perfect 1.5x',
2: 'Pixel Perfect 2x',
3: 'Pixel Perfect 3x',
+ 4: 'Pixel Perfect 4x',
+ 4.5: 'Pixel Perfect 4.5x',
+ 5: 'Pixel Perfect 5x',
}),
};
diff --git a/tgui/packages/tgui/stories/Blink.stories.js b/tgui/packages/tgui/stories/Blink.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Blink.stories.js
rename to tgui/packages/tgui/stories/Blink.stories.jsx
diff --git a/tgui/packages/tgui/stories/BlockQuote.stories.js b/tgui/packages/tgui/stories/BlockQuote.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/BlockQuote.stories.js
rename to tgui/packages/tgui/stories/BlockQuote.stories.jsx
diff --git a/tgui/packages/tgui/stories/Box.stories.js b/tgui/packages/tgui/stories/Box.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Box.stories.js
rename to tgui/packages/tgui/stories/Box.stories.jsx
diff --git a/tgui/packages/tgui/stories/Button.stories.js b/tgui/packages/tgui/stories/Button.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Button.stories.js
rename to tgui/packages/tgui/stories/Button.stories.jsx
diff --git a/tgui/packages/tgui/stories/ByondUi.stories.js b/tgui/packages/tgui/stories/ByondUi.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/ByondUi.stories.js
rename to tgui/packages/tgui/stories/ByondUi.stories.jsx
diff --git a/tgui/packages/tgui/stories/Collapsible.stories.js b/tgui/packages/tgui/stories/Collapsible.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Collapsible.stories.js
rename to tgui/packages/tgui/stories/Collapsible.stories.jsx
diff --git a/tgui/packages/tgui/stories/Flex.stories.js b/tgui/packages/tgui/stories/Flex.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Flex.stories.js
rename to tgui/packages/tgui/stories/Flex.stories.jsx
diff --git a/tgui/packages/tgui/stories/Input.stories.js b/tgui/packages/tgui/stories/Input.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Input.stories.js
rename to tgui/packages/tgui/stories/Input.stories.jsx
diff --git a/tgui/packages/tgui/stories/LabeledList.stories.js b/tgui/packages/tgui/stories/LabeledList.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/LabeledList.stories.js
rename to tgui/packages/tgui/stories/LabeledList.stories.jsx
diff --git a/tgui/packages/tgui/stories/Popper.stories.js b/tgui/packages/tgui/stories/Popper.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Popper.stories.js
rename to tgui/packages/tgui/stories/Popper.stories.jsx
diff --git a/tgui/packages/tgui/stories/ProgressBar.stories.js b/tgui/packages/tgui/stories/ProgressBar.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/ProgressBar.stories.js
rename to tgui/packages/tgui/stories/ProgressBar.stories.jsx
diff --git a/tgui/packages/tgui/stories/Stack.stories.js b/tgui/packages/tgui/stories/Stack.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Stack.stories.js
rename to tgui/packages/tgui/stories/Stack.stories.jsx
diff --git a/tgui/packages/tgui/stories/Storage.stories.js b/tgui/packages/tgui/stories/Storage.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Storage.stories.js
rename to tgui/packages/tgui/stories/Storage.stories.jsx
diff --git a/tgui/packages/tgui/stories/Tabs.stories.js b/tgui/packages/tgui/stories/Tabs.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Tabs.stories.js
rename to tgui/packages/tgui/stories/Tabs.stories.jsx
diff --git a/tgui/packages/tgui/stories/Themes.stories.js b/tgui/packages/tgui/stories/Themes.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Themes.stories.js
rename to tgui/packages/tgui/stories/Themes.stories.jsx
diff --git a/tgui/packages/tgui/stories/Tooltip.stories.js b/tgui/packages/tgui/stories/Tooltip.stories.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/Tooltip.stories.js
rename to tgui/packages/tgui/stories/Tooltip.stories.jsx
diff --git a/tgui/packages/tgui/stories/common.js b/tgui/packages/tgui/stories/common.jsx
similarity index 100%
rename from tgui/packages/tgui/stories/common.js
rename to tgui/packages/tgui/stories/common.jsx
diff --git a/tgui/webpack.config.js b/tgui/webpack.config.js
index 27a07fd0d09..1bc9f209cbd 100644
--- a/tgui/webpack.config.js
+++ b/tgui/webpack.config.js
@@ -44,6 +44,7 @@ module.exports = (env = {}, argv) => {
filename: '[name].bundle.js',
chunkFilename: '[name].bundle.js',
chunkLoadTimeout: 15000,
+ publicPath: '/',
},
resolve: {
extensions: ['.tsx', '.ts', '.js', '.jsx'],
diff --git a/tools/trait_validity/check.py b/tools/trait_validity/check.py
index 10da9f34a15..1f83559d4e9 100644
--- a/tools/trait_validity/check.py
+++ b/tools/trait_validity/check.py
@@ -14,6 +14,7 @@ def red(text):
on_github = os.getenv("GITHUB_ACTIONS") == "true"
defines_file = "code/__DEFINES/traits/declarations.dm"
+skyrat_defines_file = "code/__DEFINES/~skyrat_defines/traits/declarations.dm" # SKYRAT EDIT ADDITION
globalvars_file = "code/_globalvars/traits/_traits.dm"
how_to_fix_message = f"Please ensure that all traits in the {defines_file} file are added in the {globalvars_file} file."
@@ -30,6 +31,12 @@ def post_error(define_name):
print(red(f"Could not find the defines file '{defines_file}'!"))
sys.exit(1)
+# SKYRAT EDIT ADDITION START
+if not os.path.isfile(skyrat_defines_file):
+ print(red(f"Could not find the skyrat defines file '{skyrat_defines_file}'!"))
+ sys.exit(1)
+# SKYRAT EDIT ADDITION END
+
if not os.path.isfile(globalvars_file):
print(red(f"Could not find the globalvars file '{globalvars_file}'!"))
sys.exit(1)
@@ -62,6 +69,33 @@ def post_error(define_name):
number_of_defines += 1
defines_to_search_for.append(match.group(2))
+# SKYRAT EDIT ADDITION START
+scannable_lines = []
+with open(skyrat_defines_file, 'r') as file:
+ reading = False
+
+ for line in file:
+ line = line.strip()
+
+ if line == "// BEGIN TRAIT DEFINES":
+ reading = True
+ continue
+ elif line == "// END TRAIT DEFINES":
+ break
+ elif not reading:
+ continue
+
+ scannable_lines.append(line)
+
+for potential_define in scannable_lines:
+ match = define_regex.match(potential_define)
+ if not match:
+ continue
+
+ number_of_defines += 1
+ defines_to_search_for.append(match.group(2))
+# SKYRAT EDIT ADDITION END
+
if number_of_defines == 0:
print(red("No defines found! This is likely an error."))
sys.exit(1)