mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
Merge branch 'master' into content-stuff
This commit is contained in:
34
.github/workflows/ci_suite.yml
vendored
34
.github/workflows/ci_suite.yml
vendored
@@ -9,18 +9,18 @@ on:
|
||||
- upstream-merge
|
||||
jobs:
|
||||
run_linters:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Run Linters
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore SpacemanDMM cache
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/SpacemanDMM
|
||||
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
${{ runner.os }}-
|
||||
- name: Install Tools
|
||||
run: |
|
||||
pip3 install setuptools
|
||||
pip3 install setuptools --upgrade
|
||||
bash tools/ci/install_node.sh
|
||||
bash tools/ci/install_spaceman_dmm.sh dreamchecker
|
||||
tools/bootstrap/python -c ''
|
||||
@@ -52,13 +52,13 @@ jobs:
|
||||
outputFile: output-annotations.txt
|
||||
|
||||
compile_all_maps:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Compile Maps
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore BYOND cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/BYOND
|
||||
key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }}
|
||||
@@ -67,9 +67,8 @@ jobs:
|
||||
bash tools/ci/install_byond.sh
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
|
||||
|
||||
run_all_tests:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Integration Tests
|
||||
runs-on: ubuntu-22.04
|
||||
services:
|
||||
@@ -81,14 +80,14 @@ jobs:
|
||||
- 3306
|
||||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore BYOND cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/BYOND
|
||||
key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }}
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -116,15 +115,14 @@ jobs:
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
tools/build/build --ci -DCIBUILDING
|
||||
bash tools/ci/run_server.sh
|
||||
|
||||
test_windows:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Windows Build
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -141,7 +139,7 @@ jobs:
|
||||
md deploy
|
||||
bash tools/deploy.sh ./deploy
|
||||
- name: Deploy artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: deploy
|
||||
path: deploy
|
||||
|
||||
4
.github/workflows/generate_documentation.yml
vendored
4
.github/workflows/generate_documentation.yml
vendored
@@ -8,9 +8,9 @@ jobs:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/SpacemanDMM
|
||||
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
|
||||
|
||||
2
.github/workflows/update_tgs_dmapi.yml
vendored
2
.github/workflows/update_tgs_dmapi.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
name: Update the TGS DMAPI
|
||||
steps:
|
||||
- name: Clone
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Branch
|
||||
run: |
|
||||
|
||||
1
_maps/4nalstation.dm
Normal file
1
_maps/4nalstation.dm
Normal file
@@ -0,0 +1 @@
|
||||
#define FORCE_MAP "_maps/4nalstation.json"
|
||||
30
_maps/4nalstation.json
Normal file
30
_maps/4nalstation.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"version": 1,
|
||||
"map_name": "4Nal Station",
|
||||
"map_path": "splurt_maps/map_files/4Nalstation",
|
||||
"map_file": "4NaL_Station.dmm",
|
||||
"shuttles": {
|
||||
"cargo": "cargo_box",
|
||||
"ferry": "ferry_fancy",
|
||||
"whiteship": "whiteship_fournal",
|
||||
"emergency": "emergency_fournal"
|
||||
},
|
||||
"traits": [
|
||||
{
|
||||
"Up": 1,
|
||||
"Baseturf": "/turf/open/openspace",
|
||||
"Linkage": "Cross"
|
||||
},
|
||||
{
|
||||
"Up": 1,
|
||||
"Down": -1,
|
||||
"Baseturf": "/turf/open/openspace",
|
||||
"Linkage": "Cross"
|
||||
},
|
||||
{
|
||||
"Down": -1,
|
||||
"Baseturf": "/turf/open/openspace",
|
||||
"Linkage": "Cross"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "map_files\SyndicateStation\SyndicateBoxStation.dmm"
|
||||
#include "splurt_maps\map_files\Smexistation\Snaxi_Splurt.dmm"
|
||||
#include "map_files\BoxedInStation\BoxedInStation.dmm"
|
||||
#include "splurt_maps\map_files\4Nalstation\4Nal_station.dmm"
|
||||
|
||||
#ifdef CIBUILDING
|
||||
#include "templates.dm"
|
||||
|
||||
500
_maps/shuttles/arrival_fournal.dmm
Normal file
500
_maps/shuttles/arrival_fournal.dmm
Normal file
@@ -0,0 +1,500 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
"b" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"e" = (
|
||||
/obj/structure/chair/comfy/shuttle,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"f" = (
|
||||
/obj/structure/window/shuttle,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"g" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"h" = (
|
||||
/obj/machinery/requests_console{
|
||||
department = "Arrival shuttle";
|
||||
name = "Arrivals Shuttle console"
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"i" = (
|
||||
/obj/docking_port/mobile/arrivals{
|
||||
dir = 1;
|
||||
dwidth = 1;
|
||||
height = 32;
|
||||
name = "fournal arrivals shuttle";
|
||||
width = 9
|
||||
},
|
||||
/obj/structure/shuttle/engine/propulsion,
|
||||
/turf/open/space/basic,
|
||||
/area/shuttle/arrival)
|
||||
"j" = (
|
||||
/obj/machinery/computer{
|
||||
dir = 4;
|
||||
name = "Shuttle computer"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"k" = (
|
||||
/obj/machinery/computer{
|
||||
dir = 8;
|
||||
name = "Shuttle computer"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"m" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"n" = (
|
||||
/obj/structure/closet/wardrobe/white,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"o" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Arrival Shuttle Airlock"
|
||||
},
|
||||
/obj/structure/fans/tiny,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"p" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-10"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"r" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"u" = (
|
||||
/obj/machinery/holopad,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"v" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/obj/structure/grille,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"x" = (
|
||||
/obj/structure/closet/wardrobe/mixed,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"y" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Arrival Shuttle Airlock"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"z" = (
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"A" = (
|
||||
/obj/machinery/status_display/evac,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"B" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"F" = (
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"G" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = 26
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"I" = (
|
||||
/obj/structure/shuttle/engine/propulsion,
|
||||
/turf/open/space/basic,
|
||||
/area/shuttle/arrival)
|
||||
"J" = (
|
||||
/obj/machinery/computer{
|
||||
dir = 2;
|
||||
name = "Shuttle computer"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"M" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
desc = "A comfortable looking seat that's clearly an upgrade for a Captain.";
|
||||
dir = 1;
|
||||
name = "Captain's Chair"
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"N" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"Q" = (
|
||||
/obj/machinery/vending/wallmed{
|
||||
name = "Emergency NanoMed";
|
||||
use_power = 0
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"R" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"T" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/secure/briefcase{
|
||||
pixel_x = -2;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/storage/toolbox/emergency,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"U" = (
|
||||
/obj/machinery/status_display/ai,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/arrival)
|
||||
"V" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/dice,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
"X" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = -25
|
||||
},
|
||||
/turf/open/floor/oldshuttle,
|
||||
/area/shuttle/arrival)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
V
|
||||
g
|
||||
g
|
||||
T
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
F
|
||||
i
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
a
|
||||
v
|
||||
m
|
||||
b
|
||||
Q
|
||||
X
|
||||
z
|
||||
z
|
||||
z
|
||||
z
|
||||
r
|
||||
m
|
||||
m
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
F
|
||||
I
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
v
|
||||
v
|
||||
j
|
||||
z
|
||||
A
|
||||
z
|
||||
N
|
||||
N
|
||||
N
|
||||
z
|
||||
z
|
||||
x
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
F
|
||||
I
|
||||
a
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
v
|
||||
J
|
||||
M
|
||||
z
|
||||
y
|
||||
z
|
||||
f
|
||||
f
|
||||
f
|
||||
e
|
||||
u
|
||||
z
|
||||
R
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
F
|
||||
I
|
||||
a
|
||||
a
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
v
|
||||
v
|
||||
k
|
||||
z
|
||||
U
|
||||
z
|
||||
g
|
||||
g
|
||||
g
|
||||
z
|
||||
z
|
||||
n
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
a
|
||||
v
|
||||
m
|
||||
p
|
||||
h
|
||||
G
|
||||
z
|
||||
z
|
||||
z
|
||||
z
|
||||
r
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
(8,1,1) = {"
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
B
|
||||
z
|
||||
z
|
||||
B
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
(9,1,1) = {"
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
m
|
||||
m
|
||||
o
|
||||
o
|
||||
m
|
||||
m
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
1895
_maps/shuttles/emergency_fournal.dmm
Normal file
1895
_maps/shuttles/emergency_fournal.dmm
Normal file
File diff suppressed because it is too large
Load Diff
1673
_maps/shuttles/whiteship_fournal.dmm
Normal file
1673
_maps/shuttles/whiteship_fournal.dmm
Normal file
File diff suppressed because it is too large
Load Diff
268931
_maps/splurt_maps/map_files/4Nalstation/4NaL_Station.dmm
Normal file
268931
_maps/splurt_maps/map_files/4Nalstation/4NaL_Station.dmm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -91,7 +91,11 @@
|
||||
. = 1
|
||||
|
||||
//Please don't roast me too hard
|
||||
//Oh don't worry, We Will.
|
||||
/client/MouseMove(object, location, control, params)
|
||||
if(!COOLDOWN_FINISHED(src, next_mousemove))
|
||||
return
|
||||
COOLDOWN_START(src, next_mousemove, 0) //COOLDOWN_FINISHED() sees the world tick and cooldown timer being equal as a state wherein the cooldown has not finished. So the cooldown timer here is 0 to throttle only for the rest of the tick.
|
||||
mouseParams = params
|
||||
mouse_location_ref = WEAKREF(location)
|
||||
mouse_object_ref = WEAKREF(object)
|
||||
@@ -105,6 +109,9 @@
|
||||
..()
|
||||
|
||||
/client/MouseDrag(src_object,atom/over_object,src_location,over_location,src_control,over_control,params)
|
||||
if(!COOLDOWN_FINISHED(src, next_mousedrag))
|
||||
return
|
||||
COOLDOWN_START(src, next_mousedrag, 0) //See comment in MouseMove() for why this is 0.
|
||||
mouseParams = params
|
||||
mouse_location_ref = WEAKREF(over_location)
|
||||
mouse_object_ref = WEAKREF(over_object)
|
||||
|
||||
@@ -348,5 +348,7 @@
|
||||
/datum/config_entry/str_list/randomizing_station_name_message
|
||||
default = list()
|
||||
|
||||
/datum/config_entry/flag/toast_notification_on_init
|
||||
|
||||
/// Gives the ability to send players a maptext popup.
|
||||
/datum/config_entry/flag/popup_admin_pm
|
||||
|
||||
@@ -223,6 +223,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
// Sort subsystems by display setting for easy access.
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_display))
|
||||
|
||||
if(world.system_type == MS_WINDOWS && CONFIG_GET(flag/toast_notification_on_init) && !length(GLOB.clients))
|
||||
world.shelleo("start /min powershell -ExecutionPolicy Bypass -File tools/initToast/initToast.ps1 -name \"[world.name]\" -icon %CD%\\icons\\ui_icons\\common\\tg_16.png -port [world.port]")
|
||||
|
||||
// Set world options.
|
||||
world.change_fps(CONFIG_GET(number/fps))
|
||||
var/initialized_tod = REALTIMEOFDAY
|
||||
|
||||
@@ -668,6 +668,7 @@ RLD
|
||||
icon_state = "arcd"
|
||||
item_state = "oldrcd"
|
||||
has_ammobar = FALSE
|
||||
upgrade = TRUE
|
||||
|
||||
|
||||
// RAPID LIGHTING DEVICE
|
||||
|
||||
@@ -6,10 +6,12 @@
|
||||
can_unwrench = TRUE
|
||||
construction_type = /obj/item/pipe/binary
|
||||
interaction_flags_machine = INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_SET_MACHINE
|
||||
pipe_state = "relief_valve-t"
|
||||
shift_underlay_only = FALSE
|
||||
|
||||
var/opened = FALSE
|
||||
var/open_pressure = ONE_ATMOSPHERE * 3
|
||||
var/close_pressure = ONE_ATMOSPHERE
|
||||
pipe_state = "relief_valve-t"
|
||||
|
||||
/obj/machinery/atmospherics/components/binary/relief_valve/layer1
|
||||
piping_layer = PIPING_LAYER_MIN
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/update_icon_nopipes()
|
||||
icon_state = "connector"
|
||||
cut_overlays()
|
||||
if(showpipe)
|
||||
var/image/cap = getpipeimage(icon, "connector_cap", initialize_directions, piping_layer = piping_layer)
|
||||
add_overlay(cap)
|
||||
|
||||
icon_state = "connector"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/process_atmos()
|
||||
if(!connected_device)
|
||||
return
|
||||
@@ -37,7 +39,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/can_unwrench(mob/user)
|
||||
. = ..()
|
||||
if(. && connected_device)
|
||||
to_chat(user, "<span class='warning'>You cannot unwrench [src], detach [connected_device] first!</span>")
|
||||
to_chat(user, span_warning("You cannot unwrench [src], detach [connected_device] first!"))
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/portableConnectorReturnAir()
|
||||
|
||||
@@ -189,3 +189,7 @@
|
||||
|
||||
/// AFK tracking
|
||||
var/last_activity = 0
|
||||
|
||||
/// The next point in time at which the client is allowed to send a mousemove() or mousedrag()
|
||||
COOLDOWN_DECLARE(next_mousemove)
|
||||
COOLDOWN_DECLARE(next_mousedrag)
|
||||
|
||||
@@ -356,7 +356,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
///loadout stuff
|
||||
var/gear_points = 10
|
||||
var/list/gear_categories
|
||||
var/list/loadout_data = list()
|
||||
var/list/loadout_data
|
||||
var/list/unlockable_loadout_data = list()
|
||||
var/loadout_slot = 1 //goes from 1 to MAXIMUM_LOADOUT_SAVES
|
||||
var/gear_category
|
||||
@@ -533,7 +533,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//calculate your gear points from the chosen item
|
||||
gear_points = CONFIG_GET(number/initial_gear_points)
|
||||
var/list/chosen_gear = loadout_data["SAVE_[loadout_slot]"]
|
||||
if(chosen_gear)
|
||||
if(islist(chosen_gear))
|
||||
loadout_errors = 0
|
||||
for(var/loadout_item in chosen_gear)
|
||||
var/loadout_item_path = loadout_item[LOADOUT_ITEM]
|
||||
@@ -1229,6 +1229,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "</tr></table>"
|
||||
if(LOADOUT_CHAR_TAB)
|
||||
dat += "<table align='center' width='100%'>"
|
||||
dat += "<tr><td colspan=4><center><b>Loadout slot</b></center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center>"
|
||||
for(var/iteration in 1 to MAXIMUM_LOADOUT_SAVES)
|
||||
dat += "<a [loadout_slot == iteration ? "class='linkOn'" : "href='?_src_=prefs;preference=gear;select_slot=[iteration]'"]>[iteration]</a>"
|
||||
dat += "</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><i style=\"color: grey;\">You can only choose one item per category, unless it's an item that spawns in your backpack or hands.</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><b>"
|
||||
|
||||
@@ -4148,6 +4153,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
qdel(offer_datum)
|
||||
|
||||
if(href_list["preference"] == "gear")
|
||||
if(href_list["select_slot"])
|
||||
var/chosen = text2num(href_list["select_slot"])
|
||||
if(!chosen)
|
||||
return
|
||||
chosen = floor(chosen)
|
||||
if(chosen > MAXIMUM_LOADOUT_SAVES || chosen < 1)
|
||||
return
|
||||
loadout_slot = chosen
|
||||
if(href_list["clear_loadout"])
|
||||
loadout_data["SAVE_[loadout_slot]"] = list()
|
||||
save_preferences()
|
||||
|
||||
@@ -1122,7 +1122,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
belly_prefs = json_from_file["belly_prefs"]
|
||||
|
||||
//gear loadout
|
||||
if(S["loadout"])
|
||||
if(istext(S["loadout"]))
|
||||
loadout_data = safe_json_decode(S["loadout"])
|
||||
var/list/sanitize_current_slot = loadout_data["SAVE_[loadout_slot]"]
|
||||
if(LAZYLEN(sanitize_current_slot))
|
||||
@@ -1150,6 +1150,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
loadout_data["SAVE_[loadout_slot]"] = list()
|
||||
else
|
||||
loadout_data = list()
|
||||
//let's remember their last used slot, i'm sure "oops i brought the wrong stuff" will be an issue now
|
||||
S["loadout_slot"] >> loadout_slot
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
//preference updating will handle saving the updated data for us.
|
||||
@@ -1384,6 +1386,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["pregnancy_inflation"] >> pregnancy_inflation
|
||||
S["pregnancy_breast_growth"] >> pregnancy_breast_growth
|
||||
//SPLURT EDIT END
|
||||
|
||||
loadout_slot = sanitize_num_clamp(loadout_slot, 1, MAXIMUM_LOADOUT_SAVES, 1, TRUE)
|
||||
|
||||
cit_character_pref_load(S)
|
||||
|
||||
@@ -1628,10 +1632,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
//SPLURT EDIT END
|
||||
|
||||
//gear loadout
|
||||
if(length(loadout_data))
|
||||
if(islist(loadout_data))
|
||||
S["loadout"] << safe_json_encode(loadout_data)
|
||||
else
|
||||
S["loadout"] << safe_json_encode(list())
|
||||
WRITE_FILE(S["loadout_slot"], loadout_slot)
|
||||
|
||||
if(length(tcg_cards))
|
||||
S["tcg_cards"] << safe_json_encode(tcg_cards)
|
||||
|
||||
@@ -13,28 +13,40 @@
|
||||
. = ..()
|
||||
AddComponent(/datum/component/plumbing/simple_supply, bolt)
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user,rotation_type)
|
||||
/obj/machinery/plumbing/grinder_chemical/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("The input direction for this item can be rotated by using CTRL+SHIFT+CLICK")
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/CtrlShiftClick(mob/user)
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>It is fastened to the floor!</span>")
|
||||
return FALSE
|
||||
|
||||
switch(eat_dir)
|
||||
if(WEST)
|
||||
balloon_alert(user, "set to north")
|
||||
eat_dir = NORTH
|
||||
return TRUE
|
||||
if(EAST)
|
||||
balloon_alert(user, "set to south")
|
||||
eat_dir = SOUTH
|
||||
return TRUE
|
||||
if(NORTH)
|
||||
balloon_alert(user, "set to east")
|
||||
eat_dir = EAST
|
||||
return TRUE
|
||||
if(SOUTH)
|
||||
balloon_alert(user, "set to west")
|
||||
eat_dir = WEST
|
||||
return TRUE
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/CanAllowThrough(atom/movable/AM)
|
||||
. = ..()
|
||||
if(!anchored)
|
||||
return
|
||||
|
||||
var/move_dir = get_dir(loc, AM.loc)
|
||||
if(move_dir == eat_dir)
|
||||
return TRUE
|
||||
@@ -61,4 +73,8 @@
|
||||
return
|
||||
I.on_grind()
|
||||
reagents.add_reagent_list(I.grind_results)
|
||||
|
||||
if(I.reagents) //If the thing has any reagents inside of it, grind them up.
|
||||
I.reagents.trans_to(reagents, I.reagents.total_volume)
|
||||
|
||||
qdel(I)
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
dwidth = 11
|
||||
height = 22
|
||||
width = 35
|
||||
shuttlekeys = list("whiteship_meta", "whiteship_pubby", "whiteship_box", "whiteship_cere", "whiteship_kilo", "whiteship_donut", "whiteship_delta")
|
||||
shuttlekeys = list("whiteship_meta", "whiteship_pubby", "whiteship_box", "whiteship_cere", "whiteship_kilo", "whiteship_donut", "whiteship_delta", "whiteship_fournal")
|
||||
|
||||
/obj/docking_port/stationary/picked
|
||||
///Holds a list of map name strings for the port to pick from
|
||||
@@ -329,7 +329,7 @@
|
||||
dwidth = 11
|
||||
height = 22
|
||||
width = 35
|
||||
shuttlekeys = list("whiteship_meta", "whiteship_pubby", "whiteship_box", "whiteship_cere", "whiteship_kilo", "whiteship_donut", "whiteship_delta")
|
||||
shuttlekeys = list("whiteship_meta", "whiteship_pubby", "whiteship_box", "whiteship_cere", "whiteship_kilo", "whiteship_donut", "whiteship_delta", "whiteship_fournal")
|
||||
|
||||
/obj/docking_port/mobile
|
||||
name = "shuttle"
|
||||
|
||||
@@ -543,3 +543,7 @@ RANDOMIZING_STATION_NAME_MESSAGE %NEW_STATION_NAME%? %NEW_STATION_NAME%! %NEW_ST
|
||||
RANDOMIZING_STATION_NAME_MESSAGE A popular social network application had already claimed the trademark of %CURRENT_STATION_NAME%, the station has been renamed to %NEW_STATION_NAME%.
|
||||
RANDOMIZING_STATION_NAME_MESSAGE We're pulling a prank on %RANDOM_CREWMEMBER%, so we've changed the station's name to %NEW_STATION_NAME%.
|
||||
RANDOMIZING_STATION_NAME_MESSAGE %RANDOM_NAME% made us change the station name, which is now %NEW_STATION_NAME%.
|
||||
|
||||
## Comment to disable sending a toast notification on the host server when initializations complete.
|
||||
## Even if this is enabled, a notification will only be sent if there are no clients connected.
|
||||
TOAST_NOTIFICATION_ON_INIT
|
||||
|
||||
@@ -8,14 +8,15 @@ export BYOND_MAJOR=515
|
||||
export BYOND_MINOR=1634
|
||||
|
||||
#rust_g git tag
|
||||
export RUST_G_VERSION=3.0.0
|
||||
export RUST_G_VERSION=3.3.0
|
||||
|
||||
#node version
|
||||
export NODE_VERSION=16
|
||||
export NODE_VERSION_PRECISE=16.13.1
|
||||
export NODE_VERSION_LTS=20.13.0
|
||||
# compatiblility mode MUST work with windows 7
|
||||
export NODE_VERSION_COMPAT=20.2.0
|
||||
|
||||
# SpacemanDMM git tag
|
||||
export SPACEMAN_DMM_VERSION=suite-1.8
|
||||
export SPACEMAN_DMM_VERSION=suite-1.9
|
||||
|
||||
# Python version for mapmerge and other tools
|
||||
export PYTHON_VERSION=3.9.0
|
||||
|
||||
@@ -17,3 +17,8 @@
|
||||
2024-10-16:
|
||||
cyfause:
|
||||
- bugfix: allow facial hair on anthromorph species
|
||||
2024-10-24:
|
||||
Sara:
|
||||
- rscadd: Added a full new station.
|
||||
- rscadd: Added new shuttles, arrival, escape, and whiteship.
|
||||
- rscadd: Added new lore page for the station.
|
||||
|
||||
BIN
icons/ui_icons/common/tg_16.png
Normal file
BIN
icons/ui_icons/common/tg_16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 795 B |
@@ -12,3 +12,18 @@
|
||||
description = "An evacuation ship formerly used by NT SOCOM Divisions, it's long since been outclassed, de-milled, and cast aside as an evacuation ship for when a shuttle is in very, very plausible danger. It's not the best, but almost nothing can make it worse."
|
||||
credit_cost = 7500
|
||||
admin_notes = "Built with a lot of fans and RWalls to resist bombing and atmospheric attacks. Might be a bit large for certain stations."
|
||||
|
||||
/datum/map_template/shuttle/arrival/fournal
|
||||
suffix = "fournal"
|
||||
name = "arrival shuttle (fournal)"
|
||||
|
||||
/datum/map_template/shuttle/whiteship/fournal
|
||||
suffix = "fournal"
|
||||
name = "KnotTailus"
|
||||
|
||||
/datum/map_template/shuttle/emergency/fournal
|
||||
suffix = "fournal"
|
||||
name = "The DreadKnotted"
|
||||
description = "Cere's taller but lankier cousin, this is more an art peice included when we got our advanced location, big, 'stylish', and well stocked."
|
||||
admin_notes = "Seriously big, even larger than the Delta shuttle, and probably will get a few groans."
|
||||
credit_cost = 10000
|
||||
|
||||
@@ -9,3 +9,11 @@
|
||||
|
||||
/area/engineering/break_room/atmos
|
||||
name = "Atmospherics Break Room"
|
||||
|
||||
/area/ruin/powered/ylva
|
||||
name = "Tower of Ylva"
|
||||
icon_state = "purple"
|
||||
|
||||
/area/ruin/unpowered/ylvaturf
|
||||
name = "Ylva Outskirts"
|
||||
icon_state = "spacecontent26"
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
/turf/open/floor/plasteel/dark/texcorner
|
||||
icon = 'modular_splurt/icons/turf/floors.dmi'
|
||||
icon_state = "textured_darkcorner"
|
||||
base_icon_state = "textured_darkcorner"
|
||||
|
||||
/turf/open/floor/plasteel/hallway
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "hallway_floor"
|
||||
base_icon_state = "hallway_floor"
|
||||
22
modular_splurt/code/modules/paperwork/4nal_paperwork.dm
Normal file
22
modular_splurt/code/modules/paperwork/4nal_paperwork.dm
Normal file
@@ -0,0 +1,22 @@
|
||||
/obj/item/paper/fluff/instaloss_regret
|
||||
name = "Semen and femcum stained note"
|
||||
info = {""<b>〇〇〇—3rd—〇〇〇〇</b>
|
||||
I finally got all the materials together, had to steal most of them from that witch everyone loves, but I did. Today's the day that I perform my first summoning. I think I will go for a low-class cubus, probably of the suc variety, after all a sexy, busty lady such as I can't be tempted by a lowly whore!
|
||||
<br><br>
|
||||
<b>〇〇〇—7th—〇〇〇〇</b>
|
||||
I was wrong... It appears using that witch's reagents changed the result, something obvious in hindsight... along with assuming that I could control a cubus... I ended up calling a hellhound cubus, it finally left a few hours ago, but with the swell of my belly and the leak of my breast I fear it left a gift... I dare not leave this room for now, as my reputation would be ruined, I'll just let this pass... at least their type seem to gestate fast.
|
||||
<br><br>
|
||||
<b>〇〇〇—26th—〇〇〇〇</b>
|
||||
He's back, come for his child like any caring father, and seems to be here for me as well, I'm not even sure I want to resist, my knees shake, my heart quickens, and I go slicker than snowmelt in his presence..."
|
||||
<br>
|
||||
<br><br>
|
||||
Most of the rest of the note is illegible, smeared ink, off-white stains, and worse smudge it. On the back remains a single note in a different script, seemingly burned in with exactness rather than inked.
|
||||
<br><br>
|
||||
'I will help you, you bratty child, even if I believe you deserve such a fate for stealing from my poor student...
|
||||
<br>
|
||||
<br><br>
|
||||
<i>~Ylva, Chosen of the Wilds Near and Far'</i>"}
|
||||
|
||||
/obj/item/paper/fluff/fournal_lore
|
||||
name = "Placeholder"
|
||||
info = {"Placeholder until I get time to lore"}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -4685,6 +4685,7 @@
|
||||
#include "modular_splurt\code\game\turfs\simulated\chasm.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\floor\fancy_floor.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\floor\mineral_floor.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\floor\plasteel_floor.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\floor\plating\asteroid.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\wall\mineral_walls.dm"
|
||||
#include "modular_splurt\code\game\turfs\simulated\wall\misc_walls.dm"
|
||||
@@ -5014,6 +5015,7 @@
|
||||
#include "modular_splurt\code\modules\mob\living\simple_animal\hostile\werewolves\icewolf.dm"
|
||||
#include "modular_splurt\code\modules\mob\living\simple_animal\hostile\werewolves\themosley.dm"
|
||||
#include "modular_splurt\code\modules\mob\living\simple_animal\hostile\werewolves\werewolf.dm"
|
||||
#include "modular_splurt\code\modules\paperwork\4nal_paperwork.dm"
|
||||
#include "modular_splurt\code\modules\paperwork\pen.dm"
|
||||
#include "modular_splurt\code\modules\power\cell.dm"
|
||||
#include "modular_splurt\code\modules\power\reactor\fluffed.dm"
|
||||
|
||||
@@ -16,13 +16,13 @@ if [ "$TG_BOOTSTRAP_CACHE" ]; then
|
||||
fi
|
||||
OldPWD="$PWD"
|
||||
cd "$Bootstrap/../.."
|
||||
. ./dependencies.sh # sets NODE_VERSION_PRECISE
|
||||
. ./dependencies.sh # sets NODE_VERSION_LTS
|
||||
cd "$OldPWD"
|
||||
NodeVersion="$NODE_VERSION_PRECISE"
|
||||
NodeVersion="$NODE_VERSION_LTS"
|
||||
NodeFullVersion="node-v$NodeVersion-win-x64"
|
||||
NodeDir="$Cache/$NodeFullVersion"
|
||||
NodeExe="$NodeDir/node.exe"
|
||||
Log="$Cache/last-command.log"
|
||||
is_vendored="1"
|
||||
|
||||
# If a bootstrapped Node is not present, search on $PATH.
|
||||
if [ "$(uname)" = "Linux" ] || [ ! -f "$NodeExe" ]; then
|
||||
@@ -39,6 +39,7 @@ if [ "$(uname)" = "Linux" ] || [ ! -f "$NodeExe" ]; then
|
||||
fi
|
||||
elif command -v node >/dev/null 2>&1; then
|
||||
NodeExe="node"
|
||||
is_vendored="0"
|
||||
else
|
||||
echo
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
@@ -62,23 +63,11 @@ if [ "$(uname)" = "Linux" ] || [ ! -f "$NodeExe" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Cheap shell function if tee.exe is not available
|
||||
if ! command -v tee >/dev/null 2>&1; then
|
||||
tee() {
|
||||
# Fudge: assume $1 is always "-a"
|
||||
while read -r line; do
|
||||
echo "$line" >> "$2"
|
||||
echo "$line"
|
||||
done
|
||||
}
|
||||
fi
|
||||
|
||||
# Invoke Node with all command-line arguments
|
||||
mkdir -p "$Cache"
|
||||
printf '%s\n' "$NodeExe" "$@" > "$Log"
|
||||
printf -- '---\n' >> "$Log"
|
||||
exec 4>&1
|
||||
PATH="$(readlink -f "$NodeDir"):$PATH" # Set PATH so that recursive calls find it
|
||||
exitstatus=$({ { set +e; "$NodeExe" "$@" 2>&1 3>&-; printf %s $? >&3; } 4>&- | tee -a "$Log" 1>&4; } 3>&1)
|
||||
exec 4>&-
|
||||
exit "$exitstatus"
|
||||
if [ "$is_vendored" = "1" ]; then
|
||||
PATH="$(readlink -f "$NodeDir"):$PATH"
|
||||
echo "Using vendored Node $("$NodeExe" --version)"
|
||||
else
|
||||
echo "Using system-wide Node $("$NodeExe" --version)"
|
||||
fi
|
||||
exec "$NodeExe" "$@"
|
||||
|
||||
@@ -29,7 +29,16 @@ $Cache = "$BaseDir\.cache"
|
||||
if ($Env:TG_BOOTSTRAP_CACHE) {
|
||||
$Cache = $Env:TG_BOOTSTRAP_CACHE
|
||||
}
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_PRECISE"
|
||||
# Get OS version
|
||||
$OSMajor = (Get-WmiObject -Class Win32_OperatingSystem).Version.Split(".")[0]
|
||||
# Set Node version based on OS version
|
||||
if ($OSMajor -lt 10) {
|
||||
# Anything under Windows 10
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_COMPAT"
|
||||
}
|
||||
else {
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_LTS"
|
||||
}
|
||||
$NodeSource = "https://nodejs.org/download/release/v$NodeVersion/win-x64/node.exe"
|
||||
$NodeTargetDir = "$Cache\node-v$NodeVersion-x64"
|
||||
$NodeTarget = "$NodeTargetDir\node.exe"
|
||||
|
||||
@@ -5,6 +5,6 @@ source dependencies.sh
|
||||
|
||||
if [[ -e ~/.nvm/nvm.sh ]]; then
|
||||
source ~/.nvm/nvm.sh
|
||||
nvm install $NODE_VERSION
|
||||
nvm use $NODE_VERSION
|
||||
nvm install $NODE_VERSION_COMPAT
|
||||
nvm use $NODE_VERSION_COMPAT
|
||||
fi
|
||||
|
||||
32
tools/initToast/initToast.ps1
Normal file
32
tools/initToast/initToast.ps1
Normal file
@@ -0,0 +1,32 @@
|
||||
param([string]$name, [string]$icon, [Int32]$port=80)
|
||||
|
||||
$hkcu = [Microsoft.Win32.RegistryKey]::OpenBaseKey('CurrentUser','default')
|
||||
|
||||
$amuid_hkey = $hkcu.CreateSubKey('SOFTWARE\Classes\AppUserModelId\Tgstation.Tgstation', $true, [Microsoft.Win32.RegistryOptions]::Volatile)
|
||||
|
||||
if ($name) { $amuid_hkey.SetValue('DisplayName', $name) }
|
||||
if ($icon) { $amuid_hkey.SetValue('IconUri', $icon) }
|
||||
|
||||
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
||||
$notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('Tgstation.Tgstation')
|
||||
|
||||
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom, ContentType = WindowsRuntime] > $null
|
||||
$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
|
||||
|
||||
$xml.LoadXml(@"
|
||||
<toast>
|
||||
<visual>
|
||||
<binding template="ToastGeneric">
|
||||
<text>Initialization Complete</text>
|
||||
</binding>
|
||||
</visual>
|
||||
<actions>
|
||||
<action content="Launch Dream Seeker" activationType="protocol" arguments="byond://127.0.0.1:$port"/>
|
||||
</actions>
|
||||
</toast>
|
||||
"@)
|
||||
|
||||
[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
||||
$toast = New-Object Windows.UI.Notifications.ToastNotification $xml
|
||||
|
||||
$notifier.Show($toast)
|
||||
@@ -1,5 +1,5 @@
|
||||
pygit2==1.11.1
|
||||
bidict==0.22.0
|
||||
bidict==0.22.1
|
||||
Pillow==10.3.0
|
||||
|
||||
# changelogs
|
||||
|
||||
Reference in New Issue
Block a user