Commit Graph

1642 Commits

Author SHA1 Message Date
SkyratBot
312cd4b211 [MIRROR] Turns space bat into a basic mob & moves retalate mobs to retaliate folder [MDB IGNORE] (#20593)
* Turns space bat into a basic mob & moves retaliate mobs to retaliate folder (#74747)

## About The Pull Request

Turns Space Bats into a basic mob, why not.

I also noticed some retaliate mobs weren't in the retaliate folder, and
moved them over. I didn't move goats over because they're in a large
file and didn't want to really expand much on this PR that I just wanted
to focus on just bats.

## Why It's Good For The Game

I was just messing around with some bat stuff and thought I might as
well make them basic mobs.

## Changelog

🆑
code: Space Bats are now Basic mobs.
/🆑

* Turns space bat into a basic mob & moves retalate mobs to retaliate folder

* Update spacehotel_skyrat.dmm

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-04-17 15:34:41 -07:00
SkyratBot
8e3d8cafbe [MIRROR] Admins can now customize the space vines event. Also fixes a space vine event bugs. [MDB IGNORE] (#20586)
* Admins can now customize the space vines event. Also fixes a space vine event bugs.

* skyrat edit

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-04-17 14:54:31 -07:00
SkyratBot
42c7a99db3 [MIRROR] Adds a deadchat orbit popup for the Stray Cargo Pod Random Event landing location [MDB IGNORE] (#20580)
* Adds a deadchat orbit popup for the Stray Cargo Pod Random Event landing location (#74738)

## About The Pull Request

Adds an announce_to_ghosts for the landing zone indicator spawned by the
cargo pod event. This means that the ghosts are alerted to where the pod
lands and also get to see the effects of the impact if they choose to
hop over.
## Why It's Good For The Game

Gives deadchat yet another form of idle stimulation -- something for
them to congregate around and have a thoughtful discussion about.

I realize that this is the third "adds a ghost orbit popup to a random
event" PR, so give me a heads up if there are any other events that
would benefit from having an announce_to_ghosts and I can just add them
here.
## Changelog
🆑
qol: Ghosts are now notified and given an orbit popup for the Stray
Cargo Pod random event.
/🆑

* Adds a deadchat orbit popup for the Stray Cargo Pod Random Event landing location

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-04-16 23:57:23 +01:00
SkyratBot
abefbb0d64 [MIRROR] Adds two new helper procs for finding a maintenance/space spawn turf [MDB IGNORE] (#20536)
* Adds two new helper procs for finding a maintenance/space spawn turf (#74598)

## About The Pull Request

Adds two new global helper procs, find_maintenance_spawn and
find_space_spawn. These check the list of maintenance/space carp spawn
landmarks, and return the turf of a random one.

The find_maintenance_spawn helper has two arguments, for atmos safety
checks and making sure the spawn is properly shrouded in darkness.

This also includes some tidiness changes to the ghost_role event file,
because the helper was originally just going to be a proc on ghost role
events.

**Stuff moved to find_maintenance_spawn:**

- Spiders
- Nightmares
- Fugitives
- Paradox clones
- Morph

**Stuff moved to find_space_spawn:**

- Space Dragon
- Loneop
- Ninja
- Slaughter Demon
- Revenant backup spawn location

If we ignore all of the autodocing, this should remove about a dozen or
two lines of code.
## Why It's Good For The Game

Reduces an amount of duplicated code. Also makes future implementation a
bit easier and less copy-pastey.
## Changelog
🆑 Rhials
code: Adds two new super-duper helpful helper procs for finding a
maintenance/space spawn location, for all of your
event/midround/whatever needs!
code: Moves all midrounds/ghost_role events that hinged on
maintenance/space carp spawns to the aforementioned helpers.
code: The ghost_role event module file is now autodoced.
/🆑

* Adds two new helper procs for finding a maintenance/space spawn turf

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-04-14 14:25:16 +01:00
SkyratBot
9a594755f3 [MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name

* updates to our code

---------

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:45:43 +01:00
SkyratBot
3a5a1d4058 [MIRROR] Imports and Contraband: Different! Cargo crates without locks! MEAT! [MDB IGNORE] (#20423)
* Imports and Contraband: Different! Cargo crates without locks! MEAT!

* helping make 20423 a little more mergeable (commits to a nonmaster branch) (#20434)

* regal condor my beloved

* damn ok

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

* [merges to pr 20423, get this first] more nitpicks in regards to the imports pr (#20497)

missed mirror and a nitpick i forgot

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:03:30 +01:00
SkyratBot
56f12bce61 [MIRROR] Adds a new solo fugitive backstory: The Invisible Man [MDB IGNORE] (#20405)
* Adds a new solo fugitive backstory: The Invisible Man (#74415)

## About The Pull Request

A disgruntled scientist, formerly the project lead at an experimental
cloaking technology lab, now on the run for stealing the very prototypes
they helped create.

![image](https://user-images.githubusercontent.com/28870487/229234117-ef2d3951-4f57-4d62-9001-6d17808e2799.png)

You start off with a toggleable cloaking implant (makes you a bit more
invisible than a cloaked ninja), and some Stabilized Saturn-X injectors
(Which turn you COMPLETELY invisible).

The three Saturn-X injectors grant you a cumulative 30 minutes of total
invisibility (with the caveat and associated complications of you having
to be naked and not able to just take them all at once
consequence-free). It may not be as powerful as Waldo and his almighty
Knock spell, but don't underestimate how much the camouflage can do for
you in the dark.

![image](https://user-images.githubusercontent.com/28870487/229234660-7d8ded61-8997-4536-8c13-a326a1635d03.png)

So go on, blend in with the crew. When the hunters come looking, shed
your uniform and disappear...

The color of this PR is: **Purple**.
## Why It's Good For The Game

Adds some variety to solo fugitive selections (Waldo is still a
bastard). Gives the opportunity for High-End SS13 Stealth Gameplay.
## Changelog
🆑 Rhials
add: New solo fugitive backstory: The Invisible Man!
spriteadd: New purple medipen and admittedly bad camouflage icon hud
button sprite.
/🆑

* Adds a new solo fugitive backstory: The Invisible Man

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-04-08 18:49:43 +01:00
SkyratBot
6f3befe233 [MIRROR] Reagent soup / Soup rework / Stoves - A kitchen expansion [MDB IGNORE] (#20410)
* Reagent soup / Soup rework / Stoves - A kitchen expansion

* fixes that stuff

* puts the range stove on maps that sohuld have it

* fixes some paths that don't exist anymore

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-04-08 13:30:41 -04:00
SkyratBot
c222f22ed8 [MIRROR] Replaces xeno_spawn with the generic_maintenance_landmark, adds atmos safety checks to remaining midrounds that need them [MDB IGNORE] (#20302)
* Replaces xeno_spawn with the generic_maintenance_landmark, adds atmos safety checks to remaining midrounds that need them (#74374)

## About The Pull Request

The xeno_spawn landmark, used to pick spawn locations for many different
midrounds (but NOT xenomorphs, ironically), has been killed and been
replaced with the generic_maintenance_landmark landmark.

This also adds atmos safety checks to some of the midround spawn
location selections that were missing them:

- Paradox Clone
- Nightmare
- Fugitives
- Morph

I decided to do both of these at the same time, since I'd be touching
most of the same files anyways.

This includes an updatepaths that, if you are on a downstream running a
custom map, should probably definitely run.
## Why It's Good For The Game

It may not be a secret that these landmarks aren't used for spawning
xenomorphs anymore, but the name is still deceptive. This should
communicate what they're used for a bit better to both coders and
mappers.

Atmos safety checks (for the midrounds I hadn't yet added them to) make
sure people can play the game.

Closes #74372.
## Changelog
🆑
code: The xeno_spawn landmark is now the generic_maintenance_landmark
landmark.
fix: Certain midrounds will now check for atmos safety before spawning.
/🆑

* Replaces xeno_spawn with the generic_maintenance_landmark, adds atmos safety checks to remaining midrounds that need them

* 0

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-04 17:55:29 +01:00
Gandalf
afa770a886 Replace Chaos Event System with ICES - Intensity Credit Event System [LT3] (#20272)
* remove chaos/event vote system

* Delete event_chaos_system.dm

* someone was using those

* Update cme.dm

* coffee before commit

* Update event_frequency.dm

* Update cme.dm

* disable changeling

* Update tgstation.dme

* Update supermatter_surge.dm

* change to weight config C, rename dm

* typo, meteor minplayer

* too high

* Update random_events.dm

* weighting updates

* better documentation

* this file is gone, SM surge start time

* reduce scrub

* min player/time for extreme CME/threat meteors

* cme

* Update cme.dm

* cme

* idk why this reverted

* event credits

* intense event credits

* Update random_events.dm

* max occurrences

* new meteor warning

* Update tgstation.dme

* intensity credits, yo

* put ICES in a module folder

* move readme

* Update readme.md

* change logging

* Update events.dm

* Update ICES_event_config.dm

* Update events.dm

* Update events.dm

* Update events.dm

* remove debug logging

* minplayer balancing

* ICES panel

* ope

* Update ICES_event_mods.dm

* tgui panel

* ices_data

* whoa useful info?

* event init

* Update configuration.dm

* Update ICES_event_config.dm

* ...

* make those vars

* Update ICES_tgui.dm

---------

Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2023-04-02 16:50:17 +01:00
SkyratBot
3464b6bfb2 [MIRROR] Refactors Regenerate Organs, and a few organ helpers [MDB IGNORE] (#20094)
* Refactors Regenerate Organs, and a few organ helpers

* MERGE CONFLICTS

* GETORGANSLOT > GET_ORGAN_SLOT

* GETORGAN > get_organ_by_type

* lint repairs

* more lint

* Update tgstation.dme

* Update surgery_step.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 02:51:06 +01:00
Gandalf
e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot
5978126f70 [MIRROR] Fugitive backstories are now selected with consideration to the number of signups [MDB IGNORE] (#20207)
* Fugitive backstories are now selected with consideration to the number of signups (#74347)

## About The Pull Request

Adjusts how the fugitives event decides to select its backstories.

Formerly, the game would decide if it was polling for a solo (Waldo) or
team (4 player) backstory first, meaning the event could fail if only 3
people signed up when the event decided to run a team backstory. It also
meant that, even with thirty people signed up, a solo backstory (still
just Waldo for now) could be selected. What a waste!

Now, the event receives its signups and uses them to decide which
backstory to choose. If there aren't enough players for a team, a solo
backstory is chosen. If a team can be formed, the event may still decide
to run a solo backstory, but the chance scales inversely with the number
of candidates.

This also adds an atmos safety check to their spawn location finder,
because I was in the area.
## Why It's Good For The Game

Helps a deadchat sink even be more of a deadchat sink. Waldo is a
bastard.
## Changelog
🆑
balance: Fugitive team backstories will now be selected with
consideration to the number of people who sign up.
qol: Fugitives can no longer spawn in atmos-unsafe areas.
/🆑

* Fugitive backstories are now selected with consideration to the number of signups

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-30 21:57:11 -07:00
SkyratBot
32ed8396f5 [MIRROR] Disease outbreak properties balance [MDB IGNORE] (#20211)
* Disease outbreak properties balance (#74344)

## About The Pull Request

Slight balancing for disease outbreak in conjunction with
https://github.com/tgstation/tgstation/pull/74343

- Fluids transmission reduced
- Respiration transmission slightly increased
- Low severity frequency increased
- Cures list now uses levels 4-7
- Minimum pop/time to avoid shafting lowpop shifts, modified weight to
match carp and radiation leak

## Why It's Good For The Game

- Fluids transmission diseases are quite useless except for one unlucky
person
- Annoying/harmless diseases are more likely, but also more likely to
spread
- With the balance of some cure chemicals, shifted the level for cures
- Don't run when it's super low pop, when they aren't likely to have a
fully staffed medical

## Changelog

🆑 LT3
balance: Random Disease: Fluids transmission frequency reduced
balance: Random Disease: Respiration transmission frequency increased
balance: Random Disease: Low severity frequency increased
balance: Random Disease: Cures list removes dispenser reagents and food
products
balance: Random Disease: Minimum pop and minimum round timer added to
event check
/🆑

* Disease outbreak properties balance

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-30 21:55:09 -07:00
SkyratBot
fd112cfe9c [MIRROR] 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 [MDB IGNORE] (#20178)
* 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

* singularity

* Update singularity_s1.dmi

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-29 21:25:00 -07: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
SkyratBot
edfaf6836a [MIRROR] Removes Starlight Config [MDB IGNORE] (#20134)
* Removes Starlight Config (#74289)

## About The Pull Request

It was config'd off to save init time, but having it function in testing
and mapping is more valuble then the time spend on it.

On that topic, we spend roughly 1.7 seconds of init on this.
~1.3 is spent handling the light sources and their light object
modifications (this is potentailly inflated since other sources could
cause the same objects to need updates)
~0.3 is spent searching for space turfs around lighting_objects during
init.
This will impact change_turf slightly too, costing about ~0.07 in local
testing.

It does save time for live however, since we avoid these config checks.

## Why It's Good For The Game

I believe this time is worth spending.
I've had people try to "fix" artifacts of starlight not being enabled,
things that aren't bugs.
The test environment should as much as we can make it reflect the visual
reality of the game. This helps ensure that

## Changelog
🆑
server: The starlight config has been removed, as it is enabled by
default
/🆑

* Removes Starlight Config

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-03-29 22:28:51 +01:00
SkyratBot
e787d301ac [MIRROR] Tram signs malfunction during tram malfunction [MDB IGNORE] (#20119)
* Tram signs malfunction during tram malfunction (#74210)

## About The Pull Request

Tram signs will now display incorrect information when malfunctioning.

## Why It's Good For The Game

For improved Frogger gameplay, no more being crafty and reading the
indicator board to know if the tram is coming.

## Changelog

🆑 LT3
add: Tram signs will now malfunction when the tram is malfunctioning
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Tram signs malfunction during tram malfunction

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-29 22:22:13 +01:00
SkyratBot
7459d70109 [MIRROR] Spacevine file untangling [MDB IGNORE] (#20055)
* Spacevine file untangling

* e

* wew

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:27:19 +01:00
SkyratBot
088366e7c3 [MIRROR] Fixing Issue #74108/ Adding the Bomb Testing Site to the anomaly placer blacklist [MDB IGNORE] (#20095) 2023-03-26 17:54:53 -07:00
SkyratBot
d75624d5c5 [MIRROR] create_midwife_eggs() now checks for safe atmos and spawns each cluster at a different location [MDB IGNORE] (#19989)
* create_midwife_eggs() now checks for safe atmos and spawns each cluster at a different location (#74051)

## About The Pull Request

Bad things always come in pairs. Spiders are no exception. Midwife
spiders, however, don't really benefit from spawning as a pair.
Ultimately, the room they spawn in will fill up with eggs, and then
there's nothing but uncomfortable waiting as they hatch.

Placing the two broodmothers in separate location gives room for each
broodmother to grow their own hive, and means that one wayward
maintcrawler or cyborg won't _completely_ trash the threat. Single
points of failure are BAD! I originally thought spider eggs spawning
together was unintended behavior (bug!!) because of how little of a
difference the second broodmother makes, but there's nothing pointing
towards that being true, so it goes as a balance change.

As for the safe atmos check, I was watching a round and saw both sets of
eggs spawn in a bombed-out room, leading to instant death upon hatching.
I saw it, said to myself "huh, that's lame", then made this PR.

This also makes a minor code adjustment, which makes it so that spider
eggs will spawn until there are no more valid turfs, rather than not
spawning any unless there are enough spots (which wasn't really an issue
until I made the proc pick distinct locations for each egg).
## Why It's Good For The Game

Atmos checks prevent people from spawning into certain death.

There's only so many tiles you can spit eggs out onto before it just
becomes a game of waiting. Giving each broodmother their own space to
work with means less waiting, and less risk of the entire threat being
wiped out by a passing greytider, broken window, or other minor
inconvenience. I guess this constitutes a spider buff, but hey, I'm of
the opinion that they could use the boost anyways.
## Changelog
🆑
balance: midwife spider eggs now spawn in separate locations. Divide and
conquer!
fix: midwife spider eggs can no longer generate in atmos-hazardous
areas.
/🆑

* create_midwife_eggs() now checks for safe atmos and spawns each cluster at a different location

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-26 01:27:34 -07:00
SkyratBot
0476197e17 [MIRROR] Fixes stray cargo pod false alarms runtiming. [MDB IGNORE] (#20010)
* Fixes stray cargo pod false alarms runtiming. (#74135)

False alarms for stray cargo pods were no generating a impact_area which
is used for the announcements, I've added code that checks if the alarm
is false and generates one in this case.

* Fixes stray cargo pod false alarms runtiming.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-22 00:47:14 -07:00
SkyratBot
408f0e9c5a [MIRROR] Audits usage of isanimal() vs isanimal_or_basic_mob() [MDB IGNORE] (#19938)
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)

## About The Pull Request

There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.

I left out the two others which are already in PR, I'm not stealing your
GBP.

Fixes https://github.com/tgstation/tgstation/issues/68881

## Why It's Good For The Game

Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.

There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.

alright here goes

## Changelog

🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑

* Audits usage of isanimal() vs isanimal_or_basic_mob()

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-18 03:15:31 -07:00
SkyratBot
96fee5b64b [MIRROR] Admins can now customize the wisdom cow event. [MDB IGNORE] (#19953)
* Admins can now customize the wisdom cow event. (#74045)

## About The Pull Request

Gives admins the ability to customize the spawn location of the cow and
the wisdom that it grants.
## Why It's Good For The Game

Wisdom cows lack any sort of customization at present, this allows
admins to set what type of wisdom which is granted which may be thematic
for events and adding positional spawn support for them is a pretty easy
addition.
## Changelog
🆑
admin: Admins can now customize the wisdom cow event.
/🆑

* Admins can now customize the wisdom cow event.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-18 03:08:36 -07:00
SkyratBot
dfc80b1887 [MIRROR] Log forced events in game log [MDB IGNORE] (#19896)
* Log forced events in game log (#74000)

## About The Pull Request

Forced events will be logged to game log. Not sure why we don't already.

## Why It's Good For The Game

Even outside of admins forcing events, new code that forces events to
trigger is added often. They should be logged to, just so it's not
completely up to guesswork that something happened

## Changelog

🆑 Melbert
admin: Logs when forced events trigger
/🆑

* Log forced events in game log

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-15 18:34:54 -07:00
SkyratBot
42dd487728 [MIRROR] Station Trait: Spider Infestation [MDB IGNORE] (#19813)
* Station Trait: Spider Infestation (#73893)

## About The Pull Request

Hate having your cables eaten by mice? Nanotrasen have heard your
complaints and settled on a natural, _organic_, and eco-friendly
solution.

When this station trait is active, roundstart and event mouse spawns
have a chance to instead be replaced with duct spiders (both will exist,
it doesn't remove mice).
Duct spiders are largely harmless to humans, actively hunt other
maintenance creatures (such as mice), and have only one _tiny_ downside.

![image](https://user-images.githubusercontent.com/7483112/224345781-2627be98-67f2-4cab-ac40-c6c9b35ea909.png)

These mobs can also sometimes be spawned by a minor scrubber clog event.

As a side note, all spider basic mobs with AI (except Araneus) will now
try to automatically fill a small area around them with webs.

Also I made it so that mobs will ignore their random_walking behaviour
if they're engaged in a `do_after`, just in case.

## Why It's Good For The Game

Adds a little bit of variety to things which can slightly annoy you in
maintenance.
Spiders will automatically make places they live in look like spiders
live there.

## Changelog

🆑
add: A station trait which sometimes populates maintenance with small
spiders. You can wear them as a hat if you wanted to have a spider on
your head for some reason.
add: Spider mobs will automatically start webbing up their environment.
/🆑

* Station Trait: Spider Infestation

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-13 02:00:22 +00:00
SkyratBot
61c6b9c121 [MIRROR] Define anomaly event parameters, adjust timers [MDB IGNORE] (#19779)
* Define anomaly event parameters, adjust timers

* skyrat edits

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-11 20:56:23 +00: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
SkyratBot
d666b49125 [MIRROR] Changeling Meteor event now breaks more gracefully and will absolutely make sure the changeling gets where it should [MDB IGNORE] (#19438)
Changeling Meteor event now breaks more gracefully and will absolutely make sure the changeling gets where it should

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:27:50 +00:00
SkyratBot
6da754d0fc [MIRROR] Fix RPG Titles Runechat Offset [MDB IGNORE] (#19392)
* Fix RPG Titles Runechat Offset

* Update code/modules/events/wizard/rpgtitles.dm

---------

Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:13:16 +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
SkyratBot
4cd00f275a [MIRROR] Faction defines [MDB IGNORE] (#19590)
* Faction defines

* fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:55:18 +00:00
SkyratBot
480745ce05 [MIRROR] Basic Mob Spiders III: Sgt. Araneus is no longer a bat [MDB IGNORE] (#19315)
* Basic Mob Spiders III: Sgt. Araneus is no longer a bat

* spooky scary spider

* Revert "spooky scary spider"

This reverts commit 7bcca7750390c7ba6aaa08760886eda524f600f8.

* resolve conflicts

* resolve conflicts

* https://github.com/tgstation/tgstation/pull/73724

https://github.com/tgstation/tgstation/pull/73724

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/19561

* fixes

* wew

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:47:03 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
f48b604aff [MIRROR] Correct instances of destroying baseturfs in ChangeTurf & Select dimensional anomaly theme [MDB IGNORE] (#19255)
* Correct instances of destroying baseturfs in ChangeTurf & Select dimensional anomaly theme

* events

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:39:30 +00:00
SkyratBot
a4624020b4 [MIRROR] Fix admin lookup/follow on disease outbreak [NO GBP] [MDB IGNORE] (#19684)
* Fix admin lookup/follow on disease outbreak [NO GBP] (#73717)

## About The Pull Request

In https://github.com/tgstation/tgstation/pull/73599 my copy/paste
screwup removed the admin lookup in Disease Outbreak: Advanced. Puts it
back.

## Why It's Good For The Game

Admins are supposed to have a link to jump/follow, not message the ckey.

## Changelog

🆑 LT3
fix: Admins can jump to/follow patient zero of a disease outbreak again
/🆑

* Fix admin lookup/follow on disease outbreak [NO GBP]

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-05 16:56:56 -08:00
SkyratBot
a9917e2404 [MIRROR] Changeling Meteors will land near planetary stations instead of at the map edge [MDB IGNORE] (#19222)
* Changeling Meteors will land near planetary stations instead of at the map edge

* Update code/modules/events/ghost_role/changeling_event.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-03-04 20:14:32 +00:00
lessthanthree
021c9d546e [MANUAL MIRROR] Buff scythes, goats, and plantbgone vs PLANT biotypes (#19215)
Buff scythes, goats, and plantbgone vs PLANT biotypes (#72889)

This buffs scythes, goats, and plantbgone vs PLANT biotypes:

- Scythes now deal x1.5 damage to venus flytraps (3 hits to kill)
- Scythes now target the flower bud vines
- Goats now target flower bud vines and deal 15 damage to PLANT biotypes
- Goats have a eating sound whenever they bite PLANT biotypes
- Plantbgone now does 2 dmg per unit to PLANT biotypes (10 dmg per
spray)
- Plantbgone now has a 75% chance to remove weeds and deals large damage
to flower buds
- Weed control crates now come with a pair of leather gloves
- Golems are immune to thorn effects
- Any kind of thick glove material will prevent thorn effects when
attacking
- Flower buds will now take x4 damage from fire and sharp weapons
(unless they have fire trait)
- Regular scythes are now a sharp object

Also this fixes a few runtimes with spacevines and nulls. The bane
element now accepts `mob_biotypes` bitflags as an argument.

Before my changes:

- Plant-b-gone was doing 0.4 dmg per unit to PLANT biotypes (2 dmg per
spray)
- Scythes took 5 hits to kill venus flytraps
- Goats only affected podpeople
- Flower bud vines were being ignored by weed killing code
- Plantbgone only had a 50% chance to remove weeds (and this was very
inconsistent due to RNG)
- Botanical gloves and thick gloves didn't protect from thorns
- Golems were getting pierced by thorns despite having pierce immunity
- Flower buds were not taking the x4 damage like they should have been
- Regular scythes were not a sharp object, but other scythes
(chaplain's, megafauna loot) were sharp

This makes the weed killer crate more effective since people were
complaining about it being worthless vs vines and flower buds. These
changes give people more options to respond to threats vs plants.

🆑
add: Add a pair of leather gloves to weed control crate
balance: Mobs with the PLANT biotypes (venus flytraps, pod people,
killer tomatoes) are now much weaker vs scythes, goats, and plantbgone.
balance: Plantbgone is now more effective at destroying weeds.
balance: Regular scythes are now a sharp object
fix: Fixed scythes, goats, and plantbgone not affecting flower bud
vines.
fix: Thick and botanical gloves not protecting from thorns
fix: Golems not having pierce immunity from thorns
fix: Runtime where vines tried to spread into null turf
fix: Runtime where null vines that were destroyed were trying to spread
to nearby turfs
soundadd: Add eat food sound when goats eat plants
code: Improved goat targeting code
code: The bane element now accepts `mob_biotypes` bitflags as an
argument.
/🆑

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-03 18:37:34 +00:00
SkyratBot
3d629de231 [MIRROR] It Came From Outer Spess: Adds midround changelings, delivered by an absolutely disgusting changeling meteor [MDB IGNORE] (#19154)
* It Came From Outer Spess: Adds midround changelings, delivered by an absolutely disgusting changeling meteor

* Update dynamic_rulesets_midround.dm

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-02 21:03:08 -08:00
SkyratBot
0aaa975655 [MIRROR] You can't teleport easter prizes with your brain [MDB IGNORE] (#19586)
* You can't teleport easter prizes with your brain (#73680)

## About The Pull Request

Fixes #69258
I assume nobody else tackled this because it was _too_ simple and they
assumed someone else would.
Opening a kinder egg will now deposit its contents in the _egg's_ turf,
which has the same result as it did before for using it in your actual
hand, and no longer teleports objects if done via telekinesis.

## Why It's Good For The Game

Minor consistency issue.

## Changelog

🆑
fix: Opening a surprise egg with your mind will no longer teleport the
contents
/🆑

* You can't teleport easter prizes with your brain

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-01 02:28:35 +00:00
SkyratBot
e1ee415ed3 [MIRROR] Improves admin rod logging and fixes un-aimed rods being aimed. [MDB IGNORE] (#19578)
* Improves admin rod logging and fixes un-aimed rods being aimed. (#73668)

## About The Pull Request

Logs wont say a rod has been aimed at null location anymore and instead
will say "a random location"
Also admin rods that were not aimed were retaining the location set by
previous rods which is bad since it meant un-aimed rods were actually
aimed.
## Why It's Good For The Game

Bug fix + better logging.
## Changelog
🆑
fix: Un-aimed admin rods will now actually be un-aimed instead of aimed
at the previous aimed rods target.
admin: Admin aimed rods will now log that they're aimed randomly when
not aimed.
/🆑

* Improves admin rod logging and fixes un-aimed rods being aimed.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-27 14:35:24 -08:00
Zergspower
041d1e8c44 [MISSED MIRROR] Disease Outbreak retries on event setup failure (#19570)
* Missed

* Disease Outbreak retries on event setup failure [NO GBP] (#73599)

## About The Pull Request
- When Disease Outbreak starts, instead of failing on the first attempt
picks a new target if the chosen target is no longer valid for
infection.
- Corrects transmission of disease, assigning a stat. Positive viruses
with a resistance higher than transmissibility provide immunity from the
disease outbreak.
- Improved logging and admin information

## Why It's Good For The Game
- Along with https://github.com/tgstation/tgstation/pull/73596 this
makes the event reliably fire instead of giving up if the first
selection has changed during setup. (Death, new immunity, infected with
different virus, whatever.)
- Disease transmits as expected to unprotected. Positive viruses provide
immunity from infection based on their resistance stat.

## Changelog

🆑 LT3
fix: Disease Outbreak doesn't give up so easily when trying to start the
event
balance: Disease Outbreak will not spawn on positive virus mobs, but can
be transmitted if resistance is low
fix: Disease Outbreak creates an entry in the virus log like it should
admin: Admins can see Disease Outbreak virus stats when the event starts
/🆑

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-26 20:58:51 -08:00
SkyratBot
5d2b01ecc5 [MIRROR] Radiation Leak event can no longer target machinery that doesn't use power [MDB IGNORE] (#19524)
* Radiation Leak event can no longer target machinery that doesn't use power (#73609)

## About The Pull Request

The Radiation Leak event will no longer target machinery that doesn't
use power. This includes a lot of non-machine machinery, like the
anomalous crystal, the chef's icecream vat, or IV drips.
## Why It's Good For The Game

Closes #73558.
## Changelog
🆑 Rhials
fix: The radiation leak event no longer targets machinery that doesn't
use power.
/🆑

* Radiation Leak event can no longer target machinery that doesn't use power

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-02-25 16:45:13 -08: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
lessthanthree
362588e927 Fix admin notifications for random events (#19415)
* notify for all events

* Update event_chaos_system.dm

* make it pretty

* dynamic

* begin

* Too late!
2023-02-20 23:10:52 +00:00
SkyratBot
47839a787e [MIRROR] Meteor events won't try and run on icebox [MDB IGNORE] (#19185)
* Meteor events won't try and run on icebox

* Update mapping.dm

* Update _event.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-02-17 01:28:04 -08:00
SkyratBot
c7e88cac5e [MIRROR] Fixes Disease Outbreak: Advanced [NO GBP] [MDB IGNORE] (#19368)
* Fixes Disease Outbreak: Advanced [NO GBP] (#73358)

## About The Pull Request
- Corrects severity thresholds for med/harmful/dangerous
- Removes tier 1 cures from cure pool
- Dangerous/Biohazard disease correctly show up on HUD at spawn
- RNG actually listens to what severity the symptoms are supposed to be
- Fixes various symptoms that were in the wrong severity list
- Disease is now assigned illness name based on its highest severity
component
- Converts old code to snake_case
## Why It's Good For The Game
Disease Outbreak works as expected, both on random spawn or admin custom
disease creation. Ensures that diseases that are harmful or potential
for quick spread are visible to scanners and HUDs.
## Changelog
🆑 LT3
code: Disease Outbreak: Disease max severity replaced with requested
severity
code: Disease Outbreak: Generated disease now includes symptom based
name
code: Disease Outbreak: Disease name is now included in the station
announcement
code: Disease Outbreak: Now in snake case
balance: Disease Outbreak: Tier 1 cures removed from pool
fix: Disease Outbreak: Dangerous/Biohazard diseases are now visible
fix: Disease Outbreak: Event setup generates the correct severity
fix: Disease Outbreak: Various potential symptoms were in the wrong
symptom pool
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Fixes Disease Outbreak: Advanced [NO GBP]

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-02-15 21:12:28 -05:00
SkyratBot
1365b9847d [MIRROR] Documents the_station_areas global list, fixes some things which read from it incorrectly [MDB IGNORE] (#19225)
Documents `the_station_areas` global list, fixes some things which read from it incorrectly

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-15 12:57:21 -08:00
lessthanthree
636c142927 [MANUAL MIRROR] Adds a new event, "Radiation Leak" (#19075)
Adds a new event, "Radiation Leak" (#72655)

Adds a new random event, "Radiation Leak". 

A random machine in a random department will begin leaking radiation. 

This includes a radiation aura around it, and semi-regular puffs of
smoke clouds containing mutagen and polonium.

The machine will stop leaking after some time, but can also be stopped
by using a random tool on it, indicated in its examine text.

I added a new "radiation emitter" component, for simple "emits
radiation" behavior. Then I made the radioactive mutation use it. This
means that the radioactive gene emits radiation while on stasis and
dead, rather than only in life.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-14 02:32:26 +00:00
SkyratBot
322f275a33 [MIRROR] Refactors "Custom" level scrubber overflow into a generic "All Vents" overflow, gives its (currently broken) functionality to all levels of scrubber overflow events. [MDB IGNORE] (#19288)
* Refactors "Custom" level scrubber overflow into a generic "All Vents" overflow, gives its (currently broken) functionality to all levels of scrubber overflow events.

* events dm

* no space

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-12 22:20:36 -08:00