* Fix admin lookup/follow on disease outbreak [NO GBP] (#73717)
## About The Pull Request
In https://github.com/tgstation/tgstation/pull/73599 my copy/paste
screwup removed the admin lookup in Disease Outbreak: Advanced. Puts it
back.
## Why It's Good For The Game
Admins are supposed to have a link to jump/follow, not message the ckey.
## Changelog
🆑 LT3
fix: Admins can jump to/follow patient zero of a disease outbreak again
/🆑
* Fix admin lookup/follow on disease outbreak [NO GBP]
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Buff scythes, goats, and plantbgone vs PLANT biotypes (#72889)
This buffs scythes, goats, and plantbgone vs PLANT biotypes:
- Scythes now deal x1.5 damage to venus flytraps (3 hits to kill)
- Scythes now target the flower bud vines
- Goats now target flower bud vines and deal 15 damage to PLANT biotypes
- Goats have a eating sound whenever they bite PLANT biotypes
- Plantbgone now does 2 dmg per unit to PLANT biotypes (10 dmg per
spray)
- Plantbgone now has a 75% chance to remove weeds and deals large damage
to flower buds
- Weed control crates now come with a pair of leather gloves
- Golems are immune to thorn effects
- Any kind of thick glove material will prevent thorn effects when
attacking
- Flower buds will now take x4 damage from fire and sharp weapons
(unless they have fire trait)
- Regular scythes are now a sharp object
Also this fixes a few runtimes with spacevines and nulls. The bane
element now accepts `mob_biotypes` bitflags as an argument.
Before my changes:
- Plant-b-gone was doing 0.4 dmg per unit to PLANT biotypes (2 dmg per
spray)
- Scythes took 5 hits to kill venus flytraps
- Goats only affected podpeople
- Flower bud vines were being ignored by weed killing code
- Plantbgone only had a 50% chance to remove weeds (and this was very
inconsistent due to RNG)
- Botanical gloves and thick gloves didn't protect from thorns
- Golems were getting pierced by thorns despite having pierce immunity
- Flower buds were not taking the x4 damage like they should have been
- Regular scythes were not a sharp object, but other scythes
(chaplain's, megafauna loot) were sharp
This makes the weed killer crate more effective since people were
complaining about it being worthless vs vines and flower buds. These
changes give people more options to respond to threats vs plants.
🆑
add: Add a pair of leather gloves to weed control crate
balance: Mobs with the PLANT biotypes (venus flytraps, pod people,
killer tomatoes) are now much weaker vs scythes, goats, and plantbgone.
balance: Plantbgone is now more effective at destroying weeds.
balance: Regular scythes are now a sharp object
fix: Fixed scythes, goats, and plantbgone not affecting flower bud
vines.
fix: Thick and botanical gloves not protecting from thorns
fix: Golems not having pierce immunity from thorns
fix: Runtime where vines tried to spread into null turf
fix: Runtime where null vines that were destroyed were trying to spread
to nearby turfs
soundadd: Add eat food sound when goats eat plants
code: Improved goat targeting code
code: The bane element now accepts `mob_biotypes` bitflags as an
argument.
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* You can't teleport easter prizes with your brain (#73680)
## About The Pull Request
Fixes#69258
I assume nobody else tackled this because it was _too_ simple and they
assumed someone else would.
Opening a kinder egg will now deposit its contents in the _egg's_ turf,
which has the same result as it did before for using it in your actual
hand, and no longer teleports objects if done via telekinesis.
## Why It's Good For The Game
Minor consistency issue.
## Changelog
🆑
fix: Opening a surprise egg with your mind will no longer teleport the
contents
/🆑
* You can't teleport easter prizes with your brain
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Improves admin rod logging and fixes un-aimed rods being aimed. (#73668)
## About The Pull Request
Logs wont say a rod has been aimed at null location anymore and instead
will say "a random location"
Also admin rods that were not aimed were retaining the location set by
previous rods which is bad since it meant un-aimed rods were actually
aimed.
## Why It's Good For The Game
Bug fix + better logging.
## Changelog
🆑
fix: Un-aimed admin rods will now actually be un-aimed instead of aimed
at the previous aimed rods target.
admin: Admin aimed rods will now log that they're aimed randomly when
not aimed.
/🆑
* Improves admin rod logging and fixes un-aimed rods being aimed.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Missed
* Disease Outbreak retries on event setup failure [NO GBP] (#73599)
## About The Pull Request
- When Disease Outbreak starts, instead of failing on the first attempt
picks a new target if the chosen target is no longer valid for
infection.
- Corrects transmission of disease, assigning a stat. Positive viruses
with a resistance higher than transmissibility provide immunity from the
disease outbreak.
- Improved logging and admin information
## Why It's Good For The Game
- Along with https://github.com/tgstation/tgstation/pull/73596 this
makes the event reliably fire instead of giving up if the first
selection has changed during setup. (Death, new immunity, infected with
different virus, whatever.)
- Disease transmits as expected to unprotected. Positive viruses provide
immunity from infection based on their resistance stat.
## Changelog
🆑 LT3
fix: Disease Outbreak doesn't give up so easily when trying to start the
event
balance: Disease Outbreak will not spawn on positive virus mobs, but can
be transmitted if resistance is low
fix: Disease Outbreak creates an entry in the virus log like it should
admin: Admins can see Disease Outbreak virus stats when the event starts
/🆑
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Radiation Leak event can no longer target machinery that doesn't use power (#73609)
## About The Pull Request
The Radiation Leak event will no longer target machinery that doesn't
use power. This includes a lot of non-machine machinery, like the
anomalous crystal, the chef's icecream vat, or IV drips.
## Why It's Good For The Game
Closes#73558.
## Changelog
🆑 Rhials
fix: The radiation leak event no longer targets machinery that doesn't
use power.
/🆑
* Radiation Leak event can no longer target machinery that doesn't use power
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Disease Outbreak/Heart Attack candidate lists clear themselves before generating (#73596)
## About The Pull Request
When canSpawnEvent is run for the disease outbreak event, it would
generate_candidates() and add whoever was a valid infectee to a list.
Unfortunately, this list would not be cleared until the event was
actually run, meaning the candidate list could become malformed if the
event was cancelled, interrupted, or otherwise stopped before it could
properly start.
Additionally, this issue would arise if the admin setup process was
begun without actually running the event, or if two admins were
attempting to press buttons at the same time.
The list could contain duplicates, or players who were valid candidates
on the first candidacy check, but not at the present moment. The list
now clears itself every time it is generated, meaning that a fresh
candidate list is made every time one is needed.
Since the heart attack event uses the same candidate generating system
as the disease event, the change has been made there as well.
## Why It's Good For The Game
Closes#73552, hopefully? I can't imagine it's an issue with how the
candidates are selected, and am like 99% sure it's just the list getting
fudged somehow.
## Changelog
🆑
fix: The disease outbreak/heart attack event candidate list will now
clear itself before generating.
/🆑
* Disease Outbreak/Heart Attack candidate lists clear themselves before generating
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Fixes Disease Outbreak: Advanced [NO GBP] (#73358)
## About The Pull Request
- Corrects severity thresholds for med/harmful/dangerous
- Removes tier 1 cures from cure pool
- Dangerous/Biohazard disease correctly show up on HUD at spawn
- RNG actually listens to what severity the symptoms are supposed to be
- Fixes various symptoms that were in the wrong severity list
- Disease is now assigned illness name based on its highest severity
component
- Converts old code to snake_case
## Why It's Good For The Game
Disease Outbreak works as expected, both on random spawn or admin custom
disease creation. Ensures that diseases that are harmful or potential
for quick spread are visible to scanners and HUDs.
## Changelog
🆑 LT3
code: Disease Outbreak: Disease max severity replaced with requested
severity
code: Disease Outbreak: Generated disease now includes symptom based
name
code: Disease Outbreak: Disease name is now included in the station
announcement
code: Disease Outbreak: Now in snake case
balance: Disease Outbreak: Tier 1 cures removed from pool
fix: Disease Outbreak: Dangerous/Biohazard diseases are now visible
fix: Disease Outbreak: Event setup generates the correct severity
fix: Disease Outbreak: Various potential symptoms were in the wrong
symptom pool
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Fixes Disease Outbreak: Advanced [NO GBP]
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Adds a new event, "Radiation Leak" (#72655)
Adds a new random event, "Radiation Leak".
A random machine in a random department will begin leaking radiation.
This includes a radiation aura around it, and semi-regular puffs of
smoke clouds containing mutagen and polonium.
The machine will stop leaking after some time, but can also be stopped
by using a random tool on it, indicated in its examine text.
I added a new "radiation emitter" component, for simple "emits
radiation" behavior. Then I made the radioactive mutation use it. This
means that the radioactive gene emits radiation while on stasis and
dead, rather than only in life.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Admins can now customize the stray drop pod event. (#72975)
## About The Pull Request
Gives admins the ability to rig where the stray drop pod will drop in
addition to rigging what type of cargo crate regular drop pods contains
and how many telecrystals and which uplink syndicate droppods will use.
## Why It's Good For The Game
More control for admins regarding drop pods, while admins can spawn drop
pods normally these drop pods have slightly different behavior that
changes their usecase. I think it'd be highly useful for admins to for
example spawn in a clown ops surplus crate as part of a TC trade or
randomly spawn a crate full of gnomes thats announced to the crew so
they can hunt for them.
## Changelog
🆑
admin: Admins can now customize the crate type and landing zone of the
stray drop pod event.
/🆑
* Admins can now customize the stray drop pod event.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event (#73024)
## About The Pull Request
This PR description might be a bit rushed because I accidentally
submitted the PR and want to bang out a quick explanation of what this
is before people start asking questions.
Adds a new, rare, ghost-themed anomaly event -- The Ectoplasmic
Outburst.

This event increases in power as more ghosts orbit it, with three
important thresholds to meet.
If 10% or more of all active observers are orbiting the anomaly, an
effect will occur in the nearby area akin to the revenant's defile
spell, damaging flooring, windows, and making a mess.
If 35% or more are orbiting the anomaly, nearby objects in the effect
radius have a chance to become haunted, and will fling themselves at
anyone nearby for a bit. Spooky!
Now, at 50% or more participation, things get serious. Ghosts orbiting
the anomaly will be polled to be brought back into the world for a brief
period as a vengeful spirit, anchored to a SUPER spooky ghost portal.
The portal closes after two minutes (alternatively, smash it with a
toolbox) and deletes all of the ghosts it spawned. Vengeful spirits are
mostly just meant to smash stuff and be a nuisance while they can. It's
a wonderful opportunity to let deadchat desalinate a little.

Oh, also, the anomaly is deadchat controlled. With enough ghosts, you
could theoretically outrun anyone trying to neutralize it!
The associated reactive armor has an effect similar to the anomaly,
haunting nearby objects for a time when the wearer is struck. Not
particularly outstanding, but it can introduce an element of chaos into
a fight that your opponent might not expect.
## Why It's Good For The Game
Anomaly events are great for ghosts. Why not make one tailored just for
them!
Gives admins something to spawn when a wizard has killed half of the
crew but it's not quiiiite time for an ERT.
It's a bit of a silly event with a novelty reward, but I think it's rare
enough not to be a huge issue.
## Changelog
🆑 Rhials
add: Ectoplasmic Outburst anomaly event
add: Reactive Ectoplasm Armor
/🆑
* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Refactors Admin Setups on Forced Events + Refactors Vending Sentience + Refactors Shuttle Loans (#72998)
- [x] TEST EVERYTHING
tested:
- Pirates
- Vending Machines
- Shuttle Catastrophe
- Anomalies
- Immovable Rod
- Sandstorms
- Scrubber Overflow
- Stray Meteor
- Madness
- Department Revolt (Well obviously, it is my super robust code after
all)
- Shuttle Loan
- Mass Hallucination
- Heart Attack
- False Alarm
Disease Outbreak is probably fine aha... It correctly reports that there
are no candidates before aborting.
allow you to let the game decide where previously you had to choose!
I need to refactor and datumize how admins set up special conditions on
forced events, so I did! Now `/datum/event_admin_setup` handles admin
settings, with a few prototypes to make it easier to give events admin
options in the future. This was exhausting and what 90% of the pr is.
The code was so bad I could not datumize the admin part of it so I
cleaned it up, making a lot of things in the event get decided in
`setup()` where they should.
The code was so bad I could not datumize the admin part of it so I
cleaned it up AS WELL, by datumizing the shuttle loans. Should be easier
to add more types in the future, actually kinda stoked.
This is preparation for a tgui change to ForceEvent.ts an admin has
requested. Phew!
🆑
refactor: Refactored a bunch of admin-related event code, hopefully you
won't notice much
admin: ... But you specifically may notice some minor differences. Raw
inputs changed into tgui ones, minor soul removal, etc.
/🆑
* remove override
* merge conflict
* dm update
* merge conflict
---------
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Big Paperwork: Adds the Paperwork loan offer, paperwork fraud, and ancient paperwork! (#70863)
Adds paperwork -- an indecipherable mess of papers that only a seasoned
department head could hope to decipher. If processed and sent to Central
Command via the cargo shuttle, the budget gets a bonus.
Paperwork is distributed through a new Shuttle Loan offer. A nearby
station needs some paperwork reviewed. Do you have what it takes to
handle BIG PAPERWORK?
Processing paperwork is relatively simple. You can inspect it to see
which head of staff it "belongs" to, and you can use their stamp to
complete it. You get a lot of these, so the bonuses can add up if you
get them all in. Just be careful not to return any unprocessed
paperwork.
With big paperwork comes big paperwork fraud, and big fines.
You can photocopy your completed paperwork to double-dip with Central
Command and squeeze out a little bit more money. The more paperwork
fraud you commit, the higher the chance you'll be caught and fined.
On top of that:
Some say that in the long forgotten halls of maintenance, there lies
_ancient paperwork_. Documents whose importance has long since passed,
but are still important for bookkeeping at Central Command. With a keen
eye, you might spot one of these while scouring through maintenance.
Make sure it gets forwarded to the right person, cargo will thank you.
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Fixes admin "power failure" secret. (#73277)
## About The Pull Request
- Fixes "power failure" secret not working.
`GLOB.the_station_areas` is a list of types, not list of areas.
This `as anything` was causing runtimes, as it was accessing values on
types, and not area instances.
Swaps it over to use `GLOB.areas` + location check that the areas are on
station Z level.
- Fixes "power failure" secret having no announcement if no grid check
has occurred
`GLOB.power_failure_message_cooldown` starts at 0, so it was always
lower than `world.time` if an admin uses it when no grid check has
occurred. Delving deeper, these should not have been linked whatsoever.
The power failure spam prevention is now tied to the grid check event
itself. I also don't believe it to be necessary, as we fixed discounts
having infinite stock, but I'll keep it just cause.
## Why It's Good For The Game
Secrets work as advertised
## Changelog
🆑 Melbert
fix: Admins, "All areas unpowered" in the secrets menu will now function
again.
/🆑
* Fixes admin "power failure" secret.
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Update Event: Tram Malfunction (#73118)
## About The Pull Request
We've had it for a couple months and from watching, making some tweaks
the parameters based on how it's worked out in the real world.
- Spread between min and max damage is reduced
- Event length decreased
- Calculates damage based on the mob's max health instead of static
value
- Lethality multiplier during event decreased
## Why It's Good For The Game
- Min damage and max damage were too low and too high, respectively for
mobs with 100 maxHealth
- Tram hits won't have those occurrences of it doing like 500 damage
- 15 minutes is too long, people forget it's even running. Better to
have shorter bouts of malfunction, potentially more often
## Changelog
🆑 LT3
balance: Tram Malfunction: Decreased spread between min and max damage
balance: Tram Malfunction: Event length decreased
balance: Tram Malfunction: Damage multiplier added to account for
different base health levels
balance: Tram Malfunction: Event collision lethality multiplier
decreased
/🆑
* Update Event: Tram Malfunction
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Tram Mk. IV hotfixes [NO GBP] (#73243)
## About The Pull Request
Fixes some little issues in
https://github.com/tgstation/tgstation/pull/73057
- tram doors only crush people if either emagged (100%) or
malfunctioning (15%)
- emag works on tram doors
- crossing signals use correct amount of power, increased brightness
- crossing signals and destination signs consume power when idle
- green static crossing signal shuts off when power lost
- left/right emag icons are swapped
- tram bench override shouldn't override all benches | Fixes
https://github.com/tgstation/tgstation/issues/73250
- reduced damage from tram door crushing (60 > 45)
## Changelog
🆑 LT3
fix: Fixed motion sensors on tram doors, they will now crush you much
less often!
balance: Reduced damage from being crushed by tram doors
code: Un-nested emag blacklist
code: emag works properly on tram doors
fix: Backwards tram door sparks animation
fix: Tram displays power consumption
fix: Tram crossing signals power consumption
balance: Increased brightness on tram crossing signals
fix: West Wing NW/SW and East Wing NE/SE crossing signals now shut off
when power is lost
fix: Tram benches don't override standard benches
fix: Reduced saturation and brightness of standard bench
/🆑
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Tram Mk. IV hotfixes [NO GBP]
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Fixes ghost roles announcing when they fail (#73175)
## About The Pull Request
Fixes ghost roles from being announced if they haven't managed to get a
player to spawn as the mob. We do this by killing and returning when we
fail to spawn a player, while the ruleset isn't processing.
Also makes these rulesets FAIL by default, so they aren't secretly
passing events that don't exist.
## Why It's Good For The Game
Closes https://github.com/tgstation/tgstation/issues/38241
Players no longer get announced about events that aren't occurring, and
weren't intended to be played (like fake announcements), making actual
fake announcements actually fake.
## Changelog
🆑
fix: Announcements of ghost roles don't play if no one accepts the poll
to play as the role.
/🆑
* Fixes ghost roles announcing when they fail
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Adds an ghost orbit popup for the wise cow (#73065)
## About The Pull Request
Ghosts now get a "hey look orbit here there's something cool going on"
alert when a wisdom cow spawns. This only applies to event spawns, not
any instance of a wisdom cow spawning.
This not being a thing has annoyed me for a LONG TIME and I've kept on
forgetting to do it.
## Why It's Good For The Game
There might not be a huge reason to orbit a wisdom cow, since it's not a
particularly juicy event or anything. Regardless, it gives deadchat
somewhere to congregate and appreciate the cow's extensive dialogue
choices before a player disintegrates it.
## Changelog
🆑
qol: ghosts now get an orbit notification for wise cows!
/🆑
Co-authored-by: Rhials <Datguy33456@gmail.com>
Carp won't eat an empty space station (#73048)
## About The Pull Request
I saw complaints in a few places that after changes to make them try to
come inside, Carp Migration would fuck up marathon servers or other
rounds where people playing with very low population.
Trivial fix: Now the event won't trigger if there are less than 12
players, rather than the previous completely pointless requirement of
two players (why would it be unacceptable for carp to haunt the solar
panels if there was only one player?)
## Why It's Good For The Game
Carp aren't individually very dangerous but if there's more of them than
there are you it can be a problem. The maintenance issues also add up if
you're playing a really long round with no people in it to do a
construction project.
## Changelog
🆑
balance: The carp migration event won't trigger if there are fewer than
12 players.
/🆑
Co-authored-by: Jacquerel <hnevard@gmail.com>
Adds admin panel description to Tram Malfunction (#72820)
- Adds missing event panel description explaining what Tram Malfunction
does.
- Modifies announcement to let the crew also know what Tram Malfunction
does.
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Unwacks immovable rod in hyperspace (#72506)
closes#72497
Immovable rods, including wizard, will ignore the hyperspace drift
🆑
fix: fixes wizard rod form infinitely travelling in hyperspace
/🆑
* Unwacks immovable rod in hyperspace
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Adds an announce_to_ghosts for the Scrubber Clog event (#72556)
## About The Pull Request
Gives the ghosts an orbit announcement when the Scrubber Clog event
occurs.
I don't think I should get GBP for this because it was just something I
forgot when making the event.
## Why It's Good For The Game
It's standard for most other events and prevents people (me) from having
to fly over to the scrubber.
## Changelog
🆑 Rhials
qol: The Scrubber Clog event now gives an orbit popup to ghosts!
/🆑
* Adds an announce_to_ghosts for the Scrubber Clog event
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Crafting/Cooking menu update
* Yeeted away all of the merge conflicts, time to fix the code
* Okay, now it compiles, and after testing, it seems to work just fine
* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu
* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Adds the Venom Antagonist (#72346)
<!-- 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. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
adds the venom antagonist
dont review this its not worth it
## Why It's Good For The Game
<!-- 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. -->
venom they wont know what hit em

## Changelog
<!-- 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. -->
🆑
add: Venom antag
/🆑
<!-- 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. -->
* Adds the Venom Antagonist
* Update venom.dm
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* The worst PR you've ever seen. Admins can now modify beer nukes to contain custom reagents. (#72444)
## About The Pull Request
The reagent that is produced when a beer nuke detonates is now
customizable by admins, Allowing for horrific creations like mutation
toxin floods, changing the entire stations flooring to carpets or lubing
every single turf. Also allows admins to trigger this at will using
trigger event, but you can't blame the crew if you do that.
## Why It's Good For The Game
I have on a few occasions wished I could modify the beer nuke to have a
custom reagent for events, this allows for it. In general this is a
pretty hilarious tool for the admin arsenal that I'm sure other admins
will come up with funny use cases for.
## Changelog
🆑
fix: Beer nukes no longer runtime on detonation.
admin: Admins can now modify what reagent beer nukes produce, now your
parties can be alcohol free!
admin: Admins can now creature custom reagent scrubber overflows, TC
trade 20TC for superlube flood?
/🆑
* The worst PR you've ever seen. Admins can now modify beer nukes to contain custom reagents.
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* made xmas crackers tiny (#72224)
## About The Pull Request
Xmas crackers are now tiny instead of normal sized. This also applies to
the used crackers.
## Why It's Good For The Game
They look tiny
()
and this makes them fit into trash bags. People just leave these things
all over the floor and they're annoying to clean up when you can't stuff
them in your trash bag.
## Changelog
🆑
fix: xmas crackers are now tiny instead of normal sized
/🆑
* made xmas crackers tiny
Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
* Adds the Sandstorm random event, directional meteor functionality, space sand. (#71802)
<!-- 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. -->
## About The Pull Request

Hey guys, it's your boy. Back at it again with another meteor-adjacent
event PR.
Adds the Sandstorm random event, inspired by the long-unused admin only
one. It picks a direction to approach from, alerts the crew of its
imminent arrival, and after a little over a minute of preparatory time,
sends waves of sand and dust to grind down everything in that direction.
To accomplish this, some minor adjustments had to be made to meteor
generation code. They can now be passed an optional arg for a direction
to be thrown from, and will pick a random one if no direction is given.
Also introduces the newest addition to our cast of meteors -- space
sand! It's even weaker than space dust, and shows up exclusively in this
event. Space sand is **ineffective against rwalls**, and will not damage
the arrivals area's high-tech sand-resistant glass. This is to prevent
this event from venting one of the most dust-vulnerable areas on the
station, and to make sure new players aren't shafted into firelock hell
when the right angle is picked.
I did a lot of testing and tweaking of numbers to get the damage to
average at about the level I'm comfortable with. This is meant to be a
high-impact event that isn't as destructive (or unavoidable) as a meteor
wave. Speaking of avoidance, let's talk about mitigation:
You get an early warning and a direction the sand will come from. You
have time to grab repair supplies, move to safety, get a MODsuit. You
can make worthwhile repairs as the sand comes in from inside (or
outside, if you're brave enough) with nothing more than a welder and
iron sheets. If you're feeling particularly spicy, you can leverage your
prep time setting up shield generators, which spawn in engineering and
have been added to the maintenance machines loot pool. Anyone can
contribute, so do your part as a good crewmate and help out!
All that being said, the event can't be prevented entirely. Shit's going
to get shredded, especially on the outside of the station. Damage will
vary heavily based on the station and direction, ranging from
inconsequential to threatening. It should happen late enough into the
round that, at the bare minimum, the crew shouldn't be caught
unprepared.
For those of you who are worried, the ORIGINAL sandstorm admin event is
still with us too. It's been moved from the space dust file into the
Sandstorm event file. This PR also makes a very minor change to the
naming of the space _dust_ events, for better menuing.
So, to sum it all up: Sand hits grinds down one side of the station, you
get a minute of warning, shield generators now spawn in maintenance. Be
a good crewmate and help where you can.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
More event variety is good, and events that give the players agency on
how bad the impact will be is even better.
<!-- 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. -->
## Changelog
<!-- 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. -->
🆑 Rhials
add: Sandstorm random event! A random side of the station is pummeled by
an onslaught of sand and dust. If you hear that one is approaching, grab
a welder and some iron to help with repairs!
add: Space sand! It's weak and doesn't hurt reinforced walls, but
shouldn't be underestimated in high quantities.
code: You can now pass a start direction to the
spawn_meteors/spawn_meteor global procs.
/🆑
<!-- 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. -->
* Adds the Sandstorm random event, directional meteor functionality, space sand.
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Anomalies can now be triggered at your location with admin_setup. Also sets control on setup() for events (#72065)
## About The Pull Request
Anomaly random events will now ask if you want their anomaly to spawn at
your location if triggered via admin setup.
This PR also makes a small but useful change to the logic for new
round_event objects. round_events now have their control (their
associated round_event_controller) set on New, rather than after setup
is called. Previously, round_events could not access control in their
setup proc (as it was not set at the time), meaning transferring
admin-chosen variables had to be done later in start/announce (depending
on which comes sooner).
While this has just been worked around in the past, the change needed to
be made here, as some anomaly event types announce first, and some start
first. The admin variables needed to be passed in earlier than
start/announce (in setup).
Short version: you can access control in round_event setup() now :D
## Why It's Good For The Game
MORE adminbus, MORE anomaly shenanigans (they're one of my favorite
event types). Also resolves a quirk in event code that bothered me in
other PRs I've made.
## Changelog
🆑 Rhials
admin: anomaly events now give the option to occur at your current
location when triggered with the Trigger Event admin verb
/🆑
* Anomalies can now be triggered at your location with admin_setup. Also sets control on setup() for events
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Creates short-lived foam (and applies it to the Scrubber Overflow) (#71850)
## About The Pull Request
Creates a short-lived foam with a lifetime of 1 SECOND instead of the
default 8 SECONDS to address some complaints about the scrubber overflow
event overstaying its welcome.
## Why It's Good For The Game
Fixes#69689Fixes#71830
## Changelog
🆑 Tattle
balance: the foam used in the scrubber overflow has a lifetime of 1s
instead of 8s
/🆑
Co-authored-by: tattle <article.disaster@ gmail.com>
* Creates short-lived foam (and applies it to the Scrubber Overflow)
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
* [NO GBP] Removes a can_spawn_event check that I forgot to remove on the grey tide event. (#71866)
I forgot to remove these lines after changing the area checks away from
a global list. There's no longer any reason why only one of these should
run at a time.
## Why It's Good For The Game
Increases grey tiding :)
* [NO GBP] Removes a can_spawn_event check that I forgot to remove on the grey tide event.
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Chaplain armor beacon now uses radial + previews possible armor sets, plus some choice beacon code cleanup. (#71674)
## About The Pull Request
- The chaplain choice beacon now uses a radial to select the armor set,
instead of a list, giving the user a preview of what each looks like.

- Lots of additional cleanup to choice beacon code in general. Less copy
pasted code.
- All beacons now speak from the beacon with their message, instead of
some going by "headset message". Soul removed
## Why It's Good For The Game
I always forgot when selecting my armor which looks like what, and
choosing an ugly one is a pain since you only get one choice. This
should help chaplains get the armor they actually want without needing
to check the wiki.
## Changelog
🆑 Melbert
qol: The chaplain's armament beacon now displays a radial instead of a
text list, showing previews of what all the armor sets look like
qol: (Almost) all choice beacons now use a pod to send their item,
instead of just magicking it under your feet
code: Cleaned up some choice beacon code.
/🆑
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Chaplain armor beacon now uses radial + previews possible armor sets, plus some choice beacon code cleanup.
* update modular
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>