Commit Graph

5 Commits

Author SHA1 Message Date
NamelessFairy
0c0803817a Admins can now customize the space vines event. Also fixes a space vine event bugs. (#74704)
## About The Pull Request

Admins can now customize the location, potency and production stats for
the space vines event, they can also use the new checkbox input system
to select any number of mutations for the vine.
Also fixes a bug where random event kudzu was always spawning without
mutations.
Also adds support for minimum number of options for the checkbox system
rather than it being hardcoded to one (0 mutation kudzu support)
## Why It's Good For The Game

Space vines was practically begging to have admin customization added to
it since its very impractical for admins to make custom kudzu, with this
admins can create space vine threats tailored to the round by selecting
interesting locations/mutations based on current station circumstances.

Also bugfix + dehardcoding a thing.
## Changelog
🆑
admin: Admins can now control the spawn location, potency, production
and starting mutations of the space vines event.
fix: The space vine event will now correctly give vines mutations when
they spawn rather than always being mutation free.
code: Checkbox tgui inputs now support setting a minimum number of
inputs rather than it being hardcoded to 1.
/🆑
2023-04-15 21:29:02 -06:00
tralezab
c0ef4ba907 Adds the Dark Matt-eor when you emag a stupid amount of meteor shields + lots of meteor file sorting + qol + dark matter singularity + dark matt-eor summoning final traitor objective (#74330)
## About The Pull Request

<details>
  <summary>Dark Matt-eor Image</summary>
  

![image](https://user-images.githubusercontent.com/40974010/228368755-34ae5f89-e1bb-498b-bbf8-a14ff4240dc0.png)

</details>

> A barely visible blur in the cosmic darkness, like a ghostly shadow on
a moonless night. A piercing howl in the vacuum of space, as if it were
tearing the fabric of reality. A twisted halo of light around it,
bending and breaking the rays of distant suns. A shower of quantum
sparks, flickering and fading in its wake. A dark matter meteor (dark
matt-eor) is a wonder to witness, and to dread.

> A sudden impact, like a hammer blow to the heart of the station. A
violent tremor, shaking and shattering the metal walls and windows. A
deafening roar, as the air rushes out of the breached hull. A blinding
flash, as the dark matter meteor unleashes its hidden energy. A tiny
black hole, forming and growing in the center of the station. A
relentless pull, dragging everything towards the abyss. A dark matter
meteor is incredibly deadly.

Emagging too many meteor shields will summon a dark matt-eor. This comes
with several warnings, and after awhile, warns the station that someone
is trying to summon a dark matteor.

The dark matt-eor itself is not that damaging in its impact, but drops a
singularity in its final resting place.

## Why It's Good For The Game

It's a new way to terrorize a round as an antagonist. Before, emagging a
lot of meteor shields would basically make meteor showers the only event
that can run, which is cool, but since constant meteor waves are going
to destroy the station, let's also throw in the mother of all meteors!

This also adds warnings to spamming emagging meteor shields, which imo
needs it. The round ends when someone spams emagged meteor shields, and
since they're meteor shields nobody is going to reasonably check on
them.

## Changelog
🆑
add: The dark matt-eor
add: Summon a dark matt-eor final traitor objective
add: Dark matter singularity variant, which can't grow as big as a
regular singularity but hungers for blood
code: cleaned up/sorted meteor shield code, satellite control, and more
qol: added a lot of feedback to interacting with meteor shields
balance: emagging a lot of meteor shields warns the station, but
emagging enough of them summons a Dark Matt-eor.
/🆑
2023-03-29 19:48:15 +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
tralezab
c9106af90d Refactors "Custom" level scrubber overflow into a generic "All Vents" overflow, gives its (currently broken) functionality to all levels of scrubber overflow events. (#73223)
## About The Pull Request

closes #73216 as an alternate

Custom overflow is no longer broken, and is now generic and works like
every other tier just with every scrubber overflowing. Now all tiers
have access to "Single Random Reagent" mode, something only custom
scrubber overflow could do.

## Why It's Good For The Game

There really was zero reason for this to be hardcoded and it was
begetting more hardcoding

## Changelog
🆑
admin: Every tier of "Scrubber Overflow" can now choose a random single
reagent mode
admin: "Custom" overflow, which was kinda confusing and unintuitive, is
now called "Every Vent", much more self-explanatory in what it does.
/🆑
2023-02-12 00:11:12 +01: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