Commit Graph

100 Commits

Author SHA1 Message Date
shayoki f601a6ddaf Merge remote-tracking branch 'tgstation/master' into upstream-6-2-2026 2026-06-03 01:23:54 -05:00
Capsandi 937118b769 Cleans up Fire Alarm sounds (#95705)
## About The Pull Request

Collapses fire alarm sound bytes to mono. Cleans up a high register
artefact from the collapse of stereo to mono sound.

## Why It's Good For The Game

Sounds played in world should not be stereo files.

## Changelog
🆑
sound: fire alarms are no longer stereo files condensed to mono at
runtime
/🆑
2026-04-24 17:56:03 -07:00
ArcaneMusic 0c91535120 Arcmining: Chemical Boosting (#95530) 2026-04-23 17:46:06 +02:00
nevimer 00ccf0c6b5 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/stale.yml
#	SQL/database_changelog.md
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/__DEFINES/atom_hud.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/species_clothing_paths.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/global_lists.dm
#	code/_globalvars/lists/maintenance_loot.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/minor_mapping.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/shuttle.dm
#	code/datums/components/palette.dm
#	code/datums/components/surgery_initiator.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/hud.dm
#	code/datums/mood.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/nyctophobia.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/slime/slime_leech.dm
#	code/datums/weather/weather.dm
#	code/game/data_huds.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/frog_statue.dm
#	code/game/objects/items/rcd/RLD.dm
#	code/game/objects/items/robot/items/hypo.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/items/stacks/wrap.dm
#	code/game/objects/items/storage/garment.dm
#	code/game/objects/items/tools/medical/defib.dm
#	code/game/objects/items/weaponry.dm
#	code/game/objects/items/weaponry/melee/misc.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/curtains.dm
#	code/game/objects/structures/dresser.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/maintenance.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/admin/greyscale_modify_menu.dm
#	code/modules/admin/verbs/light_debug.dm
#	code/modules/antagonists/ashwalker/ashwalker.dm
#	code/modules/antagonists/heretic/knowledge/starting_lore.dm
#	code/modules/antagonists/ninja/ninjaDrainAct.dm
#	code/modules/art/paintings.dm
#	code/modules/client/preferences.dm
#	code/modules/client/verbs/ooc.dm
#	code/modules/clothing/head/wig.dm
#	code/modules/events/disease_outbreak.dm
#	code/modules/holodeck/holo_effect.dm
#	code/modules/jobs/job_types/head_of_security.dm
#	code/modules/jobs/job_types/security_officer.dm
#	code/modules/library/skill_learning/generic_skillchips/point.dm
#	code/modules/mining/lavaland/ash_flora.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/basic/guardian/guardian.dm
#	code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defines.dm
#	code/modules/mob/living/carbon/life.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mod/mod_control.dm
#	code/modules/mod/modules/modules_general.dm
#	code/modules/modular_computers/computers/item/computer_ui.dm
#	code/modules/paperwork/paper.dm
#	code/modules/paperwork/paperbin.dm
#	code/modules/power/lighting/light.dm
#	code/modules/projectiles/guns/energy/kinetic_accelerator.dm
#	code/modules/projectiles/projectile.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/other_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/xenobiology/crossbreeding/_clothing.dm
#	code/modules/research/xenobiology/crossbreeding/prismatic.dm
#	code/modules/surgery/advanced/brainwashing.dm
#	code/modules/surgery/advanced/lobotomy.dm
#	code/modules/surgery/amputation.dm
#	code/modules/surgery/blood_filter.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/brain_surgery.dm
#	code/modules/surgery/cavity_implant.dm
#	code/modules/surgery/coronary_bypass.dm
#	code/modules/surgery/gastrectomy.dm
#	code/modules/surgery/healing.dm
#	code/modules/surgery/limb_augmentation.dm
#	code/modules/surgery/organ_manipulation.dm
#	code/modules/surgery/revival.dm
#	code/modules/surgery/sleeper_protocol.dm
#	code/modules/surgery/surgery_helpers.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/unit_tests/_unit_tests.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/icon_state_worn.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/items/_item.dmi
#	icons/mob/huds/hud.dmi
#	icons/mob/inhands/64x64_lefthand.dmi
#	icons/mob/inhands/64x64_righthand.dmi
#	icons/obj/machines/computer.dmi
#	tgui/packages/tgui/interfaces/OperatingComputer.jsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
#	tgui/packages/tgui/interfaces/SurgeryInitiator.tsx
#	tools/icon_cutter/check.py
2026-02-12 23:50:09 -05:00
theOOZ 83bafb95af Adds more sounds to moisture traps (#94660)
## About The Pull Request

Primarily adds a loop to moisture traps which is mostly silence,
interrupted by the solemn sound of a water droplet falling. Just like
the sprite be doing, y'know?
I decided to make it a simple loop, instead of doing a little extra and
setting that sprite animation up to play only when the sound effect
plays, as I'd have to make moisture traps process to call `flick` - and
I wasn't sure if that's worth it.
The sound effect is from:
https://freesound.org/people/mattfinarelli/sounds/533146/

## Why It's Good For The Game

Adds just a drop of ambience to the maintenance shafts.

## Changelog
🆑
sound: Added more atmospheric sounds to moisture traps
/🆑
2026-01-02 17:08:45 +00:00
Roxy 71faa643bf Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-12 2025-11-12 16:44:13 -05:00
Roxy 7d26c2c4f5 Fix elevator music (#93817)
## About The Pull Request

There was a few things going on here
- The prox monitor for elevators didn't need to be the advanced subtype,
and that was actually breaking it because for some reason with a range
of 1 `field_turfs` only includes the center turf and there are no
`edge_turfs`, meaning the check to not overlap music if you're already
in range wouldn't work and music would start every step except the
middle
- The looping_sound subtype for elevator music had `sound_channel`
already set but the `New` code for looping_sound also has a
sound_channel arg and didn't check if one has actually been passed
before setting it, so sound_channel was being overwritten with null and
thus the music would not stop when you exited the elevator zone

## Why It's Good For The Game

Fixes #92623
Fixes #88261 


https://github.com/user-attachments/assets/e5a2f736-bf68-430a-a3bc-070482e9b68e

## Changelog
🆑
fix: fixed elevator music starting every time you took a step
fix: fixed elevator music not stopping when you left the elevator
/🆑
2025-11-07 20:38:46 +01:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
EnterTheJake a2c7c8e57b Heretic Antagonist Full Overhaul. (#92119)
## About The Pull Request

Heretic has received a complete overhaul. This PR touches nearly every
aspect of the antagonist. For readability's sake, not every change is
going to be listed in this pull request.

For the full list of changes please refer to the design doc:
https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g.

Code by Me, @Xander3359 and @Arturlang 

TGUI by @Arturlang 

Sprites by OrcaCora and GregorDM

Writing bits by @necromanceranne 

### Core changes

- Cross-pathing has been removed. Main knowledge spells are now
exclusive to their path (for the most part).

- For every main knowledge unlocked (save for the robes and the blade
upgrade), Heretics can choose one option from a draft of 3 random side
knowledges (this is a free point).

- Heretics can now purchase side knowledges from a new tab, the
"Knowledge Shop". Side-knowledges have been divided by tier (Stealth,
Defense, Summons, Combat and Main). Tiers are unlocked as you progress
toward your main path.

- Heretics now gain the grasp and mark upgrade immediately, but their
main knowledge choices cost twice as much (except for the first spell,
the robes and the blade upgrade).

- Path specific robes have been introduced! They come with their own set
of quirks.

- Each Path has received a passive ability. This passive is upgraded
when you first create your robes, and again when you complete the Ritual
of Knowledge.

- Paths have been rebalanced as a result of the removal of cross-path
progression. Cosmic and Moon paths have received soft reworks.

- Upon unlocking the path 2nd level or reaching a total of 8 points
worth of knowledge, Heretics will lose the ability to blade break (and
the limit on blades all together).

- Ascension now automatically calls the shuttle with no possibility of a
recall.

- Late join Heretic has been removed.

### New UI 
<img width="750" height="635" alt="moon path ui"
src="https://github.com/user-attachments/assets/184ef783-5c9c-48a1-a2f7-4807ca93e990"
/>


### Knowledge shop

<img width="787" height="669" alt="Knowledge shop"
src="https://github.com/user-attachments/assets/3dc89b84-8c70-4d47-b612-54396e3ea6e7"
/>




### Quality of life //General balance changes

- Heretics will now gain X-ray vision for a few seconds when nearby an
eldritch essence (this effect has a cooldown).

- Ritual of knowledge now requires 1 uncommon item instead of 2. You may
now use a stunprod instead of a baton to complete the ritual. Beartraps
have been removed from the list of possible reagents.

- The maximum number of possible sacrifices required to ascend has been
reduced from 6 to 5 while the minimum has been upped to 4.

- Codex Cicatrix no longer requires a special pen to be made.

### Passive abilities

- Heretics now start with a passive ability. You can find what it does
on the path info tab after a path has been selected, and what they gain
when upgraded.

- Crafting your first set of Eldritch robes will bump your passive to
level 2.

- Unlocking the 2nd level will subsequently unlock your "Ritual Of
Knowledge"

- Completing the ritual of knowledge or ascending will net you the final
level.

### Path Specific Robes

- Armorer's Ritual is no longer a side knowledge. Each path will have
their own unique version of the ritual. This is placed after the 2nd
spell in the tree.

- Robes can no longer be destroyed by fire and acid, grant t4 flash
protection (Moth Heretics stay winning) and protection against basic
syringes, to bring them on par with other antagonist's armor sets.

- The recipe to craft the robes is now a set of armor/vest, a mask (any
mask will do now, not just gas masks), plus the unique reagent required
for the blades (Plasma for Cosmic, Trash For Rust, match for Ash and so
on)

- Wearing the robes as a non-heretic may yield some unfortunate
side-effects.

### Moon Path Rework

Moon path  rework.

Moon Heretics gain immunity to brain traumas and slowly regenerate brain
health. Equipping the moon amulette channels its effects through the
moon blade; making it unblockable and cause sanity damage instead of
brute. Ring leader's Rise now summons an army of harmless clones that
explode when attacked; the explosion briefly stuns non-heretics and
cause sanity and brain damage to them. Moon blade can also now be used
when pacified and Moon spells are no longer blocked by regular anti
magic, only mind magic protection.


**Cosmic Path Rework**

Cosmic path has received the biggest batch of changes alongside Moon.
The path has been dead last in ascension and pickrate (less than 5%) for
almost 2 years. It did gain some popularity over the last few months,
reaching the highest ascension rate in the game (12%) while mantaining a
relatively low pickrate.

Cosmic sits in a weird spot, where pretty much every knowledge
surrounding the path is either mediocre or, in the case of the
ascension, dysfunctional. Yet it has maintained a smidge of relevancy
due to how quickly Cosmic heretics can capture and sacrifice targets
thanks to Star Touch.

As a result, the best course of action would be to rebalance the
entirety of the kit; granting the heretic more tools to manipulate space
and dictate the flow of a fight, while lessening their ability to end a
confrontation by instantly sleeping their opponents.

lastly The Star Gazer is now ghost controlled ; And they shoot lazers!

<img width="636" height="451" alt="gazer gag 3"
src="https://github.com/user-attachments/assets/601d6881-c042-4e42-8ce6-ac90cd27848b"
/>


## Why It's Good For The Game


### Ok...but why do we want this?

Again, if you want my full reasoning, please check my doc
https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g.

To keep it short and concise; Heretic is too complex and unintuitive for
its own good. Too impenetrable for new players and too abusable for
experienced players. This can be chalked up to a lot of poor design
decisions. But ultimately, what I believe being the biggest contributor
to the current status of Heretic is the ability to move into different
paths, also known as "Cross-Pathing".

### Cross Pathing my beloathed.

Cross-pathing, while cool in theory, overcomplicates the antagonist and
overloads them with power. Players dealing with the heretic are
incapable of working out what a given heretic can do. This also leads to
late game heretics having 3 rows Worth of action buttons and virtually
no weakness.

Over the last year, I've often received the understandable but also kind
of unfair accusations of making Heretic too powerful without a clear aim
or purpose.

My goal with the paths I've reworked over the last year (Rust,Void and
Blade) wasn't necessarily to just make them stronger (although that was
also part of the goal, as they were paths that were underperforming),
but for them to have more interactions with the sandbox and to better
live up to the fantasy presented to the player.

If an harbringer of frost gets countered by a cup of coffee, we probably
messed something up.


Unfortunately, the current incarnation of Heretic doesn't really allow
for surgical balance changes to specific paths. Every time a knowledge
gets buffed, we make every path that can easily tap onto that knowledge
stronger by default. It doesn't take a genius to understand why this
system is ultimately unsustainable.

### Blade Breaking

I feel that after a heretic has reached the near peak of their power,
they no longer need the ability to instantly escape any encounter. Check
my doc for my full reasoning.

## Less versatile, more specialized paths.

By removing cross-pathing, we remove a huge maintainability burden from
the antagonist. Paths can now be designed around clearer strengths and
weaknesses. They become easier to balance and less of an headache to
understand for everyone.

It also means we can give paths some needed quality of life quirks
without having to worry how such a change might have a knock-on effect
for other paths.

Ash heretics can finally let loose without dying by their own flames.
Cosmic Heretic can go to space without having to carry a modsuit. Moon
Heretic can use their abilities without fear of one random trauma
ruining their day, and so on.

### What a horrible night to have a curse...., wait how do I curse
people again?

As of right now the heretic tree has quite a hefty amount of trinkets
that pretty much never see use.

Partly because the tree itself is a nightmare to navigate. And partly
because why would anyone set up an elaborate plan or scheme when they
can unleash 2 rows of spell in the span of bunch of seconds.

Heretics mostly gravitate towards powers that push them towards greater,
more potent combat strength. If it doesn't contribute to killing people
quicker, it isn't worth doing for most. And given the opportunity cost
associated for taking those powers, they will remain that way so long as
there are better choices to be poached.

The new draft system encourages Heretics to play more with the tools at
their disposal. If you want to go for a specific combo from the side
path options, you may now do so by tapping into the knowledge shop.

Yes, the shop does include a few knowledges from the other paths. But
these are limited to 1 per path, are very expensive and can only be
unlocked very late into the shift.

## Drip Of the Mansus

The iconic heretic robe is actually sequestered to a side path that is
most easily access by only two paths at a time. Since heretic paths are
being made to be much more specialized, the most obvious way in which
this can be showcased is through an easily
identifiable outfit.

By using the robes, we can both telegraph WHAT heretic you are looking
at, and just how much power they've accumulated and when it is
reasonable to take the kid gloves off and treat them as a genuine
threat. If a heretic is in their
robes, that heretic is now a significantly more prominent danger to the
station.

It also serves as a useful means for gating some of the more powerful
effects of a heretic's path behind the robes, AND enable options for
disarming them of that power should they be captured without making it
something endemic to their mob.

A major problem with heretics is a lack of certainty as to how powerful
they have become. A heretics robes is one of the milestones to help
players dealing with heretics identify that.

### Will this be 100% fair and balanced?

This is a massive overhaul to a pretty complex and bloated antagonist.
I've done my best to show the changes to several maintainers and other
members of the community for their feedback. But at some point we'll
have to see how this behave in the environment to get a feel if
something is over or undertuned. (that's my way of saying, yes this is
likely gonna require a testmerge or two).

What I will say is that I'm not trying to change the core identity of
Heretic.

Heretics should have the upperhand in single encounters early on, be
able to joust a small group of players after they unlock their final
spell, and end the round when they ascend. They're a progression
antagonist. They should retain their payoff as well as pose a danger as
they grow stronger.

But if more players feel like they are more reliably able to play the
antagonist in more varied and interesting ways, rather than the
antagonist largely existing as a measuring stick for 'robustness' due to
its elitist design philosophy, then the rework has been a success. There
should be something for
everyone in the antagonist, as is true for all of our antagonist roles.
2025-10-15 22:34:51 +00:00
Krysonism 17006b220f NT researchers make shocking breakthrough in flux anomalogics! Tesla Cannon Resprite / Resound (#92031)
## About The Pull Request

![tesla_card](https://github.com/user-attachments/assets/27d0777b-3014-4785-b06e-f5e7fe0d5a36)

Resprites:

Tesla Cannon 
Tesla Cannon crafting kit

### New SFX / VFX

The tesla cannon now uses a new type of beam effect that randomly picks
sprite variants for each segment instead of a tracer.

This makes the arc look more dynamic and less distorted. 

Autofire guns can now choose to use a looping sound datum when firing.


![image](https://github.com/user-attachments/assets/b9c0c494-fce6-48bc-9d09-ea2e6257c86c)

#### Balance changes

The tesla cannon must now have its stock unfolded before firing, this
takes 1.5 seconds and makes the gun bulky.

It is still normal sized when folded, and folding it is instant.

### Bug fixes

Fixed a bug where looping_sound.stop() would fail to stop sounds.

The tesla cannon is an incredibly powerfu 

## Why It's Good For The Game

### My reasons for respriting

The old sprite was not bad, by all means but I had a few gripes with it.

* The old sprite does not incorporate the flux anomaly yellow colour.

* The old sprite looks a bit much like a real, professionally produced
sci-fi weapon,

* The old sprite looks pretty small for such a ultra high dps full auto
weapon.

* The old inhand is quite indistinct for something that can game end you
in like one second.

### My design

I think that anomaly items should be very mad science coded and, since
anomaly science is by definition a poorly studied field, they should
look more like prototypes created by a scientist rather than something
professionally made in a factory.

## Changelog

🆑
image: The tesla cannon has new sprites.
image: The tesla parts kit has new sprites.
image: The tesla cannon has a new shocking beam effect when firing.
sound: The tesla cannon has new sounds.
balance: The tesla cannon must now be unfolded to fire.
fix: looping sounds now stop playing sounds when commaned to do so.
/🆑
2025-08-19 22:35:58 -04:00
Krysonism 45e76d80fc NT researchers make shocking breakthrough in flux anomalogics! Tesla Cannon Resprite / Resound (#92031)
## About The Pull Request

![tesla_card](https://github.com/user-attachments/assets/27d0777b-3014-4785-b06e-f5e7fe0d5a36)

Resprites:

Tesla Cannon 
Tesla Cannon crafting kit

### New SFX / VFX

The tesla cannon now uses a new type of beam effect that randomly picks
sprite variants for each segment instead of a tracer.

This makes the arc look more dynamic and less distorted. 

Autofire guns can now choose to use a looping sound datum when firing.


![image](https://github.com/user-attachments/assets/b9c0c494-fce6-48bc-9d09-ea2e6257c86c)

#### Balance changes

The tesla cannon must now have its stock unfolded before firing, this
takes 1.5 seconds and makes the gun bulky.

It is still normal sized when folded, and folding it is instant.

### Bug fixes

Fixed a bug where looping_sound.stop() would fail to stop sounds.

The tesla cannon is an incredibly powerfu 

## Why It's Good For The Game

### My reasons for respriting

The old sprite was not bad, by all means but I had a few gripes with it.

* The old sprite does not incorporate the flux anomaly yellow colour.

* The old sprite looks a bit much like a real, professionally produced
sci-fi weapon,

* The old sprite looks pretty small for such a ultra high dps full auto
weapon.

* The old inhand is quite indistinct for something that can game end you
in like one second.

### My design

I think that anomaly items should be very mad science coded and, since
anomaly science is by definition a poorly studied field, they should
look more like prototypes created by a scientist rather than something
professionally made in a factory.

## Changelog

🆑
image: The tesla cannon has new sprites.
image: The tesla parts kit has new sprites.
image: The tesla cannon has a new shocking beam effect when firing.
sound: The tesla cannon has new sounds.
balance: The tesla cannon must now be unfolded to fire.
fix: looping sounds now stop playing sounds when commaned to do so.
/🆑
2025-08-13 07:43:28 +10:00
Tim 1f855eb9ff Weather DLC - Make it Rain Anything! (#89550)
Introducing more weather types! And yes, you can now have rain be
reagent based!

<details>
<summary>Regular Rain</summary>

![dreamseeker_9S1WzdBW8Z](https://github.com/user-attachments/assets/83aaa1fe-9105-4e15-8455-0337c5c592ef)

</details>

<details>
<summary>Blood Rain</summary>

![dreamseeker_SZufAoXDFt](https://github.com/user-attachments/assets/209404dc-34dd-4381-9bab-9b84eaec2658)

</details>

<details>
<summary>Acid Rain</summary>

![dreamseeker_ngiOqdB5n2](https://github.com/user-attachments/assets/0ab953c6-a215-444a-bdbd-addfc2b1ddbb)

</details>

You can even make it rain ants, plasma, or drugs. All of their effects
get applied to turfs, objects, and mobs depending on the weather options
you select.

Did I mention... there is thunder?

<details>
<summary>Thunder Strikes</summary>

![Untitled video - Made with
Clipchamp](https://github.com/user-attachments/assets/7c5c5930-6e0a-4706-a41b-3cbcc277bfd5)

</details>

<details>
<summary>Sand Storms</summary>

![dreamseeker_ZEFUS73dSA](https://github.com/user-attachments/assets/4a754f2d-c4e5-4b2f-9add-4742628cfa74)

</details>

Despite all this new stuff, none of it has been directly added to the
game but the code can be used in the future for:
- Wizard event - Similar to lava on floor, but this time make the
reagent random or picked from a list and give wizard immunity
- Chaplain ability - Maybe make this a benefit or ability once enough
favor has been obtained
- Admin events - I have added a BUNCH of admin tooling to run customized
weather events that let you control a lot of options
- New station maps/biomes for downstreams (Jungle Station, etc.)
- Change Ion storms to use the new weather system that triggers
EMP/thunder effects across the station
- IceBox could get plasma rain
- Lavaland could get thunder effects applied to ash storms

Relevant PRs that removed/added some of the weather stuff I used:
- #60303
- #25222

---

- Rain sprites were added via [novaepee](https://github.com/novaepee) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/9675
- Sand sprites were added via [TiviPlus](https://github.com/TiviPlus)
(who commissioned them from bimmer) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/4645
- Rain sounds [already existed on
tg](https://github.com/tgstation/tgstation/pull/25222#discussion_r106794579)
and were provided by provided by Cuboos, using Royalty Free sounds,
presumed under default tg sound license - Creative Commons 3.0 BY-SA
- Siren sound is from siren.wav by IFartInUrGeneralDirection --
[Freesound](https://freesound.org/s/46092/) -- License: Attribution 4.0

The original `siren.ogg` sound used on a lot of SS13 servers doesn't
seem to have any attribution that I could locate. The sound was added
about 15 years ago. So I just looked for a somewhat similar sounding
siren noise on Freesound.

More weather customization!

🆑
add: Added new weather types for rain and sandstorms. Rain now uses a
reagent that gets exposed to the turfs, mobs, and objects. There is also
a thunder strike setting you can apply to any weather.
add: Hydro trays and soil will now add reagents to their trays when
exposed to a chemical reaction. (weather, shower, chem spills, foam
grenades, etc.)
add: Weather temperature now affects weather reagents and mobs body
temperature.
bal: Snowstorm temperature calculations were tweaked to allow universal
weather temperature effects.
sound: Added weather sounds from TGMC for rain and sirens (attributed to
Cuboos and IFartInUrGeneralDirection )
image: Added weather images from TGMC for rain and sand storms
(attributed to Novaepee and Bimmer)
refactor: Refactored a lot of the weather code to be more robust
admin: Admins can now control more weather related options when running
weather events. The weather admin verbs have been moved to their own
"Weather" category under the Admin tab.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-04-29 17:44:46 -06:00
Tim 36788ee05f Weather DLC - Make it Rain Anything! (#89550)
## About The Pull Request
##### Disclaimer - Some of the code/icons/sounds were ported from TMGC. 

Introducing more weather types! And yes, you can now have rain be
reagent based!

<details>
<summary>Regular Rain</summary>


![dreamseeker_9S1WzdBW8Z](https://github.com/user-attachments/assets/83aaa1fe-9105-4e15-8455-0337c5c592ef)

</details>

<details>
<summary>Blood Rain</summary>


![dreamseeker_SZufAoXDFt](https://github.com/user-attachments/assets/209404dc-34dd-4381-9bab-9b84eaec2658)

</details>

<details>
<summary>Acid Rain</summary>


![dreamseeker_ngiOqdB5n2](https://github.com/user-attachments/assets/0ab953c6-a215-444a-bdbd-addfc2b1ddbb)

</details>

You can even make it rain ants, plasma, or drugs. All of their effects
get applied to turfs, objects, and mobs depending on the weather options
you select.

Did I mention... there is thunder?

<details>
<summary>Thunder Strikes</summary>

![Untitled video - Made with
Clipchamp](https://github.com/user-attachments/assets/7c5c5930-6e0a-4706-a41b-3cbcc277bfd5)

</details>

<details>
<summary>Sand Storms</summary>


![dreamseeker_ZEFUS73dSA](https://github.com/user-attachments/assets/4a754f2d-c4e5-4b2f-9add-4742628cfa74)

</details>

Despite all this new stuff, none of it has been directly added to the
game but the code can be used in the future for:
- Wizard event - Similar to lava on floor, but this time make the
reagent random or picked from a list and give wizard immunity
- Chaplain ability - Maybe make this a benefit or ability once enough
favor has been obtained
- Admin events - I have added a BUNCH of admin tooling to run customized
weather events that let you control a lot of options
- New station maps/biomes for downstreams (Jungle Station, etc.)
- Change Ion storms to use the new weather system that triggers
EMP/thunder effects across the station
- IceBox could get plasma rain
- Lavaland could get thunder effects applied to ash storms

Relevant PRs that removed/added some of the weather stuff I used:
- #60303
- #25222

---

#### Attribution
- Rain sprites were added via [novaepee](https://github.com/novaepee) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/9675
- Sand sprites were added via [TiviPlus](https://github.com/TiviPlus)
(who commissioned them from bimmer) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/4645
- Rain sounds [already existed on
tg](https://github.com/tgstation/tgstation/pull/25222#discussion_r106794579)
and were provided by provided by Cuboos, using Royalty Free sounds,
presumed under default tg sound license - Creative Commons 3.0 BY-SA
- Siren sound is from siren.wav by IFartInUrGeneralDirection --
[Freesound](https://freesound.org/s/46092/) -- License: Attribution 4.0

The original `siren.ogg` sound used on a lot of SS13 servers doesn't
seem to have any attribution that I could locate. The sound was added
about 15 years ago. So I just looked for a somewhat similar sounding
siren noise on Freesound.

## Why It's Good For The Game
More weather customization!

## Changelog
🆑
add: Added new weather types for rain and sandstorms. Rain now uses a
reagent that gets exposed to the turfs, mobs, and objects. There is also
a thunder strike setting you can apply to any weather.
add: Hydro trays and soil will now add reagents to their trays when
exposed to a chemical reaction. (weather, shower, chem spills, foam
grenades, etc.)
add: Weather temperature now affects weather reagents and mobs body
temperature.
bal: Snowstorm temperature calculations were tweaked to allow universal
weather temperature effects.
sound: Added weather sounds from TGMC for rain and sirens (attributed to
Cuboos and IFartInUrGeneralDirection )
image: Added weather images from TGMC for rain and sand storms
(attributed to Novaepee and Bimmer)
refactor: Refactored a lot of the weather code to be more robust
admin: Admins can now control more weather related options when running
weather events. The weather admin verbs have been moved to their own
"Weather" category under the Admin tab.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-04-07 18:46:28 +02:00
MrMelbert 04d4f3300a Fix some new sound runtimes (#89822)
## About The Pull Request

- This sound was lower than the min


![image](https://github.com/user-attachments/assets/4447ac03-33ea-41f9-9ea6-99e3e0c9725d)

- Mechanical surgery seemed to cause a `null` preop sound runtime. This
fix might be silencing a runtime, I'll have to look closer.

- And `rustle_sound` could be `null`. I think this is actually a
mistake, and the correct way to mute rustling is `do_rustle = FALSE`,
but I feel like we could just delete that var and let people dictate it
by setting it to `null` or not? For a follow up PR nevertheless

## Changelog

🆑 Melbert
fix: You can hear looping computer sounds again
/🆑
2025-03-12 17:11:18 -04:00
MrMelbert 024ee4508d Adds snowstorm sounds (#89463)
## About The Pull Request

Unfortunately, the sound only plays when you're outside, under the
storm. I would love for it to play when you're near a window or
something, but that would vastly over-complicate things. Maybe later.


https://github.com/user-attachments/assets/6ca4bdb8-b1da-4644-bb71-6ca18cf3daec

## Why It's Good For The Game

Some free immersion. And in particular in the dark sometimes I don't
notice a snowstorm is raging so it adds some nice feedback.

## Changelog

🆑 Melbert
sound: Snowstorms now have sounds associated.
/🆑
2025-03-12 16:37:17 -04:00
The Sharkening 1f89d10cda Adds more Ambiance to Lavaland (#3181)
## About The Pull Request

When a storm starts: 


https://soundcloud.com/bangl3/ash-and-fire?si=ed643785acee4b9986efa52e28d7081c&utm_source=clipboard&utm_medium=text&utm_campaign=social_sharing

Lavaland Ambiance


https://soundcloud.com/bangl3/graveyard-of-time?si=bdaabe663806433696addbc1ad3885ff&utm_source=clipboard&utm_medium=text&utm_campaign=social_sharing

## Why It's Good For The Game

Just listen

## Proof Of Testing

It works

## Changelog


🆑 Bangle, StrangeWeirdKitten
sound: Lavaland has new ambiance.
/🆑

---------

Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2025-03-08 00:18:53 +00:00
MrMelbert 1b404098fd Fix some new sound runtimes (#89822)
## About The Pull Request

- This sound was lower than the min


![image](https://github.com/user-attachments/assets/4447ac03-33ea-41f9-9ea6-99e3e0c9725d)

- Mechanical surgery seemed to cause a `null` preop sound runtime. This
fix might be silencing a runtime, I'll have to look closer.

- And `rustle_sound` could be `null`. I think this is actually a
mistake, and the correct way to mute rustling is `do_rustle = FALSE`,
but I feel like we could just delete that var and let people dictate it
by setting it to `null` or not? For a follow up PR nevertheless

## Changelog

🆑 Melbert
fix: You can hear looping computer sounds again
/🆑
2025-03-05 20:46:46 -08:00
MrMelbert 9f1b82d722 Adds snowstorm sounds (#89463)
## About The Pull Request

Unfortunately, the sound only plays when you're outside, under the
storm. I would love for it to play when you're near a window or
something, but that would vastly over-complicate things. Maybe later.


https://github.com/user-attachments/assets/6ca4bdb8-b1da-4644-bb71-6ca18cf3daec

## Why It's Good For The Game

Some free immersion. And in particular in the dark sometimes I don't
notice a snowstorm is raging so it adds some nice feedback.

## Changelog

🆑 Melbert
sound: Snowstorms now have sounds associated.
/🆑
2025-02-20 15:15:54 +01:00
Tim da8e3110a7 Add SECONDS defines to looping sounds time variables (#88718)
## About The Pull Request
This applies the `SECONDS` defines to all the looping sounds time
variables.

## Why It's Good For The Game
N/A

## Changelog
🆑
code: Add `SECONDS` defines to looping sounds time variables
/🆑
2025-01-06 13:45:44 -08:00
Tim 5b740922f0 Add fishtank sounds to cryo cell (#88466)
## About The Pull Request

~~Note to maints, need to wait until:~~
- ~~#88462~~

~~Is merged before adding this.~~ It's merged now. We good to go.

Adds some fishtank sounds to cryo cell when it's in use.



https://github.com/user-attachments/assets/4b2ec114-f38b-4a56-b2ee-8b1f2b5289cd



https://github.com/user-attachments/assets/8b00179c-c4c3-4e4a-8165-94226c2fd5de



https://github.com/user-attachments/assets/c59b9eb9-7605-4548-8bca-5d9f716fdecc



https://github.com/user-attachments/assets/fd14e6d6-053e-4e17-bca8-c68b18f6c6d6



https://github.com/user-attachments/assets/4f6de5d6-3698-4c94-94a6-9f093c7f2e02



https://github.com/user-attachments/assets/ee238c51-0b84-4757-8b87-202aa89eeb37



https://github.com/user-attachments/assets/270babce-ad54-4dc6-a0f7-748c8c446f0f



https://github.com/user-attachments/assets/abde675a-c792-474c-9bfc-099e3d064bb2



https://github.com/user-attachments/assets/9f3f92d0-4acf-4a5d-b32b-4f9cee85c6b3



https://github.com/user-attachments/assets/c43058c1-844d-4698-97b7-24e2322b281f

Taken from - https://freesound.org/people/DudeAwesome/sounds/386023/
Converted into OGG and split into 5 second sections
License: CC BY 4.0

## Why It's Good For The Game
Human fishtank immersion.

## Changelog
🆑
sound: Add fishtank looping sounds to cryo cells when in use. Sound is
from https://freesound.org/people/DudeAwesome/sounds/386023/
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-12-18 03:11:06 +00:00
Tim 03f4526c11 Improve looping sounds to allow nested and non-associative lists (#88462) 2024-12-14 13:26:56 +01:00
SmArtKar c0437744f3 Fixes lunar parade soundloop (#88298)
## About The Pull Request

Closes ##88292

## Changelog
🆑
fix: Fixed lunar parade soundloop
/🆑
2024-12-01 12:52:16 +01:00
grungussuss 9863748c99 Changeling absorb sound (#88133)
## About The Pull Request
- it doesn't ignore walls


https://github.com/user-attachments/assets/fa4d010b-cee4-455a-a3c8-43e6839ab596
## Why It's Good For The Game
I think it's very atmospheric and helps hammer in the idea that
changelings are horrific monsters
## Changelog
🆑 grungussuss
sound: changelings now have a sound for absorbing
/🆑
2024-11-24 20:50:24 +01:00
grungussuss 7ead34b08d General maintenance and repair for looping fan sfx (#87453)
## About The Pull Request
closes https://github.com/tgstation/tgstation/issues/87447
Comparison below:
<details>

### Old:


https://github.com/user-attachments/assets/07bab256-bf3b-4442-972c-d03a75a9d7f7


https://github.com/user-attachments/assets/935f54df-1c23-4652-bba0-7345fbe8ddde


https://github.com/user-attachments/assets/61bea6c0-87bd-4027-ad67-243c13e9a166


https://github.com/user-attachments/assets/a0148e09-7f24-406c-a9b3-55cc7c5a49bf

### New:


https://github.com/user-attachments/assets/d3176e85-a768-4343-9cdc-53a0cf202c5f


https://github.com/user-attachments/assets/c4c99a06-eca3-4ab7-a167-2854fa149610


https://github.com/user-attachments/assets/2d46a235-268d-472b-8592-826bbbf59e23


https://github.com/user-attachments/assets/7ba26b21-84da-4959-82ab-96f7885f29d6

</details>

## Why It's Good For The Game

I think it's better
## Changelog
🆑 grungussuss
sound: fan loop sounds have been improved
/🆑
2024-10-26 13:38:13 +02:00
grungussuss 58501dce77 Reorganizes the sound folder (#86726)
## About The Pull Request

<details>

- renamed ai folder to announcer

-- announcer --
- moved vox_fem to announcer
- moved approachingTG to announcer

- separated the ambience folder into ambience and instrumental
-- ambience --

- created holy folder moved all related sounds there
- created engineering folder and moved all related sounds there
- created security folder and moved ambidet there
- created general folder and moved ambigen there
- created icemoon folder and moved all icebox-related ambience there
- created medical folder and moved all medbay-related ambi there
- created ruin folder and moves all ruins ambi there
- created beach folder and moved seag and shore there
- created lavaland folder and moved related ambi there
- created aurora_caelus folder and placed its ambi there
- created misc folder and moved the rest of the files that don't have a
specific category into it

-- instrumental --

- moved traitor folder here
- created lobby_music folder and placed our songs there (title0 not used
anywhere? - server-side modification?)

-- items --

- moved secdeath to hailer
- moved surgery to handling

-- effects --

- moved chemistry into effects
- moved hallucinations into effects
- moved health into effects
- moved magic into effects

-- vehicles --

- moved mecha into vehicles


created mobs folder

-- mobs --

- moved creatures folder into mobs
- moved voice into mobs

renamed creatures to non-humanoids
renamed voice to humanoids

-- non-humanoids--

created cyborg folder
created hiss folder
moved harmalarm.ogg to cyborg

-- humanoids --




-- misc --

moved ghostwhisper to misc
moved insane_low_laugh to misc

I give up trying to document this.

</details>

- [X] ambience
- [x] announcer
- [x] effects
- [X] instrumental
- [x] items
- [x] machines
- [x] misc 
- [X] mobs
- [X] runtime
- [X] vehicles

- [ ] attributions

## Why It's Good For The Game

This folder is so disorganized that it's vomit inducing, will make it
easier to find and add new sounds, providng a minor structure to the
sound folder.

## Changelog
🆑 grungussuss
refactor: the sound folder in the source code has been reorganized,
please report any oddities with sounds playing or not playing
server: lobby music has been repathed to sound/music/lobby_music
/🆑
2024-09-23 22:24:50 -07:00
grungussuss d88c246ff3 Gravity generator sound overhaul (#86080)
## About The Pull Request
<details>
<summary>Video comparisons</summary>


https://github.com/user-attachments/assets/0dc6d936-6c43-4696-9488-ced2a6f63cd2


https://github.com/user-attachments/assets/17072a5f-3254-40a1-bfaa-216b7613ece5

<details>
<summary>OUTDATED</summary>


https://github.com/user-attachments/assets/6ec5393c-63cf-4d05-9b53-a6a925090c96

</details>
</details>
<br>
</details>
Took me a long time

## Why It's Good For The Game

Previous sound was very grating on the ears so we made a more light one.

## Changelog
🆑 grungussuss and kayozz
sound: gravity generator has a new sound
/🆑
2024-09-03 17:35:38 +02:00
grungussuss 196e191c14 fix computer sound loop (#86081)
## About The Pull Request
`mid_sounds = list('sound/machines/computer/computer_mid1.ogg' = 1,
'sound/machines/computer/computer_mid2.ogg' = 1)`
These actually don't play if you don't set the value to 1
- added a disclaimer on this
## No one noticed this!!
## Changelog
🆑 grungussuss
fix: after 4 years, computer sound loop now works properly
/🆑
2024-08-27 21:42:08 +02:00
grungussuss aa79b62be7 Breathing sounds remake (#85735)
## About The Pull Request
Sounds made by me and edited by Beeblie
- reduced volume of the looping sound from 12 to 7
- removed previous breathing sound
- added 8 variants of breathing
- put more time between the sounds in the loop
- enabled vary


https://github.com/user-attachments/assets/60e5c034-5656-49a9-8bd7-8390ac97e6ac


## Why It's Good For The Game
Previously there was only one sound which very quickly got repetetive,
having 8 different sounds (even if they're largely similar) should help
cut down on the ear fatigue.
## Changelog
🆑 grungussuss and Beeblie
sound: internals breathing sound has received more variance and had its
volume reduced
/🆑
2024-08-14 13:27:26 +02:00
SmArtKar 60bc286350 Other mobs no longer hear your breathing (#84876)
## About The Pull Request

Closes #84809
Direct set in type was overriden by soundloop's constructor, which
resulted in sound being played for everyone around the player at default
volume/range settings. Now it properly respects your pref and doesnt
play to others

## Changelog
🆑
fix: Other mobs no longer hear your breathing
/🆑
2024-07-12 04:08:32 +02:00
DATAxPUNGED b46cabef82 Adds a breathing sound while using internals of any kind (#84529)
## About The Pull Request

Spess men will now hear their own breathing while using internals, most
noticeable while on space. It's low enough that it shouldn't affect
anything normally, and only the person with internals can hear it.
If you have misophonia or for some other reason dislike the sound, it
can also be toggled off in the game settings.

## Why It's Good For The Game

It truly makes you FEEL like you're breathing via a mask connected with
an oxygen tank. It also, potentially, can remind you that your internals
are on when it's not needed.

## Changelog

🆑 DATA_, with sounds made by Beebblie
sound: You will now be able to hear your muffled breathing while using
internals. This can be turned off in the game settings.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-04 12:29:03 +00:00
grungussuss e1bbf378b8 Lathe sounds (#84081)
## About The Pull Request
Adds a looping sound during printing items on:
- Autolathe
- Techfabs
- Exosuit fabricator

<details>
  <summary>~~Demo~~ [OUTDATED]</summary>

https://github.com/tgstation/tgstation/assets/96586172/15f89efc-7bbf-4228-a38a-48e78bad5f1a
</details>

<details>
  <summary>~~Demo~~ [AFTER REVIEW]</summary>


https://github.com/tgstation/tgstation/assets/96586172/1e6fb486-90d7-4e6e-a4cb-e26a1af1a018


</details>

## Why It's Good For The Game
Printing items being noisy is more realistic and gives feedback to the
player when it's finished or busy.

## Changelog
🆑 grungussuss , Kayozz
sound: exosuit fabricators, Autolathes and Techfabs will now produce
sounds when printing items
/🆑
2024-06-29 19:26:28 +02:00
MrMelbert 4d891c759c Adds Soup boiling SFX (#83649)
## About The Pull Request

In honor of the new sound effects general


https://github.com/tgstation/tgstation/assets/51863163/b2db8ee1-51ef-45a8-9cc8-31594d034ea5

Adds a sound effect that plays when soup is boiling (IE, it only plays
when smoke appears over the soup pot)

It has a sharp falloff and a distance penalty so it will really only be
heard in the kitchen (or though the kitchen's walls), maps with ranges
close to the counter like Metastation notwithstanding.

## Why It's Good For The Game

A touch of atmosphere

## Changelog

🆑 Melbert
sound: Boiling soup now makes a sound.
/🆑
2024-06-02 22:39:26 -06:00
Capsandi 7c333409b7 Halves volume of Gravity Generator (#83553)
## About The Pull Request

Halves the volume of sound produced by the gravity generator. This is
done code-side and no change is made to the sound files.

Apparently my tasteful composition of retro futuristic jetsons optimism
juxtaposed with an underlying commentary on the costs associated with
said optimistic attitude(see #83517) was lost on the end users of the
/tg/station project. It has never been as clear to me that my HUGE
FUCKING BRAIN with IQ of more than yours is wasted on the /tg/station
project. Yet, my immense intellect is rivaled only by my nigh saintly
mercy, and thus i have deigned to give you this one line pr.
This is untested code.

## Why It's Good For The Game
People who claim to play the game report that the gravity generator is
still too loud.

## Changelog

🆑
sound: The volume of the gravity generator has been halved
/🆑
2024-05-29 17:35:11 -07:00
Ben10Omintrix 79fda592f7 grappling gun (#82209)
## About The Pull Request
adds a new weapon to mining, the grapple gun. this weapon is a new fun
way to traverse lavaland, it lets u grapple onto things and ziplines u
towards them.


https://github.com/tgstation/tgstation/assets/138636438/5e935776-1482-4994-bcc7-e1ca7fcf33dc

while its less practical than things like the spinning mining modsuit
module, or xenobio wings, its still very fun to use.
u can also use this as a weapon against mobs! (like batman) 

the zipline will launch u towards the mob, doing some damage to them and
launching them back


https://github.com/tgstation/tgstation/assets/138636438/3bf77fe5-4ed1-4153-8673-a0786ecee98f

## Why It's Good For The Game
adds a new fun harmless way to travel through mining biomes 

## Changelog
🆑
add: miners can now purchase grapple guns
/🆑
2024-04-16 23:41:19 -06:00
Rex9001 f88da4bcb9 Heretic DLC: Path of Moon (#79536)
## About The Pull Request
This pull request adds a new path.
The cross path is between ash and lock.

Credit to Fury McFlurry for the following sprites:
 ring_leader_effect

The path goes as follows:
 Moonlight Troupe
 Grasp of Lunacy
 Smile of the moon
 > Sidepaths:
    Mind Gate
    Ashen Eyes
 
 Mark of Moon
 Ritual of Knowledge
 Lunar Parade
 Moonlight Amulette
 > Sidepaths:
   Curse of Paralasys
   Unfathomable Curio
   Unsealed Arts
 
Moonlight blade
Ringleaders Rise
> Sidepaths:
   Ashen Ritual
 
 Last Act


Moonlight Troupe:
The first knowledge of path of moon, lets you make Lunar Blades with 2
iron and a knife

Grasp of Lunacy:
The grasp of this path hides your name for 15 seconds after use, but
more importantly it causes the person hit with the grasp
 to hallucinate everyone as indistinct human like figures.

Smile of the Moon:
A pointed spell that causes temporary blinding, muting, deafening and
confusing on the person its targeted at, these effects
 last longer the less sanity your victim has.

https://github.com/tgstation/tgstation/assets/120136161/db7cfaaa-8fe2-4f20-aa78-c17c17be4d63

Mindgate:
Lock-Moon. This spell causes you and your victim brain damage, the
victim also suffers a short amount of hallucinations
 and also 20 oxyloss.

https://github.com/tgstation/tgstation/assets/120136161/11d15acd-11d0-4e7d-a180-6481b18e9fd9

Mark of Moon:
When applied this paths mark pacifies the victim and they remain
pacifist until attacked or until the mark is detonated, when
 detonated the victim is left confused.

https://github.com/tgstation/tgstation/assets/120136161/41e601b5-76d4-4765-8b49-ada7de09feb7

Lunar Parade:
A spell that sends out a projectile that causes people hit by it to
follow the projectile whilst being unable to move. The
projectile also bounces around and is really useful to get people off
your back during chases.

https://github.com/tgstation/tgstation/assets/120136161/cddc8390-e8aa-4d68-b1a5-ab181e941a9b

Unfathomable Curio:
Transmute 3 rods, a brain and a belt into an Unfathomable Curio a belt
that can hold blades and items for rituals. Whilst worn
will also veil the heretic, allowing them to take 1 hit without
suffering damage, this veil will recharge quickly outside of
combat. If examined the examiner suffers brain damage and temporary
brain damage, and if a non-heretic uses it once the shield is damaged
the non-heretic user suffers massive brain damage and a permanent
uncurbable brain trauma. Lock-moon

Unsealed Arts:
Allows you to transmute a canvas and an additional item to create a
piece of art, these paintings have different effects depending on the
additional item added. Lock-moon
Possible paintings: 
    The sister and He Who Wept: 
    Additional atoms: Eyes. 
When a non-heretic looks at the painting they will begin to hallucinate
everyone as heretics.

   The First Desire: 
   Additional atoms: Any bodypart.
Increases the hunger of non-heretics, when examined drops an organ or
body part at the painting.

   Great chaparral over rolling hills: 
   Additional atoms: Any grown food. 
Spreads kudzu when placed, when examined grants a flower to the heretic.
			
   Lady out of gates: 
   Additional atoms: Gloves.
Causes non-heretics to scratch themselves until they remove their
jumpsuit, when examined removes all your mutations.
   
    Climb over the rusted mountain: 
    Additional atoms: Trash. 
Causes non-heretics to rust the floor they walk on and when examined
gives you a cool moodlet

These effects are mitigated for a few minutes when a non-heretic
suffering an effect examines the painting that caused the
effect. Except for great chapparal which spawns kudzu at their feet, and
Lady out of gates which gives them a random negative mutation.

https://github.com/tgstation/tgstation/assets/120136161/1d1bdd2f-cda5-4430-b3af-4742f98a59a8

https://github.com/tgstation/tgstation/assets/120136161/4e843ae4-9786-4e9b-8681-582713f4c789

Moonlight Amulette:
Allows the heretic to transmute 2 sheets of glass, a pair of eyes, a
brain and a tie. If the amulette is used on someone with low
sanity they go berserk attacking everyone if their sanity isnt low
enough it decreases their mood. Optionally you can add a
 poppy in the ritual to further decrease their mood on hit.

https://github.com/tgstation/tgstation/assets/120136161/ab820b3f-e7e6-407a-9a1a-93d49c0d7387

Moonlight Blade:
Causes the heretics blades to do brain and sanity damage whilst causing
hallucinations. The blades also cause giggling and
 laughter on hit. 

Ringleaders Rise:
An AoE spell that deals more brain damage the lower the sanity of the
victim, also causes hallucinations that last longer the
lower the sanity of the victim. If the victims sanity is low enoughit
causes them to go insane, the spell then halves their sanity.
This spell is on a longer cooldown and is more meant to be used as a
payoff or an instigator for a fight. The AoE area is 7 tiles

https://github.com/tgstation/tgstation/assets/120136161/4de85ba2-448a-485c-b739-77fcce86c0cb

Last Act:
The ascension lowers the cooldown of all the heretics spells by 33% and
increases the AoE range of Ringleaders Rise. The main
effect of this ascension is a passive sanity drain and hallucination
aura, if you have low sanity in the aura you will start to suffer
brain damage and if you reach the bottom you gain an aura of
hallucinations thus spreading the moon heretics influence
further. Not only that but roughly 1/5th of the crew will rise in
support of you becoming mini-heretics called acolytes that will attempt
to obey your commands!

I had videos showing off everything but they were too big for github
sadly so I will have to think of some other way to showcase all this
stuff.

This pr also adds a new optional atoms system which means that you can
have rituals that can be improved by adding additional atoms, like for
example moonlight amulette.
 
Feel free to give some suggestions for further ascension effects.
## Why It's Good For The Game

I feel like heretic is really missing a playstyle around insanity and
this slots neatly in to feel that gap. For being an eldritch antag of
horrors there is surprisingly little interaction with the sanity system
and I feel like this makes up for it, heretic is also missing some
distractions which is where the paintings can really shine and the
hallucinations which breed paranoia.

## Changelog
🆑
add: A new heretic path opens up! Gaze up at the great sky for the path
of the moon opens and the lie shall be slain in pursuit of ultimate
truth!
fix: Fixes the syndicate delusion not working
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-01-01 15:03:03 +01:00
Ben10Omintrix 370a38165e new syndicate item - bee smoker (#78988)
## About The Pull Request
this adds a new item for traitor botanists they can buy for 4 tc. it
releases smoke which hypnotizes bees to follow ur every command, it can
be used on a single bee or it can be used on a hive to hypnotize all the
bees who live there. u can command the bees to enter or exit their
beehive, and u can also command them to spiral around u where they will
follow u and swirl around u to confuse whichever opponent u are
fighting, and u can also command them to attack people. the bee smoker
comes with some fuel but u can recharge it by putting cannabis into it.
the stronger the weed the more fuel it will provide


https://github.com/tgstation/tgstation/assets/138636438/18c9a350-8e24-4c49-abfa-dffb7622502f


## Why It's Good For The Game
adds a traitor item which gives a new gameplay alternative for botanist
and pacifist players. also i noticed the pet targetting datum was using
some copy paste code so i made it a subtpye of the basic targetting
datum

## Changelog
🆑
add: added a new syndicate item - the bee smoker
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-10-19 21:01:31 -06:00
Zephyr 4bca299690 Overclocked Vent Pumps (#78583)
## About The Pull Request

Adds in the capability for vent pumps to be overclocked, which allows
them to ignore pressure differentials and move their entire air contents
each process. Doing this causes them to take damage over time however
which causes them to be less effective in normal operation.
**the penalty for low integrity does not apply to fans which are
overclocked, however reaching 0 integrity will still disable them**
## Why It's Good For The Game

Engineers got used to vent pumps being stupid and ignoring pressure, now
its a feature not a bug.
## Changelog
🆑
add: Vent Pumps can now be overclocked, do some light reading in the air
alarm to figure out what this means.
balance: Vent Pumps now have fan integrity, the damaging of which
reduces their ability to move air.
sound: Overclocking sounds, including spool, stop, and loop
/🆑

---------

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2023-10-14 02:09:57 -04:00
Tim 567063153f Add burning sound loop to bonfires and fireplaces (#78834)
## About The Pull Request
This adds a ignition sound whenever a fireplace or bonfire is initially
lit on fire. Afterwards a continuous burning loop is played. Also added
some documentation and optimized fireplaces to only `process()` when
lit.

## Why It's Good For The Game
Better consistency.

## Changelog
🆑
sound: Add burning sound loop to bonfires and fireplaces
code: Improved fireplaces to only process when lit
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-10-10 15:38:14 +00:00
RICK IM RI cf86250ce4 Adds boss music functionality and gives hierophant it's own thematic fight song! (#77149)
## About The Pull Request

Adds compatibility to the code to assign music to individual mobs that
are played in full length to the player when aggro'd. Music maintains
for the entire length, ends, and is repeated if the mob isn't dead.
Music is instantly stopped if the mob generating it dies. Other coding
avenues were explored around dynamic music generation and allowing for
the music to end more naturally, but they were found to be very buggy or
impossible to code due to dreammaker having a very........... tense
relationship with audio. It also (had to be reminded of this!), lowers
the audio of hierophants attacks to make music more audible.

## Why It's Good For The Game

This has the potential to add so much thematic flavor to mobs and events
in game, it's great! Represents a big step forward in terms of sound
design on tg. Thanks to John Willard for fully coding!
Check out the theme here --> https://youtu.be/mWgv1CHtd4Y

## Changelog

🆑
add: Adds boss music functionality.
sound: Adds hierophants boss track, tweaks hierophant boss noises.
/🆑

---------

Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-08-02 09:42:40 -04:00
LemonInTheDark ae5a4f955d Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request

Signals were initially only usable with component listeners, which while
no longer the case has lead to outdated documentation, names, and a
similar location in code.

This pr pulls the two apart. Partially because mso thinks we should, but
also because they really aren't directly linked anymore, and having them
in this midstate just confuses people.

[Renames comp_lookup to listen_lookup, since that's what it
does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced)

[Moves signal procs over to their own
file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc)

[Renames the PREQDELETING and QDELETING comsigs to drop the parent bit
since they can hook to more then just comps
now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e)

[Does something similar to the attackby comsigs (PARENT ->
ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e)

[And finally passes over the examine
signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302)

## Why It's Good For The Game

Code makes more sense, things are better teased apart, s just good imo

## Changelog
🆑
refactor: Pulled apart the last vestiges of names/docs directly linking
signals to components
/🆑
2023-06-09 06:14:31 +00:00
Jacquerel 2732e96cff Confine Elevator Music to Elevators (#75464)
Refactors elevator music to originate from an abstract object rather
than the elevator control panel.
Elevator music is applied while you are within a certain radius of this
object and cuts off immediately upon exiting (largely because as far as
I know you can't obtain playing sounds to fade them out in byond).
As a side-effect of this refactor it also isn't audible to ghosts at
all.
2023-05-27 23:14:36 +02:00
TheSmallBlue 74fcd068bf The Kevin De-cleodening: Custom elevator music (#75518)
I got the idea while riding an elevator the other day to make a remix of
Title2 but Elevator-style. So I downloaded FLStudio, spent a couple of
hours fighting with it, made a song, and opened this PR up. Later on,
cats4gold contacted me saying they had the same exact idea, Title2 and
all, and after I suggested the ide of combining both versions, we get
the status of this PR today!

Also our current looping sound system is very very bad, the problem
people have with hearing elevator music outside the elevator is because
the checks for stuff like volume falloff only happen when an audio
starts playing, so if you stand besides an elevator button and hear the
music, if you go far away you'll still hear it as if you're next to it.
I don't know how to fix this so I didn't touch it, so hopefully someone
else that does, does! :)
2023-05-25 18:35:54 +00:00
DrTuxedo 527fb7b003 ELEVATOR MUSIC: True Elevator Experience (#75388)
## About The Pull Request
Adds elevator music into the game that is played by an elevator panel.


https://github.com/tgstation/tgstation/assets/42353186/1a801604-3990-46ae-a96a-b3766b102d62

It's done by using loop sound, with a Kevin MacLeod "Local Forecast -
Elevator" (UNDER CC ATTRIBUTIONS 4.0, and we anyway used some other
Kevin MacLeod music) chopped into 8 small pieces.
The elevator panel has a variable which allows playing music but can be
changed in the map editor if you don't want it to play at certain
places.

(It also doesn't ignore walls, this means you can't hear the music
through wall or when elevator is closed)
## Why It's Good For The Game
Gives elevators more flavour and love, especially when people mostly
prefer stairs to those "laggy crushing machines."
Because of this people might instead hop into an elevator just to hear
meme elevator music, which is relaxing and might create comedic
situations (although elevators don't move that fast)
## Changelog
🆑 DrDiasyl aka DrTuxedo
sound: Nanotrasen have started installing music players in the elevators
to boost workers' morale.
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-05-14 15:52:44 -04:00
John Willard 1674f25725 New Medical job: The Coroner (#75065)
## About The Pull Request

HackMD: https://hackmd.io/RE9uRwSYSjCch17-OQ4pjQ?view

Feedback link: https://tgstation13.org/phpBB/viewtopic.php?f=10&t=33972

Adds a Coroner job to the game, they work in the Medical department and
have their office in the Morgue.
I was inspired to make this after I had played my first round on
Paradise and messed around in there. The analyzer is copied from there
(https://github.com/ParadiseSS13/Paradise/pull/20957), and their
jumpsuit is also mostly stolen from it (i just copied the color scheme
onto our own suits).

Coroners can perform autopsies on people to see their stats, like this

![image](https://user-images.githubusercontent.com/53777086/235369225-805d482c-56c0-441c-9ef8-a42d0a0192bc.png)

They have access to Medbay, and on lowpop will get Pharmacy (to make
their own formaldehyde). They also have their own Secure Morgue access
for their office (doubles as a surgery room because they are edgelords
or whatever) and the secure morgue trays.

Secure Morgue trays spawn with their beepers off and is only accessible
by them, the CMO, and HoS. It's used to morgue Antagonists. Security's
own morgue trays have been removed.

The job in action


https://cdn.discordapp.com/attachments/950489581151735849/1102297675669442570/2023-04-30_14-16-06.mp4

### Surgery changes

Autopsies are a Surgery, and I tried to intertwine this with the
Dissection surgery.
Dissections and Autopsies both require the Autopsy scanner to perform
them, however you can only perform one on any given body. Dissections
are for experiments, Autopsies is for the paper of information.

Dissected bodies now also give a ~20% surgery speed boost, this was
added at the request of Fikou as a way to encourage Doctors to let the
Coroner do their job before reviving a body.
I also remember the Medical skill, which allowed Doctors to do surgery
faster on people, and I hope that this can do something like that
WITHOUT adding the potential for exploiting, which led to the skill's
downfall.

### Morgue Improvements

Morgue trays are no longer named with pens, they instead will steal the
name of the last bodybag to be put in them.

Morgue trays are also removed from Brig Medical areas and Robotics, now
they have to bring their corpses to the Morgue where the Coroner can
keep track and ensure records are properly updated.

### Sprite credits

I can't fit it all in the Changelog, so this is who made what

McRamon
- Autopsy scanner

Tattax 
- Table clock sprites and in-hands

CoiledLamb
- Coroner jumpsuits & labcoats (inhand, on sprite, and their respective
alternatives)
- Coroner gloves
- CoronerDrobe (the vending machine)

## Why It's Good For The Game

This is mostly explained in the hackmd, but the goal of this is:

1. Increase the use of the Medical Records console.
2. Add a new and interesting way for Detectives to uncover mysteries.
3. Add a more RP-flavored role in Medical that still has mechanics tied
behind it.

## Changelog

🆑 JohnFulpWillard, sprites by McRamon, tattax, and Lamb
add: The Coroner, a new Medical role revolving around dead corpses and
autopsies.
add: The Coroner's Autopsy Scanner, used for discovering the cause for
someone's death, listing their wounds, the causes of them, their
reagents, and diseases (including stealth ones!)
qol: Morgue Trays are now named after the bodybags inside of them.
balance: The morgue now has 'Secure' morgue trays which by default don't
beep.
balance: Security Medical area and Robotics no longer have their own
morgue trays.
balance: Dissected bodies now have faster surgery speed. Autopsies also
count as dissections, however they're mutually exclusive.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-05-05 21:31:28 -04:00
Cheshify 3fdd716da5 Tcomms Soundloop Comes From One Source And Is Less Awful (#74908)
## About The Pull Request

The ``soundloop/server`` now only comes from the server hub, so it
doesn't have stacking audio sources. The sound has been made more
uniform when up close, but is overall quieter. Additionally, all the
files have been run through a low pass filter to remove the highest of
it's pitches.
## Why It's Good For The Game

I'm sick of not wanting to be around telecomms because of how bad every
single machine sounds. Now, things are significantly easier on the ear,
quieter, more uniform, and better for everyone's sanity. I asked the
maintainers in the coding channel if I could just remove it and they
said no.

I can't get a video recording, I've tried with win+G, OBS, and sharex
and it's just fucked.
## Changelog
🆑
qol: telecomms is quieter and less ear-damaging.
sound: modified tcomms sound to remove high-tones.
fix: the telecomms sound only comes from the server hub machine.
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-04-23 10:34:27 -07:00
Sol N 11cbbba018 Replaceable Traitor Uplinks (#74315)
## About The Pull Request

Following [from the suggestion in this hackmd
](https://hackmd.io/IkDWWkpfQa2lkdevsnLqhA?view#Replacement-Uplinks)with
a few twists of my own, I have made a method for traitors to acquire a
replacement traitor uplink that has its own set of flaws and limiters in
order to prevent abuse.


![ZC0WYDFRzc](https://user-images.githubusercontent.com/116288367/228101432-9352390b-9538-4c62-8dc4-55e2e798c466.png)

The basic pitch is as follows, all traitors now start with a new,
crafting recipe exclusive to them, it costs a teleport beacon, a
bluespace crystal, and some iron and cable coil, and then allows them to
build a static, dense machine that they can synchronize with, which
allows the machine to know what signal it should be looking out for from
the traitor.

![dreamseeker_iErI3vju0C](https://user-images.githubusercontent.com/116288367/228094286-c2bca198-82cd-4ce0-a4a7-c26c24a9327c.gif)

The traitor then uses any radio, sets it to the frequency that has been
added to their static antagonist ui, and then speaks their codeword,
also in the ui, and then a few things happen.

![dreamseeker_gbzSFeHuS5](https://user-images.githubusercontent.com/116288367/228094354-a649c713-f013-4ac2-b8d7-0754a852f987.gif)

Most obviously, they get a replacement uplink that is in the conspicuous
shape of the nukie or lone op uplink. This uplink can be unlocked by
speaking your replacement codeword to it again, it remembers your
previous TC amount and locks all other uplinks associated with your
uplink handler(they can then be unlocked as normal). It also destroys
any other replacement uplinks associated with your uplink handler, which
means you can never have more than one replacement uplink.

This means that if your uplink has been confiscated and you left it
unlocked, if it hasn't been emptied out you can continue from where you
were, and if you want to get back on the TC grind you won't lose the new
TC to whoever stole your uplink. Of course, the new uplink can not be
locked, so you have to be more careful with it or buy an uplink implant
and destroy it. You can destroy your replacement uplink with a
screwdriver right click, same for the machine.

Additionally, the Syndicate Uplink Beacon has another quirk to it, which
is that the teleporter beacon used to create it is intact, which means
people eagle eyed on the teleporter console could go find you, not to
mention that if you use an existing teleporter beacon, someone might
notice its gone missing...

oh also while making the replacement uplink i found a bug caused by a
recent pr that broke debug uplinks due to them not having a purchase
log. thats fixed too

## Why It's Good For The Game

It can be easy to lose your uplink, and as a traitor having your uplink
confiscated, even if it is locked, feels really bad. While the old
traitor objectives were added back to prog traitor to prevent situations
where a confiscated uplink meant that you were completely aimless, I
think that having a backup solution would be good for more inexperienced
traitors or for ones who get unlucky.

Hopefully this is generally balanced well enough but there are a few
levers that can be pulled, but overall I do think that making it so that
traitors can always get a chance to get an uplink and do some objectives
is good for the game. I like the idea of someone getting perma'd,
someone breaks them out, they both craft a new uplink beacon, and then
they go back and get the traitors old gear with stuff they got from the
new uplink, I think that's a cool possibility to throw into the sandbox.

## Changelog
🆑
add: Added new syndicate uplink beacon and associated systems that allow
you to get a replacement traitor uplink
fix: Debug & nukie uplinks no longer runtime and work properly again
/🆑
2023-04-05 16:54:22 +01:00
Jacquerel 966b8e5fd8 March into Mapness: Meateor (#74070) 2023-03-31 19:40:29 -07:00
lessthanthree d9bc0c7eda New fire alarm (#74054)
## About The Pull Request

New fire alarm sprite in 3/4 perspective, adapted from Wallening.

- Larger indicator button
- Improves emagged visibility
- Flashing lights synced with firelocks
- No mute button to maintain ambience, but slightly lowers the loop
volume
- Can be activated/deactivated by clicking anywhere on the tile


https://user-images.githubusercontent.com/83487515/226233754-59797ebf-7d4d-4795-8553-9358a513f16a.mp4

## Why It's Good For The Game

Improves the look of the fire alarm, sound loop is a middle ground
between those who want a mute and don't.

## Changelog

🆑 LT3
imageadd: New fire alarm
code: Fire alarm/fire door volume reduced, lights synchronized
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-03-22 00:18:57 +00:00
Rhials 9bdb194539 Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw (#73996)
## About The Pull Request

The chainsaw now has an audio loop, as well as SFX for starting and
stopping. I'm pretty confident that I did the attribution stuff
correctly.


https://user-images.githubusercontent.com/28870487/225054900-4bf87ee7-9245-4004-b414-77d0e6e83a7c.mp4

I think this came out well. It may be a bit loud, but I wanted the
volume to be about the same as how the chainsaw slash sound comes out.
Audio stuff isn't really my forte, so let me know if anything sounds
off, or if any adjustments should be made.

To make this work for the mounted chainsaw (more specifically, the
abstract object that enters your hand), it has been made into a chainsaw
subtype. An updatepaths script has been included in the event that
someone has a map where the former path was included (why??).
## Why It's Good For The Game

Makes the chainsaw more menacing. It's one of the most powerful and
beloved pieces of crew weaponry, in addition to being a fucking
chainsaw. If you aren't keen on walking around the hallways with the
chainsaw loop playing like the badass you are, you can always just keep
it off until you get into a fight.

Gives an extra bit of immersion for those special moments where you get
to chainsaw someone to death.
## Changelog
🆑
soundadd: The chainsaw now has SFX for starting, stopping, and idling.
/🆑
2023-03-17 18:33:14 -06:00
Jacquerel 153c1818e5 Reworks sabotage progression traitor objective (#73750)
## About The Pull Request

This one is a little bit of a more abstract change than my last traitor
objective rebalancing PR.

The idea here is that I think that the objectives which have you
sabotage a frequently used machine (lathes or the ORM, but we can maybe
expand it to others following this?) are potentially pretty good but
limitations in how the objective are tracked mean that people go about
them in a boring way which rarely inconveniences anyone.

I have reworked these objectives so that you can choose to apply a
provided item to the machine over 10 seconds. The next interaction
following this (clicking on it, or in the case of the ORM loading any
ore into it) will cause the machine to explode, destroying itself and
lightly damaging people nearby (explosion damage is... variable, but
it's a light explosion so it won't instantly kill anyone).
There is a 0.5 second grace period between the bomb triggering and the
explosion actually happening, which players can use to perform some kind
of tactical reaction or simply to feel regret.

Here's a video:
https://www.youtube.com/watch?v=xNIaHsA9YFE

Trapped machines will intermittently beep, though at a volume which is
hard to detect from more than two tiles away, and can be defused by
using a screwdriver on the machine.
If you choose to do this then you will get a little bonus to TC and
reputation, but only if the trap is successfully sprung. This means that
sabotaging a machine in an empty department is unlikely to lead to quick
success.
You can also still do it with screwdriver and crowbar way if you are
boring but this means you will only get reputation and not any
telecrystals.

The two objectives to destroy a radio server or the research machine
remain as they were.

Also I refactored how we set which machines are targets for these
objectives so it doesn't iterate over every machine in the world every
time.

## Why It's Good For The Game

Traitor objectives (and antagonist objectives in general) should:
- Present you with a somewhat engaging task
- Encourage you to interact with at least one other player (at least by
"attempting to sneak past them")
- Move the state of the round forward in some way, usually by creating
inconvenience for at least one other person

Prior to this change you could, and people often did, complete this
objective by accessing a machine that you already _have_ access to,
using a screwdriver and crowbar on it, and then reassembling it.
This prompts interaction with nobody, and inconveniences nobody.

Following this change people will be encouraged to:
- Actually destroy the machine.
- Probably harm somebody.
- Potentially cause some collateral damage.
- Make loud sounds and flashing lights to delight people of all ages.

Even if you opt to set the device in a little-used department and then
blow yourself up, that will prompt you to go and interact with someone
in medbay and will also look pretty suspicious in a way that's much
harder to track with the previous objective.

Also I might reuse this component again in the future, you never know.

## Changelog

🆑 Jacquerel, sprite by J(Clearly Lying)
balance: Traitor objectives which ask you to destroy lathes or the ORM
provide an optional bonus if you _booby trap_ the machine using a
provided tool. This causes the machine to explode the next time it is
interacted with.
balance: Performing the objective without rigging the machine to explode
awards no TC, using it awards more TC than it did previously.
/🆑
2023-03-10 22:58:11 +00:00