* Removes an unnecessary period from deadchat event announcements (#69800)
About The Pull Request
Removes the period after the name of an event in the deadchat announcement (eg "Bad Thing. has just been randomly triggered!")
Why It's Good For The Game
It looks ugly and needs to be cleaned up
* Removes an unnecessary period from deadchat event announcements
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* Dimensional Anomaly (#69512)
About The Pull Request
Everyone has been asking: "When will there be an anomaly like the bioscrambler, but for the space station? Please, we need more things which replace objects with different objects from the same typepath."
Well I made it and it looked like ass because non-tiling floor and walls look terrible, so then I made this instead.
Dimensional.mp4
The "dimensional anomaly" shifts matter into a parallel dimension where objects are made out of something else.
Like the Bioscrambler anomaly, it does not expire on its own and only leaves when someone signals it or uses an anomaly remover.
When it spawns it picks a "theme" and converts terrain around it until it covers a 7x7 square, then it teleports somewhere else and picks a new theme.
A lot of these themes are relatively benign like "meat", "fancy carpet", or "gold". Some of them are kind of annoying like "icebox" because it creates floor which slows you down, or "clown" because bananium is intentionally annoying. Some of them are actively dangerous, mostly "uranium" and "plasma".
The main problem this will usually cause for crewmembers is decreasing area security. When it replaces doors it replaces them with ones which don't have any access control, and it will also replace RWalls with normal and much more vulnerable walls which will make breaking and entering significantly easier until someone has taken the time to fix the damage. But also sometimes it will irradiate them, you never know.
The fact that sometimes the changes are benign (or provide uncommon materials) and might be happening in places you don't care about access to might encourage people to push their luck and leave it alone until it starts turning the captain's office into a bamboo room or repainting medbay a fetching shade of flammable purple, which I would consider a success.
Armour.mp4
If you successfully harvest the anomaly core you can place it into the reactive armour to get Reactive Barricade Armour, which shifts your dimension when you take damage and attempts to place some randomised (not terribly durable) objects between you and hopefully your attacker (it really just picks up to four random unoccupied tiles next to you). If you're EMPed then the changes it make to the environment will often be as unpleasant for you as they are for a pursuer, and significantly more likely to harm both of you rather than just provide obstacles.
Other changes:
I split anomalies out into their own dmi file, seems to be all the rage lately.
I moved the anomaly placing code into a datum instead of the event because I wanted to reuse it but if you have a better idea about where I could have put it let me know.
This also fixes a bug where the material spreader component wasn't working when I applied plasma materials to something, the extra whitespace was parsing as another argument for some reason and meant it would runtime.
Supermatter delamination was still pointing to Delimber anomalies instead of Bioscrambler.
* Dimensional Anomaly
* Fixes the upstream merge skew
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes ghost role / admin events announcing after they failed to spawn the antagonist. Admin spawned blobs will no longer announce immediately. (#69671)
* Fixes ghost role / admin events announcing after they failed to spawn the antagonist.
* Actually, this isn't even needed
* Fixes ghost role / admin events announcing after they failed to spawn the antagonist. Admin spawned blobs will no longer announce immediately.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Nerfs the scrubber overflow event (#69694)
* The scrubber event now only has a 50% chance per scrubber to actually overflow, leaving some areas without overflow, allowing people to still do stuff.
* Additionally, rebalances the 'safe' chemicals from the vents, removing some unsafe ones and replacing them with carpet.
* Nerfs the scrubber overflow event
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
* Return of the scrubber overflow event (#68378)
About The Pull Request
Brings back the scrubber overflow event, previously removed in #53549
This version has nerfed numbers because foam changes made it stupidly powerful.
Also snake_cases some event variables.
Why It's Good For The Game
More dangerous but not station-damaging events. Bonus: janitor content.
Changelog
cl
add: Re-adds the scrubber overflow event as a random event
/cl
* Return of the scrubber overflow event
* update modular and fix missing non modular edit
* update stray meteor event
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Stray Meteor event, five new special meteors, and another reason to build meteor shields (#69550)
Adds the Stray Meteor random event, as well as a few new special meteors to be featured in it (as well as to meteor waves, but to a lesser degree). Other than these special meteors being a part of meteor waves, the meteor wave event itself is unchanged by this new event.
A single meteor is thrown somewhere in the vicinity of the station, accompanied by a brief warning announcement. To make things more interesting, five new special meteor types have been created to accompany the original three (flaming/irradiated/tunguska). The special meteors have been added to the meteor wave pools, but have lesser weight than the standard meteors. Enough about that though...
* Stray Meteor event, five new special meteors, and another reason to build meteor shields
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles (#69084)
* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was
* Uncomment this
* Right-click attack fix
* Scoop fix
* Smartfridges use silent
* Restores some lost checks
* Fixes storage implants
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles
* update modular
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* anomalies will try to not spawn on lava / plasma rivers (#69389)
* anomalies will try to not spawn on lava / plasma rivers
* outdoors
* anomalies will try to not spawn on lava / plasma rivers
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* adds logging for the Aurora Caelus oven ignition (#69525)
About The Pull Request
So apparently during the Aurora Caelus event there's a 1% chance that the oven in the kitchen ignites. This adds logging for when that does end up happening.
Why It's Good For The Game
Not having this logged can make it really hard to investigate why the entire kitchen burned down. I only found out that this caused the fire because I happened to be in view and saw an "oh egads" balloon alert for a split second. I almost thought I imagined it or something and it turns out it's a simpsons joke...
* adds logging for the Aurora Caelus oven ignition
Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
* Kudzu Fixes v4, hopefully the last one: Fix kudzu possibly obtaining duplicate mutations when being planted from a seed that already has mutations
* Fixes conflict
* Updates the modular spacevines as well to inherit a bit of the improvements (should be brought up to speed later)
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Power failure event will now only provide an announcement if the previous power failure has ended (#68943)
Power failure event will now only provide a message if a previous power failure has ended
* Power failure event will now only provide an announcement if the previous power failure has ended
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* add some tests for if empty space is present (#68582)
About The Pull Request
Fixes: #62140
Fixes part of: #53689
Why It's Good For The Game
Aurora Caelus should no longer run on icebox as intended.
Station goal on stations without space shouldn't get station goals that require space.
Changelog
cl
fix: Added a test in Aurora Caelus event for if the station has the ability to show it.
fix: Stations without space should no longer receive station objectives that require space to be present.
/cl
* add some tests for if empty space is present
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
* [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition>
* Fixes merge conflicts and compilation errors, alongside fixing the joker card to make it fully functional again
* Fixed a bunch of info variables in map files
* Alright this is why I wanted this merged yesterday
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes Ion Storms runtime erroring due to an uninstantiated lawset (#68618)
* Fixes Ion Storms runtime erroring due to an uninstantiated lawset
* Comments
* Fixes Ion Storms runtime erroring due to an uninstantiated lawset
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033)
* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs
* wew
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code
* Delete storage.dm
* yippee
* shit
* holy shit i am stupid
* more fixes
* fuck
* woops
* Sets minimum player count for sentient disease (#68213)
* Sets minimum player count for sentient disease
Co-authored-by: Profakos <profakos@gmail.com>
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Rename "Delimber" anomaly to "Bioscrambler" anomaly. (#67886)
Renames all occurrences of "delimber", "delimber_anomaly", "delimbering", etc. to "bioscrambler", "bioscrambler_anomaly", and "bioscrambling", etc.
* Rename "Delimber" anomaly to "Bioscrambler" anomaly.
Co-authored-by: skylord-a52 <skylord-a52@users.noreply.github.com>
* This tail refactor turned into an organ refactor. Funny how that works.
* Firstly, fixing all the conflicts.
* Fixes all our maps (hopefully)
* Actually, this should fix pod people hair :)
* Almost everything is working, just two major things to fix
* Fixed a certain kind of external organ
* Cleaning up some more stuff
* Turned tail_cat into tail because why the fuck are they separate?
* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file
* Adds relevant_layers to organs to help with rendering
* Makes stored_feature_id also check mutant_bodyparts
* Fixes the icon_state names of ALL the tails (pain)
* Fixes wagging, gotta refactor most mutant bodyparts later on
* I Love Added Failures
* Fixed some organs that slipped through my searches
* This could possibly fix the CI for this?
* It doesn't look like it did fix it
* This will make it pass, even if it's ugly as sin.
* Fixed Felinids having a weird ghost tail
* Fixes instances of snouts and tails not being properly colored
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Assorted Ordnance Code+Map Quality Pass and QoL (#67097)
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.
* Assorted Ordnance Code+Map Quality Pass and QoL
* set 1
* revert
* Update CentCom_skyrat.dmm
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Move more silicon-relevant logs to silicon logs (#67340)
Moves a bunch of logs that were silicon-related but logged to game.log to silicon.log.
* Move more silicon-relevant logs to silicon logs
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
* When AI rolls "Unique AI" station trait, upload modules won't be available until research, and research requires more points. (#66633)
Rolling unique AI station traits removes boards from map and changes research costs of other lawsets.
* When AI rolls "Unique AI" station trait, upload modules won't be available until research, and research requires more points.
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Aurora Caelus is now localized entirely within your station's kitchen. (#67051)
Aurora Caelus is now localized entirely within your station's kitchen. It still affects space as well, for obvious reasons.
* Aurora Caelus is now localized entirely within your station's kitchen.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* Scrubber clog event no longer happens in the recreation area area (#67304)
* Fixes scrubber clog event from saying 'area' twice.
* Anomalies in the recreation area are no longer in the recreation area area
Co-authored-by: Josh <Josh.Powell@softwire.com>
* [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
* [MDB IGNORE] More /area/ typepath organization and cleanup
* wew
* e
* Update CentCom_skyrat.dmm
* wew
* ews
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Scrubber Clog Random Event Spiritual Successor -- New janitor content! (#67023)
Adds a brand new random event as a spiritual successor to the long-lost scrubber overflow event! Scrubbers (that is, a single one on the station) may now randomly become clogged with mobs, and after an alert, will begin pumping out mobs at a steady rate. The infestation can be fixed by either welding the scrubber shut and waiting for the infestation to clear, or you can use a plunger on the scrubber to clear it manually.
* Scrubber Clog Random Event Spiritual Successor -- New janitor content!
Co-authored-by: Rhials <Datguy33456@gmail.com>
* [NO GBP] Jetpack and spacedrift: Fixes and niceties (#66628)
* Jetpack and spacedrift: Fixes and niceties
Ok so when I ported spacemovement onto movement loop,
I neglected to port this behavior that existed to support jetpacks.
Basically, if something that lets you move while spacedrifing
completes a move while you're spacedrifting, the
drift should "disable" to let it complete, and then later restart.
I neglected to add support for that, so that's what this does.
There's some other stuff going on here, mostly things to let jetpacks
ignore some of drift's extra behavior, since when a jetpack is not on
stablized, we want both to coexist.
It's a bit of a mess, I'm sorry about that.
Oh and at temporal's suggestion I've moved the visual_delay set from
newtonian move to an istype on the drift component, that was a good
idea, thanks quiet
* Makes dropping a pull while drifting carry the momentum into the pulled thing\
* Adds some extra context to Process_Spacemove, fixes a bunch of stupid
space bugs
It used to be, if you called Process_Spacemove with a direction, it
assumed you were an "action", so a client or mob trying to move in a
direction.
Unfortuantely for it, I needed to be able to use direction to make mob
pull drifting work. So we now actually pass in a second variable
called continuous_move, which tracks if this Process_Spacemove is on
behalf of a continuous move or not
In addition to this, I've added logic to bumping "off" someone to
prevent backbumping if that makes sense, since the bump is in the form
of a newtonian move that's run before the thing that's bumping actually
moves, we need some way to exclude it from holding the other object in
place.
* Adds a jetpack component, uses it to unify all three versions of
jetpacking
I hate you fikou
There were three copies of the same behavior, which made it hard to fix
stuff. Let's just componentize it
* Fixes jetpacks stabalizing even without fuel
This is mildly hacky. The real fix is to do this with events, but I
really don't wanna bend my brain like that. This'll do
* Ensures turn_off always has a user)
* Shut pu
* Bulky drags no longer effect your movespeed in space, fixing a consistency issue between them and all other forms of drags
* Removes some redundant code, cleans up some messy stuff
* Removes redundant safety checking from jetpack code
* see above
* Removes redundant signals
* [NO GBP] Jetpack and spacedrift: Fixes and niceties
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>