Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine
Moves Halloween, Christmas, and misc holiday items to obj/holiday
Moves lollipops to obj/food
Moves crates, closets, and storage to obj/storage
Moves assemblies to obj/assemblies
Renames decals.dmi to signs.dmi ...because they're signs and not decals
Moves statues, cutouts, instruments, art supplies, and crayons to obj/art
Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys
Moves guns, swords, shields to obj/weapons
* preparations for self-referential list conversion
* additional changes for the auxlua 1.1.1 update
* fixed a type in `SS13.await`
* bumps auxlua to 1.2.0
* bumps auxlua to 1.2.1
* Obstructed Vents and Scrubbers? - Debug Them Out!
Hello there,
In _May of 2014_, Ikarrus wrote the following (here)[https://tgstation13.org/phpBB/viewtopic.php?f=11&t=327]:
"Avoid placing scrubbers and air vents under objects. It's better to leave them in the open and visible so people can use them."
How far we have fallen. However, during a review I did in the last week, I accidentally let one of these (in multiple occurrences!) slip past me:
I don't want that to happen again. It's especially hard when they're under tables, or big bulky lockers, and under computers sometimes! They're not obvious to the human eye, so we must rely on technology. This creates a new Debug Mapping Verb that will flag out any vent, scrubber, or canister port that is being obstructed by an invalid object (directionals and undertiles are excluded). It will be a gargantuan effort unlike anything you've seen to get rid of all of them, but at least this is the first stone in a grand arch.
* Updates some variable names, adds some more logging
* Update code/modules/admin/verbs/mapping.dm
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Update code/modules/admin/verbs/mapping.dm
* no more single letter var
* early continue
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* First draft on this branch. Should work.
* Whoopsie
* Some fixes
* And again
* Final draft, question mark?
* Please enter the commit message for your changes
* Uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
* please work
* Saving for the week offline
* Final draft
* Final final draft
* Oh and clean this up
* eah
* Okay, final for real.
* I lied.
* Sure thing boss
* clinclin
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* That's all of em I think
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Atomized from #68816, with a little addition. Fixes some dumb formatting issues with the lua editor, adds a "jump to bottom" button when viewing the state log, and paginates the state logs.
* Removes redundant init_verb() call
* Fixes the MC tab not going away when you deadmin + runs Prettier on statbrowser.js
* Revert "Fixes the MC tab not going away when you deadmin + runs Prettier on statbrowser.js"
This reverts commit 2676d5f897cdc956b062f5d4785a7ebf2e1df8a9.
* Now prettier will only work inside of the tgui folder
* Actually makes the change for the MC tab sticking around forever
It turns out if you hit reply to an ahelp before it was closed, and then
sent back the input() after close, you'd end up with a runtime leaking
your reply, and no feedback.
This catches that case, and instead forwards it to a new ahelp, so the
text isn't lost, and the closed ticket is respected
Approved by sitting headcatmin Timberpose
🆑
fix: Attempting to send back a reply to an ahelp after it is closed now sends the reply to a new ticket, rather then just dropping it and leaving you for dead with a runtime
admin: see above
/🆑
About The Pull Request
replaces a ton of log_game with user.log_message so the log is added to individual and global logs.
adds a few logs for individual LOG_VICTIM, LOG_ATTACK etc logging.
adds logging for bluespace launchpad's tele coords being changed.
took the word "has" out of log_combat, as it's extra and just lengthens the log.
Why It's Good For The Admins
It's extremely laggy to open game.txt so an alternative is individual game logs
Changelog
cl
admin: A lot of game logs will now also be in individual game logs, for convenience in log diving.
admin: Added logging for bluespace launchpad x and y offset changes, which go to individual game logs.
admin: Attack logs will now be slightly shorter, one useless word was removed.
/cl
About The Pull Request
kép
This PR does the following:
Force event menu uses tgUI.
Arranged events into categories, and added a little description to each. The descriptions appear as tooltips when you hover over the Trigger button.
Rewrote how "Announce to crew?" works. It no longer pops up a panel after the event has been already announced. Instead, the admins select it via a checkbox, and the result is passed through an optional argument.
announceChance's comment is tweaked a bit to reflect how it actually works at the moment.
Moved rpgtitles to wizard events, where it belongs.
Fake Virus and Electric Storms show up to observers, as I believe they are not as common as Space Dust or Camera Failure, and should be cancelable.
Potential issues:
This only solves half of #68408, I don't think admin triggering having a timer and a cancel button is a big issue, as it allows other admins to overrule you if needed, but if i is, I will try to fix it within this PR.
Fixes#68408. Events now spawn immediately, and the the announceChance is overwritten before it begins.
My choices for categories and descriptions might not be the best, feedback would be appreciated.
Why It's Good For The Game
The old spawn menu was completely unorganized, and you could only search using the browser search tool. I believe a built in search bar helps with this issue a bit. I also believe that organizing the events into categories, and adding descriptions will help with newer admins who might not be familiar with all events.
Changelog
cl
refactor: The Force Event UI has been refactored
refactor: Events now have categories and descriptions
refactor: Admin triggered events happen immediately
balance: Fake Virus and Electric Storms are shown to admins, making them cancelable
/cl
* Begins refactoring admin pms, with a focus on runtime safety and ease of understanding
There's more I want to do here, mostly with spans and cleaning up sone
logic flow to be easier to understand
The primary thrust of it is making explicit any assumptions we make about values
This is important because this is sensitive code, and runtimes are not acceptable, since they both leak information and could lead to dropped ahelps, which is almost worse.
I'm also splitting the proc up into subsections, in an attempt to make it easier to reason about and work with
As a side effect of this, some operations need to be done more then once to avoid potential debugger escalation.
Related to this, I'm also no longer directly passing around client references through the procs. I instead pass the result of a pretty basic proc into each, to avoid issues with sleeping and such.
Oh, and I fixed a bug that made it impossible to reply to remote ahelp
responses. I hate this place.
* Converts all uses of the linkify span to a macro. One of these doesn't have a closing span, not sure if that's a bug or a feature
* Cleans up more logic embedded inside data, since this is critical code
Changes the backup for replying to someone who logs out, instead of
using the first person to send something to the ticket as our backup, we
use the recipient's ckey.
* some cleanup
* Converts a few more things over to the pattern
Reorganizes and deocuments sends_adminpm_message to be less hard to
track/read
* Cleans up a hanging proc that needed filtering
* Does a passthrough over tgs, makes stealthmin keys actually unique
* cleanup, screed at the top of the file
* cleanup, comments, etc
* Thanks trash, I can in fact not spell
* ok yeah I really can't spell
* updated comment to explain how code works
* messsage -> message spellcheck
* Nullchecking prevention
if for whatever reason someone in the future adds code that lummox says can sneakily allow for Logout() to execute between this and the last time client was checked, this could potentially runtime without nullchecking
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
This PR fixes this issue by making sure every proc called in the stack of /proc/wrap_lua_print which could sleep is called using INVOKE_ASYNC, and to prevent such problems in the future, marks all the wrappers as SHOULD_NOT_SLEEP(TRUE). I also figured out how to fix the dumb overflowing problem of the lua editor ui.
Due to lag concerns regarding lua states with a large number of global variables (including fields within global tables), I have made it so the global table and state log are hidden by default - they can be shown using a toggle button in the editor ui.
A pretty heavy refactor for pAIs that just spilled into a rework.
Attempts to fully document and organize backend code.
Fixes a large number of bugs left untouched for a decade.
Breaks down the frontend into subcomponents.
Rebalances their software modules.
(should) fix pAI faces get removed if you activate them during alert #68242
* Add delay round end to the server tab
* Remove some copypaste
* Moved permissions checking
* remove hideable verbs
Co-authored-by: tattle <article.disaster@gmail.com>
Adds the option for cooldown action sequences which has a list of sequence actions, the owner of the sequence doesn't have direct control over any of the actions in the sequence but is still considered the owner of the sequence actions, the main ability simply handles calling whatever those sub actions should do.
Adds melee cooldown times to cooldown actions.
Cooldown actions now use bitflags so an ability can share its cooldown to multiple other types of abilities
Cooldown times are now handled by the base activate proc, cleaning up copy paste of StartCooldown()
Reworks the admin verb for adding cooldown abilities to where it has significantly more customization (and tells you to mark the mob you want to modify instead of just doing nothing) and also allows for creation of the new sequences, allowing entirely new and unseen abilities to be formed out of existing ones. Also adds a verb for removal of mob abilities.
* Updates Test Station Areas Verb to filter better
Hey there,
So, previously we ran a "blacklist" system to filter out the specific areas we never wanted to see, and only ever checked areas that were on a station Z-level. This worked great four years ago, but now we have IceBoxStation. IceBox mingles several different types of areas that would take too long to blacklist, so I chose to implement a "whitelist" in concurrence with it.
We now have all station areas be under the `/area/station` path, which is quite useful. So, this will now always check for a station z-level, ensure that it's not in the blacklist (areas that we never wanna check, like the holodeck, or the bomb range that I just added), as well as the fact that it's whitelisted as well. This is very useful because otherwise, IceBox Test Areas would have these massive lists full of redundant, useless area spam, so this should condense it down a bit.
* Fixes internal/external organ for checks
Fixes many single-letter vars for organ for loops
Makes use of `as anything` more often
Fixes the comment for external_organs to explain what it actually is for
Fixes for loops checking internal_organs for external ones, as they aren't stored there (in dummy's harvest_organs, on_species_loss, and purrbation removal)
About The Pull Request
Many of the items in the list of admin fun were not actually categorized as Admin.Fun (and thus not appearing), and some admin fun procs were not even listed.
Why It's Good For The Game
Basically, more admin fun procs are available that were already in code but not listed
Changelog
cl
admin: Fixed many "admin.fun" listings that were incorrect or missing.
/cl
About The Pull Request
Hey there,
6e29689 seemed to work alright on my end, but apparently there are cases where current_ticket.id = NULL. This would cause runtime trace errors that would start to list out the first few words of most adminhelps. Fuck.
You probably could use recipient.current_ticket.id on the "else" portion but I woke up to this and I'm not 100% certain if that will null out at this time. Might also be apt to revert #68215 entirely?
Why It's Good For The Game
Those shouldn't show up in runtimes!
Changelog
Nothing particularly player facing.
Hey there,
Statbus has been broken for 2 months+, and what I've been doing when I need to reference a ticket is to go into the raw-logs and parse it for the involved CKey. However, you tend to get a lot of noise searching for the signal when you filter in Notepad++, so I decided today would be a good day to have the Ticket #ID in all associated AdminPMs (which are already logged in ADMINPRIVATE).
* destroy proc holder pt1
- change proc_holder/spell to action/cooldown/spell
- docs all the spell vars, renames some of them
- removes some useless vars
- start with pointed spells, as they're easy
* kill proc_holder pt2
- kill a buncha vars and replace it with flags
- convert a ton over
- general code improvements
* kill proc_holders pt3
- convert a good few more spells
- rename some signals
- handle statpanel
- better docs
* kiill proc_holder pt4:
- restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
- converts touch attacks to actions
- converts blood crawl, jaunt subtype
* kills proc_holder pt5
- clears up some icon issues so all the currently converted pages don't have errors
- shapeshift
- some more action cleanup
* kills proc_holder pt5.5:
- some documentation
- reworks feedback to prevent oversight with teleports and stuff
* kills proc_holder pt6:
- converted cult spells
- converted magic missile
- converted mime spells
- chipped away at the errors
- removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
- merged magic/spell and magic/aoe, as the comment intended
- more unified behavior for spell levelling
* kill proc_holders pt 6.5:
- replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby
* kills proc_holder pt 6.75:
- minor fixes
* kills proc_holder pt7:
- cuts down on some errors
- refactors some wiz events
* kills proc_holder pt 7.5:
- malf ranged modules
- some minor errors
* kills proc_holder pt 7.75:
- mor eminor error handling, cleaning up changes
* kill proc_holder pt8:
- refactors spell book
- refactors spell implant
- some more minor error fixing
* kill proc_holder pt 8.5:
- scan ability
* Adds some robust documentation
* kill proc_holder pt9:
- converts some / most mutations over
* kill proc_holder pt10:
- sort out all the granters
- refactor them slightly
- fix some compile errors
* Some set-unset sanity - going to need to test removing Share()
* Removes transfer actions. It doesn't seem to do anything.
- Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though
* Removes sharing from actions, docs actions better
* Some better documentation for spell and spell components
* Kills proc_holder pt11:
- Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
- Fixes some more errors
* kills proc_holder pt11.5:
- minor error fixing and sanity
* Method of sharing actions. Can be improved in the future, needs testing
* Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.
* Curse of madness bug I put in.
* kills proc_holder pt12:
- sub 500 errors!
- converts cytology mobs
- converts and refactors spiders slightly
- some minor fixing around the place as usual
* kill proc_holder pt13
- Finishes heretic spells
- Sub 300 errors!
- some touch refactoring to account for mansus grasp
* kills proc_holder pt14:
- revenant
- minor bugfixing for heretic stuff
* kills proc_holder pt14.5:
- some missed stuff for revenant + heretic
* kills proc_holder pt15:
- alien abilities
- more minor fixing
- sub 100 errors. The end is nigh
* kill proc_holder pt16? 17:
- Finishes cult spells
- sub 50 errors!
- refactors the way charge works
- renames / moves some signals
* kills proc_holder pt final:
- sdql spells
- no more errors!
* Bugfixes round 1
* Various bugfixing
- documentation done
- give spell works
- can cast spell gives feedback conditionally
- is available takes into account casting ability
* Some accidental reversions + fixes
* Unit tests
* Completely refactors jaunting
- All bloodcrawling is now handled on the action itself instead of across various living procs
- slaughter demons have their own blood crawls
- jaunting dummies don't have side effects on destroy() anymore
* Wizard spell logging and even more refactoring
Hey there,
Apparently when balloons were split out of `items_and_weapons.dmi`, this was left behind causing stuff like this to happen:
Pretty goofy, right? Let's update the DMI pathing to ensure we don't see the silly purple/white cube when we really want to see an effect that nearly no one knows of (it's the thing that helps you crash the shuttle into a station, I think?).
Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.
Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:
Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:
Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.
Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.
Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.
Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:
Fishing portal sprite by @ArcaneMusic
Other sprites by @Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:
https://freesound.org/people/soundscalpel.com/sounds/110393/https://freesound.org/people/soundslikewillem/sounds/343748/
* Adminwho now caches feedback links until admins are reloaded
* Restore dbconfig
* Fix feedback links, make them query only if necessary, and not on load admins
* Wait longer before checking DB connection
* Back on my dbconfig shit
fixes (Adminwho is slower than it needs to be after feedback links) #67150.
also fixes (timber breaking feedback links totally by qdeling the datum too early) #67360.
* AtmoZphere tablet app now has the previous functionality of the BreatheDeep cartridge's scanning ability, meaning you can swap to analyzer mode to analyze with right-click.
Three main things I do:
Reinforce the remap that i have made with code changes, making the atmos control devices sane and easy to put if someone else stumbles upon this part of the code again. (a4aea1e - f16e620)
Splits the ordnance areas and renames them, kills ordnance misc and things that have nothing to do with ordnance (anymore?) moves them to exp_lab (useful stuff here) and aux_lab (fluff stuff here like laser range in delta or second circuit lab in tram). (0c99f9f- 3c82a88)
Adds a roundstart program disk containing nt frontier to the ordnance office table. Added a hint to file manager there too to help give players a nudge on how to publish papers. (fd747dc)
First one: Makes mapping these things not require varedit, nicer for other people that dont know how the atmos control stuffs works.
Second one: Misc lab has nothing to do with ordnance jesus christ. Also ord hallway is now irrelevant, our ordnance labs are very far from box now. Will probably make downstreams a bit angry for a while though since they might not be fully up to date on the ordnance maps.
Third one: Pretty much justified it in the about section.
Why is this not atomic: This touches all five maps and needs code backing, so I might as well combine them into one maintenance PR instead of giving my peers merge conflict three times.
* Fuck you (refactors ur tails)
* Errors
* Wow. Pain.
* Fixes up probably everything
* finish up here
* Fixes hard del maybe
* original owner hard del
* garbage collection runtime
* suck my peen byond
* Mapped tails
* motherfucker.
* motherrfucker. again.
* Whooopppppsie
* yeah bad idea
* Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels.
* So anyways I repathed all organs
* Fixes
* really.
* unit test... test
* unit test-test but it passes linters this time because im a moh-ron
* I've lost track of what im doing at this point
* Hopefully fixes hard del?
* meh
* Update code/datums/dna.dm
* things n stuff
* repath from master pull