* 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
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.
* 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.
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.
The balance in the note is no longer a concern, a 50/50 sacid and facid dipped
cig took almost a minute to knockout and damage stopped when it was removed. It
allowed a severe bug in the chem system.
I'm not closing that issue report because in theory the underlying bug is still
present and any future ways to apply chems may still have it.
* Photography Update
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Photos broke, retrying
* Persistence stuff
* I'm almost done I promise!
* Persistence mostly working, compile, etc etc
* Persistence mostly working, compile, etc etc
* Remove something really not needed from the PR
* Prevents duplication
* default to off
* removes check tick
* increase slots in albums to 21
* Allows for singular loading
* Update camera_image_capturing.dm
* Addresses review
* Anturk
* Update camera.dm
* Update misc.dm
* Update datum.dm
* Update camera.dm
This is a traitor item that allows you to deploy inside box that promptly turns invisible. If the box collides with a living being or vice versa, it will be temporarily revealed, pushing against the box will continue revealing it.
While the box is revealed, clicking on it will open the box as well as destroy it, clicking the action button while the box is deployed also destroys the box. Finally, you can't open airlocks while inside the box, that means you must exit the box > open > wait until cooldown > enter box if you're not a smart agent and wait for someone to open the door before sneaking behind them.
The box can be recognized as of syndicate nature due to a red label on its side.
Turns out I forgot that the game uses Kelvin oops
New temp is 300°K which is roughly 27°C
I'm still in favor of removing hotspot_expose for sparks altogether, but that's
out of scope for this PR.
this is why I drink
Redesigned the white ship for metastation, this one's a salvage/cargo vessel!
The salvage pod is currently missing, however, as it doesn't work right now.
I'll add it further down the line. This ship is also filled with a few syndies
protecting it, one of them is ranged, the others are unarmed melee.
Right now, handheld T-ray scanners barely see any use since they have the same
range as T-ray glasses but still take up a pocket/hand slot. Increasing their
scan range will hopefully make them a viable alternative.
New T-ray ranges:
Engineering scanner glasses: 1
T-ray glasses: 2
T-ray scanners: 3
Adds a simple way to quarantine individuals but doesn't make it roundstart, as it has potential to make 2 antags have a very difficult time: Bad virologists and (mainly) sentient diseases. Uses a sliver of silver because of this.
It uses the exact same proc as the MEDHUD, so it CAN be countered by buffing stealth. Virologists can also activate the free-access so long as they do it while not infected with anything bad.
That said, it has a build delay and is relatively easy to destroy. Think of it as a more obvious visual for people without huds to know "hey, I should probably avoid everyone else until I get better" and not necessarily an actual barrier device.
sprites edited by me if you like them, by someone else if you don't!
* Adds juice to picking up stuff
Stolen completely from https://github.com/OracleStation/OracleStation/pull/1072
* perfection
* Pickup animation now tweens to the correct spot if you move
* mutable appearance
* Fixes the item pickup animation
* eh whatever
* Update atoms_movable.dm
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
new verb for the PDA that toggles the flashlight, moved the toggle code to a
new proc
why: because i'm tired of having to open the PDA menu at the beginning of every
round to turn on the flashlight
Chem grenade casing descs are just "A do it yourself [initial(name)]!", which
means players have to either pull up the wiki or code dive to find out what the
hell they actually do.
I gave empty casings detailed descs so aspiring pyromaniacs can quickly see
what casings do.
cl
experimental: Hitscanning tracers now have lighting effects
experimental: Projectile pathing has been changed - instead of moving to a turf 32 pixels forward using byond's built in step_towards() proc, it now increments 2 pixel 16 times (subject to change). While this will increase the processing overhead, this will more or less eliminate cases of "projectiles clipping past corners in some angles but not others".
Adds an organ harvester. It's a machine. A human goes in, and the machine starts removing organs and limbs and ejects them right next to the machine. The process can be stopped at any time by either disabling power or prying it open.
The machine does not work if the subject has clothes or appears alive. The health scan can be disabled by emagging, but they'll still need to be naked.
It consists of 4 micro-manipulators, each tier making it faster, but it shouldn't ever really go below 2.4 seconds for every iteration, barring magic fuckery
It's basically a slower acting gibber, but it preserves all limbs and organs.
Useful in conjunction with either a limb grower, bounties, extra food, organ replacement or for something yet to come