Essentially SSmapping had a list for each theme of ruin (space, lava,
ice, ice underground). These were all filled with an if statement
checking the ruin templates type. Now, i've given ruins a ruin_type var, which is then used to dynamically add to a single list of ruins, which separates lists of ruins by ruin type.
Good for downstreams who may have more ruin types
Changelog
cl
refactor: Dehardcoded SSmapping ruin types.
/cl
Because of how arglist() works, _pick was only working on args matching
the format pick(1, 2 ,3)
Because this is logic that happens inside pick itself, and I can't
figure out the proper way to actually pass things in, I've created
_pick_list so admins have a sane way to pick from lists.
Should help when paintings lists gets zeroed unintentionally during the round for some reason.
Now it only deletes the painting file right before it writes the new file to prevent loss of data if anything runtimes or breaks.
Closes#64897
This PR adds a new debug button to spawn in a bunch of human dummies, assign them to one of each station job, and add them to the manifest to simulate a "full crew" on a live server.
This PR also fixes heretic target assignment. shuffle_inplace() doesn't return the list it shuffled, so the loops never functioned, and all targets were randomly picked instead of picked with the logic.
* Atoms (mostly new players caused by logout) can get deleted before spatial grid initializes.
* Fixes images when viewing your notes before SSassets initializes.
* Fixes abandoned crate runtime.
* Fixes armor runtimes on eating clothes (this really needs alternative solution)
This removes code/__DEFINES/misc.dm and moves all the defines to either:
another existing define file
new define file
local .dm file if the define was only used in one file
I also deleted defines that were not being used and added documentation to all of the ones that were moved out of misc.dm
Why was this needed? People were basically using the misc.dm file as a dumpster to toss all their defines into that was creating one giant mess. The defines have been organized into their proper groups and files now.
Since the gamemode isn't wanted here, even just to maintain (and especially now that progression Traitors are being added which will break IAA even more), I'm gonna give my alternate idea to just remove IAA entirely.
This is also to help downstream, as any plan on just 'adding it downstream' is kinda screwed over by it TECHNICALLY still being upstream, and its code conflicting with my own, even if it is just broken and unmaintained.
What the title says. But why?
I generally have a rule when making a contribution, that is "don't make the game less fun"
I'm not salting, I didn't die to a swarmer.
... Yet that's the problem. Swarmers are the griefiest antag in the game, but when you complain that they're annoying or unfun, you're doomed to hear "lol they can't even hurt you though."
WELL THAT ACTUALLY MAKES THEM WORSE. I would rather die to a hundred xenos and space dragons than be forced to untie myself in maintenance for 45 seconds while the shuttle leaves.
Why It's Good For The Game
Unfun game modes should be removed from the game.
Being griefed by swarmers is annoying
Playing as a swarmer is not very exciting either. Click on iron.
lastly, because oranges authorized it
Changelog
cl
del: Removes swarmers! The griefiest, lowest fun value antagonist is removed from the game.
/cl
Currently, you can tell if someone is being orbited by a stealthed admin by checking the orbit menu and seeing if there's an extra orbiter compared to what you see visually orbiting them. This makes it so stealthmins don't contribute to the orbiter count to avoid that.
About The Pull Request
This PR makes a few small tweaks to admin tools that I think frequent users may appreciate.
Adds the "Find Updated Panel" button to the player panel, which bring up that ckey's newest PP if one exists. Useful for when the person you're inspecting has changed mobs so you don't have to search for their new mob to get their new panel.
Adds VV and TAG links to all the entries in the Get-Contents right click verb. This should make checking and editing someone's gear easier, since you don't have to VV the person -> their satchel -> their survival box -> their oxygen tank for example, you can just click the VV link for the tank directly.
Lets you ignore punctuation in the F6 player search menu. This was a request, so if you have a silicon named "H.E.R.A.", you can now pull it up by just searching "hera". Also ignores spaces, but I doubt that'll cause any issues.
About The Pull Request
Converts more inputs to TGUI. Possibly all user-facing input lists in the game.
Did any surrounding text/number inputs as well
Added null choice support so users can press cancel.
Added some misc TGUI input fixes
Fixed custom vendors while I was there
I refactored a lot of code while just poking around.
Primarily, usage of .len in files where I was already working on lists.
Some code was just awful - look at guardian.dm and its non use of early returns
If there are any disputes, I can revert it just fine, those changes are not integral to the PR.
Why It's Good For The Game
Fixes#63629Fixes#63307
Fixes custom vendors /again/
Text input is more performant.
Part of a long series of TGUI conversion to make the game more visually appealing
Changelog
cl
refactor: The majority of user facing input lists have been converted to TGUI.
refactor: Tgui text inputs now scale with entered input.
fix: Many inputs now properly accept cancelling out of the menu.
fix: Fixes an edge case where users could not press enter on number inputs.
fix: Custom vendor bluescreen.
fix: You can now press ENTER on text inputs without an entry to cancel.
/cl
Atomizes a much larger PR for another time...
There are typos in span and other html messages that causes them to not render correctly or at all.
Bug fixes
Converts those instances of span to use the macro
I'm refactoring proximity monitors and fields, removing lots of bloat from both that's hardly even used. Proximity monitors no longer generate effect objects to track the surrounding area, should be less cpu expensive and easier to maintain (or phase out), read and use.
This PR also adds a couple components which may be needed for future stuff (for starters, the mirror reflection PR #62638 could use the connect_range comp)
Improving old old, ugly old code and adding some useful backend components. Tested and working.
More text inputs converted to tgui, TGUI text and number input now more sanely handles ENTER key being pressed, you can now press anywhere in the window to enter the input. TGUI text input now considers placeholder text for the default valid state. IE, if there is default text you can press enter immediately without having to rewrite it just to recheck validity. Fixes: useSharedState => useLocalState. not only was sharedstate not needed but it opened up the ui to vulnerabilities
Introduced by #63357, this caused the player panel mouseover behaviour
to stop working and malfunction.
I also added a big warning to the job defines so that people don't think
it's easy to just wander in and rename all the jobs for fun
The Tiananmen Square protests, known as the June Fourth Incident (Chinese: 六四事件; pinyin: liùsì shìjiàn) in China, were student-led demonstrations held in Tiananmen Square, Beijing during 1989. In what is known as the Tiananmen Square Massacre (Chinese: 天安门大屠杀; pinyin: Tiān'ānmén dà túshā), troops armed with assault rifles and accompanied by tanks fired at the demonstrators and those trying to block the military's advance into Tiananmen Square. The protests started on 15 April and were forcibly suppressed on 4 June when the government declared martial law and sent the People's Liberation Army to occupy parts of central Beijing. Estimates of the death toll vary from several hundred to several thousand, with thousands more wounded.