First round of tuning after the addition of new electrical storms,
changes in behavior, etc. Details in the changelogs, but apart from
general balancing of event weights and effects, this PR also expands the
description info on Telecomms machinery to communicate that you need to
use Nanopaste to repair them (which I don't think was documented in-game
anywhere), and also adds a stack of Nanopaste to the TComms vestibule to
facilitate repairs if no one is around to produce the stuff.
Also you can beat Telecomms machinery with a stick to start garbling
them now! Take that, Medical channel!
There will probably be another round of balancing after this to make
sure the events all feel and play maximally right/fun.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Some functional updates to events:
**Comms Blackouts:** Now has a variant (min. 6 pop,
engineering-weighted) which gives each machine a 10% chance to take a
little integrity damage. Additionally, Telecomms Processors now factor
their integrity damage into their ability to decompress messages, so
this alternative comms blackout might cause radio transmissions (either
global or for a given department) to start getting a little garbled- not
enough to genuinely impede comms, but enough to justify Engi to fix them
up.
**Prison Break:** Given how rarely we actually have people sitting
around in the prison waiting for breakouts over the course of a given
round, this event has been changed to be more akin to the existing
Containment events- the entire department (minus armory, nuke storage,
checkpoints, etc.) are at risk of lights blown, access issues, etc. Just
a little more variety added to the mix.
**Space Vines:** Minimum 4 pop to fire. Shouldn't matter much in the
grand scheme of things, just reduces annoyance factor for extremely
low-pop if they roll some vines that fuck them up. Will look into
refactoring that event so that the danger factor of the vines increases
with population, and remove the min pop requirement again.
**Drone Revolution:** Minimum 4 pop to fire. Again, shouldn't matter
much in the grand scheme of things but this highest tier event will
seriously fuck up anyone who latejoins and uses the maints to, say, help
set the ship up during low pop! No I'm not salty!
**Electrical Storm:** Refactored this and restored the Mundane and Major
variants. While we want this event to keep Engineers on their toes and
provide openings for people to break regs if they so wished, most of the
event is theater (lots of flickering lights now!) While the Mundane and
Moderate variants are mostly flavorful and will just give Engineers a
few excuses to visit different departments and RP with people, Major
events will be your 'all hands on deck' affairs (as Major events are
ought) and in very rare circumstances could even cascade into more
serious issues. Did a ton of unit testing on this and feel very good
about how each variant actually looks, will make any additional tweaks
if needed once we see how it plays with an actual population!
The Event Probabilities sheet was also very out of date, missing Comet
Expulsion, had the old Viral Outbreak, lots of old values, etc. Updated
all the events, and also updated the % formulas to factor in minimum
population- changing the 'Assumed Personnel' values at the top to a
level below the minimum population for a given event will now correctly
set its probability to 0%, making it clearer what actual odds are given
different pop levels.
I also don't think pop_needed was working correctly: various changes in
there to get it behaving.
Obv this PR grew in scope from outset and touches a small handful of
different things, so lmk anything to mix and match and change and drop.
!review
Electrical Storm event does nothing because it checks for valid target
APCs in SSmachinery, but SSmachinery currently doesn't hold a list of
APCs to use. This PR correctly registers APCs on init and unregisters
them on destroy so that Electrical Storms will actually upset Engineers
now.
This should proooobably come with an IG bulletin on the discord or
something warning engineers that their shit will actually get rocked
(especially since its kind of weird in-universe that electrical storms
that used to Do Nothing actually have an impact) now).
See title. Adds additional requirement of a minimum 8 pop to Greimorian
Infestation events to reduce common lowpop headaches.
Set min pop reqs for events to 1, reduce the likelihood of the Horizon
turning into a genestealer-infested space hulk during long uptime.
As the title says. Currently a 10% chance each time the random crate
spawn rolls but I'm open to reduce it if desirable.
---------
Signed-off-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
This adds a foreboding warning at the beginning of hivebot invasions,
appearing exclusively to synthetic crew. This riffs off the unique
relationship positronics have with hivebots in lore, but isn't intended
to portray a resurgence of the hivebot signal on every single hivebot
invasion event.
**Must be greenlit by synthlore before being merged.**
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Fixed the APC damage event not working.
APC damage event now has actual damages instead of merely emagging the
APC.
Added APC damage event of level moderate and major to the rotation.
Added a comet expulsion event, coming towards the main map, if not
dodged causes some meteors that then explode, the explosion power can be
reduced by shields.
Some DMDocs, code cleanups and other things noone else cares about.
Refactored sorting.
Added test to verify all horizon areas (outside exceptions) are marked
as station areas.
Added test to verify shuttle areas are not marked as station areas.
Refactored how the area sorting var is made and used.
Added a global list of all areas.
Replaced the outside turfs with exoplanet ones for the digsite.
Fixed some exoplanet areas not having an exoplanet base turf.
Wrote a unit test for exoplanet areas to ensure they have an exoplanet
base turf.
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
* SSatlas.current_map
* hardsuit spell tab appears to clear correctly
* sdfsa
* from the moment i understood the weakness of my flesh, it disgusted me
* sdf
* SDQL2 update
* fix that verb
* cl
* fix that
* toworld
* this is pointless
* update info
* siiiiick..
* vv edit update
* fix that
* fix editing vars
* fix VV
* Port the /TG/ globals controller.
* part 1
* part 2
* oops
* part 3
* Hollow Purple
* sadas
* bsbsdb
* muda na agaki ta
* ids 1-15
* 16-31
* 41-75
* bring me back to how things used to be before i lost it all
* the strength of mayhem
* final touches
* cl
* protect some vars
* update sdql2 to use glob
* stuff?
* forgot that is not defined there
* whoops
* observ
* but it never gets better
* a
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* autolathe 1
* FUCK MY LIFE
* more fixes
* autolathe queueing
* cl
* garbage collection
* wire fixes
* some final tweaks
* on second thought this might be annoying
* fix that
* whoopsies
* that didn't work for shit
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* Tweaked Ion Law
Edited an Ion Law to remove I and E instead of replace with an apostrophe. Since you technically can't "speak" an apostrophe over communications, it makes more sense to just remove the vowels.
* Removes spaces from changelog
* Initial commit of new drugs
Start on caromeg and oracle
Further work on caromeg
Fix nicotine and caromeg
Begin populating map
Designer cocaine effects
Weaken heroin, Joy now causes genetic damage
Added an artificial alternative to morphine, tramarine, that can be used in its place.
Nerf new opioids, fix tramaline recipe
Added special mentholated adhomian cigarettes, for NKA cigarettes
General fixes
Fix recipe pathing
Add coca leaves, cocaine recipes, and coca drinks
Update Chemistry-Reagents-Medicine.dm
Null name for abstract drug class
Remove abstract_class from reagents (shouldn't be used there)
* Oracle sprites by Wezzy
* .
* Begin resolving issues from code review
* Remove all per-player data from drug singletons
* Resolve Arrow's code review
* Apply suggestions from code review
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Update code/modules/hydroponics/seed_datums/smokables.dm
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
* Removed coca plants from the standard garden and hydroponics vendors (they remain as contraband and in the xenobotany garden)
* Fix merge conflict errors caused by snack PR
---------
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@live.com>
* Removes old UT definition files (drone/travis)
* Adds concurrency definitions to the workflows
* Changes our workflows to be more in line with what /tg does
* Adds a workflow to build/commit TGUI
* Adds a workflow to build/commit changelogs
Add python version to dependencies.sh
Fix dme errors
Removes a bunch of not included files
Cache Opendream and add directory to check_grep.py
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* Increase error logging to diagnose server conking
* more logging and db retry
* whoops
* rename error() to log_error() to better reflect what it does
Move a bunch of world.log messages to log_error
* Fix compile error
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>