mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-30 02:52:30 +00:00
67f53d57c58ead15048237cf232c4da1653985ae
4043 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
7aa6664021 |
Mirror (#27453)
* Fix Conflicts
* Change COGBAR_ANIMATION_TIME to seconds and not deciseconds (#82530)
Most people should not be using this define
* New Battle Arcade (#81810)
Remakes Battle Arcade from just about the ground up, with exceptions
taken for emagged stuff since I didn't really want to touch its
behavior.
The Battle Arcade now has stages that players can go through, unlocking
a stage by beating 2 enemies and the boss of the previous one, but this
must all be done in a row. You can choose to take a break between each
battle and there's a good chance you'll sleep just fine but there's also
a chance it can go wrong either through an ambush or robbery.
The Inn lets you restore everything for 15 gold and you can buy a sword
and armor, each level you unlock is a new sword and armor pair you can
buy that's better than the last, it's 30 gold each but scales up as you
progress through levels. They are really worth getting so it's best to
try to not lose your money early in.
The battle system is nearly the same as how it was before but I removed
the poor combo system that plagued the old arcade as one big knowledge
lock, now it's more just turn based. The game is built on permadeath so
dying means you restart from the beginning, but if you are going to lose
you can try to escape instead which costs you half of your gold.
Getting to higher levels increases the difficulty of enemies but also
increases the gaming exp rewards which could make this a better way to
get exp if you can get good at it.
Gaming EXP is used to increase chances of counterattacking but doesn't
give any extra health to the player.
I also removed the exploit of being able to screwdriver arcade cabinets
because people would do that if they thought they were on the verge of
losing to bypass the effects of loss. I instead replaced it with a new
interaction that the Curator's display case key can be used to reset
arcade cabinets (there's several keys on the chain so it made sense to
me), which I added solely because I thought Curators would be the type
of person to have run an actual arcade.
This is some gameplay
https://github.com/tgstation/tgstation/assets/53777086/499083f5-75cc-43b5-b457-017a012beede
As a misc sidenote, I also split up the arcade file just like how Orion
Trail was before, just for neat code organization.
The Inn keeper is straight up just a photo of my localhost dude, he's
not a player reference or anything it's not my actual character.
I also have no idea how well balanced this is cause I suck at it lol.
Battle Arcade is one of 3 last machines in my hackmd here to turn into
TGUI https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA?view
I've always thought the current version of battle arcade is quite lame
and lacks any progression, like Orion Trail I thought that since I was
moving this to TGUI, it would also be a perfect opportunity to revamp it
and try to improve on where it failed before, especially since the
alternative (NTOS Arcade) is also lame as hell and is even lamer than
HTML battle arcade (spam mana, then spam health, then just spam attack,
rinse and repeat).
This will hopefully be more entertaining and give players sense that
they are getting through a series of tasks rather than doing one same
one again and again.
🆑 JohnFulpWillard, Zeek the Rat
add: Battle Arcade has been completely overhauled in a new progression
system, this time using TGUI.
add: The Curator's keys can now reset arcade cabinets.
balance: You now need to be literate to play arcade games, except for
Mediborg's Amputation Adventure.
fix: You can no longer screwdriver emagged arcade consoles. Accept your
fate.
fix: Silicons can no longer play Mediborg's Amputation Adventure.
/🆑
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Change setting item weight class to a setter to patch some weight class related shenanigans (#82494)
## About The Pull Request
Fixes #81052
Fixes #58008
Setting weight class of items is now done via `update_weight_class`.
I updated as many occurrences of manually setting `w_class` as I could
find but I may have missed some. Let me know if you know of any I
missed.
This is done to allow datums to react to an item having its weight class
changed.
Humans and atom storage are two such datums which now react to having an
item in its contents change weight class, to allow it to expel items
that grow to a weight class beyond what is normally allowed.
## Changelog
🆑 Melbert
fix: You can't fit items which are normally too large for a storage by
fitting it in the storage when it is small, then growing it to a larger
size.
/🆑
* Material datum color update, plus touching up some material items (knight armor, tiles) (#82500)
## About The Pull Request
Tries to bring the material datum colors in closer approximation to the
stacks they're attached too. I literally used the colors on the stacks.
some might need to be lighter or darker, but for the most part they'll
look...closer to their actual material hues.

I've also tweaked the sprites of both the tile object and the actual
material tile turf to give it the right shading.

In addition to the tiles, I've also updated the knight armor and helmet
to look closer to the much higher quality plate armor already in the
game.
## Why It's Good For The Game
It bothered me that the material datum coloring was inconsistent with
the actual colors used for the material stacks. When they were updated,
and even before they were updated, material datum stuff just never
looked _right_. I wanted to change that so that it looks just right.
I did not like the old material knight armor whatsoever. It was a
dithered mess, and seemed to already use parts of the standard plate
armor but with all the actual shading removed or replaced with the wrong
colors. This fixes that so that the armor is actually readable for what
it is.
## Changelog
🆑
image: Updates the colors of various material datum to bring them closer
in-line with their actual material stacks
image: Improves the sprites for the material knight armor and helmet.
/🆑
* LateInitialize is not allowed to call parent anymore (#82540)
## About The Pull Request
I've seen a few cases in the past where LateInitialize is done cause of
the init return value being set to do so for no real reason, I thought I
should try to avoid that by ensuring LateInitialize isn't ever called
without overriding.
This fixes a ton of machine's LateInitialize not calling parent
(mechpad, door buttons, message monitor, a lot of tram machines,
abductor console, holodeck computer & disposal bin), avoiding having to
set itself up to be connected to power. If they were intended to not
connect to power, they should be using ``NO_POWER_USE`` instead.
Also removes a ton of returns to LateInit when it's already getting it
from parent regardless (many cases of that in machine code).
## Why It's Good For The Game
I think this is better for coding standard reasons as well as just
making sure we're not calling this proc on things that does absolutely
nothing with them. A machine not using power can be seen evidently not
using power with ``NO_POWER_USE``, not so much if it's LateInitialize
not calling parent.
## Changelog
🆑
fix: Mech pads, door buttons, message monitors, tram machines, abductor
consoles & holodeck computers now use power.
/🆑
* Fix table top deconstruction (#82508)
## About The Pull Request
Edited: updated changelog, read comments for changes in implementation
details
So previously, tables would let you use a wrench to fully deconstruct
them, or a screwdriver to take off only their top.
This, however, broke in two different ways in #82280, when their
deconstruction logic got changed.
First off, deconstructed tables would only drop the materials for their
top and not their frame.
For this, the primary culprit seems to be on line 307:
|
||
|
|
a9ff046352 |
Administrator Cherrypick (#27405)
* Admin Verb Datums MkIII | Now with functional command bar (#82511) * Modular stuffs * Put some admin jump verbs back into the context menu | sorts area jump list again (#82647) ## About The Pull Request See title. ## Why It's Good For The Game Some admins wanted all the jump verbs back, aswell as making them not AGhost you. Also make the Jump To Area verb use a sorted list again * Hey what if admins were allowed to use the player panel (#82682) Re-adds the player panel verb to the verb panel. * Controller Overview UI (#82739) * Fixes a minor spelling mistake on the admin panel/verb list (#82747) ## About The Pull Request Corrects `inisimin` to `invisimin`. This addresses #82728, but only fixes one of the two issues mentioned ## Why It's Good For The Game -1 spelling mistake ## Changelog 🆑 spellcheck: 'inisimin' verb corrected to 'invisimin' /🆑 * Player Panel-age (#82757) * Admin Forced Mob Rename and Preference Update (#82715) --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: chel <64568243+iliyaxox@users.noreply.github.com> |
||
|
|
7d0d702ec7 |
[MIRROR] Fixes SS13.register_signal throwing unclear errors when called on deleted datums (#27293)
* Cleans up the SS13_base lua file and adds a new lua file for easily handling multiple signals on different objects. (#82458) ## About The Pull Request Cleaned up the SS13.register_signal and SS13.unregister_signal, removing the weird list shifting. Also adds a new lua file that can be included for the use of registering different signals on various datums and being able to clear them all in 1 function. Removed the make_easy_clear_function option when registering a signal via lua because I don't think it's used by anyone and it lacks any sort of versatility. Users can just create their own function for clearing signals from a datum. Also updates the documentation for HARDDELETES.md as COMSIG_PARENT_QDELETING was renamed to COMSIG_QDELETING ## Why It's Good For The Game New handler file makes registering signals in batches a lot easier if you want to clear them in one go without clearing unrelated callbacks on the same datum. The list shifting in SS13.register_signal had pretty significant performance problems, so removing that will make registering and unregistering signals faster. ## Changelog 🆑 admin: LUA - Adds a new library called handler_group. Include it in your files by doing require('handler_group') /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> * Fixes SS13.register_signal throwing unclear errors when called on deleted datums (#82597) ## About The Pull Request See title ## Why It's Good For The Game More descriptive error message ## Changelog 🆑 fix: LUA: Registering a signal on a deleted datum will throw a more descriptive error message. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> |
||
|
|
20c0599ce6 |
Some more mirrors again (#27366)
* Ports additional Felinid ears from Orbstation (#82066) Adds 5 new ear options from Orbstation, originally PRed in lizardqueenlexi/orbstation#360. Sprites by @Or-Fi-S. Big:  Coeurl (FFXIV Miqo'te style):  Fold:  Lynx:  Round:  Also makes it so the code guarantees that custom ears on a felinid actually count as felinid ears and not human ones, as the code wasn't checking properly when preferences were applied. There's probably a cleaner, more permanent way to do this and a refactor is needed somewhere down the line (man that sprite accessories file is getting long huh) but I'll leave that to a more competent coder. More customization options are good also Cobby said I could  🆑 add: Added 5 new Felinid ear options, ported from Orbstation! (Sprites by Or-Fi-S) /🆑 --------- Co-authored-by: _0Steven <jaydondegenerschool@gmail.com> * Standardizes object deconstruction throughout the codebase. (#82280) When it comes to deconstructing an object we have `proc/deconstruct()` & `NO_DECONSTRUCT` Lets talk about the flag first. **Problems with `NO_DECONSTRUCTION`** I know what the comment says on what it should do |
||
|
|
42f6f57dc0 |
[MIRROR] Replaces even more deciseconds with SECONDS (#27205)
Replaces even more deciseconds with SECONDS Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> |
||
|
|
a3acbcf61f |
[MIRROR] Makes lua file upload work with bigger files and standardizes a few file|null (#27053)
* Makes lua file upload work with bigger files and standardizes a few file|null (#82202) ## About The Pull Request My lua scripts were hitting the topic byte limit, so this makes file upload of lua scripts able to bypass the topic limit. ## Why It's Good For The Game Removes arbitrary restriction on how big a lua file can be in bytes. ## Changelog 🆑 admin: Admins can now run lua files bigger than 36 KB by importing them directly. /🆑 Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> * Makes lua file upload work with bigger files and standardizes a few file|null --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
ad4007e3f5 |
[MIRROR] Aheal no longer turns monkies in to humans (#27160)
* Aheal no longer turns monkies in to humans (#82393) ## About The Pull Request Also changes the Make Monkey Admin button to turn you into a monkey with mutations instead of just creating a new being. Closes: https://github.com/tgstation/tgstation/issues/80744 Mabye Closes: https://github.com/tgstation/tgstation/issues/81722 ## Changelog 🆑 fix: aheal no longer turns monkies into humans qol: Player panel "make monkey" turns humans into monkeys through mutation instead of making a new mob /🆑 * Aheal no longer turns monkies in to humans --------- Co-authored-by: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> |
||
|
|
a442dea379 |
[MIRROR] Refactored admin backup saving. No longer at round end, more data backed up (#27135)
* Refactored admin backup saving. No longer at round end, more data backed up (#81891) Admin verified connections now cache all verified connections for all admins. (Rather then just the last connection data of the currently connected admins) Sync with the db now happens at admin load time, not at round end. (this was causing annoyances because servers with long rounds could override the admin db with old/stale data overwritting the fresher data that was written by a server with a shorter round) Fix backup verification not working if the db thinks it still connected but its not actually still connected. @ Mothblocks @ Jordie0608 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com> * Refactored admin backup saving. No longer at round end, more data backed up --------- Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com> Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com> |
||
|
|
37bc259bb0 |
[MIRROR] Refactor removing unused defines. (#26998)
* Refactor removing unused defines. (#82115) Refactors a lot of the unused defines. Refactors a lot of the unused defines. Nothing player facing --------- Co-authored-by: san7890 <the@san7890.com> * Oh well. I hope this works fine. --------- Co-authored-by: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
d9618abbdf |
[MIRROR] Fixes lua error logging and a few timer.lua functions (#26999)
Fixes lua error logging and a few timer.lua functions (#82160) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> Lua errors don't get logged when `call_function` is called Timer.start_loop was just straight up broken due to me not properly testing it, so this fixes that. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> Makes debugging lua scripts easier. Also fixes bugs. <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 fix: Fixed lua error logging. fix: Fixed the SS13.start_loop function not working properly. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
3ff553cb62 |
[MIRROR] Moves lua off of the timer subsystem and onto its own internal scheduler. (#26980)
* Moves lua off of the timer subsystem and onto its own internal scheduler. (#82131) ## About The Pull Request Lua uses the timer subsystem, which can end up holding the entire timer subsystem if lua is creating a lot of timers. The solution to this is to use an internal scheduler instead so that the load gets placed onto the lua subsystem. ## Why It's Good For The Game Performance improvement when using lua scripts. ## Changelog 🆑 refactor: Auxlua no longer uses the timer subsystem to get stuff done, lua scripts shouldn't slow down timers anymore. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> * Moves lua off of the timer subsystem and onto its own internal scheduler. --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> |
||
|
|
227264f146 |
[MIRROR] Removes Orbit Polling Component, SSpolling improvement (#26769)
* Removes Orbit Polling Component, SSpolling improvement * a * Update effects.dmi * Update tgstation.dme * Revert "Update tgstation.dme" This reverts commit d4fdaf0abbfaacddb0cc0d175dad4e410fe57e44. --------- Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
099adb967a |
[MIRROR] map exporting now supports puzzle pieces and similar (#26973)
* map exporting now supports puzzle pieces and similar (#81759) ## About The Pull Request What it reads on the tin. `puzzle_id` vars and the such are now supported by the map exporting verb. ## Why It's Good For The Game If anyone ever so wishes to export maps with puzzle doors and stuff. ## Changelog N/A * map exporting now supports puzzle pieces and similar --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
53d1f4ada0 |
[MIRROR] Universalizing ruin names (#26750)
* Universalizing ruin names * Update code/datums/ruins/space.dm * Update space.dm * a * Update lavaland.dm --------- Co-authored-by: Zergspower <Griffinj88@yahoo.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
e5652ecc24 |
[MIRROR] Add compile option for compiling in MAP_TEST mode, which disables common annoyances when testing new maps (#26792)
* Add compile option for compiling in `MAP_TEST` mode, which disables common annoyances when testing new maps (#81697) ## About The Pull Request Adds `MAP_TEST` compile flag. This compile flag blocks common things which make it difficult to test a map. Things this applies to: - Rats no longer spawn. - Rat spawning will (obviously) break up the powernet, which is INCREDIBLY annoying when trying to test if all the rooms of the station are wired correctly (or testing which rooms lose power first, etc) - Light tubes no longer break on initialize. - Random light breakages can easily cause mappers to accidentally over light a room. - Roundstart command report is not printed. - Might be a personal preference, but it's kinda annoying to hear the alert over and over again. - Random events do not trigger. - Some events such as gravity generator outage can trigger with 0 population. - Random camera breakage event can cause over-placement of cameras. - Other stuff tends to just get in the way. - Station traits do not trigger. - Probably the biggest annoyance. Many traits modify the map in some way which disrupts testing. - Roundstart landmarks don't self deletes. - Allows mappers to use sdql to find them. - Mapping verbs start enabled. Obviously more things can be added if they come up. * Add compile option for compiling in `MAP_TEST` mode, which disables common annoyances when testing new maps --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
98cdd0e4fc |
[MIRROR] Adding a blood brother via the team panel sets it up correctly (#26778)
* Adding a blood brother via the team panel sets it up correctly (#81799) ## About The Pull Request In a recent round, it was noticed that it's kind of annoying and fiddly for an admin to add someone to a blood brother team (for instance, if they had to recreate someone's mob to fix a different issue). Now if you add someone to a blood brother team via the teams panel, it will set them up as a blood brother properly. It's probably in the future worth examining this behaviour for other team antags as well. I also added a link to the Team Panel to the Antag Panel because I had a skill issue and kept forgetting how to access it. Finally, the conversion logging looked all kinds of fucked, so I fixed it. I will be honest: I don't know what that list does but the arguments it was recording were both wrong and didn't make any sense. ## Why It's Good For The Game Makes admin lives easier. Using this panel you can now add sapient Ian to a blood brother team. ## Changelog 🆑 admin: Made it easier for admins to adjust blood brother teams using admin tools. fix: Correct blood brother conversion logging. /🆑 * Adding a blood brother via the team panel sets it up correctly --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
b4e80a6bed |
[MIRROR] Protected admins can skip 2fa if the db is down. (#26751)
* Protected admins can skip 2fa if the db is down. (#81823) This is basically only admins inside of the .txt and for /tg/station, only includes heads like the headmins and headcoders --------- Co-authored-by: san7890 <the@ san7890.com> * Protected admins can skip 2fa if the db is down. --------- Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com> Co-authored-by: san7890 <the@ san7890.com> |
||
|
|
290a97d05e |
[MIRROR] You can do more things while floored (#26643)
* You can do more things while floored (#81641) ## About The Pull Request While on the floor, you can: - Use the UIs of Atmos machinery (except thermomachine and bluespace gas vendor), Holopads, Crayons (spray cans too), radios, and Disposal bins - Close extinguisher cabinets with Right-Click - Click and drag yourself onto a photocopier to climb onto it. I also changed all instances of ``ui_status`` to have all the args it's being passed, I was messing with it a bit but it's gonna be for a later PR. ## Why It's Good For The Game It's an extra layer of harmless realism, also nice QoL for people who do not have functional legs and do not have a wheelchair. ## Changelog 🆑 qol: You can use atmos machines, holopads, crayons, spray cans, and disposal bins while floored. fix: You can close extinguisher cabinets while floored. fix: You can climb onto a photocopier from the floor. /🆑 * You can do more things while floored --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
39bf9c700b |
[MIRROR] Minor update to admin secrets panel (free antags for everyone) (#26428)
* Minor update to admin secrets panel (free antags for everyone) (#81292) ## About The Pull Request Remakes a button in admin secrets panel from everyone is traitor to everyone is admin chosen antag. ## Why It's Good For The Game Slightly better buttons for admin to push ## Changelog 🆑 admin: remade everyone is traitor into everyone is antag in secrets panel /🆑 * Minor update to admin secrets panel (free antags for everyone) --------- Co-authored-by: Holoo <38228316+Holoo-1@users.noreply.github.com> |
||
|
|
7117ad7809 |
[MIRROR] Refactors fancy type generation (#26415)
* Refactors fancy type generation (#81259) ## About The Pull Request [Refactors fancy type generation]( |
||
|
|
b485162a04 |
[MIRROR] Station Goals are now handled by SSstation instead of a global list (#26313)
* Station Goals are now handled by SSstation instead of a global list (#81177) ## About The Pull Request You can now get station goals in a slightly better way over using a `locate() in` call on a global list. The Meteor Satellite goal no longer stores a giant list of ALL OBJECTS in view. And now correctly only counts turfs. ## Changelog 🆑 fix: Meteor Satellites no longer erroneously count every piece of paper as a protected turf. fix: As a result the station goal is slightly more difficult /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com> * Station Goals are now handled by SSstation instead of a global list * Will it work? I do not know. But it compiles. --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
11b83c5c2f |
[MIRROR] Newspapers now use TGUI (#26243)
* Newspapers now use TGUI (#80991) ## About The Pull Request Newspapers work as a static newscaster that is not affected by things like D-notices and changing wanted issues after its been printed. It doesn't store comments or get any updates after its been printed. You can also scribble on the paper to leave notes on a specific page, which is a feature I have never seen in my life but it is still here I guess. Minor things I've added: - Sound effect when printing the newspaper in the first place - 2 second do-after when scribbling just for some player feedback and consistency - Balloon alerts - Context tips for scribbling and burning I also fixed an issue with wanted issues on newscasters when there isn't an image. As a minor note, I replaced the instances of ``content`` in Buttons I saw in newscaster's UI because it's marked as deprecated. Too lazy to take a video sorry    ## Why It's Good For The Game Fixes an issue with newscasters and makes newspapers use a nice TGUI that feels more responsive than before. Helps further https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA even more. ## Changelog 🆑 refactor: Newspapers now use TGUI. fix: Fixed the newscaster's wanted section showing a non-existent photo. /🆑 * Newspapers now use TGUI --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
ab5a4d0f99 |
[MIRROR] split area.contained_turfs up by zlevel, make init 10 seconds faster (#26161)
* split area.contained_turfs up by zlevel, make init 10 seconds faster (#80941) ## About The Pull Request Situation: areas have a list of all turfs in their area. Problem: `/area/space` is an area and has a 6 to 7 digit count of turfs that has to be traversed for every turf we need to remove from it. This can take multiple byond ticks just to preform this action for a single space rune Solution: split the list by zlevel, and only search the right zlevel list when removing turfs from areas. replaces `area.get_contained_turfs()` with a few new procs: * `get_highest_zlevel()` - returns the highest zlevel the area contains turfs in. useful for use with `get_turfs_by_zlevel` * `get_turfs_by_zlevel(zlevel)` - returns a list of turfs in the area in a given zlevel. Useful for code that only cares about a specific zlevel or changes behavior based on zlevel like lighting init. * `get_turfs_from_all_zlevels()` - the replacement for `get_contained_turfs()`, renamed as such so anybody copying/cargo culting code gets a hint that a zlevel specific version might exist. Still used in for loops that type checked so byond would do that all at once * `get_zlevel_turf_lists()` - returns the area's zlevel lists of lists but only for non-empty zlevels. very useful for for loops. The area contents unit test has been rewritten to ensure any improper data triggers failures or runtimes by not having it use the helpers above (some of which ensure a list is always returned) and access the lists directly. * split area.contained_turfs up by zlevel, make init 10 seconds faster * eeyes * Update area_spawn_subsystem.dm * Unshits turf contain code slightly (#81023) Literally just implements my reviews from #80941 I am frankly a smidge pissed that the pr was merged without them being handled. No code is worth merging past known issues, and if the author is just gonna dip then that's life. I don't like privileging mso on stuff like this, especially because frankly I'm kinda mad at him rn but also because when a pr is made the onus on finishing it falls to the person who made it. Should not need to clean up after someone as a maintainer, and shouldn't normalize doing it. I'm not like mad at zypher directly mind he offered to do this too, just the idea he was espousing here. --------- Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
782a04859a |
[MIRROR] Macro Optimizes Map Saving (100x) DO NOT CHURN STRINGS Edition (#26189)
* Macro Optimizes Map Saving (100x) DO NOT CHURN STRINGS Edition (#80845) ## About The Pull Request Yello! This one is reasonably quick, tho I did some fixes too This is the big one, fixes the buildmode tool sometimes locking disabled for the whole round. We do this by replacing the static var on buildmode with global var and a global proc This keeps a harddel on the buildmode datum from permalocking is_running to TRUE Also makes flipping the var BACK if something breaks significantly easier for admins, so that's nice Alright, smaller things now Fixes lists of numbers failing to encoded improperly This was fixed on shiptest, we failed to actually port their most recent revision Fixes the shuttle flag not actually working because it used istype instead of ispath Changes obj_blacklist to a typecache for optimization's sake Renames/moves some vars around to prevent weird double typing things Removes a checktick in key gen, it's just costing more time then it would save in overtime Properly handles lists. We were only doing var encoding one layer deep, need to do it alll the way down Alright, now the optimizations This proc is fucking HOT, and it's for really dumb reasons This is a text gen proc, and it makes the mistake of generating text and concatinating it with MORE text. This is HORRIFICALLY EXPENSIVE because byond caches strings (can only be one of each) and string churn fucks up that caching system something fierce Moving from strings to lists of strings we join at the end takes us from like idk 100 seconds to save bare metastation to like 1.5 This is applied basically everywhere for obvious reasons While I'm here, storing keys in a flat list and then using find to find them, then using that index to lookup into another flat list is a bit silly. Let's just make it an assoc list. Faster lookup, cleaner. Oh also rather then iterating over all the vars on an object, let's iterate over just the ones we care about yeah? Let's see... no sense genning a key we'll never use, and having suffixes be often non existent is silly just embrace the slight mess. That's it I think, this takes us from 100 seconds to save metastation to 2.5 seconds to save ALL of metastation (I removed the vars limiter so I could make sure var saving didn't fuck me up) ## Why It's Good For The Game Cleans up some issues that we failed to port the fixes for, MASSIVELY optimizes this (so it can finish in like 5/10 seconds and not 300!) and ensures admins can always use the thing and don't risk dropping their pet buildastation to the void. Worth noting, this tool really should not be used for station mapping outside an event context. It produces sorta buggy var edits, and WILL fail to pull over context for shit. Please don't use it as such Profiles (csv files I promise) [Before](https://github.com/tgstation/tgstation/files/13853313/profiler.json) [After](https://github.com/tgstation/tgstation/files/13853271/profiler.json) I'd include my line by lines but I don't know how much you'd get out of them. Here's an image tho  ## Changelog 🆑 fix: The map saving tool will no longer lock up and prevent all further action at random fix: Map saving now takes on the order of seconds, not minutes fix: Fixes an issue with lists that caused strongdmm to report saved maps as broken /🆑 * Macro Optimizes Map Saving (100x) DO NOT CHURN STRINGS Edition --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
e9d215ee10 |
[MIRROR] Remove unused output var from sql_message_system.dm [MDB IGNORE] (#26131)
* Remove unused `output` var from `sql_message_system.dm` (#80951) ## About The Pull Request Fixes this  ## Changelog N/A * Remove unused `output` var from `sql_message_system.dm` --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
ebc069d742 |
[MIRROR] Optimizes Reftracking (Bigly) (Plus harddel fixes) [MDB IGNORE] (#26138)
* Optimizes Reftracking (Bigly) (Plus harddel fixes) (#80443) ## About The Pull Request ### Reftracking BS Alllright so reftracking is slow, really really slow. That's a problem for me, both because I want it to be fast so I can more efficiently torture players by running it on live, but also because it impedes both local and CI runs. So I've set out to micro optimize the DoSearchVar proc, one of the hottest in the game. I've done this in a few different ways. #### The simple shit Removing redundant proc args Yeeting assoc arg setting (extra cost) Moving if statements around to prioritize the more common case Ignoring empty lists. #### The not simple shit Throwing our snowflake list checking into the sun (Background, byond has some special lists that cannot be accessed like an assoc list, trying to will lead to runtimes) The way we handle this involves inspecting their ref string, and it eats a LOT of time. Faster then to mark all the lists we know are special by var name, and then use try/catch to detect and silence anything that sneaks through (this is on the order of like 1/3 per run, kinda curious what they are tbh) Thanks to MSO for the idea for this btw. Removes the vars and logic that tied ref searching to clients. It's not how this code is used, and it slows everything else down for really no reason Added support for handing in a known "hanging reference" count, and then searching for that. This lets us early exit the ref search if we find everything we were looking for, which is REALLY powerful, and why I asked for refcount() in the first place. ### Harddel Fixes [Fixes some harddels w gulag stuff born of the 515 one way ref issues]( |
||
|
|
4b6d69046c |
[MIRROR] fixes null plane debuggers for admins [MDB IGNORE] (#26114)
* fixes null plane debuggers for admins (#80939) ## About The Pull Request Yeah, why would we delete the plane debugger while the admin is active? ## Why It's Good For The Game Broken debugging tool. ## Changelog N/A * fixes null plane debuggers for admins --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
47f8ddd4b9 |
[MIRROR] Fixes the "Saw this admin message" button not working [MDB IGNORE] (#26107)
* Fixes the "Saw this admin message" button not working (#80908) ## About The Pull Request Wrong fuckin name brother (also topic doesn't automake textnums into nums) ## Why It's Good For The Game Closes #80020 ## Changelog 🆑 admin: Confirming that you have read an admin message now uh, works. it's been 2 years bros /🆑 * Fixes the "Saw this admin message" button not working --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
d55095b95c |
[MIRROR] Adds a Debug command to stop all weather. [MDB IGNORE] (#26073)
Adds a Debug command to stop all weather. (#80848) Atomizing out of #78524 as a result of that PR being too big and this was quite easy to do. This adds a debug (admin) command that allows you to stop all weather effects that are going on across the map in a given instance. This is useful for when you are testing something on lavaland and need the storm to stop, or if you otherwise had some other kind of weather effect interfering with testing something. It's worth noting this directly calls end() on the active weather effect, meaning that for more complicated weather that may have different side effects, it may need some extra finess, but as of current writing no weather does anything interesting in their wind_down() procs. God weather is so annoying while testing lavaland, plus this is just straight admin and testing tooling so there's no harm. 🆑 admin: Added a new admin verb that ends all active weather within the weather subsystem. /🆑 Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
c41dd0e2f4 |
[MIRROR] Saves some free lag by removing some in area (in world) loops [MDB IGNORE] (#25977)
* Saves some free lag by removing some in area (in world) loops (#80644) ## About The Pull Request Goes through and changes some `in area` / `in a` loops to use `get_contained_turfs` to cut down on `in_world` loops. Saves some free lag. ## Changelog 🆑 Melbert fix: Some things which affect everything in an area are less laggy, the "all lights are broken" station trait especially /🆑 * Saves some free lag by removing some in area (in world) loops --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
4d019655c1 |
[MIRROR] Make server announcement OOC [NO GBP] [MDB IGNORE] (#25975)
* Make server announcement OOC [NO GBP] (#80741) ## About The Pull Request Makes the server admin announcement use tgchat's OOC colors and stops using announcement.ogg, so players don't mistake it for a Centcom announcement.   ## Why It's Good For The Game Melbert was right. ## Changelog 🆑 LT3 fix: OOC announcements will now be in shown in OOC colors /🆑 * Make server announcement OOC [NO GBP] --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
d270fb2b2d |
[MIRROR] Fixes some runtimes in pathfinding (and bonus) [MDB IGNORE] (#25969)
* Fixes some runtimes in pathfinding (and bonus) (#80735) ## About The Pull Request Found these while running a test server all night. I am not sure if the second one really causes issues because `.` is being set to something but it is is certainly polluting the runtime logs. Also fixes an unrelated runtime with one of the admin verbs, where it would runtime if you canceled out of the input prompt. ## Why It's Good For The Game Less runtime spam.   ## Changelog 🆑 fix: fixes some runtimes in pathfinding code, as well as one in the give direct control admin verb /🆑 * Fixes some runtimes in pathfinding (and bonus) --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
6cefa2b9ab |
[MIRROR] Map export admin verb/buildmode [MDB IGNORE] (#25965)
* Map export admin verb/buildmode (#80326) ## About The Pull Request The base for the PR was taken from https://github.com/shiptest-ss13/Shiptest/pull/206 and thank them for that. The point of this verb is to save pieces of the map to your computer for further use. It's not that necessary, but rarely, it can be useful. [Video](https://i.imgur.com/M6mdDTC.mp4) ## Why It's Good For The Game Transferring buildings from one round to another, preserving the decor made in the game. ## Changelog 🆑 Vishenka0704 admin: The ability to export a part(or z-level) of the map has been added. /🆑 * Map export admin verb/buildmode --------- Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com> |
||
|
|
8eeca186df |
[MIRROR] Cleans up some extra args in Destroy() [MDB IGNORE] (#25907)
* Cleans up some extra args in Destroy() (#80642) ## About The Pull Request After https://github.com/tgstation/tgstation/pull/80628, these shouldn't be needed anymore right? ## Why It's Good For The Game Cleans up some vestigial code ## Changelog EDIT: Not player-facing. * Cleans up some extra args in Destroy() --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
888e1c82c9 |
Adds Epsilon alert level (#25857)
* yes * tyes |
||
|
|
e2285feacd | https://github.com/Skyrat-SS13/Skyrat-tg/pull/25828 | ||
|
|
922ec66ee7 |
[MIRROR] Better Ghost Selection [MDB IGNORE] (#25789)
* Better Ghost Selection * yes * oldcode updates and compat --------- Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
9361376345 |
PDA update (Messenger works while dead, Microwave works, etc). (#80069) [REMIRROR] (#25829)
* PDA update (Messenger works while dead, Microwave works, etc). (#80069) This is an update that touches many more things all at once (compared to my other PRs) meant to make PDAs in general feel more consistent and not take away from one of the experiences we want to encourage: interaction between players. 1. Replaced all checks of a 'pda' with a 'modular pc'. This means technically (though not done in-game currently) other modpcs can hold an uplink, and microwaves can charge laptops. 2. Speaking of microwave, they now don't break and require deconstruction if the cell is removed mid-charge. 3. When a Mod PC is out of power, it will now allow the Messenger to work (which now also doesn't consume any additional power), if the app exists on the PC. Here's a video demonstration https://github.com/tgstation/tgstation/assets/53777086/7ae12f81-a271-49b8-95fa-2ba54d2e2d1f 4. Flashlights can't be turned on while the cell is dead 5. I replaced a bunch of program vars with ``program_flags`` and renamed ``usage_flags`` to ``can_run_on_flags``. 6. Added a debug modPC that has every app installed by default. Mafia had some issues in the past that were unknown because Mafia wasn't preinstalled with any tablet so was never in create & destroy nor in any other unit test. This was just an easy solution I had, but PDAs should get more in-depth unit tests in the future for running apps n stuff- I just wanted to make sure no other apps were broken/harddeling. Currently when a PDA dies, its only use is to reply to PDA messages sent to you, since you can still reply to them. Instead of just fixing it and telling players to cope, I thought it would be nice to allow PDA Messenger to still work, as it is a vital app. You can call it some emergency power mode or whatever, I don't really mind the reason behind why it is this way. When I made cells used more on PDAs, my main goal was to encourage upgrading your PDA and/or limiting how many apps you use at once, I did not want this to hit on players who use it as a form of interaction. This is the best of both worlds, I think. The rest of the changes is just for modularity, if some downstream wants to add tablets, phone computers, or whatever the hell else, they can still get just as far as PDAs should be able to get to, hopefully. 🆑 add: PDAs with a dead power cell are now limited to using their Messenger app. fix: Microwaves now stop charging PDAs if the cell was removed mid-charge. fix: Microwaves can now charge laptops. fix: PDA Flashlights can't be turned on while the PDA is dead. fix: You can now hold a laptop up to a camera (if it has a notekeeper app installed) like PDAs already could. /🆑 --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> * ok --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
218fcdb8d5 |
[MIRROR] adds head of staff job flag [MDB IGNORE] (#25705)
* adds head of staff job flag * Update jobs.dm --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
d21f0a63f5 |
[MIRROR] Remove /datum/game_mode, we SSdynamic now [again] [MDB IGNORE] (#25371)
* Remove /datum/game_mode, we SSdynamic now [again] * Modular * OLD CODE + repath --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
d718af9913 |
[MIRROR] Bridge Assistant Station Trait [MDB IGNORE] (#25667)
* Bridge Assistant Station Trait * Diffs * fixes * Update job_traits.dm --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
0f1761fa40 |
[MIRROR] Color matrix defines for filters and identity [MDB IGNORE] (#25823)
* Color matrix defines for filters and identity (#80320) This PR converts the procs `color_matrix_identity`, `color_matrix_lightness` and `color_matrix_contrast` into defines/macros. Also adds in defines for common color matrix filters. I don't like how `color_matrix_identity` is a one-line proc with no arg. Also these help people identify the sort of color matrix filter is being used. * Color matrix defines for filters and identity --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
b79167c173 |
[MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* Organ movement refactor *Un-nullspaces your organs* * Fix conflicts I checked the conflicts on the two weird conflicts and no previous TG pr touches them i assume its just github being github because those shoulden't be conflicts *shrug * Fix #1 uhh...this is going to be a long one * Fix #2 Modular Movement Flags * Fix #3 It builds now * Fix #4 Oh god it builds now, I missed some things * Fix #5 No more Runtimesplosion Now time for Synths * Update nightmare_organs.dm * on_mob_insert * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25664 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25685 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25582 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25686 * bro the fucking brain does not go into the chest. * seriously? undocumented code causing shit. if it breaks ghouls, so be it. --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com> Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
07127f688e |
[MIRROR] Admin server announcement uses new announcement span [MDB IGNORE] (#25737)
* Admin server announcement uses new announcement span (#80403) ## About The Pull Request The current admin announce is just notice span text, which is easily missed mixed in with all the other white noise of the chat box. Currently admins have to fill it with linebreaks or manually add their own spans to increase visibility. This updates the admin announcement proc to use the new alert box divs, similar to other announcements, making it more visible. ## Why It's Good For The Game Admin server-wide announcements are generally things you want the players to notice  ## Changelog 🆑 LT3 admin: Server wide admin announcements now use an alert box like other announcements /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> * Admin server announcement uses new announcement span --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> |
||
|
|
70c12a6baf |
[MIRROR] SDQL2 Query doesn't automatically bake in span_admin() [MDB IGNORE] (#25596)
* SDQL2 Query doesn't automatically bake in `span_admin()` (#80221) ## About The Pull Request  this shit is UGLY to see in Discord, let's not automatically bake in `span_admin()` every time we send this stuff out and only use it in the context where it matters (sending the message results `to_chat()` to an admin who is actually in the game) ## Changelog irrelevant * SDQL2 Query doesn't automatically bake in `span_admin()` --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
ef6fe48e08 |
[MIRROR] Refactors Object Possession into a Component (moar modular, less /mob vars) [MDB IGNORE] (#25534)
* Refactors Object Possession into a Component (moar modular, less `/mob` vars) (#80160) ## About The Pull Request We have two verbs that allow any given mob to take control of an object and move it ephemerally, `/proc/possess()` and `/proc/release()`. These ones leveraged two vars present on every `/mob`: `name_archive` and `control_object`. I don't like having vars clog up my VV and this just injected snowflake behavior in a lot of spots - let's just make it a component that'll clean everything else up. This also opens up the ability to have more objects be under mob control without giving someone verbs that spit out to the blackbox as an admin verb + logs + message admins but that's a later thing. This just subs in the behavior in a nice way. Also, since it's a component, I added a small QoL that we can support now: A screen alert that allows you to get out of the possession early without navigating the stat panel for the specific verb. I think it's neat. You can also trigger the aghost keybind if that's something you want as well. Also also, nothing actually ever cleaned up `control_object` by setting it to null. This means that in the old framework, if a mob got qdelled during a possession, that would have triggered a hung ref harddel. That won't happen anymore. ## Why It's Good For The Game Two less variables taking up crud space in the VSC debugger + view variables panel. Better behavior injection that is far more reusable. Component handling this behavior allows for better extensibility of this function in the future.  ## Changelog 🆑 admin: Object Possession has been reworked, please report any potential bugs. qol: Object Possession should now throw a screen alert for you to unpossess the object instead of you having to search the stat-panel for the "release obj" verb. You can still use the verb but it's a lot nicer now. Aghosting will also work now. /🆑 * Refactors Object Possession into a Component (moar modular, less `/mob` vars) * Refactor hydra quirk The name_archive var is gone, let's store it in the quirk instead --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
4433c8491d |
[MIRROR] Turns the "Admin Permission Elevation Notification" into a macro [MDB IGNORE] (#25474)
* Turns the "Admin Permission Elevation Notification" into a macro (#80149) ## About The Pull Request Turns this boilerplate message into a centralized macro because this code is important, but not so important that every coder know the nitty gritty details of it. In case someone wants to add more logging/handling (or update the message), there's now a central macro to update for all nine events in which we check. This shouldn't break anything because it's the exact same thing we were doing previously and the early return checks are still all there, but it does work on my machine regardless ✔️  * Turns the "Admin Permission Elevation Notification" into a macro --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
6001394929 |
[MIRROR] Reworks invisimin variable to a trait [MDB IGNORE] (#25440)
* Reworks `invisimin` variable to a trait (#80121) ## About The Pull Request This was a variable that existed on the `/mob` level despite only ever being altered in one place. Perfect to just make a trait since it's all managed in one spot anyways (and no other code is really reliant on this flag being flipped, it's just for the code to know to add/remove invisimin status). I also tweaked some messages so they could be more consistent, lmk if that should be changed ## Why It's Good For The Game Less not-useful stuff to scroll through in View Variables, better scoping of a variable to an intended location. ## Changelog Not necessary * Reworks `invisimin` variable to a trait --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
9c60ff1de1 |
[MIRROR] Removes Clone Damage [MDB IGNORE] (#25429)
* Removes Clone Damage * Update blackbox.dm * Modular * Update schema * Update database_changelog.md * More modular deprecated clone things --------- Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
801484bcab |
[MIRROR] Moves the new "Turn Target into MMI" verb into a VV dropdown option and rewrites the code around it. [MDB IGNORE] (#25413)
* Moves the new "Turn Target into MMI" verb into a VV dropdown option and rewrites the code around it. (#80097) ## About The Pull Request Removes the Turn Target into MMI verb and re-adds it as a VV dropdown option. Rewrites the code around this to support what is effectively an admin-forced action, which MMI code previously didn't support cleanly. ## Why It's Good For The Game #79896 added a new debug verb, unfortunately because of how that debug verb was defined (it has args for a target mob in the proc params) it automatically gets added to the right click context menu instead...  Which is not ideal for admins as they're one misclick away from just deleting a mob. This moves it to the VV dropdown menu for humans and rewrites the code behind it, which previously relied on the MMI attackby proc which expects a user and thus has side effects as a result. This new code is more suited to an admin force-insertion than the old code which removed the brain and forced the now brainless mob to insert its former brain into the MMI (with the potential to fail on user input for the now brainless mob).  ## Changelog 🆑 admin: Removed the "Turn Target into MMI" right click context menu verb entirely, and instead added the same command as a VV dropdown on human mobs. /🆑 * Moves the new "Turn Target into MMI" verb into a VV dropdown option and rewrites the code around it. --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> |