changes:
Removed shim for old spark system.
Converted all calls to old spark system with calls to new one.
Processor-based effects are no longer pooled, as it had minimal performance impact and was breaking things.
Tweaked some visible_messages for rogue drones.
PB effects' handling of location is now done at the /datum/effect_system level.
This should fix forks being broken as fuck and you able to eat from them forever. also, spoons aren't sharp anymore.
Also, this ports the baystation fix to neckgrabs always flooring people, and makes resisting out of grabs when you are weakened a bit more harder.
Fix the lack of delay when attacking a ninja nest
Carp now have a chance of staying after their event ends
Ports totally;
https://github.com/Baystation12/Baystation12/pull/12389/files
Baystation12#14599
Ports partially;
Baystation12#14216 (only blob-related functions)
All the failure messages have been replaced with failure events in industrial drills, that range from probably lethal to certainly lethal and in one case just moderately annoying.
Fixes runtime errors with cargo stock. Was caused by the type of armor boosts changing.
Probably fixes the issue of mobs dying when picked up. I added some robustness and safeties to it
Tweaks event probabilities, adjusting the major event distribution (rarer bears), raising some others and slightly reducing the overall chance of major events.
This PR is intended to make working in cargo more interesting, and more like a real warehouse experience. IE, the place is an aladdin's cave full of wierd knicknaks and useful oddifies.
I don't think ive done pushing correctly, this PR took 10 minutes to push to remove which definitely seems wrong
In any case, fixes four compile errors related to meteors in the baymerge PR, and also fixes meteor events - A single line had been removed which would cause meteors to not spawn.
I removed a defunct function from one of the meteor files, because its no longer referenced or needed anywhere in live code, and its the only place the now-removed wavesecret var was being referenced.
No idea why meteor.dm was trying to pass two vars into the spawn_meteors proc, since afaik its never taken more than one input, and the variable it was trying to pass in doesn't exist. I reverted it back to our normal behaviour, passing in a value of 6, although this doesn't seem correct either, it is at least what we currently have and thus not a change
-Makes a lot of unsuitable events excluded from faking. Some of them could do with reworking to make them function, like the infestation and prison breaks, but for now i just had to exclude them
-Adds an In-character/descriptive name, used for the announcement apologising for the mistake
-Fixes an issue where using debug Trigger Event verb would fill the events list with empty severe events and cause runtime errors
Random antag now spawns specific antag templates only: namely, ones which will not have major trouble being integrated into the round and rolling with it. Ones with a long start-up time, ala cult, have been excluded.
Also added a game mode blacklist to the event_meta datum. If the current game mode's name is in that blacklist, the event will be disabled and will no longer be run that round.
bugfix: "Space bears can now control their movement in space."
rscadd: "Bears are now stronger in space or low pressure, weaker in pressurised environments"
soundadd: "Rawr!"
rscadd: "Added more bears!"
rscadd: "Added a new severe event."
New PR to fix merge issues
Porting an event from tg. Scrubbers get clogged and eject some chemical smoke with potentially fun effeects
I looked through chemsmoke code while doing this, and found it wanting, so i improved it. Added a duration input, adjusted all uses of chemsmoke in the code. Generally gave them all higher durations, chemsmoke grenades were a disappointing poot
Adds a new mundane event, false alarm.
It picks a random moderate or severe event and fakes its announcement without actually running the event.
Three minutes later, CC sends another announcement apologising for the false alarm
Also added an event var allowing events to exclude themselves from being picked for faking
tweak: "Adjusted event many weights. Made meteors and vendor breakdowns less common, ion storms more common."
tweak: "Slightly reduced overall frequency of random events."
rscadd: "Reworked the infestation event!! Can now spawn in a wider variety of locations, and spawn a wider variety of creatures."
rscadd: "Spiders spawned by the infestation event will now grow up, but much slower."
rscadd: "Reduced length of meteor storm a little. Total meteors not changed."
This was done with three design goals in mind:
1. Making 'interesting' events more common, especially those that have a decent chance to affect the dynamic of a round, as well as making annoying/boring things a bit less common.
2. Giving people stuff to do when a department is overstaffed. All the combat things are more weighted towards security staff, and destructive things more weighted towards engineering. Many other events have had staff requirements removed or reduced
3. Evening out event selections, preventing certain things (like blobs and comms blackout) from being too common, and other things (like spiders, drones and meteors) from being so rare. Severe events especially should have a much more varied selection.
Fixed hatch overlay not being cut when a firedoor opens
Fixed firedoor hatches drawing ontop of office/blast shutters when both are on the same tile
Drones can now bump open windoors
added attack logs for meteor impacts
slightly increased volume of meteor shield impact sound
fixed meteor event end announcements
Moves the event manager processing into the process itself.
Ensures the last_object var is properly set in case of issues.
Also fixes a potential risk of the camera damage event looping forever.
- Gridcheck random event is updated. Core behavior remains the same, but mechanism it uses to achieve power outage is changed.
- Both SMESs and APCs have new variable which is set by gridcheck. This variable decrements by 1 every tick, and until it is back to zero the APC/SMES won't work.
- SMESs are disabled for 60-120 seconds (random for each SMES). APCs for 120-240 seconds.
- Both SMESs and APCs show error UI with timer counting down until the device restarts (begins working again).
- Both SMEss and APCs may be manually restarted, on per-device basis, by clicking restart button in the UI. This is useful if you urgently need one or two devices back online, for example, medical treatment facilities, etc. This immediately skips the X second timer and restores the device to working state, while keeping the original intention of this event - allowing antagonists to use lack of power to enter areas they don't normally have access to.
Blobs now randomly pick a random turf without obstructions in maintenance, instead of from a pre-determined list of locations.
Blobs also now log their spawn location, which admins can use to jump to it.
Space vines and nuclear discs have been updated to use the same mechanics.
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes#8106.
Fixes#10705.
When a meteor event triggers it now selects a main edge to arrive from, with a 20% probability to come from either neighboring edge. Will never arrive from the opposite edge.
The meteor event end time is now made more useful, and is based on a longest delay between meteor waves scenario.
The meteor event now supports multiple station Z-levels.
Removes the meteor sounds, as they can rarely be heard over the explosions anyway.
log_and_message_admins() (which sure needs a shorter name) now uses key_name_admin() instead of just key_name().
Replaces calls to admin_log_and_message_admins() which did this with log_and_message_admins() instead.