* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
Beer Day start date was wrong (it's the first Friday in August, not August 5th).
I also feel that Bee/Tea/Independence days are relevant enough for SS13 to add
them as well.
* Remove duplicate initTemplateBounds method
* Move dmmRegex var to the type that actually uses it
* Keep a single, static map_loader datum
* Combine maploader into parsed_map
* Remove some redundant parameters from parsed_map/load
* Move file2text into parsed_map/New
* Narrow the scope of the map loading lock
* Remove redundant xcrdStart var
* Fix argument names in station reloader
* Move offsets from parsing to loading only
* Tidy argument handling on parsed_map/load
* Store modelCache, track nonexistent atom paths
* Use raw strings to specify the regexes
* Remove cropMap from parsed_map/New
* Don't parse maps twice when checking multi-z validity
Speeds up SSmapping init by approximately 10%.
* Bring the documentation (somewhat) up to speed
* No, I don't know why this fixes it
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
The game can use more bounties that require actual effort and cooperation to
complete, but give far higher rewards than the "collect some glass shards"
Assistant type bounties. Thanks again to Tlaltecuhtli for these ideas.
I added the following:
Engineering
Various atmos gases, price determined by how hard they are to acquire. I
deliberately left out Stimulum/Hypernobilium, as only a handful of players even
have an idea of how to make them. Plasma tank bounty got removed, since it's
just a case of "put tank into plasma canister and open valve".
Contained Tesla ball. The idea is to build a tesla setup inside the supply
shuttle, then ship it off. This pays a lot, since players have to purchase a
bunch of packs, get them unlocked+approved by heads of staff and finally
construct the whole thing inside a cramped shuttle. Materials alone cost about
14.000 credits for this one.
Tesla containment maintains power during the shuttle ride and it gets deleted
successfully on arrival at CentCom. As a failsafe, I've added both singulo and
tesla as 1 credit exports in case someone ships them over to CentCom without an
active bounty.
Mining
Almost everything you can craft from Lavaland fauna, from lava grilled steaks
over bone axes to goliath hide boats.
Circuitry lab is no longer isolated from the rest of science, being moved to
the RnD section;
Because circuitry was too isolated and actually felt out of place.
There is now a firing range;
Because without the circuity lab there was extra space and as Box didn't
have a firing range in science so I added it.
Atmos machinery moved to the place that uses atmos machinery (toxins);
Because everytime you'd like to mess with toxins using machinery you'd have
to grab the cannister of gas mix at temperatures hotter than the surface of
the sun and take it to the area that was supposed to be used for testing
guns and other non bomb things. Like in real life, dangerous things are
supposed to be contained in the dangerous area so that damage can be
minimized. And like in real life, things should be near the places that
require such things to be used.
Experimentator is a little less isolated as now it's more like a part of the
RnD section.
* Adds four new cargo packs
* god dang it bobby
* adds wrapping paper crate
* reduces carpet crate price, since it's a bunch of useless carpet
* adjusts festive crate price to 1000 bucks
* Catpeople are nyow a species
* Fixes a runtime
* Fixes the issues with being forced ears when you chose none
* Neko --> Felinid
* P2
* Update
* Working this time I promise
tweak: Fusion has been reworked to be a whole lot deadlier!
tweak: You can now use analyzers on gas mixtures holders (canisters, pipes, turfs, etc) that have undergone fusion to see the power of the fusion reaction that occurred.
balance: Several gases' fusion power and fusion's gas creation has been reworked to make its tier system more linear and less cheese-able.
Fusion, even after my rework, is still kinda lackluster in the 'risk <-> reward' department. It's pretty easy to bypass the consequences of fusion as it stands right now, so I wanted to change that. I think you can suspend your disbelief enough for the new effects. Also, there are a couple balance changes to fusion that I'll outline more below that I noticed happening and theorized could happen, so I tackled those here as well.
More specific reasoning for every change:
Addition of nuclear particles/tesla zap
As said before, I thought fusion should be more dangerous. As to why these specifically, I chose the addition of nuclear particles because I felt like it was at least decently thematically appropriate, and had a lot of potential to look visually interesting. The sprite is pretty much just a downscaled gumball with some added fluff. They all have random colors that are chosen when created, and fire out from the fusion holder's turf in random angles and with a 1 decisecond delay. I chose tesla zaps because.. well, they're pretty cool, felt reasonable enough (an extremely powerful release of energy goes well with fusion) and they mix up the damage types caused by fusion (brute from explosion, burn from zap, tox from radiation/particles). I added TESLA_FUSION_FLAGS because the tesla zaps defaultly just ended up exploding whatever they came out of (canisters usually) and ruined the whole thing.
BZ fusion power nerf, nitryl fusion power buff
These go hand in hand. When I first made BZ useful for fusion, I completely forgot (or maybe it just wasn't merged yet, don't remember) that xenobio started with a BZ canister. So, it was super easy to cheese high/super tier fusion by just stealing the canister from xenobio. Thus, I switched BZ's role in fusions progression to nitryl instead, which is harder to make and currently doesn't see much usefulness outside of making it for stimulum.
Fusion analyzing, addition of analyzer_results to datum/gas_mixture
I quickly realized after my fusion rework that there wasn't any ingame way to really quantify how good a fusion reaction was, which is a mistake on my part. Now, you can analyze the power of a fusion reaction and its tier after it happens. I added analyzer_results, since reaction_results worked in a matter that didn't fit what I wanted (reset completely every react() cycle) and I didn't want to change it. analyzer_results is only ever initialized when it's actually going to be used, which currently is only for fusion.
Overall fusion code cleanup
Pretty self-explanatory. I moved all the effects (radiation, tesla zap, etc) to one area instead of having it happen separately for every tier. Now the tiers just set variables used for those effects. Apologies if the diff is kinda hard to read.
Changes to gases created
Low tier is now BZ/CO2, mid tier is nitryl/N2O, high tier is stimulum/pluoxium, and super tier is tritium.
Gas creation numbers are lower across the board, mostly for bz/nitryl/stim.
BZ/nitryl/stim were added in low quantities to the tiers to help with the progression of the various tiers. It didn't really make sense that before, super tier fusion gave stimulum/pluox when the only feasible way to get super tier fusion was using stimulum, and the low tier rewards were straight up useless. Tritium for super tier was chosen because I think it's the gas with the most potential of causing a massive disaster in this scenario.
Plasma no longer counts towards gases fused
Before this change, I realized that you could just stack as much plasma as humanly possible and a minimum amount of trit to instantly get several thousand moles of BZ and potentially other gases for free. No thank you.
I'm still not 100% satisfied with fusion, so expect more PRs like this in the future.
* Omega atmos lockdown button no longer has bar access reqs
* Pubby disposals conveyors now have the correct dirs
* Pubby's service techfab is no longer inside a wall
* Pubby's disposals loop is no longer cut off near the RD office
* Lavaland seed vault chem dispenser now initializes with upgraded parts, since
those planty bastards are stuck in there and can't even upgrade/charge it etc
* Meta's SME cooling loop now has grilles that partially cover it. Nothing that
will stop a meteorite, but probably the odd space dust
Also cleaned up some duplicated code a bit and sorted the aibots file slightly.
Thinking about doing a minor refactor in the future to switch all these icons
over to overlays to remove the need to duplicate every unique animation/icon
for every power state. We'll see though.
It's no secret simple animals are pretty weak, so this tries to change it
without padding their health. Adds basic swerve when approaching the target,
and sidestep when fighting.
I really like the Syndie lavaland base since it allows you to test deadly chem
mixes with impunity (read: without getting banned or having to set up a local
server). I have tweaked a few areas to let players experiment even further:
Chemistry related changes:
* Made the testing chamber airlock heatproof and added scrubbers/vents to
restore air after you've ignited the latest burnmix.
* Replaced loose grenade casings/assemblies with a vending machine inside
Chemistry.
* The vending machine contains casings, assemblies and one holy water bottle
for strange reagent/life reactions. If syndies are clinically bored, they can
use it to set up a monster shooting gallery as well.
* Chemical/soda/beer dispensers start emagged. This both allows syndies to
experiment with more chemicals and gives miners an incentive to come inside.
Non deconstructable, meaning you can't unwrench it.
* Added a smoke machine board to the warehouse, as well as more stock parts to
let players build more machinery and beakers for grenades.
Other changes:
* I added a cabinet with syndicate documents to the vault - this is valid for a
10.000 credit bounty at cargo.
* Replaced incinerator machinery with the proper "sydicatelava" subtypes; added
a DP vent and controller to the incinerator airlock.
* Set waste outlet volume_rate to 200 so that the chem test chamber can vent
gases quickly.