44 Commits

Author SHA1 Message Date
Rhials fba21682b1 Heart Attacks are More Violent, and You Can Defib People Repeatedly to Fix Them Like in a Medical Daytime TV Show Drama (#89775)
## About The Pull Request

This overhauls nearly all aspects related to heart attacks, making them
more urgent and threatening. It also enables the use of defibrillators
for quicker, less invasive treatment of heart attacks.

They are now a status effect instead of a virus, with a fixed countdown
of about two and a half minutes before full stoppage. As this timer
counts down, symptoms steadily escalate from audio cues to suffocation
and dizziness. Through treatment, the countdown can be wound back and
eventually cured (or you can just swap the heart like usual. Boring!!).

### Treatment

Replacing the heart is no longer the *only* option for treatment. Now,
heart attacks can be cured with the use of a defib. Each shock will
rewind the countdown (and symptoms) heavily, curing it after 2-4 zaps in
quick succession. In lieu of a defib, most other shock sources will
work, albeit much less effectively.

So, if you're in security and *really* don't feel like going to medical,
you can just have your fellow officers taze you back to health!

![doctor
approved](https://github.com/user-attachments/assets/f633cb08-b7f7-4291-8c18-6fdea4e97c7a)

The emergency penthrite given after the attack has a new icon/message,
and is slightly less forgiving. You can still use it to shock yourself
back to life, still being a very risky move.

The heart attack doesn't manifest on medical HUDs immediately. It only
appears after the victim has reached stage 3 for the first time. At
stage 3, it's pretty apparent to both the victim and anyone around that
they're having a heart attack anyways, but until then it will be on the
victim to identify symptoms. Heart attacks will always be reported on
health analyzer scans, shown as the organ failing due to a myocardial
infarction and a tooltip suggesting defibs/other shocks to treat it.

This also adds two tips, for secoffs and medics, on how to treat a heart
attack.

Defibs also now use up charge for restarting a stopped heart, instead of
only when reviving a corpse.
## Why It's Good For The Game

Making heart attacks more of a threat gives way more weight to something
people should be afraid of, but aren't. Heart attacks fail to emulate
anything resembling a heart attack, to the point that it is lame and
dissapointing. They're an annoyance and a trip to the surgery room for
anyone familiar enough with the game. This iteration may be more
dangerous, but it's also more *exciting* (and can be treated faster).

Broadening the ways to treat a heart attack, or just stave off symptoms,
gives an amount of player agency over this threat. It may be more
urgent, but it doesn't mean it has to be a trip to medbay every time.
You can look for other ways to get zapped (security will help if asked,
I promise) or sandbox up your own solution.

Also, treating heart attacks with defib shocks just makes sense. Why do
we have to trash the whole heart? Usually after a heart attack it still
has like, a year or so of juice left before it quits for good.

More threatening heart attacks also further incentivize synthetic hearts
and working out, or any other clever ways of shielding oneself from an
attack (in case you're paranoid like that).

And lastly, the whole reason I started with this PR in the first place
-- I think it is a bit odd having heart attacks be handled as *diseases*
in the code. Status effects make more sense.
## Changelog
🆑 Rhials
balance: Heart attacks are now more violent and urgent. If you can hear
your own heartbeat and are short of breath, you should probably see a
doctor.
balance: Heart attacks can now be treated and eventually cured with
repeated defibrillation shocks.
balance: Heart attacks can now be treated and eventually cured with
repeated shocks from other sources.
/🆑
2025-04-29 17:41:26 -06:00
Majkl-J e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07: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
SkyratBot 61ec10c3e0 [MIRROR] grep's for "recieve" typos (#27826)
* grep's for "recieve" typos (#83369)

Just spellchecking some common mistakes.

* Missed these.

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-05-23 23:38:14 +02:00
Afevis 53a8ba74c8 grep's for "recieve" typos (#83369)
Just spellchecking some common mistakes.
2024-05-23 00:41:05 -04:00
SkyratBot 6c4c965ea4 [MIRROR] Changes occurrences of recieve in code to receive [MDB IGNORE] (#25393)
* Changes occurrences of `recieve` in code to `receive`

* Fix conflict

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
2023-12-02 20:40:07 -06:00
distributivgesetz f8b41f9442 Changes occurrences of recieve in code to receive (#80065)
## About The Pull Request

I've stumbled across this enough to finally go through the entire
codebase and fix it. I left out changelogs simply because rewriting
history logs is bad.
## Why It's Good For The Game

I find it pretty annoying because I stumble across words that are
misspelled for a few seconds, and I'm likely not the only one who feels
like this. Less spelling mistakes in code are better.
## Changelog
🆑
spellcheck: Occurrences of "recieve" has been changed to "receive".
/🆑
2023-12-02 14:50:57 -07:00
lessthanthree 8a476c8e75 Quit always giving heart attacks to people on the Interlink like some kind of RP-seeking missile (#23532)
* go away

* reusable

* appendix

* disease outbreak

* ghost roles

* add args
2023-09-15 12:41:06 -04:00
SkyratBot 63fbe49e4d [MIRROR] Minor typo fixes [MDB IGNORE] (#20161)
* Minor typo fixes (#74317)

## About The Why It's Good For The Game Pull Request
Immersion

## Changelog

🆑 Tattle
spellcheck: fixed a few typos, mostly around breathing
/🆑

Co-authored-by: tattle <article.disaster@ gmail.com>

* Minor typo fixes

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
2023-03-29 22:37:00 +01:00
tattle eff745bf08 Minor typo fixes (#74317)
## About The Why It's Good For The Game Pull Request
Immersion

## Changelog

🆑 Tattle
spellcheck: fixed a few typos, mostly around breathing
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2023-03-28 23:25:04 -06:00
SkyratBot 26f7c10ecb [MIRROR] Refactors admin event setup (again) [MDB IGNORE] (#19728)
* Refactors admin event setup (again)

* Update pirate_event.dm

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:48:54 +00:00
Gandalf 01dbd227c2 [MIRROR] Grand Ritual: Alternate Wizard objective (Wizard Events II) (#72918) [MANUAL MIRROR] (#19751)
* Grand Ritual: Alternate Wizard objective (Wizard Events II) (#72918)

Adds an alternate greentext objective for Wizards known as the "Grand
Ritual". This was initially the gimmick of a different wizard-related
antagonist downstream. I didn't get permission to port it, so I'm
attaching it to regular Wizards instead.

Wizards will spawn in with a new Grand Ritual button next to their
antagonist info button. Pressing it will pinpoint them towards their
next Ritual Location (a randomly chosen region of the space station).
Once within that location, pressing it will summon a magic circle and
obliterate any dense objects which are in the way. This also puts the
ability on a two minute cooldown.
Clicking on the magic circle with an empty hand will begin a three-stage
invocation to gather magical power. You can interrupt this invocation at
any time and will resume from the last stage you completed (if you
finished two stages you only need to do one more).
Once you complete a ritual, a random event will be triggered based on
how many rituals you have performed so far. These tend to be ones which
annoy the crew in some manner, and Wizard Events are included in the
list. Additionally, something weird will usually happen to the room you
are in.
Then you are assigned a new location and can toddle off to do it again.

Once you have done this three times, you will be picked up by the
station's sensors every time you start a subsequent ritual and should
expect annoyed company to come investigate.
Once you have done this six times, you can finally spend all of that
accumulated power on the seventh Grand Finale ritual. Completing this
grants you victory at the end of the round and will have a larger,
flashier effect which you can pick from a list of options, think of it
like a wizard equivalent of a Traitor Final Objective or Heretic
Ascension.
After that you can still keep doing rituals if you want to pester the
crew further by summoning more random events, you've already "won" at
this point so now it's your job to make them want to go home.

I think it'd be more fun to just find out what the Finale ritual can do
by seeing it happen but maintainers will probably want a list of its
precise capabilities, so here it is:

Currently completing a ritual also has a chance to create Heretic
Reality Tears (of both varieties, available for Heretics to eat and
visible to crew) as a kind of cross-antagonist interaction which seemed
to make sense to me but if this seems thematically or mechanically
inappropriate it's easy to strip out.

* wew

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-10 05:10:51 +00:00
NamelessFairy 105dff5058 Refactors admin event setup (again) (#73801)
## About The Pull Request

Requested by @tralezab 

Admin event setups now use a list rather than a single setup. This means
common functionality list setting position and picking an option from a
list can be applied to events that have multiple customizable factors
rather than needing to making entirely overridden subtypes for every
event.

Adds a few new subtypes of event_admin_setup:
- input_number for setting a number value. An example can be found in
the heart attack event.
- set_location for causing an event to occur in a specific location. An
example can be found in the stray cargo pod event.
- question, yes no question that returns true/false. An example of its
usage can be found in immovable rod
- candidate_check, a more niche subtype used to block events that do not
function unless theres a specific number of valid candidates. An example
of its usage can be found in the disease events.

While doing the refactor I also implemented some simple extra options
for some of the refactored events. Classic Disease now has an option for
admins to roll **any** disease rather than just the "safe" ones. And
shuttle catastrophe now allows admins to select which shuttle is used.
## Why It's Good For The Game

Cuts back on duplicate lines of code a lot, should make adding more
customization to events slightly easier. Also more admin customization.
## Changelog
🆑
refactor: Admin event setup's have been refactored to use lists.
fix: When admins customize the pirate event all options will be
available rather than just options that have not been randomly rolled.
fix: The stray meteor event no longer runtimes when customized by
admins.
admin: Admins can now select the shuttle brought in by the shuttle
catastrophe event.
admin: Admins can now randomize the disease outbreak classic event to
roll any disease type, including transformation diseases so have fun
with that.
/🆑
2023-03-08 09:50:59 -07:00
SkyratBot 0fe8982690 [MIRROR] Disease Outbreak/Heart Attack candidate lists clear themselves before generating [MDB IGNORE] (#19513)
* 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>
2023-02-24 01:17:47 -08:00
Rhials a213c00dfe 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.
/🆑
2023-02-23 23:57:38 -07:00
Jacquerel 728a0f1b91 Grand Ritual: Alternate Wizard objective (Wizard Events II) (#72918)
Adds an alternate greentext objective for Wizards known as the "Grand
Ritual". This was initially the gimmick of a different wizard-related
antagonist downstream. I didn't get permission to port it, so I'm
attaching it to regular Wizards instead.

Wizards will spawn in with a new Grand Ritual button next to their
antagonist info button. Pressing it will pinpoint them towards their
next Ritual Location (a randomly chosen region of the space station).
Once within that location, pressing it will summon a magic circle and
obliterate any dense objects which are in the way. This also puts the
ability on a two minute cooldown.
Clicking on the magic circle with an empty hand will begin a three-stage
invocation to gather magical power. You can interrupt this invocation at
any time and will resume from the last stage you completed (if you
finished two stages you only need to do one more).
Once you complete a ritual, a random event will be triggered based on
how many rituals you have performed so far. These tend to be ones which
annoy the crew in some manner, and Wizard Events are included in the
list. Additionally, something weird will usually happen to the room you
are in.
Then you are assigned a new location and can toddle off to do it again.

Once you have done this three times, you will be picked up by the
station's sensors every time you start a subsequent ritual and should
expect annoyed company to come investigate.
Once you have done this six times, you can finally spend all of that
accumulated power on the seventh Grand Finale ritual. Completing this
grants you victory at the end of the round and will have a larger,
flashier effect which you can pick from a list of options, think of it
like a wizard equivalent of a Traitor Final Objective or Heretic
Ascension.
After that you can still keep doing rituals if you want to pester the
crew further by summoning more random events, you've already "won" at
this point so now it's your job to make them want to go home.

I think it'd be more fun to just find out what the Finale ritual can do
by seeing it happen but maintainers will probably want a list of its
precise capabilities, so here it is:

Currently completing a ritual also has a chance to create Heretic
Reality Tears (of both varieties, available for Heretics to eat and
visible to crew) as a kind of cross-antagonist interaction which seemed
to make sense to me but if this seems thematically or mechanically
inappropriate it's easy to strip out.
2023-02-12 14:27:05 -06:00
lessthanthree 0b4e32ec59 [MANUAL MIRROR] Refactors Admin Setups on Forced Events + Refactors Vending Sentience (#19068)
* 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>
2023-02-12 14:37:52 -05:00
tralezab bdf5e7b60a Refactors Admin Setups on Forced Events + Refactors Vending Sentience + Refactors Shuttle Loans (#72998)
## About The Pull Request

- [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.

#### The biggest change you'll notice is that some admin setup questions
allow you to let the game decide where previously you had to choose!

### Refactors Admin Setups on Forced Events

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.

### Refactors Vending Sentience

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.

### Refactors Shuttle Loans

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.

## Why It's Good For The Game

This is preparation for a tgui change to ForceEvent.ts an admin has
requested. Phew!

## Changelog
🆑
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.
/🆑
2023-01-30 17:57:12 +00:00
SkyratBot fe54daafd8 [MIRROR] [NO GBP] Cleans up some round_event_control setup variables in certain events [MDB IGNORE] (#16895)
* [NO GBP] Cleans up some round_event_control setup variables in certain events (#70468)

* Choosing admin setup options on certain events will no longer retain the chosen options for future events.

* [NO GBP] Cleans up some round_event_control setup variables in certain events

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-10-16 10:38:36 -04:00
Rhials 794ca678c2 [NO GBP] Cleans up some round_event_control setup variables in certain events (#70468)
* Choosing admin setup options on certain events will no longer retain the chosen options for future events.
2022-10-16 07:40:20 -04:00
SkyratBot 63f635d57a [MIRROR] events now have to check parent to see if they can run [MDB IGNORE] (#16506)
* events now have to check parent to see if they can run (#70128)

* events now have to check parent to see if they can run

* update supermatter_surge

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-28 17:20:10 -04:00
John Willard 5f1c98bd45 events now have to check parent to see if they can run (#70128) 2022-09-27 22:31:15 -07:00
SkyratBot 5231715e9a [MIRROR] Refactors the Heart Attack event. Adds a new related achievement and admin setup. [MDB IGNORE] (#16434)
* Refactors the Heart Attack event. Adds a new related achievement and admin setup. (#70048)

* So, this moves the "candidate" selection into round_event_control and integrates it into part of canspawnevent. The actual selection is part of a new proc, generate_candidates, which was created so that canspawnevent() and admin_setup() (WHICH OVERRIDES CANSPAWNEVENT AND THEREFORE CANDIDATE GENERATION) don't have to share any code.

The heart attack candidates list is passed down from the event control to the round event. This is used for running a second series of checks via attack_heart(), a new proc on the round event.

The heart attack now fires on every tick, until "attacks_left" reaches zero, which is a value inhereted from the round event control (default 1, modifiable in admin setup).

In attack_heart, the victim pick_weight-ed from the victims (formerly candidates) and is checked to see if they'll be spared from their fate for some special reason. This is so that feedback can be given and smugness can be felt over surviving a heart attack. This check was literally the only thing I wanted to implement in this PR and I ended up rewriting most of the entire thing. Wowee.

* Refactors the Heart Attack event. Adds a new related achievement and admin setup.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-09-25 20:11:27 -04:00
Rhials ee697f25af Refactors the Heart Attack event. Adds a new related achievement and admin setup. (#70048)
* So, this moves the "candidate" selection into round_event_control and integrates it into part of canspawnevent. The actual selection is part of a new proc, generate_candidates, which was created so that canspawnevent() and admin_setup() (WHICH OVERRIDES CANSPAWNEVENT AND THEREFORE CANDIDATE GENERATION) don't have to share any code.

The heart attack candidates list is passed down from the event control to the round event. This is used for running a second series of checks via attack_heart(), a new proc on the round event.

The heart attack now fires on every tick, until "attacks_left" reaches zero, which is a value inhereted from the round event control (default 1, modifiable in admin setup).

In attack_heart, the victim pick_weight-ed from the victims (formerly candidates) and is checked to see if they'll be spared from their fate for some special reason. This is so that feedback can be given and smugness can be felt over surviving a heart attack. This check was literally the only thing I wanted to implement in this PR and I ended up rewriting most of the entire thing. Wowee.
2022-09-25 15:32:43 -04:00
SkyratBot 5a33abb773 [MIRROR] Event menu rewrite [MDB IGNORE] (#15396)
* Event menu rewrite

* Update topic.dm

* Update _event.dm

* Update event_chaos_system.dm

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:15:12 +01:00
Profakos b5e57216ee Event menu rewrite (#68472)
About The Pull Request

kép

This PR does the following:

    Force event menu uses tgUI.
    Arranged events into categories, and added a little description to each. The descriptions appear as tooltips when you hover over the Trigger button.
    Rewrote how "Announce to crew?" works. It no longer pops up a panel after the event has been already announced. Instead, the admins select it via a checkbox, and the result is passed through an optional argument.
    announceChance's comment is tweaked a bit to reflect how it actually works at the moment.
    Moved rpgtitles to wizard events, where it belongs.
    Fake Virus and Electric Storms show up to observers, as I believe they are not as common as Space Dust or Camera Failure, and should be cancelable.

Potential issues:
This only solves half of #68408, I don't think admin triggering having a timer and a cancel button is a big issue, as it allows other admins to overrule you if needed, but if i is, I will try to fix it within this PR.

Fixes #68408. Events now spawn immediately, and the the announceChance is overwritten before it begins.

My choices for categories and descriptions might not be the best, feedback would be appreciated.
Why It's Good For The Game

The old spawn menu was completely unorganized, and you could only search using the browser search tool. I believe a built in search bar helps with this issue a bit. I also believe that organizing the events into categories, and adding descriptions will help with newer admins who might not be familiar with all events.
Changelog

cl
refactor: The Force Event UI has been refactored
refactor: Events now have categories and descriptions
refactor: Admin triggered events happen immediately
balance: Fake Virus and Electric Storms are shown to admins, making them cancelable
/cl
2022-08-05 09:18:14 +12:00
SkyratBot 26de81a8c1 [MIRROR] Removes useless status effect path defines. [MDB IGNORE] (#11143)
* Removes useless status effect path defines.

* Removes useless status effect path defines.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-30 15:56:13 +00:00
Ghom b84ad2dde8 Removes useless status effect path defines. (#64490) 2022-01-30 01:26:04 -08:00
Gandalf 27c2f9fd08 Events audit, moving overrides to modular files + TEMP FIX (#9941)
* RESET

* debug stuff

* Update events.dm

* fixed

* Modular override file

* Update event_overrides.dm

* Update event_overrides.dm

* Update cme.dm

* Update event_overrides.dm

* Update game.dm

* 0

* 0

* Update events.dm

* E

* Update code/modules/events/_event.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update event_overrides.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-12-15 01:48:44 +00:00
SkyratBot fa519bdde3 [MIRROR] cleanup _HELPERS/_lists.dm and all the necessary files [MDB IGNORE] (#8783)
* cleanup _HELPERS/_lists.dm and all the necessary files

* Epbic

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 21:07:35 +01:00
Ghilker 95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
SkyratBot 227b722820 [MIRROR] Job refactor: strings to references and typepaths [This could seriously break things :)] (#7006)
* Job refactor: strings to references and typepaths

* 0

* holy fuck

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 21:12:42 +01:00
Rohesie 4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
Azarak fbe0c08cc2 Lowers down and disables some events (#2438)
* a

* Update spider_infestation.dm

* Update blob.dm

* Update spontaneous_appendicitis.dm

* Update spider_infestation.dm
2021-01-05 15:09:00 +00:00
SkyratBot 12cd35c594 Crit status refactor (#53117) (#500)
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-25 00:11:20 +02:00
SkyratBot 208bc743d2 [MIRROR] makes some events only work on crewmembers, and some not work on centcom (#488)
* makes some events only work on crewmembers, and some not work on centcom (#52966)

brain trauma, fake virus, and heart attack only work on crewmembers.
mass hallucination and appendicitis don't give the effect/pick to people on centcom, respectively

* makes some events only work on crewmembers, and some not work on centcom

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-08-24 21:40:12 +02:00
Rohesie 3a1020e47d Crit status refactor (#53117) 2020-08-24 07:41:00 -07:00
tralezab 921a7f63a3 makes some events only work on crewmembers, and some not work on centcom (#52966)
brain trauma, fake virus, and heart attack only work on crewmembers.
mass hallucination and appendicitis don't give the effect/pick to people on centcom, respectively
2020-08-24 01:07:24 -07:00
MrDoomBringer 8c156a99fe Makes events ghost-announce their spawned atom much more consistently (#41278)
Fixes #41217

cl MrDoomBringer
fix: Events now announce follow-able atoms to ghosts much more reliably
/cl

Implements @ShizCalev's suggestion to just have the event ghost-announce normally, then call a separate ghost announcement for the "atom of interest" as it is created.
2018-11-14 22:27:35 +13:00
MrDoomBringer 16be1163c0 Gives random events a ghost follow link (#40727)
Also improves the code for anomalies a bit

cl MrDoomBringer
tweak: Random Events now have a follow link for ghosts!
/cl

Untested, and anomalies are broken right now but that takes like 2 seconds to fix
2018-10-27 13:11:48 +13:00
Cruix dedf5f5ed9 Disease antagonist (#35988)
* Virus antagonist initial commit

* Updated disease code

* Sentient virus improvements

* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances

* Added sentient virus event

* Renamed VIRUS defines to DISEASE defines

* Fixed bugs in rewritten disease code

* Fixed advanced disease Copy()

* Finalized disease antagonist

* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.

* Added better icons to sentient disease abilities
2018-03-05 13:55:10 +01:00
Robustin ede606b814 Working Heart Attack event 2018-02-23 13:41:09 -05:00
81Denton 5e4c3c3e9f Changes event earliest_start to use time helpers (#35841)
* uses time helpers, tweaks santa/shuttle loan times

* hourS
2018-02-21 12:38:09 -05:00
MoreRobustThanYou 1c42a8186a Heart Disease 2: Electric Boogaloo (#35296)
* Heart Disease 2: Electric Boogaloo

* Upd8
2018-02-08 22:01:55 +13:00