Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Rhials committed Mar 2, 2025
2 parents cd1b8ac + 1352cb8 commit b1bd4b6
Show file tree
Hide file tree
Showing 173 changed files with 1,559 additions and 866 deletions.
4 changes: 3 additions & 1 deletion .github/guides/STANDARDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ You can avoid hacky code by using object-oriented methodologies, such as overrid
* Another less common exploit involves allowing a player to open multiple of an input at once. This may allow the player to stack effects, such as triggering 10 explosions when only 1 should be allowed. While a lot of code is generally built in a way making this infeasible (usually due to runtime errors), it is noteworthy regardless.
* You should also consider if it would make sense to apply a timeout to your input, to prevent players from opening it and keeping it on their screen until convenient.

* Calls to the database must be escaped properly - use sanitizeSQL to escape text based database entries from players or admins, and isnum() for number based database entries from players or admins.
* SQL queries **must** use parameters for any sort of input data, and `format_table_name` for table names. Directly substituting input into SQL queries is how SQL injections happen, which parameterized queries prevent.
* Good: `SSdbcore.NewQuery({"UPDATE [format_table_name("round")] SET map_name = :map_name WHERE id = :round_id"}, list("map_name" = current_map.map_name, "round_id" = GLOB.round_id))`
* Bad: `SSdbcore.NewQuery({"UPDATE round SET map_name = '[current_map.map_name]' WHERE id = [GLOB.round_id]"}`

