70 Commits

Author SHA1 Message Date
John Willard
7199947c08 [MDB IGNORE] [IDB IGNORE] WIP TGU (#1427)
Several months worth of updates.

---------

Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: Ray <64306407+OneAsianTortoise@users.noreply.github.com>
Co-authored-by: Cure221 <106662180+Cure221@users.noreply.github.com>
2025-11-06 08:20:20 -05:00
John Willard
942751868e [MDB IGNORE] [IDB IGNORE] March '25 TGU (#1386)
* TGU
2025-03-23 15:36:10 -04:00
A miscellaneous Fern
9bd86e85b5 June/July TGU: Loadout menu, flatpackers and... whatever else! (#1230)
* Initial Commit

* Not quite all was staged, apparently.

* Multiline no longer necessary

* For my convenience...

* Forgot an important little tidbit in routes.tsx

* This updated, apparently.

* And now hell breaks loose

* First batch

* Second Batch

* Third batch (Unit Tests)

* Improvised shotgun ammo is gone; Vibebots are refactored

* UpdatePath sweeps in our fulp_modules/_maps folder

* I can't bring myself to do it.

* Map stuff

* Didn't mean to leave this uncommented

* I carpet-bombed them with Find-Replace. Let's see what linters think

* I sure do hope this is comprehensive and doesn't break other things

* This may take a while

* Next Round

* Hopefully the last batch before getting on with actual fixes

* Telescreens

* :/

* Stragglers

* Helio Emergency Shuttle; NearStation adjustments.

* Only one more commit for greenchecks... Shuttle code be dammed.

* Pff, the file was missing

* Same treatment as the other map files.

* Missed a comma :P

* BZ chambers for Xenobiology

* Odd. Most of these got done earlier. Not sure why this one wasn't.

* Mapping sweep. I didn't adjust C_tags in Theia. Another time.

* The balloon alerts overlap

* I hate TGU I hate TGU

* I meant to say "I hate TG" on the last one. Freudian slip.

* Fix Fix

* Nanite research cost rebalance

* TGU-Update: Step 0

* Yeah I figured it'd do this.

* I accidentally undid this

* Failed to catch this one

* I don't trust hundredths not to break or be broken somewhere.

* Little air alarm tweaks

* Ports #1228

* Stuff I missed

* Silly

* TGU so nice we're going to make it thrice

* Yarn

* Should be all? Fixes cult stun too.

* Thermomachine layers

* Free square spellcheck to rerun tests and see if it's consistent

* All credit goes to QLA for reminding me to actually do this

* Update to e40becd742

* github folder
2024-08-06 20:17:51 -04:00
Nick
38091b4914 April TGU: Virologist is gone (#1200)
* Initial merge

* Map files

* dme mon ami

* Cult span renames

* updatepaths

* AltClick renamed to click_alt

* beefman hair color stuff

* bye bye beefman viro

* get_all_gear

* Updated mentor refresh verb

* bloodsucker rack atom_deconstruct

* removed LateInitialize from nanites machines

* brain trauama now calls parent on_lose

* readme

* greyscale fulp edit

* arrival sound fulp edit

* tgui routes fulp edit

* build.js fulp edit

* fulpui-patches

* Missed a couple of shuttles

* tgui files

* Map updates

* tgui tweaks and screenshots

* fixed typo

* halloween beacon texture

* Vault piggy banks

* beacon icon fr

* Selene cargo chat console

* selene labour shuttle

* Photobooths!

* Moved photobooth button on selene

* Theia updates

* Reset maps.txt

* Order consoles

* Ports TG's #82906, fixes plasma cutters

* Theia vault piggy bank

* CLICK_ACTION_SUCCESS for coffin alt clicking
2024-05-10 16:24:54 +02:00
SomethingFish
edb232b692 March TGU (#953)
* lol.

* bit of changes

* deletes stuff

* some map path updates

* more changes

* deletes unit test that was gonna be deleted in tg

* see if this fixes anything
2023-04-04 22:12:01 -04:00
A miscellaneous Fern
f3397e3136 January TGU - First Draft (#879)
* Update beefman.dm

* Update beefman.dm

* xsaxsfvvvvvvvv

* Update shaded_bloodsucker.dm

* yeah that thing

* FUCK you

* Update hunting_contract.dm

* dd

* vdvdfv

* Update monsterhunter_weapons.dm

* Update whiterabbit.dm

* onokkn

* Update monsterhunter_weapons.dm

* Update monsterhunter_weapons.dm

* efe

* Update whiterabbit.dm

* yeaywa

* Update red_rabbit.dmi

* oihop

* Update HunterContract.js

* wonderland.dm

* gs

* dcd

* Update rabbit.dmi

* ass

* fvd

* Update paradox_rabbit.dm

* f

* Update tgstation.dme

* Delete heartbeatmoon.dmi

* shtntb

* sed

* sfe

* Update monsterhunter_weapons.dm

* cdc

* Update wonderland.dm

* dgrd

* wef

* b

* pipkk

* Update hunting_contract.dm

* Update paradox_rabbit.dm

* wr

* Update worn_mask.dmi

* some documenting

* Update areas.dm

* eg

* Update white_rabbit.dm

* Update HunterContract.js

* s

* Update weapons.dmi

* Update weapons.dmi

* Jack in the bomb

* some signals

* ui

* h

* y

* music

* Update wonderlandmusic.ogg

* f

* v

* cleanups

* g

* a

* t

* y

* g

* a

* o

* first commit

* Adding our stuff back in

* k

* Before procs

* proc refs

* carps

* Fixes

* shuttles

* dumb dumb names

* I hate windows I hate windows

* I hate windows I hate windows

* h

* Selenestation has issues

* Update monsterhunter_weapons.dm

* eretics

* Update weapons.dmi

* Update monsterhunter_weapons.dm

* g

* kpop

* r

* m

* grgr

* Update simple_animal_freeze.dm

* Update wonderland_apocalypse.dm

* Update wonderland_apocalypse.dm

* d

* Update fulp_defines.dm

* ff

* Update wonderland.dmm

* Update tgstation.dme

* Update infil_objectives.dm

* Update infil_objectives.dm

* Update monsterhunter_weapons.dm

* Update monsterhunter_event.dm

* Update monsterhunter_event.dm

* Update areas.dm

* Update monsterhunter_event.dm

* Update monsterhunter_weapons.dm

* Step 0, version 2

* step 0.5 - version 2

* step 1 - version 2

* 2.5 version 2

* fix

* Mapping

* okay fine

* more mapping

* uuuuu
hhhh

* fixes

* help me

* hurry

* I'm killing the mf that did access helpers on this map

* Welp, we lost.

* Or did we?

---------

Co-authored-by: SmoSmoSmoSmok <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: SgtHunk <68669754+SgtHunk@users.noreply.github.com>
2023-02-01 03:57:55 -03:00
FernandoJ8
342a7cc502 Ports the halloween races fix from tg (#70874) (#842)
* if(!(SSevents.holidays && SSevents.holidays

* fuck this formatting in particular
2022-11-06 01:06:17 -03:00
Pepsilawn
450295354b Updates the Fulpstation codebase to the 01/08/2022 version of the tgstation repository (#755)
* Automatic changelog compile [ci skip]

* Update readme.md

* Automatic changelog compile [ci skip]

* what

* Wow

* Foiled by my very own grep check

* dont tell anyone i forgot to update basemaps

* The gags vendor updatepath script is broken

* can be untg-edited later just want to see TGU running soon

* Revert "can be untg-edited later just want to see TGU running soon"

This reverts commit c14b2be919.

* I like this better

* test

* i am sleep deprived

* Humanoid screenshot tests 4 backpack resprite

* infils have backpacks too apparently

* makes bloodsuckers not cooldown anymore

* removes more cooldowns

* fixes some bugs

Co-authored-by: Changelogs <action@github.com>
Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-08-05 02:26:53 -04:00
John Willard
d759c95177 TGU (Saves Selenestation) (#716)
* tgu

* Update routes.js

* dme

* Fixes proc holders 'n' stuff

* updates fulp maps + minor bs fix

* prettier

* AI uploads

* prettierx

* you should pass ci... now!

* Update _spells.dm

* F this Ci

* selene evac shuttle

* fixes targeted powers

* tgu

* Update barsigns.dm

* Fixes Ci

* prettierx
2022-07-11 21:38:54 -06:00
John Willard
5bea28c809 [MDB IGNORE] April TGU (#602)
* im so confused

* fix helio

* fix to maps

* FIXES

* fixes bloodsucker powers

* fix targeted powers

* re-adds kindred archives

* cryo fix to all maps + selene fix

* visible instead

* pubby incinerator

* pubby new chem and area fixes

* ???

* incinerators

* more map fixes

* fixes beef limbs

* im lost

* update again

* stuttering

* maybe fixes checks

* Update bloodsucker_datum.dm
2022-04-18 20:07:38 -06:00
Pepsilawn
f9928fac60 [MDB IGNORE] [IDB IGNORE] feubrary tgu (#505)
* Automatic changelog compile [ci skip]

* Update readme.md

* Automatic changelog compile [ci skip]

* what

* swagging

* i lied about the laundry room bit that was never part of the first commit but it is now although only solitaire and pubby has it because one the others its not a proper room because its open into dorms or the bathrooms

* woops

* there we go

* WHY was pubby beepsky a varedited secbot instead of the normal subtype

* PLEASE tel me i caught them all

* defeats heliantus

* Update Solitairestation.dmm

* Update Heliostation.dmm

* please tell me thats all of them

* i am full of rage

* i THINK thats all for the dupe cables

* should be good

* i never want to see heliostation again in my life

* sexy mime override

* merge conflicts in exchange of linter fails

* solitaire

* Update tgstation.dme

* solitaire locker room

* will that fix it

* Update beef_station.dmm

* Update tgstation.dme

* linters

* Update Solitairestation.dmm

* linters

* tgu again

* restores the readme

Co-authored-by: Changelogs <action@github.com>
Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-02-10 19:58:29 -07:00
John Willard
03e71941bd [MDB IGNORE] [IDB IGNORE] September TGU (#351)
* tgu

* repath

* tgu again

* Pubby update

* starting on preferences

* starting on bloodsuckers

* more tgui

* deputies and monster hunter

* finished beefmen

* Update beefman.ts

* Tgu map changes (#8)

* selene areas and slight fixes

* fixes helio areas and other small stuff

* tgu

* fulp bans thank you beatrice

* test

* Update bans.dm

* Update bans.dm

* full access

* Revert "full access"

This reverts commit 6b4f0d2822.

* tgu

* another tgu

Co-authored-by: Helianthus00 <64755361+Helianthus00@users.noreply.github.com>
2021-09-19 12:52:05 -06:00
John Willard
e5bfc6fa44 TGU (#318)
* Automatic changelog compile [ci skip]

* Update readme.md

* Automatic changelog compile [ci skip]

* merges TG into branch, ensures all fulp files are untouched and fixes dme

* does what the first commit says

* jobs fix

* Pubbystation

* Heliostation & Selenestation

* Update SeleneStation.dmm

* Revert "Update SeleneStation.dmm"

This reverts commit e618bb20a2.

* permabrig

* fix things haha awesome !

* stuff

* huds

* Update PubbyStation.dmm

* TGU

* roundend report

* edit

Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Helianthus00 <64755361+Helianthus00@users.noreply.github.com>
2021-08-05 19:59:54 -06:00
John Willard
6f485927f8 TG Update (#104)
* Updating GBP from PR #57981 [ci skip]

* Removes total_moles_specific, just use gaslists normally. I don't know how I missed this (#57973)

* Refactors pellet_cloud/create_cassing_pellets to not sleep (#57974)

Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>

* Automatic changelog generation for PR #57974 [ci skip]

* Updating GBP from PR #57974 [ci skip]

* Fix Tooltip documentation (#58013)

* Remove SS_NO_TICK_CHECK (#57800)

## About The Pull Request
This is a whopper, will need @MrStonedOne to review.
In theory this flag shouldn't be needed and my own testing didn't find any issues, but I'd feel better with a lengthy test merge.

## Why It's Good For The Game
Might make nightshift subsystem lag less, MC loop has less stuff to check.

* Updating GBP from PR #57800 [ci skip]

* Reorder the list of items in more outfits. (#57801)

On my quest to make outfits easier to read and fix some small mistakes by applying a priority order.

ID > uniform > suit > backpack > other clothing in alphabetic order > pockets > hands > others

Moved the base/assistant plasmaman outfit from the middle of the standard file to the top of the plasmaman outfit file.
Reorganized the plasmaman outfit order to have jobs within a department close to each other.
Moved the Death Commando outfit into the ERT file together with a line that adds mindshields to CentCom outfits because I had to dig to find that a long time ago...

Also fixes detective plasmaman spawning with a worse headset and plasmamen prisoners spawning with a different shoe.
Like... how no one has seen that plasmaman spawn with the wrong headset? Do we have no plasmaman sec? Yes I know the answer...

* Automatic changelog generation for PR #57801 [ci skip]

* Updating GBP from PR #57801 [ci skip]

* Fix sql changelog (#57972)

Fixed bad SQL that I originally wrote in the changelog for 5.11, anyone trying to update their schema from < 5.11 up would notice this.

* Test newest version of gbp-action (#57980)

Read about it here: tgstation/gbp-action#28

TLDR: Less race conditions, and all logs are now pushed to a separate branch. The new location of gbp-balances.toml is in the gbp-balances branch. Will most likely be able to delete the one in master so people don't get confused.

This required a workflow update, and so was not directly pushed to master. This currently uses my PR branch directly so that I can make changes for anything that doesn't work. When it is solid, I will push it to master and we will go back to gbp-actions@master, or some pinned version.

* Fixes mech HUD's not being properly removed (#57964)

Fixes mech hud's not being removed when leaving the odysseus or clarke

* Automatic changelog generation for PR #57964 [ci skip]

* Resprites the fork! (#57490)

About The Pull Request

This PR resprites the fork.

image
Why It's Good For The Game

The old fork was really tall and black.

Forks are really hard to sprite but i think this is an improvement.
Changelog

cl
imageadd: The fork has a new sprite.
/cl

* Automatic changelog generation for PR #57490 [ci skip]

* rpds can now interact with the unwrench upgrade (#57959)

Adds the functionality to upgrade the RPD by 'slapping' the unwrench upgrade disk with the RPD itself

It doesn't exactly revolutionize gameplay and at most allows engineering cyborg players to at least upgrade their RPD to unwrench saving them a headache and a module slot when doing their thing I suppose

* Automatic changelog generation for PR #57959 [ci skip]

* Automatic changelog compile [ci skip]

* Fix collect changes (#58022)

* Xenomorphs can now strip humans again (#58007)

* Automatic changelog generation for PR #58007 [ci skip]

* Fix back not respecting internals (#58012)

* Automatic changelog generation for PR #58012 [ci skip]

* Layer overhaul (#57915)

## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._

* Resprites all gas vending machines (#57919)

The existing sprites are an amalgamation of parts of existing sprites, this PR replaces them with original sprites designed for the devices

Sprites were made by me and were recolored by maxymax13

* Automatic changelog generation for PR #57919 [ci skip]

* Update arcade.dm (#57984)

* Automatic changelog generation for PR #57984 [ci skip]

* Hand Drill Sound is now smoother on the ear. (#58004)

* Automatic changelog generation for PR #58004 [ci skip]

* Fixes Orion bad messages  (#58018)

* Automatic changelog generation for PR #58018 [ci skip]

* A non-functional heart no longer causes heart attack if you have Muscled Veins (#58016)

* Automatic changelog generation for PR #58016 [ci skip]

* Nerfs holodeck thunderdome suits (#58011)

* Automatic changelog generation for PR #58011 [ci skip]

* You can now manufacture bone gel (#58006)

* Automatic changelog generation for PR #58006 [ci skip]

* Fixes Antigravity Grenades  (#57991)

* Automatic changelog generation for PR #57991 [ci skip]

* Fixes flying damage slowdown applying to the floating movetype instead. (#57994)

* Automatic changelog generation for PR #57994 [ci skip]

* Fixes lights on people (#58000)

- Fixes light eaters not putting out lights on people.

* Automatic changelog generation for PR #58000 [ci skip]

* CTF spawner awareness in tips (#57995)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57995 [ci skip]

* Fixes incorrect params passed into callback function causing server crashing numbers of runtimes. (#58020)

[21:03:59] Runtime in change_turf.dm,301: type mismatch: /turf/closed/mineral/random/vo... (/turf/closed/mineral/random/volcanic) & 18
  proc name: AfterChange (/turf/open/AfterChange)
  src: the volcanic floor (135,80,3) (/turf/open/floor/plating/asteroid/basalt/lava_land_surface)
  call stack:
  the volcanic floor (135,80,3) (/turf/open/floor/plating/asteroid/basalt/lava_land_surface): AfterChange(/turf/closed/mineral/random/vo... (/turf/closed/mineral/random/volcanic), null)
  /datum/callback (/datum/callback): InvokeAsync()
  Timer (/datum/controller/subsystem/timer): fire(0)
  Timer (/datum/controller/subsystem/timer): ignite(0)
  Master (/datum/controller/master): RunQueue()
  Master (/datum/controller/master): Loop()
  Master (/datum/controller/master): StartProcessing(0)

x9000

Missing args in callback meant two runtimes each time a turf was mined, exploded, blown up etc.

Causes openspace to mess up if the server runs low on memory.

* Automatic changelog generation for PR #58020 [ci skip]

* Automatic changelog compile [ci skip]

* Lowers rot disease chance (#58034)

Lowered the chance of disease creation by ~60%
Every round was having horrible breakouts, this ought to fix that

* Automatic changelog generation for PR #58034 [ci skip]

* Fixes error sprite from pdas in exosuit storage slots (#58033)

fix: putting a PDA into an exosuit storage slot won't cause the missing texture sprite any more.

* Automatic changelog generation for PR #58033 [ci skip]

* Enhance spray bottle logging while improving code and variable names. (#58070)

* Improve and loog

* Copybara

* Testing feex

* Extra doc

* Feex

* Range start from 1 instead of 0

* Automatic changelog generation for PR #58070 [ci skip]

* Automatic changelog compile [ci skip]

* Feex (#58073)

* Automatic changelog generation for PR #58073 [ci skip]

* trigger spacemandmm reparse in CBT 'Build All' task (#58061)

* Fixes runtimes related to quick equip. (#58043)

Basic sanity and ensure unequip is properly called before equipping again.

* Fixes a moth wing sprite mistake (#58059)

A wing sprite had a silhouette for the mob that I missed in #53969

* Automatic changelog generation for PR #58059 [ci skip]

* Fixes cargo gas canisters not being purchaseable (#58028)

* Automatic changelog generation for PR #58028 [ci skip]

* Fixes Tips Message About Ctf To Be Properly Descriptive Of Ctf (#58050)

* Automatic changelog generation for PR #58050 [ci skip]

* Mansus grasp now can ignite cigars (#58055)

* Automatic changelog generation for PR #58055 [ci skip]

* fix missing atmos features from various station (#57936)

Adds bluespace vendors to tramstation
Setup freezers to use waste loop
Connect delta station freezers to waste loop
Connect kilo station freezers to waste loop

* Automatic changelog generation for PR #57936 [ci skip]

* Revert "Switch tgui tooltips to popper.js" (#58078)

* Revert "Switch tgui tooltips to popper.js (#57992)"

This reverts commit 206c8215de.

* Revert "Fix Tooltip documentation (#58013)"

This reverts commit e692b05a99.

* Fixes a way of obtaining metal in the CTF map downtown (#58041)

* Automatic changelog generation for PR #58041 [ci skip]

* Resprites the lightning orb (#58065)

* Resprites the lightning orb

* Fixes the lightning orb hud icon

* Automatic changelog generation for PR #58065 [ci skip]

* autofire no longer does SIGNAL_HANDLER_DOES_SLEEP (#58066)

* Automatic changelog generation for PR #58066 [ci skip]

* Puts a HPLC in chemistry on tramstation  (#57987)

* Automatic changelog generation for PR #57987 [ci skip]

* CTF players are no longer 13 year olds (#58040)

* Automatic changelog generation for PR #58040 [ci skip]

* reverts map_format changes (#58051)

reverts map_format changes done in #57915

* [READY] Adjusting/porting chemical toxins to fermichem (+Seiver fix) (#57606)

* Automatic changelog generation for PR #57606 [ci skip]

* Internal Affairs actually works as intended now (#58021)

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>

* Automatic changelog generation for PR #58021 [ci skip]

* changes most uses of SSvis_overlays.add_vis_overlay() inside of update_overlays() to true overlays (#57985)

* Automatic changelog compile [ci skip]

* Lights up the alien chambers on the CTF map cruiser (#58042)

* Automatic changelog generation for PR #58042 [ci skip]

* Upgrade tgui dependencies, make yarn task skippable (#58081)

* Upgrade tgui dependencies, make yarn task skippable

* Use a phony target to avoid double rebuilds

* Modifies SecTech ad from beating capitalists to communists (#58083)

* Automatic changelog generation for PR #58083 [ci skip]

* Fixes a minor oversight with eigenstasium (#58069)

* Automatic changelog generation for PR #58069 [ci skip]

* Update dependencies installed for TGSv4 precompile scripts (#58108)

* add libssl1.1

* i was told to add myself to this as well

* Automatic changelog generation for PR #58108 [ci skip]

* Automatic changelog compile [ci skip]

* Prevents morph toxin oversight (#58095)

* Automatic changelog generation for PR #58095 [ci skip]

* TGUI Limbgrower + Limbgrower refactoring and design expansion (#57955)

Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.

Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.

Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.

Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Automatic changelog generation for PR #57955 [ci skip]

* Fixes several exosuit storage slot and back slot worn icon bugs (#57946)

* Adds teleprod exosuit slot worn icon

* ... Really expands what the pr does

* Automatic changelog generation for PR #57946 [ci skip]

* Adds emergency meetings during april fools (#58098)

🆑
add: The captain can now sometimes call emergency meetings using the communications console! Hopefully the crew will be able to sus out any imposters who might be among them!
/🆑

* Automatic changelog generation for PR #58098 [ci skip]

* Allows you to ignite cigars with cauteries and recently-fired revolvers. (#58109)

About The Pull Request

#58055 added this for Mansus Grasp and I thought why the hell not, this is also badass. Fifteen seconds sounds like long enough to do this after firing the gun.

Also EOB noticed you can't ignite cigars with the cautery and that seems odd, so I added that too. Not sure who'd want to do that, but here you go.
Why It's Good For The Game

Gun hot after firing also badassery
Changelog

🆑
add: Recently-fired revolvers can now be used to ignite cigars like a fucking badass.
add: Cauteries can now be used to ignite cigars like a very irresponsible doctor.
/🆑

* Automatic changelog generation for PR #58109 [ci skip]

* Automatic changelog compile [ci skip]

* spelling (#58103)

* Automatic changelog generation for PR #58103 [ci skip]

* Fixes oversight with eigenstasium which teleports you before saving your location (when purity is greater than 90% and ingested) (#57986)

* Fixes oversight

* Why is this so convoluted

* Final fix and test

* Expose is strange

* exposure to reagents may result in confusion, bafflement and hunger. If you feel any of these effects, consult with your doctor.

* lil cleanup

* Automatic changelog generation for PR #57986 [ci skip]

* You can now print cable coils and welding helmets from scilathes and engilathes (#57762)

* Automatic changelog generation for PR #57762 [ci skip]

* Thermomachine have full temperature range on both modes (#57990)

* qol

* better changes

* Update code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57990 [ci skip]

* Persistence now cleans up json entries (fixes a lot of runtimes involved) (#58084)

* super duper persistence cleaning

* compiles now, much better written

* Processable and grillables and microwavables now give helpful examines, some condiment containers also do (#57694)

* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE

* microwaved, too

* HOOH

* LINT, review

* review but this time im not lying :trollface:

* maybe i should just like test or something

* reviews i missed

* 🐑

* Automatic changelog generation for PR #57694 [ci skip]

* Fixes a critical accidental early return (#58128)

Emergency meetings work now

This loop shouldn't give up so quickly
Makes emergency meetings work when there are new players about
Also sets the 'show when dead' var to true so ghosts get the full experience

* Automatic changelog generation for PR #58128 [ci skip]

* Fixes toxin parent reagent purity affecting unintentional reagents  (#58107)

* Automatic changelog generation for PR #58107 [ci skip]

* Add extools compilation to the TGS4 precompile scripts for linux (#58113)

* Automatic changelog generation for PR #58113 [ci skip]

* Add the seeds to the permabrig (#58019)

* Automatic changelog generation for PR #58019 [ci skip]

* lone carpet subtype now doesnt smooth, adds back star carpets (#58104)

rohesie removed star carpets when they added the new smoothing system i think, this brings them back and gives both lone and star carpets a purpose, they no longer smooth, also lone carpets now use the symbol sprite again which has some customization in dirs

* Automatic changelog generation for PR #58104 [ci skip]

* emergency meetings now dont call in mobs with no client (#58133)

* Automatic changelog generation for PR #58133 [ci skip]

* Automatic changelog compile [ci skip]

* Some quick fixes for the dark gygax icon and its uplink description (#58121)

* Automatic changelog generation for PR #58121 [ci skip]

* Makes canister pressure capabilities a bit random and more unstable (#57818)

This is mainly to make bomb making just a little bit less of a formulaic activity. Canister base capacity is 8% lower but is increased by up to 20% from that amount, roughly resulting in the same average capacity. You can experiment to figure out each one's individual limit or just stick to safe minimum pressures.

To counter balance this somewhat, canister failure is a bit more violent. Damaged canisters will slowly leak gas, and a canister that breaks with internal pressure greater than it's capability will explode.

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57818 [ci skip]

* RCD now rebuilds existing constructs faster and with less resources (#58029)

* RCD now rebuilds faster

* Reconstructing now costs less

* Fix _

* Remove unused flag, use helper proc

* Add sound

* Remove previously useless, now inaccurate comment

* Add MIN_COMPILER_VERSION warning

* Automatic changelog generation for PR #58029 [ci skip]

* Injectors, vents and scrubbers no longer work when placed on walls (#57971)

fixes gas deletion exploit by stopping injectors, vents and scrubbers from being placed on walls

* Automatic changelog generation for PR #57971 [ci skip]

* Xenobio outlet fix (#58002)

About The Pull Request

Fixes air outlet injector outside of Xenobiology Lab not being powered
Why It's Good For The Game

Unpowered outlet makes it difficult to siphon air out of Xenobiology Lab
Changelog

🆑
fix: Fixed air outlet injector outside of Xenobiology Lab not being powered
/🆑

* Automatic changelog generation for PR #58002 [ci skip]

* Removes a single stray-pixel on slice of vanilla cake  (#58142)

* Automatic changelog generation for PR #58142 [ci skip]

* Shorten april fools to 3 days (#58144)

this way it covers all the timezones

* Automatic changelog generation for PR #58144 [ci skip]

* Automatic changelog compile [ci skip]

* Adds moffins, a whimsical breakfast pastry (#58110)

* Adds moffins

* slightly different check as requested

* Update code/game/objects/items/food/pastries.dm

I have been got got.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/game/objects/items/food/pastries.dm

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* Automatic changelog generation for PR #58110 [ci skip]

* remove input pass-through from stat panel and just try not to keep focus instead (#58143)

About The Pull Request

The input pass-through didn't work anyway, as it would pass through lower-case keys which our input code doesn't understand (unless you were holding shift or hadcaps lock on.) It also didn't translate arrow keys to NORTH, etc. which is how BYOND expects them.

If you double clicked on the stat panel it would eat all following input from you. If you happened to have caps lock on, you might not notice this because the correct WASD values get passed to BYOND. If you were then to stop walking while holding shift because you want to examine something, your key release would be sent to BYOND as lowercase, causing it to be ignored.

Under all of those conditions, your movement would get stuck in one direction. It's more likely than you think!!!

A similar chain of events could cause Alt releases to not be sent to BYOND due to this as well.

--

The fix is to just give back focus to the map similarly to how TGUI does it. It's not quite as majestic as TGUI, but it seems to have fine results.
Why It's Good For The Game

Nobody likes sticky keys
Changelog

🆑
fix: Stat panel no longer captures input (potentially causing keys to get stuck down)
/🆑

* Automatic changelog generation for PR #58143 [ci skip]

* Actually fixes bots wrongfully failing to pathfind (#58064)

I botched #57873 and made the wrong part of the code return an empty list, so instead of it being part of the wrapper proc (like it was before), it was part of the core pathfinding proc. This meant that sometimes a non-list return value would make it by the wrapper proc when a list was expected, eventually causing bots to fail to respond to summons from AIs/PDAs as I detailed in the last PR. This solves it by ensuring all returns are lists, with the exceptions of invalid callers or endpoints, which should error.

* Automatic changelog generation for PR #58064 [ci skip]

* makes slapping someone in the face more intuitive (#58137)

* Automatic changelog generation for PR #58137 [ci skip]

* Stripping a disconnected player will tell them when they come back (#58129)

* Automatic changelog generation for PR #58129 [ci skip]

* Snappier Firelocks (#57943)

Firelocks are kind of annoying to open since it relies on a 10 second area based timer that is difficult to predict, this tries to solve that.

When forced open with the primary attack, the firelock now checks if you are adjacent to it or not. Our dearest Manuel players can think of it as you manually holding the door back. It is also made to close when you are no longer adjacent or went horizontal (resting, etc.)
This sort of made firelocks snappier and close faster too, and I hope this might help it seal off areas better.

The door will be stuck closed when you leave it however, and that's where the old behaviour comes in. Secondary attack is used to toggle the firelock and surrender it to the timer if an alarm is triggered. Primary attack without a fire alarm triggering cannot keep the door open after you walk away. I hope this is intuitive enough.

* Automatic changelog generation for PR #57943 [ci skip]

* Refactors shielded hardsuits into a component, fixes kisses consuming shield charges (#57797)

Shielded hardsuits (like the syndie ones) and shielded cult robes, despite functioning very similarly, were actually implemented twice in their own pockets of clothing code. This merges them into one component that lets you block a certain number of attacks while your suit has charges, and have the suit recharge itself after going so long without being hit (optional, cult robes still don't regain lost charges).

This PR also fixes harmless kiss projectiles consuming charges on shielded suits, I'm sure to much disappointment. They'll now pass directly through though, so you can still try your luck to see if love truly conquers all (it probably won't).

One casualty of this is that you can no longer toggle the shield color of syndie hardsuits with a multitool since that it was annoying to componentize, not something that affected gameplay, and probably something noone knew you could do anyway.

Fixes: #57723

* Automatic changelog generation for PR #57797 [ci skip]

* Placing a fireman carried person onto a table no longer harms them (#58147)

Previously, clicking on a table with a fireman carried person while not in combat mode would start a do_after(), then harmfully smash the person you fireman carrying into the table. This harmful smash has been replaced by your character merely placing the fireman carried person onto the table, like what happens when you click on a table while not in combat mode while you have someone in a grab. You can still click on a table with a fireman carried person while in combat mode to perform a limb smash, if you wish.

* Automatic changelog generation for PR #58147 [ci skip]

* adds the console (#58127)

* Automatic changelog generation for PR #58127 [ci skip]

* Adds proper logging to Holodeck safeties and programs (#58149)

* Adds proper logging to Holodeck safeties and programs

* a more elegant solution

* Automatic changelog generation for PR #58149 [ci skip]

* Recolors bucket inhand and adds omega soap inhand (#58148)

* '

* Fixed stray pixel

* Automatic changelog generation for PR #58148 [ci skip]

* Automatic changelog compile [ci skip]

* Smart Pipes(reborn) (#58038)

How these new pipes work.
-Smart pipes autoconnect to nearby smart pipes
-They are now color coded, so they only connect to the same colored pipe, the GREY pipe is the wildcard and can connect to every other color, so be aware of this
-ALL components spawned by the RPD can be colored (from pumps to connectors, from pipes to manifolds), if you leave them GREY they can connect to every other color. Color adapters can be colored, but they'll still connect two pipes with different colors. BUILDABLE machines are GREY (thermomachines, cryo, HFR) so be aware of this
-Trying to go across another smart pipe will now build a bridge pipe automatically already colored of the color you choose, so you don't have to place it yourself anymore (is still available in the RPD tho)
-ALL binary components, layer manifolds, color adapters and bridge pipe can be put ONTOP of a smart pipe, but not on another of these. Smart pipes can't be placed on top of these pipes, so you have to build them first.
-Lcrossings can't be made anymore (sorry y'all i tryed, if someone have a way of doing them ping me on discord)
-REMEMBER you still have 5 layers to go, these rules apply to the same layer pipes, so if you do a crossing on different layers you won't see a bridge pipe appear.

* Automatic changelog generation for PR #58038 [ci skip]

* resprite water cooler (#58117)

* Automatic changelog generation for PR #58117 [ci skip]

* Fixes a few roulette wheel runtimes. (#58139)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #58139 [ci skip]

* Stethoscopes now require hearing instead of vision to use  (#58169)

* Automatic changelog generation for PR #58169 [ci skip]

* added colour picking to VV (#58173)

Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>

* Automatic changelog generation for PR #58173 [ci skip]

* Fixes smoker stacking unremovable negative moodlets (#58170)

* Automatic changelog generation for PR #58170 [ci skip]

* Add youtube-dl to tgs4 precompile scripts for Linux (windows users on suspicious individuals watch) (#58135)

Adds the ability for the TGS4 precompile script on Linux platforms to resolve the youtube-dl dependency. This essentially is for Docker deployments, but can also apply to regular TGS4 deployments as well.

* Automatic changelog generation for PR #58135 [ci skip]

* Fixes multiple issues related to suicides (#58178)

* Automatic changelog generation for PR #58178 [ci skip]

* Armless people can no longer buckle people (#58176)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Automatic changelog generation for PR #58176 [ci skip]

* Terror in the Toybox: The Rouny Plushie (#58221)

* rouny plushie

* rouny prizes

* loar

* Automatic changelog generation for PR #58221 [ci skip]

* fix pipe (#58120)

* Automatic changelog generation for PR #58120 [ci skip]

* Automatic changelog compile [ci skip]

* After revolutionaries win, one living headrev (if any are able to) will be allowed to rename the station with a revolutionary banner (#58165)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #58165 [ci skip]

* Delete useless toFixed import in TimeDisplay (#58215)

* Fix a missing icon (#58219)

* Deletes unreachable line for tools/dmi (#58213)

Resolves #58211

* Fixes the borg hug module being able to harm and shove simple mobs  (#58175)

* Automatic changelog generation for PR #58175 [ci skip]

* Pacifists can no longer swat bugs (#58177)

Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #58177 [ci skip]

* Fix PreCompile.bat failing with spaced paths (#58184)

* Fix PreCompile.bat failing with spaced paths

* Undo spacification

* Give miners cargo access on icebox, removes QM office access from cargo techs (#58167)

* Automatic changelog generation for PR #58167 [ci skip]

* revamps meta incinerator (#58198)

* revamps meta incinerator

cleans pipes in meta incinerator

* Update MetaStation.dmm

* [s] Restores Cargo Shuttle Blacklist Enforcement (#58201)

Removed an inappropriate as anything inside the cargo shuttle's blacklist check that was breaking it.

* Automatic changelog generation for PR #58201 [ci skip]

* Player Lobstrosities Can Right-Click To Charge (#58199)

* Automatic changelog generation for PR #58199 [ci skip]

* stat panel focus reset happens _before_ verb commands are ran (#58196)

* Automatic changelog generation for PR #58196 [ci skip]

* Fixes spelling errors in misc.dm (#58194)

* Automatic changelog generation for PR #58194 [ci skip]

* layer manifolds visual fix (#58193)

* Automatic changelog generation for PR #58193 [ci skip]

* Automatic changelog compile [ci skip]

* Moves code managing mobs getting shocked from disease code to mob status code (#58202)

* Venus human traps no longer take cold damage (#58185)

* Automatic changelog generation for PR #58185 [ci skip]

* Deletes duplicate export property (#58212)

* Reduces the amount of unsorted chat messages (#58192)

* Automatic changelog generation for PR #58192 [ci skip]

* et

* Update README.md

* Update beefman.dm

* .

* oh no

i just realized i have to map

* Update mobspawner.dm

* Update tgstation.dme

* Update Heliostation.dmm

* fixes heliostation pipes

Probably. Fuck smartpipes

* Update Heliostation.dmm

* TGU

* dme

* Update build.js

* tgu stuff

* sorry beefmen

* no

* fixes the pipes and other stuff. probably

* last of the fixes

* digi lol

* Update deputy.dm

* TGU

* fixes helio pipes

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: DuffCreeper <treyparn@yahoo.com.au>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: FernandoJ8 <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: ishitbyabullet <deathzombine@outlook.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Iosyf <iosyf123456@abv.bg>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: William Wallace <me@wiox.me>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: LordVollkorn <66637090+LordVollkorn@users.noreply.github.com>
Co-authored-by: SgtHunk <68669754+SgtHunk@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Capsandi <38051413+Capsandi@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: norill <norill@wp.pl>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: BootlegBow <69032410+BootlegBow@users.noreply.github.com>
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Tom <tomforde4@gmail.com>
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
Co-authored-by: InsaneRed <47158596+InsaneRed@users.noreply.github.com>
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: Ben S <tomfhardy@yandex.com>
2021-04-20 23:43:52 -06:00
SgtHunk
353d006659 [TM] TG Update: Combat mode, drone exploration, and more! (#58)
* Updating GBP from PR #57626 [ci skip]

* Simple bots now use a different snowflake method for all access. (#57861)

* Automatic changelog generation for PR #57861 [ci skip]

* Updating GBP from PR #57861 [ci skip]

* Automatic changelog compile [ci skip]

* Defines the interrogation room as unique area and not 4 different var edits. (#57612)

* Defines the interrogation room as unique area and not 4 different var-edits

* Fixes the gaping hole in the wall

* We added a new map at the very end.

* Blaseball

* Committing the changes

* Rebuilds the deltastation setup in case it's actually breaking something...

* Automatic changelog generation for PR #57612 [ci skip]

* Updating GBP from PR #57612 [ci skip]

* Bump pillow from 7.2.0 to 8.1.1 in /tools (#57906)

Bumps [pillow](https://github.com/python-pillow/Pillow) from 7.2.0 to 8.1.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/7.2.0...8.1.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Adds right-click support to AIs/Cyborgs (#57881)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57881 [ci skip]

* Updating GBP from PR #57881 [ci skip]

* Ice cream revamp: Ice cream is a component and cones can hold multiple servings of ice cream now. (#57415)

* Ice cream rework WIP

* I'm done!

* i'll deal with my verbose engrish at a later date. I'm dead tired.

* linter aaaaaa

* Take a bite!

* FINALLY, A COMPONENT!

* ghost macro.

* Review, typos, beheading of a lame comsig.

* Typo. Now I'm self-obliged to test it again.

* It works.

* Automatic changelog generation for PR #57415 [ci skip]

* Updating GBP from PR #57415 [ci skip]

* i shot my own phazon to death and i cry. (#57772)

Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>

* Automatic changelog generation for PR #57772 [ci skip]

* Updating GBP from PR #57772 [ci skip]

* Fixes admin immovable rods not hitting things (#57890)

Timber did an oopsie in #57850 and made it so rods with a specific target (AKA any spawned by admins either through the trigger event button or the admin smite) quit out of their creation before they started listening for clonging things. Possibly this was partly intended, in case you wanted to spawn a rod that would only hit whatever you designated as your target and nothing else, but this current setup doesn't hit the target either soo something needs fixing.

@Timberpoes let me know what you think and if you were intending for a soft rod option that would only hit the target.

Fixes: #57888

* Automatic changelog generation for PR #57890 [ci skip]

* Updating GBP from PR #57890 [ci skip]

* Ghosts can now interact with the crew monitor console. (#57891)

* Automatic changelog generation for PR #57891 [ci skip]

* Updating GBP from PR #57891 [ci skip]

* Fixes unbalanced flyperson leg (#57892)

One of Flypeople's legs while facing up is missing a single pixel, causing it all to be unbalanced, this fixes that.

* Automatic changelog generation for PR #57892 [ci skip]

* Updating GBP from PR #57892 [ci skip]

* undefined variable wtf *Dies of cringe*

* tgui: ESLint and VSCode settings improvements (#57905)

    Added column 80 rulers to all javascript and scss files.
    Added a "prettier" config to have sensible defaults for those who prefer to use it.
    Added RadarJS (fork of SonarQube's SonarJS). Launchable only via bin/tgui --lint-harder for now.
    Disabled ESLint rule for parens around arrow function arguments, because in TypeScript they're pretty much always required, and I don't want to replace it throughout the codebase.
    Removed unused javascript extensions from tooling (jsx, mjs).

* Automatic changelog compile [ci skip]

* Fixing the undoable experisci arcade experiment. (#57898)

* Automatic changelog generation for PR #57898 [ci skip]

* Updating GBP from PR #57898 [ci skip]

* [s] Fixing an infinite loop exception with Move() (#57895)

* Replaces use of handle_atom_del() with Exited() in modular computer hardware. And fixes an issue. (#57387)

Title. The issue being hardware/on_remove() calling /try_eject() even if the holder is being destroyed, which is quirky. I also replaced an instance of /New() with /Initialize() and deleted a troublesome /Destroy().

handle_atom_del() is awful. Nearly every (minus the storage component; it's a tangled trial of mental gymnastic) behavior implemented there can pretty much be moved to Exited() and it'll work just as fine, if not better against edge cases such as recall spells. But that's not the scope of this PR. I'm here to fix #57161.

* Automatic changelog generation for PR #57387 [ci skip]

* Updating GBP from PR #57387 [ci skip]

* Highlander + Summon Guns and Magic now uses signals to equip new crewmembers (#57817)

* Automatic changelog generation for PR #57817 [ci skip]

* Updating GBP from PR #57817 [ci skip]

* makes holodeck books a holo_effect so they get added to the spawned list (#57909)

* Automatic changelog generation for PR #57909 [ci skip]

* Updating GBP from PR #57909 [ci skip]

* Dogs no longer take whatever they're holding/wearing to the grave (#57670)

* Automatic changelog generation for PR #57670 [ci skip]

* Updating GBP from PR #57670 [ci skip]

* Turns off cache on docker publish action (#57912)

Maybe it will stop it screaming in pain about missing dependencies.
Publish action suggests alternative of running this as cronjob to update cached version so if this works but is too slow we can change to that.

* Adds a plumbing layer manifold (#57494)

Adds a multilayer plumbing manifold, I also murdered the multilayer duct

You can now alt-click the plumbing RCD to change the layer it prints. I made a whole thing where right clicking changed the settings and you could use that to change machinery aswell. I even did that with the plunger, it was absolutely beautiful. Anyway that drained the life out of me because apparently there's no attack_obj_secondary and afterattack_secondary ALSO called attack_obj (left click). I just hate whoever made it with intensity

Plumbing now uses three layers. They should be easier to navigate. I tried to make layer connecting the same as cross-color connecting, but that would take more of my soul then there is to take

* Automatic changelog generation for PR #57494 [ci skip]

* Updating GBP from PR #57494 [ci skip]

* Makes stations more airtight (#57535)

I've gone through delta, meta, and icebox and added some choice windoors, changed some areas around, added some more doors, and changed some other miscellaneous things.

I'll list the full changes in drop downs, for both our sakes

Delta:
<details>
Splits the central hallway into fore and aft central hallways

Adds the spaces that jut out of medbay and sci into the central hallway, rather then having them be a part of
medbay and sci

Adds medbay access locked windoors to the back desk of the medbay reception area

Adds airlocks to both the upper and lower parts of the main hallway
</details>

Meta:
<details>
Gives the storage wing another set of firelocks, and two fire alarms. It didn't have any alarms in the first place, so hopefully this helps things

Adds the spaces that jut out of medbay and sci into the central hallway, rather then having them be a part of
medbay and sci

Replaces a small bit of the science area with nanite lab, to prevent a breach near xenobio causing fire alarms
at the front of sci

Adds a windoor in front of the ORM to block air

Adds a wall behind a smart fridge in chemistry
</details>

Icebox:
<details>
Added airlocks between arrivals and the port hallway, and the escape hallway and the starboard hallway

Added a windoor between the kitchen and the bar
</details>

## Why It's Good For The Game

Cuts delta's main hallway in half, with the goal of reducing fire alarm strain. Some thoughts on this would be nice, I don't want to make everything else that uses areas worse just because fire alarms are dumb, and I'm worried that's what I've ended up doing here.

I've also added the portions of medbay/sci that jut out into the main hallway into the main hallway, I think? I could make these into lobby areas, but I'm not sure if that's appropriate or not.

Adds a few windoors and airlocks to better section off portions of the station, this should reduce the amount of mass gas spreading that can occur.

My goal here is to reduce the amount of uninteresting gas movement and make firelocks less hellish when there's a breach

* Automatic changelog generation for PR #57535 [ci skip]

* Updating GBP from PR #57535 [ci skip]

* Move a signal that is randomly seperated from others of it's kind (#57914)

Co-authored-by: actioninja <actioninja@criticalaction.net>

* Fix plant trash from grown food not inheriting their proper seeds (#57924)

This PR fixes plant trash not getting the seed from their parent.

trash_type is a type path, not an instantiated object. istype always fails trying to use it on trash_type. ispath is the correct helper to use here, because it's a type path and not an object.

* Automatic changelog generation for PR #57924 [ci skip]

* Updating GBP from PR #57924 [ci skip]

* Makes deadchat control's examine only shows up for ghosts (#57926)

This PR early returns the on_examine proc for deadchat control if the examiner is not an observer.
So, only ghosts (deadchat) are allowed to see if something is under deadchat control. Humans don't need to know (or shouldn't know) if deadchat is expanding its reach into the physical realm.

* Automatic changelog generation for PR #57926 [ci skip]

* Updating GBP from PR #57926 [ci skip]

* Adds materials to PDAs (#57923)

Puts a small amount of iron, glass, and plastic into a PDA 'cause that sort of material usage makes sense to me

* Automatic changelog generation for PR #57923 [ci skip]

* Updating GBP from PR #57923 [ci skip]

* Automatic changelog compile [ci skip]

* Adds sticking metallic kitchenware into APCs (#57910)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57910 [ci skip]

* Updating GBP from PR #57910 [ci skip]

* Bane AI (#57771)

We take Gotham from the corrupt! The rich! The oppressors of generations who have kept you down with myths of opportunity, and we give it back to you...the people...Gotham is yours. None shall interfere, do as you please!

* Automatic changelog generation for PR #57771 [ci skip]

* Updating GBP from PR #57771 [ci skip]

* Splits winter coats/hoods into their own sprite file (#57896)

Moves the winter coats and their hoods into their own sprite file.
335 icons in one of the files got lowered to 289 after moving 46 wintercoat icons to their own file.
Renames some icons because they had a long name.

* Updating GBP from PR #57896 [ci skip]

* remove double pen door from meta xeno (#57879)

door double removal

* Automatic changelog generation for PR #57879 [ci skip]

* Updating GBP from PR #57879 [ci skip]

* Resprites ventriloquist dummy (#57863)

## About The Pull Request

Resprites the ventriloquist dummy  #https://github.com/tgstation/tgstation/projects/6#card-2814241

## Why It's Good For The Game

The current sprite is just the assistant doll cut in half. This gives it a unique sprite and also makes it so that the hands line up with the item better than the current sprite. It's also a lot creepier (and animated!)

* Automatic changelog generation for PR #57863 [ci skip]

* Updating GBP from PR #57863 [ci skip]

* Fixes missing pixel on envirosuits (#57849)

## About The Pull Request

Adds 1 pixel to every evirosuit side sprite except the prototype.  

## Why It's Good For The Game

The current envirosuit sprites all have a single pixel missing on the foot, which causes the foot to be visible. This pixel is there on the prototype, but all the others are missing it.  This PR adds 1 pixel to each side sprite to cover it up.

* Automatic changelog generation for PR #57849 [ci skip]

* Updating GBP from PR #57849 [ci skip]

* Updates round tips (#57927)

Deals with any mention of cloning, intents, and a few outdated mechanics

* Automatic changelog generation for PR #57927 [ci skip]

* Updating GBP from PR #57927 [ci skip]

* Thermomachine update (#57918)

This PR adds an UI button that allow the players to decide if use enviromental heat or red port pipe (it will have an error if the choice is not working for some reasons, like not having moles in the pipes/air, not having pipes connected at all, etc)
This also fix the issue of having roundstart freezers heating up rooms because the waste pipe didn't have any gas

* Automatic changelog generation for PR #57918 [ci skip]

* Updating GBP from PR #57918 [ci skip]

* Improves status bar coverage (#57916)

This PR makes sure all MouseEntered() procs call their parent, which handles the status bar. This fixes instances where the status bar was missing, for example when you hovered over the ghost buttons, you would not be shown a name of the button, but completely different object, like "space", which was very misleading. This also means that the new status bar should have better parity the with the old status bar, which also showed these things.

* Automatic changelog generation for PR #57916 [ci skip]

* Updating GBP from PR #57916 [ci skip]

* Create explicit warning if not building with CBT (#57931)

Adds a new CBT define which is automatically created when building. If this define is absent, the build will fail.

This is what Cyberboss tried to do with USE_BUILD_BAT_INSTEAD_OF_DREAM_MAKER.dm, but couldn't.

The reasoning behind this is CBT is already a requirement to build a fresh project, otherwise the tgui bundle files won't exist. This gives a readable error to go along with that. However, you can currently build once then just use Dream Maker. This is a footgun - not only are we already adding new things to CBT like tgfont which will fail later on, but also it will create weird scenarios when we add tasks to CBT that don't immediately fail if not ran, or otherwise create out of sync builds.

Also replaces rmSync with unlinkSync, which works on older Node versions.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Additional CTF maps (#57230)

This pull request adds a map loader as well as new maps to CTF. When a game starts a CTF map will be selected at random and will be playable by ghosts.

As well as this new functionality CTF now fully supports 4 teams. A green and yellow team have been added complete with both standard and instagib gear.

At current five maps are planned:
Classic - the original map we all know and love
Four Side - A four team CTF map where all teams compete over one flag
Downtown - Terrestrial city themed map
Limbo - Wizard themed map featuring portals and uses KOTH rather than CTF
Cruiser - Space themed map utilizing the powerup system

Random maps are selected on game load
Support for four teams added

Why It's Good For The Game

CTF has been more or less the same on the surface since its creation. This PR allows for some much needed map variety which will increase replay value. CTF is far more regularly played then mafia due to its fast rounds and common use during round end delays and I believe that it deserves a boost in content.
Changelog

cl
add: CTF can now selects a random map at game start
add: CTF now supports four teams
add: Gear for yellow and green CTF teams has been added
add: CTF ID cards for all 4 teams have been added - courtesy of maxymax13
add: a new CTF map, Four Side has been added
add: a new CTF map, Downtown has been added
add: a new KOTH map, Limbo has been added
add: a new CTF map, Cruiser has been added
fix: KOTH capture points retain their sprites after being claimed
/cl

* Automatic changelog generation for PR #57230 [ci skip]

* Updating GBP from PR #57230 [ci skip]

* Implements Plant Biotype (#57108)

Implements a plant biotype for plant based mobs. Changes the wood golem mob to be an organic, humanoid, and plant biotype---because wood is an organic substance, not a mineral.

This additionally adds the ability for plantbgone/weedkiller to deal damage to plant biotypes.
Why It's Good For The Game

There's a curious lack of a defined plant biotype, despite plants sharing a unique number of traits. Ideally, this behavior can be more consistently implemented with something like biotypes. A minor example of this is utilized in this PR: weedkiller and plantbgone impacting plant-like mobs, which is what you'd expect.
Changelog

cl
add: Plant-like mobs are now impacted and take damage from plant-b-gone and weedkiller reagents
add: Plant-like mobs can be health scanned with a plant analyzer
add: Plant-like mobs are impacted by the floral gun in the same manner pod people are
/cl

* Automatic changelog generation for PR #57108 [ci skip]

* Updating GBP from PR #57108 [ci skip]

* fix (#57900)

Fix missing cable from upper atmos apc
Fix wrong area in north-west corner resulting in airlock not working

* Automatic changelog generation for PR #57900 [ci skip]

* Updating GBP from PR #57900 [ci skip]

* Add note about rust-g for building on Linux (#57622)

This PR adds a minor note about needing to compile rust-g to Linux building instructions. I'm not sure if this is the appropriate place for it, but I don't see a better place to put it.

* cyborg lollipop launchers can no longer spam timers (#57786)

About The Pull Request

Cyborg treat dispensers now have a maximum treat storage capacity of 5 treats instead of 30 treats, and recharge their treats at a rate of one treat per 10 seconds instead of one treat per second.

To compensate for this, the damage of gumballs and lollipops that have been launched from an emagged cyborg has been increased from 3 to 10.

Launched gumballs and lollipops will no longer delete themselves after 2 minutes (if not equipped).

The 2u of omnizine in each cyborg lollipop has been replaced by 2u of psicodine. The contents of normal lollipops have not been modified.

Cyborg cookie dispensers can now only dispense a cookie once every 10 seconds (instead of once per second). Non-cyborg cookie dispensers no longer self-recharge, but can now accept compressed matter cartirdges for reloading purposes. Support has been added for other types of RSFs to have use cooldowns.
Why It's Good For The Game

The self-deletion mechanism was apparently causing timer spam, so I reduced the amount of treats that cyborgs could spam out (and the rate of that spamming) so that the mechanism would no longer be necessary. I increased the damage of launched treats to compensate to keep the emagged treat launcher from becoming a very sad joke of a weapon.

Floyd threw a fit when he learned that cyborgs could freely dispense lollipops that contained omnizine, so I replaced the omnizine with psicodine, a chem that is perhaps more appropriate for lollipops (it calms people down), doesn't do much of importance, and can't react to form any rare or interesting chems.

The cookie dispenser thing is also an attempt to appease Floyd, since he doesn't like cyborgs being able to spam food everywhere.
Changelog

cl ATHATH
balance: Cyborg treat dispensers now have a maximum treat storage capacity of 5 treats instead of 30 treats, and recharge their treats at a rate of one treat per 10 seconds instead of one treat per second. To compensate for this, the damage of gumballs and lollipops that have been launched from an emagged cyborg has been increased from 3 to 10.
del: Launched gumballs and lollipops will no longer delete themselves after 2 minutes (if not equipped).
balance: The 2u of omnizine in each cyborg lollipop has been replaced by 2u of psicodine. The contents of normal lollipops have not been modified.
balance: Cyborg cookie dispensers can now only dispense a cookie once every 10 seconds (instead of once per second). Non-cyborg cookie dispensers no longer self-recharge, but can now accept compressed matter cartirdges for reloading purposes. Support has been added for other types of RSFs to have use cooldowns.
/cl

* Automatic changelog generation for PR #57786 [ci skip]

* Updating GBP from PR #57786 [ci skip]

* Minor tramstation and train-rail-fluff fixes (#57639)

Fixes an incorrectly-shifted sprite for floor tram rails and adds some missing tram-rail fluff objects
Also does some minor renaming (railing -> rail)



cl
fix: Nanotrasen railroad engineers have done some minor repairs to their in-station tram rails.
/cl

* Automatic changelog generation for PR #57639 [ci skip]

* Updating GBP from PR #57639 [ci skip]

* Automatic changelog compile [ci skip]

* Paper bins show the paper inside them (atomised) (#57907)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57907 [ci skip]

* Updating GBP from PR #57907 [ci skip]

* Ref Tracking: Revengance (#57728)

* Ref Tracking: Revengance

Fixes reference tracking ignoring self references due to a poorly thought out tick checking system.
Fixes reference tracking ignoring the contents of assoc lists
Makes the reference tracking printouts actually describe what list the ref is in, rather then just saying "list"

Adds REFERENCE_TRACKING_DEBUG, a define which toggles tracking info for the ref tracking procs, which allows for
oversight on how the proc is working

Allows for direct calls of qdel_and_find_ref_if_fail(), makes it use ref rather then REF(), fixing it breaking
for mobs. (Ditto for the qdel hint which does the same thing)

Moves REAGENTS_TESTING out of the reftracking define block
Makes unit tests define REFERENCE_TRACKING, REFERENCE_TRACKING_DEBUG, and FIND_REF_NO_CHECK_TICK

Adds a unit test that sanity checks the reference finder proc

* Updating GBP from PR #57728 [ci skip]

* fix (#57902)

Fix missing tile under airlock above turbine in kilo station

* Automatic changelog generation for PR #57902 [ci skip]

* Updating GBP from PR #57902 [ci skip]

* You can now put food on plates, and plate no longer materialize out of nowhere as you cook (#57770)

* All plates removed.
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>

* Automatic changelog generation for PR #57770 [ci skip]

* Updating GBP from PR #57770 [ci skip]

* tgui strip panel + strippable element (#57889)

Completely removes show_inv and replaces it with /datum/element/strippable. It takes a list of instantiated /datum/strippable_item which communicate which slots are available and how to interact with them. This element has been added to humans, alien humanoids, parrots, and corgis.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Automatic changelog generation for PR #57889 [ci skip]

* Updating GBP from PR #57889 [ci skip]

* Adds explorer drones / adventures. (#57851)

A new side-job for cargo. Prepare and launch exploration drones at distant sites to encounter weird adventures, collect loot and expand the station cargo network. Adventures - the main content type here, can be written by anyone without any knowledge of programming. The purpose here is creating an way of interesting way of delivering lore (and adding some new job content/cargo expansion method).

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Updating GBP from PR #57851 [ci skip]

* Fermichem 2.6 - Adds the HPLC: a new roundstart method of detecting purity, as well as a method of partially purifying reagents (#57858)

Adds the High-performance liquid chromatography machine - a new roundstart method of detecting purity, as well as a method of partially purifying reagents.

A single machine has been added to each of the 4(5) maps - this lets people determine their purity based off the size of the green (pure portion) to the orange (impure portion) of a reagent's peak shown on the mas spectroscopy display. If a reagent is impure - it will be displayed as red.

In addition to this function, the HPLC can purify reagents by selecting a range of them and pressing the purify button. This will cost some time depending on the mass of the reagent and will purify it up it's default purity (in the tweaked reagent cases - 75%, for the reagents I've yet to get to - 100%). It will also reduce the volume accordingly (so in essence you are reducing the volume of the impure parts).

The sprite itself will indicate when it's running, so you don't need to be nearby it or use the UI to know when it's done

* Automatic changelog generation for PR #57858 [ci skip]

* Updating GBP from PR #57858 [ci skip]

* Partially revert reaction chamber (#57855)

* Automatic changelog generation for PR #57855 [ci skip]

* Updating GBP from PR #57855 [ci skip]

* Blobbernaut HUD improvements (#57922)

* Automatic changelog generation for PR #57922 [ci skip]

* Updating GBP from PR #57922 [ci skip]

* Crops the cached ID card icon so it is less obnoxious in tgui chat. (#57935)

* Automatic changelog generation for PR #57935 [ci skip]

* Updating GBP from PR #57935 [ci skip]

* Some minor atmos cleanup (#57933)

Fixes mining not making turfs active, I forgot to add a type arg when I added one to AfterChange(). This isn't the only source of the issue, but it's the most prevalent one

Cleans up total_moles_specific() slightly, there's no point iterating a list if you already have the gas id. Removes a null assignment and if check, they don't catch anything as things are now, and if someone passes null to the proc I want a runtime

Oh and I reordered a bit of atmospherics.dm to make a comment make sense. Don't worry about it

* Automatic changelog generation for PR #57933 [ci skip]

* Updating GBP from PR #57933 [ci skip]

* emissive blockers are now just an overlay (with kickass fucking graphs). FUCK YOU MAPTICK (#57934)

currently emissive blockers are objects added to the vis_contents of every item. however mutable appearances as overlays can serve this role perfectly well and according to my tests should cause less maptick per item. for mobs mutable appearances dont work for reasons i dont understand so instead this adds the em_block object to overlays instead of vis_contents. these both use atom/movable/update_icon() now

graphed test results in pr

* Updating GBP from PR #57934 [ci skip]

* Converts trait comments to doc comments (#57941)

This converts the existing comments traits had `#define TRAIT_BLA "bla" // yadda yadda` to proper doc comments so that they show with SDMM and the codedocs website.

People just reference old code when writing new code, and people not using doc-comments for traits is something that comes up often.

* Automatic changelog compile [ci skip]

* Gibs/Dead bodies no longer produce miasma (#57957)

* Gibs/Dead bodies no longer produce miasma

Miasma production as it is now is too little over too long a time span, and it just ends up spreading across the
station and having little effect. My goal here is to remove a source of uninteresting gas from the station's
air, and make corpses and gib piles more infectious.
I've placed the cap on disease payout at a strength of 7, so there's a slight chance of a positive disease, but
I think it's counteracted by the danger presented by just infecting yourself till you get what you want.

I've rewriten the rot component to just run a percent chance to infect someone with a disease based on the type
of rot, and moved almost all of its behavior to signals. There's one portion I can't rewrite without making
significant changes to how I handle atmos sensitivity, so that'll come later.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57957 [ci skip]

* Updating GBP from PR #57957 [ci skip]

* [Ready] Fermichem part 2.3 Adds a new reagent: Eigenstasium (#56918)

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #56918 [ci skip]

* Updating GBP from PR #56918 [ci skip]

* Bump pyyaml from 5.3.1 to 5.4 in /tools (#57956)

Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Syndicate Shuttle Console cannot be deconstructed via tools (#57962)

* Automatic changelog generation for PR #57962 [ci skip]

* Updating GBP from PR #57962 [ci skip]

* Metastation's Nanite lab RC is now named properly (#57952)

* Automatic changelog generation for PR #57952 [ci skip]

* Updating GBP from PR #57952 [ci skip]

* Sentience fun balloon QoL (#57928)

* Automatic changelog generation for PR #57928 [ci skip]

* Updating GBP from PR #57928 [ci skip]

* Examine atmos machinery will tell the piping layer (#57937)

* Automatic changelog generation for PR #57937 [ci skip]

* Updating GBP from PR #57937 [ci skip]

* fix (#57917)

move layer adaptors into another spot in engi and toxins to prevent distro and waste mixing

* Automatic changelog generation for PR #57917 [ci skip]

* Updating GBP from PR #57917 [ci skip]

* Thermomachine balance (#57921)

Changed how much internal heat_capacity the machine has, from 5000 to 7500, this to try and increase the speed of cooling/heating that was a bit slower than the old version
Added a check that stops the machine from cooling when set to heater and heating when set to cooler
Changed efficiency to be clamped between 0.65 and 1 (lessen the power spikes)
Power usage reduce on lower efficiency if above a certain amount
removed else if when checking to use enviroment heat (allow to use enviroment to cool even with the red port connected and with gas)

* Automatic changelog generation for PR #57921 [ci skip]

* Updating GBP from PR #57921 [ci skip]

* Moth eyes now have their own obj and mob sprites (#57893)

imageadd: Moth eyes now have a unique sprite that reflects on your mob.

* Automatic changelog generation for PR #57893 [ci skip]

* Updating GBP from PR #57893 [ci skip]

* Improves spoon in hand sprites (#57938)

fix: Spoons are consistently rendered in the correct hand on the player's sprite

* Automatic changelog generation for PR #57938 [ci skip]

* Updating GBP from PR #57938 [ci skip]

* Fixes the apocalypse rune alt appearance for humans. (#57965)

* Automatic changelog generation for PR #57965 [ci skip]

* Updating GBP from PR #57965 [ci skip]

* Cyborgs now use the same icon states for charge screen alerts as ethereals. (#57966)

* Automatic changelog generation for PR #57966 [ci skip]

* Updating GBP from PR #57966 [ci skip]

* lazy tramstation fix (#57843)

Fix an already fixed issue with xenos and other mid-round antags from spawning inside atmos chambers.
Copy-paste very bad

* Automatic changelog generation for PR #57843 [ci skip]

* Updating GBP from PR #57843 [ci skip]

* ai_behaviour cleanup ft. less chatty tourists (#57945)

Each of these lines is punctuated by an audio sting every 8 seconds without refrain.

So, this PR adds a new vocalisation limiter to tourist bots who can't find a seat. Instead of always vocalising every 8 seconds, they're now guaranteed to vocalise the first time and then have a 60% chance to have vocalised again each minute thereafter.

Tourists waiting for food now have an approx 40% chance to have vocalised in any given minute. This should be considered alongside the fact that multiple (up to 10) tourists can be present at any given point in time and with the difficulty in players killing them, they can create a lot of unnecessary audio spam. If the tourists are being served rapidly, they're also giving regular guaranted audio stings on top of that which compounds the chances any given bot will output an audio cue.

The AI controller now passes the larger value between the behaviour's `action_cooldown` in real seconds (as opposed to deciseconds) and delta_time when performing behaviours. This has no gameplay changes outside of those documented in this PR, since no AI behaviours with cooldowns greater than the AI controller's delta_time attempted to use delta_time.

Finally, customers now have 10 minutes of patience before leaving instead of 100 minutes of patience due to a minor oversight where their patience was in deciseconds while delta_time was subtracted in seconds.

* Automatic changelog generation for PR #57945 [ci skip]

* Updating GBP from PR #57945 [ci skip]

* Further updates the rounds tips (#57951)

Removes and/or updates some more tips that #57927 missed.

* Automatic changelog generation for PR #57951 [ci skip]

* Updating GBP from PR #57951 [ci skip]

* fixes jungle grass having wrong broken states (#57967)

* Automatic changelog generation for PR #57967 [ci skip]

* Updating GBP from PR #57967 [ci skip]

* Switch tgui tooltips to popper.js (#57992)

* Preliminary popper support

* Switch tooltips to popper.js

* Documentation, change DEFAULT_PLACEMENT

* Automatic changelog generation for PR #57992 [ci skip]

* Updating GBP from PR #57992 [ci skip]

* Quick-Create-Antagonist tweaks (#57913)

Gives admins control of how many antags they spawn, instead of assuming a maximum of (generally) 3.
image

* Automatic changelog generation for PR #57913 [ci skip]

* Automatic changelog compile [ci skip]

* Renames TRAIT_MONKEYLIKE to TRAIT_DISCOORDINATED_TOOL_USER and fixes an issu with jungle fever (#57897)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #57897 [ci skip]

* Updating GBP from PR #57897 [ci skip]

* Corrects span and a typo with emagged pAIs (#57981)

* Automatic changelog generation for PR #57981 [ci skip]

* Updating GBP from PR #57981 [ci skip]

* Removes total_moles_specific, just use gaslists normally. I don't know how I missed this (#57973)

* Refactors pellet_cloud/create_cassing_pellets to not sleep (#57974)

Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>

* Automatic changelog generation for PR #57974 [ci skip]

* Updating GBP from PR #57974 [ci skip]

* Fix Tooltip documentation (#58013)

* Remove SS_NO_TICK_CHECK (#57800)

## About The Pull Request
This is a whopper, will need @MrStonedOne to review.
In theory this flag shouldn't be needed and my own testing didn't find any issues, but I'd feel better with a lengthy test merge.

## Why It's Good For The Game
Might make nightshift subsystem lag less, MC loop has less stuff to check.

* Updating GBP from PR #57800 [ci skip]

* Reorder the list of items in more outfits. (#57801)

On my quest to make outfits easier to read and fix some small mistakes by applying a priority order.

ID > uniform > suit > backpack > other clothing in alphabetic order > pockets > hands > others

Moved the base/assistant plasmaman outfit from the middle of the standard file to the top of the plasmaman outfit file.
Reorganized the plasmaman outfit order to have jobs within a department close to each other.
Moved the Death Commando outfit into the ERT file together with a line that adds mindshields to CentCom outfits because I had to dig to find that a long time ago...

Also fixes detective plasmaman spawning with a worse headset and plasmamen prisoners spawning with a different shoe.
Like... how no one has seen that plasmaman spawn with the wrong headset? Do we have no plasmaman sec? Yes I know the answer...

* Automatic changelog generation for PR #57801 [ci skip]

* Updating GBP from PR #57801 [ci skip]

* Fix sql changelog (#57972)

Fixed bad SQL that I originally wrote in the changelog for 5.11, anyone trying to update their schema from < 5.11 up would notice this.

* Test newest version of gbp-action (#57980)

Read about it here: tgstation/gbp-action#28

TLDR: Less race conditions, and all logs are now pushed to a separate branch. The new location of gbp-balances.toml is in the gbp-balances branch. Will most likely be able to delete the one in master so people don't get confused.

This required a workflow update, and so was not directly pushed to master. This currently uses my PR branch directly so that I can make changes for anything that doesn't work. When it is solid, I will push it to master and we will go back to gbp-actions@master, or some pinned version.

* Fixes mech HUD's not being properly removed (#57964)

Fixes mech hud's not being removed when leaving the odysseus or clarke

* Automatic changelog generation for PR #57964 [ci skip]

* Resprites the fork! (#57490)

About The Pull Request

This PR resprites the fork.

image
Why It's Good For The Game

The old fork was really tall and black.

Forks are really hard to sprite but i think this is an improvement.
Changelog

cl
imageadd: The fork has a new sprite.
/cl

* Automatic changelog generation for PR #57490 [ci skip]

* rpds can now interact with the unwrench upgrade (#57959)

Adds the functionality to upgrade the RPD by 'slapping' the unwrench upgrade disk with the RPD itself

It doesn't exactly revolutionize gameplay and at most allows engineering cyborg players to at least upgrade their RPD to unwrench saving them a headache and a module slot when doing their thing I suppose

* Automatic changelog generation for PR #57959 [ci skip]

* *begins beatboxing like the friday night funkin dad*

pp pp ppkk pk pk pk pkpp pk pk ppk ppp p yeah

* this made a whole area dissapear

lole

* Wtf TGU is done???

i think

* my brain is so fucking large

i am smart

* Consider your unused variable SANITIZED

*in a very low tone of voice*
bitch

* fIXES ME BEING DUMB

Mirror bot fan VS TGU Enjoyers
*insert that one funny video of the british guy all angry staring at the camera with the greyscale chad flexing his muscles to the right*

* DEAD ATMOS WTF *dies of cringe*

* POTATO WHY

Lowers the disease chance for a bit
this is just so we don't instantly die from disease

* Does thingy

Adds cameras to drone area, adds a light so freezer room feels less dark

* light

yeah

* Gets the new fulp commits over here

yeah

* gets us updated with TG once more

should have the commit that makes TGUI not lag you for so long :)

* my life be like

ooh aaahh oooh

* ooh aaah oooh aah

fulp update

* e e  eo a o eo e e e e e ao e o eo o o o o

* m

* when the linter is failing..

* Annotate L-ints

* sickness for nothinggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg

* m

* sleep through self loaaaaaaaaaaaaaaaaaathing

what remains of my emotionnnnnnnnnnnnnnnnn
only serves to play this gameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

* 'cause you're the only one who'd understand (The meaning of this!)

Oh My God
I try and I try and I try to make you listen to me
I try to call you every day
I'm rehearsing what to say when the truth comes out (Of my very own mouth)
I've been working on a unified theory
If I make it through tonight everybody's gonna hear me out
'Cause I'm the right one
On my touch-tone, touch-tone telephone
I'm the only one, hey!
On your A.M., A.M. radio
Don't hang up yet, I'm not done
I'm an expert, I'm the one
The one who was right all along
Better to be laughed at than wrong
I'm an expert in my field
UFOlogy, yes, it's all real
Ancient aliens, it's all true
I'm an expert just like you
And like you, I'm a genius before my time
Disbelieving, that's the real crime
Pretty soon they'll discover me in the Super-Sargasso Sea

* why

* i swear to god

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: actioninja <actioninja@criticalaction.net>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Horatio22 <69338705+Horatio22@users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Fox McCloud <Fox-McCloud@users.noreply.github.com>
Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: bloons3 <bloons3@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
Co-authored-by: Randomguy523 <55070076+Randomguy523@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: DuffCreeper <treyparn@yahoo.com.au>
2021-04-02 18:45:57 -06:00
tralezab
6c79ec5823 Flyperson organs are all completely unidentifiable (#53008)
All flyperson organs have the same, generic name and description, and their icon is picked from a pool of gross, blackened organ sprites.

There's also a new organ they have that just does completely nothing. It is also disguised and looks the same as all the other organs.
2020-08-18 20:50:35 -03:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
skoglol
706f608429 Fixes codeword location picking (#48468) 2019-12-31 14:00:30 -05:00
Jordan Brown
14ed62dfea Improve holiday station name picking (#48361)
* Improve holiday station name picking

- Randomly pick an active holiday instead of using the last one.
- Remove hard-coded string lookup of Friday the 13th.

* Remove extra right parenthesis

* Add missing right parenthesis
2019-12-25 18:22:26 +01:00
spookydonut
138c52d0e3 Update some oldcode (#47630)
This is some of the oldest surviving code in the codebase, churchname 
used a global static and wasn't even used anywhere.
2019-11-09 09:37:50 -08:00
Akrilla
f66769a113 Show codewords on round end screen (#44168)
* Show codewords on round end screen

* More efficient searching of codewords in text

* Typed globals
2019-05-30 11:57:19 +02:00
Qustinnus
b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
Denton
1253053cdc adds moth surnames + more names in general 2018-03-31 22:49:36 +02:00
ShizCalev
2211eb0bc1 Fixes brain damage json runtime 2018-03-15 00:05:17 -04:00
Joan Lung
b30e2934e7 Moths, except I have stolen them and they no longer conflict (#34498)
* Moths, except with less conflicts

* if I remove your wings, will you die?

* it would be extremely painful
2018-01-19 10:32:22 -05:00
AnturK
3ac9d24cb0 Nuke Op Datumization (#32680)
* Nuke Op datumization.

* Whoops

* Fixes use_tag for nukes. Only syndiebomb uses one.

* Fixing rebase stuff

* How many times

* Cleanup
2017-11-29 13:52:58 -05:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
Jack Edge
bf8bffcbe0 Codespeak language and manual
🆑 coiax
add: Syndicate agents can purchase a "codespeak manual", that teaches
them a language that sounds like a series of codewords. You can also hit
other people with the manual to teach them. One use per manual.
add: Nuclear operatives have access to a deluxe manual that is more
expensive but has unlimited uses.
/🆑

- DNM until we have language icons
- Syndicate codespeak only displays the language icon if you KNOW the
language, so you cannot tell the difference between someone just
shouting random codewords on the radio, and someone actually using the
language.
- Modifies generate_code_phrase to optionally return a list of words,
rather than a preformatted string.
- Codespeak manuals turn into random books after being used.
2017-05-14 15:55:52 +01:00
Jack Edge
5d5f99e062 While we're here, regenerate station names on holidays 2017-04-22 22:08:31 +01:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Cyberboss
73fa1e61f8 SSevent -> SSevents 2017-03-22 11:26:01 -04:00
bgobandit
bbab8f5062 Fixes oversight resulting in ALLCAPS traitor codewords; expands corpus (#25300) 2017-03-22 07:50:23 -03:00
Jack Edge
7ab0bd5400 Admins have more tools for renaming the station
🆑 coiax
add: Admins have a "Rename Station Name" option, under Secrets.
add: A special admin station charter exists, that has unlimited uses and
can be used at any time.
/🆑

I think station renaming has to include the special server config tag,
so I've made a global proc to handle that. I have other changes, but
these ones should be uncontraversial.
2017-03-03 18:46:31 +00:00
bgobandit
0708bee69d Traitor codewords and responses now pull from the ion storm wordlists. (#24538)
* Traitor codewords and responses now pull from the ion storm wordlists.

* more words for codewords/ion laws

* oops honk
2017-03-02 19:29:40 +13:00
swindly
45a7c59d08 changes stuff 2016-12-08 16:53:47 -05:00
erwgd
a428559a30 plasmaman/random_name gets gender parameter
Moved Rand Roman from random plasmaman name proc to plasmaman_name proc
2016-11-26 00:41:10 +00:00
erwgd
76de1e2634 Plasmaman random names (#21675)
* added list file of plasmaman names to config/names
added var/list that lists plasmaman.txt
added procs for picking and generating random plasmaman names, using plasmaman.txt and roman numerals 1-99
2016-11-23 08:16:01 -06:00
Incoming
f51201fcf6 Refactors out num2roman because byond has inbuilt support (yes, really!) 2016-07-07 12:01:03 -04:00
Jack Edge
bee76f53c4 Move station name pool to global lists 2016-06-18 12:58:18 +01:00
Bjorn Neergaard
48ab72aa61 Rip out large swaths of logic from skin; fix window title 2016-01-28 15:23:21 -06:00
oranges
7827f0104b Removes commented out test code 2015-09-30 15:16:02 +13:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
968d032314 Merge pull request #10571 from Incoming5643/Top_Secret_Top_Secret
Fixes pre-prefixes in station names
2015-07-14 15:44:48 +02:00
Incoming
753bb65701 Fixes pre-prefixes repeating twice whenever they were used (i.e Top-Secret Top-Secret Base Gamma) 2015-07-12 03:22:45 -04:00
Ikarrus
5e50b2b982 Update and Changelog
Lizard names are now "name1-name2"
2015-07-05 22:20:00 -06:00
Ikarrus
b0cfaf401f Random Names for Lizards
Lizards now have their own list of names to pull from when randomizing their names.
2015-07-05 18:35:56 -06:00
Ikarrus
2191a2c33d Datum-Based Gangs 2015-07-02 15:12:55 -06:00
Xhuis
c5a47adb64 Fighting Styles, 1 2015-06-26 14:19:52 -04:00
Ikarrus
9c78f12c50 removes blue gang name 2015-06-25 09:37:50 -06:00
Ikarrus
3b326a973b Additional Changes 2015-06-22 22:29:51 -06:00