First round of tuning after the addition of new electrical storms,
changes in behavior, etc. Details in the changelogs, but apart from
general balancing of event weights and effects, this PR also expands the
description info on Telecomms machinery to communicate that you need to
use Nanopaste to repair them (which I don't think was documented in-game
anywhere), and also adds a stack of Nanopaste to the TComms vestibule to
facilitate repairs if no one is around to produce the stuff.
Also you can beat Telecomms machinery with a stick to start garbling
them now! Take that, Medical channel!
There will probably be another round of balancing after this to make
sure the events all feel and play maximally right/fun.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Some functional updates to events:
**Comms Blackouts:** Now has a variant (min. 6 pop,
engineering-weighted) which gives each machine a 10% chance to take a
little integrity damage. Additionally, Telecomms Processors now factor
their integrity damage into their ability to decompress messages, so
this alternative comms blackout might cause radio transmissions (either
global or for a given department) to start getting a little garbled- not
enough to genuinely impede comms, but enough to justify Engi to fix them
up.
**Prison Break:** Given how rarely we actually have people sitting
around in the prison waiting for breakouts over the course of a given
round, this event has been changed to be more akin to the existing
Containment events- the entire department (minus armory, nuke storage,
checkpoints, etc.) are at risk of lights blown, access issues, etc. Just
a little more variety added to the mix.
**Space Vines:** Minimum 4 pop to fire. Shouldn't matter much in the
grand scheme of things, just reduces annoyance factor for extremely
low-pop if they roll some vines that fuck them up. Will look into
refactoring that event so that the danger factor of the vines increases
with population, and remove the min pop requirement again.
**Drone Revolution:** Minimum 4 pop to fire. Again, shouldn't matter
much in the grand scheme of things but this highest tier event will
seriously fuck up anyone who latejoins and uses the maints to, say, help
set the ship up during low pop! No I'm not salty!
**Electrical Storm:** Refactored this and restored the Mundane and Major
variants. While we want this event to keep Engineers on their toes and
provide openings for people to break regs if they so wished, most of the
event is theater (lots of flickering lights now!) While the Mundane and
Moderate variants are mostly flavorful and will just give Engineers a
few excuses to visit different departments and RP with people, Major
events will be your 'all hands on deck' affairs (as Major events are
ought) and in very rare circumstances could even cascade into more
serious issues. Did a ton of unit testing on this and feel very good
about how each variant actually looks, will make any additional tweaks
if needed once we see how it plays with an actual population!
The Event Probabilities sheet was also very out of date, missing Comet
Expulsion, had the old Viral Outbreak, lots of old values, etc. Updated
all the events, and also updated the % formulas to factor in minimum
population- changing the 'Assumed Personnel' values at the top to a
level below the minimum population for a given event will now correctly
set its probability to 0%, making it clearer what actual odds are given
different pop levels.
I also don't think pop_needed was working correctly: various changes in
there to get it behaving.
Obv this PR grew in scope from outset and touches a small handful of
different things, so lmk anything to mix and match and change and drop.
!review
See title. Adds additional requirement of a minimum 8 pop to Greimorian
Infestation events to reduce common lowpop headaches.
Set min pop reqs for events to 1, reduce the likelihood of the Horizon
turning into a genestealer-infested space hulk during long uptime.
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
Updated tracy to our v25092024.
Removed tracy client 0.10 and added 0.11.1.
Binaries from our release system (that I also had to update), client
from tracy upstream.
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.
This is based on, and should only be merged after, #19847
Fluff papers now update the free space on the paper correctly on
initialization.
Moved all the fluff paper in code, from the maps.
Added maplinting for fluff papers.
Added DMDoc for fluff papers.
changes:
- rscadd: "BAPI - mapmanip multiz support."
needed for the current map freeze
before, multiz dmm maps were not handled at all, always assuming there's
one zlevel (reading and writing)
now with this PR, multiz dmm maps will be handled correctly, both
submaps and the maps they are inserted into
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
changes:
- rscadd: "BAPI - mapmanip submap performance improvements."
- rscadd: "BAPI - mapmanip script."
perf improv in the form of changing the map container from hashmap to a
flat grid
hashmap was only bad for big maps with lots of submaps - did not affect
horizon with its one small submap
the script:

---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
changes:
- rscadd: "BAPI - mapmanip submap noop handling."
- rscadd: "BAPI - mapmanip submap repeat setting."
both features are explained in forum thread
<https://forums.aurorastation.org/topic/20511-mapmanip-guide-submaps/>
but basically:
- "noop" areas and turfs has special meaning and determine whether the
submap manipulation is more like "replacing" or "appending"
- repeat setting controls whether extracted submaps should repeat on
insertion
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
Minor refactor of the APC file, turned biteshifts into the BITFLAG
macro, reordering.
Added APCs maplints.
Fixed maps to pass the maplints.
APCs now draw time-constant power.
Removed power objects handling code, only the powersink existed that
used it.
Refactored powersink to use the processing subsystem, made it
time-constant, DMDoc'd.
Made powersinks drain power from an APC faster.
More bapi work, docs, etc.
The actual changes seen from DM side, is that all maps are parsed and
checked by spacemandmm. It does not really add much safety for us, as
everyone uses strongdmm anyways (which uses spacemandmm), but I will
need to do that anyways in future work.
The bapi call is on every map in the maploader, so if it does not work,
if it crashes or panics or whatever, we'll see it immediately (cause the
maps don't load). It should work fine, though, unless the setup is
wrong. I wrote more about safety and other things in readme text file in
rust/bapi dir.
So, yeah. The point of this PR is to do something meaningful with bapi,
and see if the whole workflow and setup and everything works correctly,
before doing any further work in future PRs.
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
# what and why:
byondapi stuff
byondapi is cool
implementation is very heavily inspired by
https://github.com/ParadiseSS13/Paradise/pull/25328
this PR adds a very minimal but usable rust project to the repo
this was test-merged to see if it actually works in game on the live
server
but as it is now the PR does not add any byondapi calls to dm code
---------
Co-authored-by: DreamySkrell <>
Ports and adapts TG's maplint, not all checks it has are present, this
is just the first iteration.
Updated python dependency to 3.11.9.
Updated bootstrap.
Fixed various maps to not fail maplint.
* sdaf
* sdaf
* sdfa
* sadf
* sfda
* gfd
* reduce thrusters volume
* sdafsadsdaf
* sdfa
* Reduced some sound ranges and made some/more not ignore walls for loops
* health analyzers too
* ivdrip adjustment
* most tools now use play_tool_sound to have the sound played, reduced range for it
* after dark
* FIXES
* breakin
* butt
* Update code/game/objects/items/devices/floor_painter.dm
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
* Update code/game/objects/items/devices/floor_painter.dm
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
* Update code/game/objects/structures/lattice.dm
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
* testing 1
* a
* FUCK THIS PRESET!!!
* allah
* OTEMACHI
* tis' done
* Project Exorcism : Sneed's Snairs (Formerly Chuck's)
* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm
* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm
* Update stools.dm
* Update code/game/objects/structures/stool_bed_chair_nest/stools.dm
* Update code/game/objects/structures/stool_bed_chair_nest/stools.dm
* Update stools.dm
* Update chairs.dm
* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm
* inhand fixes
* airlocks (matt has cooked)
fuck
* my cody plays the mamba
* fuck
* fixes layering issue
* airlocks and everything else Please fucking kill me
* underlays
* unfuck blending
* finished replacing old ass shit
* your ass is geass
* conflicts die now
* public fat'wa
* progress on walls and windows
* more mapping
* baltimore accents be like
* minor progress
* monitors
* fire alarms and apc adjustments
* apcs pixel adjustments, final airlock look
* also grilles
* shuttle wall start plus shuttle windows
* starting consoles
* table outlines
* I love broke ass sprites
* fixing the stupid ass exterior walls
* light fuckery
* terminal directionals, external airlocks, table fixes, blahblahblah
* fix 1
* fix 2
* some more fixes
* fix chairs
* basic untested railings and updating colors from atteria
* bridge and some fixes
* removing some artifacts on the new walls
* breaking wood tables and adding 4 wall materials
* fix
* compile & wood fixes
* make the horizon compile again
* railings, firedoors, ATMs, intercomms and tables again
* mapping begins also some tweaks to map view of icons
* full tile steel walls
* i sure hope nothing bad happens
* airlock updates (untested)
* reverts most wall machinery
* skull
* wall coloring
* makes the tg wood chill out
* work on airlocks
* hull consistency
* cause you live forever in the lights you make
* whoops can't show that in a christian manga
* terminals should be on walls and everything's hunky dory now
also i changed the wood stuff as per atteria's suggestion
* fixing airlocks
* fixes
* window resprite, coloring adjustments
* scc hull resprite
* new grilles, frame edits, and borosilicate
* greyscale wood palette improvement
* shuttle windows
* window frame fix
* apc update
* refit and reshaded fire alarms
* mapping icon fixes
* table fixes
* map fixes, platforms and stairs
* updates cutter, new walls and terminals
* mapping fixes
* fix preview
* preview fix stone
* stairs
* initial work for the map
* railing and windowpane fuckery
* new external airlocks
* a
* fix the maps in preparation
* wall object pixel offsets
* air alarms D1
* extinguisher cabinets
* APC DESTROYED MISSION ACCOMPLISHED GOOD WORK
* deck 3: floor decals, APCs, air alarms, fire extinguisher cabinets
* deck 3: fireaxe cabinet
* /shuttle_landmark/distress/blue, move base_turf from map to obj def
* intercom presets
* formatting
* deck 1: floor decals
* deck 2: named area fix (LMAO), signs to use single quotes
* deck 2: floor decals, APCs, air alarms, fire extinguisher cabinets, fireaxe cabinets
* Platforms and stairs!
* grates and bugfixes
* Angled ship walls + grate color fix
* corrects apc anim overlay
* deck 2 and away site fixes
# Conflicts:
# maps/sccv_horizon/sccv_horizon-2_deck_2.dmm
* deck 2 missing grate
* warning stripes
* railings and ledges
* windows and fixtures
* windoorsagain
* airlocks pt1
* windows de-seamed and transparent
* airlocks and pixel offsets
* fixes for airlocks
* more airlock fixes
* presets for ringer, request console and newscaster
* 132
* asfsaf
* kitchen tiling
* thicker freezer tile bevels
* More angled walls
* New shutters and blast doors
* directional corrections
* ops railing fixes
* updated window map things and shutters
* value changes and blast door changes
* Ledges and platforms galore (D2/D3)
* all decks: fix door dirs
* all decks: newscasters, intercoms, requests consoles, ringer consoles
* helm light blue decals to dark blue
* supermatter door dir fix
* fix directional presets (dirs/offsets): newscaster, intercom, requests console, ringer console
* firedoor changes
* deck 3: overlapping wall mountables fixes
* map changes
* airlock changes
* map tweaks
* airlock & stair icons
* various mapping modifications
* Double airlocks + fixing denied states + fixing airlocks on all levels
* Rebase
* directional terminals buttons and lights again, platform tweaks
terminal north facing sprites, atm/food terminal directionals
proper door control and lightswitch directionals (presets still need to be set up, mapping)
re-adds new light tube sprites, again
new sprites for floor lights and the other stuff that got added
adjusted platforms to be recolorable, added light and dark versions, fixed some shading
* missing ERT outfit thingy fix
* floor lights fixed
* deck 3: various small fixes
* deck 1: various small fixes
* deck 2: various small fixes
* fixes
* d2 fixes & multitile door fix
* d2 fixes, remove unused airlock files, button icon fixes, window icon fixes
* make it actually compile, oops!
* make it actually compile, pt2
* CE office camera
* pew pew pew
* pew pew pew 2
* fixes
* deck 3: buttons fixes
* deck 3: button and other fixes
* deck 3: fixes and stuff
* D1 fixes & skrell airlocks
* minor D2 tweaks
* a lot of airlock-related fixes, glass tables, paint sprayer fixes, decal fixes, changelog
* maintenance hatch sprites
* fixing double doors
* flips multi-tiles, fixes multi-tiles, adds desk windoors
* new plastic flaps
* deck 2: a few buttons
* side + middle doors
* created paths for 3-tiles doors
* apply to map the 3 tiles airlocks
* some fixes, windoor alpha
* remove this random ass potted plant
* more map fixes
* holodeck disposal pipe fix
* secure airlock sprites
no code or obj definitions yet
* vault airlock
* vault door fixes
* scc window alpha
* adjusts double door glass, firedoor open state
* adjusts construction states for doors
* remove some defunct icons and fix anims
* assembly stuff
* pharma fixes
* vault door dir
* firedoor smart generation moved to its own proc
* lift doors, d1 fixes
* firedoor smart generation: adjacent wall check
* firedoor smart generation: adjacent firedoor check
* all decks: missing firedoor and other fixes
* deck 2: weird maint stairs fix
* oops
* diona airlock fix
* the shuttle wall gigadeath
* fixes
* some fixes for leftover map item paths, and double lattices
* new diona walls
* more fixes
* and more
* deck 1: fix out of bounds keys
* deck 3: fix out of bounds keys
* runtime 3: duplicate APCs fix
* all decks: make all 3 tile wide doors glass
---------
Co-authored-by: Wezzy <wowzewow@gmail.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
Co-authored-by: kyres1 <noodle.buster31@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: atteria <tarkona@protonmail.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com>
Co-authored-by: naut <nautilussplat@gmail.com>
Co-authored-by: naut <55491249+nauticall@users.noreply.github.com>
* Fixes errors when running dependencies.sh outside github
* Adds PreCOmpile/InstallDeps/WatchdogLaunch Script heavilybased on tgs versions
* removes tgui artifacts -> using server side build script instead
* removes librust_g.so -> using server side build script instead
* adds .tgs.yml
* Bump Flyway Version
Co-authored-by: Werner <Arrow768@users.noreply.github.com>