* All calls to topics must be checked for correctness. Topic href calls can be easily faked by clients, so you should ensure that the call is valid for the state the item is in. Do not rely on the UI code to provide only valid topic calls, because it won't.
* Don't expose a topic call to more than what you need it to. If you are only looking for an item inside an atom, don't look for every item in the world - just look in the atom's contents.
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/discord_pr_announce.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,18 @@ jobs:
if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi
echo "SECRETS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT
- name: Send Discord notification
uses: tgstation/discord-notify@v2
uses: tgstation/discord-notify@v3
if: >
steps.secrets_set.outputs.SECRETS_ENABLED &&
(github.event.pull_request.merged == true || github.event.action == 'opened') &&
github.event.pull_request.author_association != 'FIRST_TIMER' &&
github.event.pull_request.author_association != 'FIRST_TIME_CONTRIBUTOR'
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
include_image: true
avatar_url: https://raw.githubusercontent.com/tgstation/tgstation/refs/heads/master/icons/ui/common/tg_32.png
title: ${{ github.event.pull_request.user.login }} - ${{ github.event.pull_request.title }}
message: "GET_ACTION"
include_image: false
show_author: false
avatar_url: https://avatars.githubusercontent.com/u/1363778?s=200&v=4
username: GitHub
title_url: "${{ github.event.pull_request.html_url }}"
8 changes: 0 additions & 8 deletions .github/workflows/run_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,6 @@ jobs:
name: Run Tests (${{ inputs.major && format('{0}.{1}; ', inputs.major, inputs.minor) || '' }}${{ inputs.map }}; ${{ inputs.max_required_byond_client }})
runs-on: ubuntu-latest
timeout-minutes: 15
services:
mysql:
image: mysql:latest
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v4
- name: Setup database
Expand Down
89 changes: 65 additions & 24 deletions _maps/RandomRuins/IceRuins/icemoon_underground_outpost31.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"aM" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/girder,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"aP" = (
/obj/machinery/vending/boozeomat{
Expand Down Expand Up @@ -110,8 +110,8 @@
/area/ruin/outpost31/medical)
"ce" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/obj/structure/reagent_dispensers/watertank/high,
/turf/open/indestructible,
/area/ruin/outpost31/lootroom)
"cf" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
Expand Down Expand Up @@ -215,7 +215,10 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate,
/obj/item/stack/sheet/rglass/fifty,
/turf/open/floor/plating,
/obj/item/stack/sheet/glass/fifty,
/obj/item/stack/sheet/iron/fifty,
/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
/turf/open/indestructible,
/area/ruin/outpost31/lootroom)
"dW" = (
/obj/effect/turf_decal/stripes/line{
Expand Down Expand Up @@ -314,6 +317,11 @@
/obj/structure/fluff/shower_drain,
/turf/open/floor/iron/freezer,
/area/ruin/outpost31/crewquarters)
"fd" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"fC" = (
/obj/structure/chair/stool/directional/south,
/obj/effect/decal/cleanable/dirt/dust,
Expand Down Expand Up @@ -369,7 +377,11 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/table,
/obj/item/organ/brain/cybernetic/ai,
/turf/open/floor/plating,
/obj/item/cautery/advanced{
pixel_x = -5;
pixel_y = 13
},
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"gM" = (
/turf/open/floor/iron/white,
Expand Down Expand Up @@ -410,8 +422,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate,
/obj/item/storage/toolbox/electrical,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"hC" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/structure/sign/warning/no_smoking/directional/south,
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/icemoon/underground/explored)
"hD" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
Expand Down Expand Up @@ -464,8 +481,13 @@
"jl" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/table,
/obj/item/paper,
/turf/open/floor/plating,
/obj/item/retractor/advanced,
/obj/item/scalpel/advanced{
pixel_x = 3;
pixel_y = 12
},
/obj/structure/broken_flooring/pile/always_floorplane,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"jv" = (
/obj/effect/decal/cleanable/dirt/dust,
Expand Down Expand Up @@ -678,7 +700,7 @@
/obj/structure/closet/crate,
/obj/item/storage/toolbox/mechanical,
/obj/item/storage/toolbox/mechanical,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"nJ" = (
/obj/effect/decal/cleanable/dirt/dust,
Expand Down Expand Up @@ -905,6 +927,11 @@
/obj/machinery/light/broken/directional/east,
/turf/open/floor/plating,
/area/ruin/outpost31)
"sj" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/broken_flooring/pile/always_floorplane,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"sk" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/storage/toolbox/mechanical,
Expand Down Expand Up @@ -1132,6 +1159,11 @@
/obj/structure/tank_holder/extinguisher,
/turf/open/floor/iron/textured_half,
/area/ruin/outpost31)
"wy" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/girder,
/turf/open/indestructible,
/area/ruin/outpost31/lootroom)
"wE" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/table,
Expand Down Expand Up @@ -1173,6 +1205,10 @@
},
/turf/open/floor/wood,
/area/ruin/outpost31/kennel)
"xN" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/indestructible,
/area/ruin/outpost31/lootroom)
"xP" = (
/obj/machinery/door/airlock/external/glass/ruin,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer2,
Expand Down Expand Up @@ -1505,7 +1541,7 @@
/obj/machinery/light/warm/directional/west,
/obj/structure/table,
/obj/item/mod/module/flamethrower,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"DM" = (
/obj/structure/table/wood,
Expand Down Expand Up @@ -1920,10 +1956,15 @@
/area/ruin/outpost31/kennel)
"ME" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate,
/obj/item/stack/sheet/iron/fifty,
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/obj/structure/closet/crate/freezer,
/obj/item/organ/heart/cybernetic/tier2,
/obj/item/organ/liver/cybernetic/tier2,
/obj/item/organ/lungs/cybernetic/tier2,
/obj/item/organ/stomach/cybernetic/tier2,
/obj/item/organ/eyes/robotic,
/obj/item/organ/ears/cybernetic/upgraded,
/obj/item/organ/tongue/robot,
/turf/open/indestructible,
/area/ruin/outpost31/lootroom)
"MK" = (
/obj/structure/tank_dispenser/oxygen{
Expand Down Expand Up @@ -2187,7 +2228,7 @@
id = "thingbosslootroom";
name = "Storage Room 2"
},
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"RR" = (
/obj/structure/closet/cabinet,
Expand Down Expand Up @@ -2247,7 +2288,7 @@
/area/icemoon/underground/explored)
"SW" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"Td" = (
/obj/machinery/light_switch/directional/south,
Expand Down Expand Up @@ -2404,7 +2445,7 @@
/obj/item/vending_refill/cola,
/obj/item/vending_refill/cigarette,
/obj/item/vending_refill/boozeomat,
/turf/open/floor/plating,
/turf/open/indestructible/plating,
/area/ruin/outpost31/lootroom)
"VM" = (
/obj/machinery/light/small/dim/directional/west,
Expand Down Expand Up @@ -2784,7 +2825,7 @@ Yo
Yo
Yo
TP
IL
hC
yo
ce
dV
Expand Down Expand Up @@ -2828,9 +2869,9 @@ Yo
Yo
IL
yo
SW
SW
SW
sj
xN
fd
SW
SW
SW
Expand Down Expand Up @@ -2871,10 +2912,10 @@ Yo
sK
yo
ME
aM
aM
SW
wy
wy
SW
sj
SW
VK
yo
Expand Down
Loading

0 comments on commit b1bd4b6

Please sign in to comment.