There was an issue with one of the travis checks that caused reagents with incorrect specific heat values to sneak into the game and cause havok. This fixes that.
Fixes#5594Fixes#5593
A few bugfixes.
Fixes the cam networks in the bar / library / chapel / kitchen / hydroponics
Adds additional monkeys to xenobio
Increases the amount of fuel thrown by the flamethrower
Changes the L6 to use the correct icon states depending on the ammo
Fixes messed up astroid tiles
DreamDaemon leaks memory between restarts, which might exacerbate us potentially running out of memory. This allows us to reboot the server every n rounds.
Also refactors the way we handle things that should be saved inbetween rounds. Like gamemode and the restart counter.
There was a bit of an oversight when it came to two damage formulas that I thankfully picked up. While testing everything in development. This PR changes the formulas for burn damage and temperature change caused by reagents.
Overview
This is the github WIP PR for the reagent system project. This is for other developers and users to track progress of the code if they're curious about it, as well as to show that it actually works.
Originaly I decided to just port from paracode but decided to just code it a more simple way with less hassle of porting it.
"Added the ability to do plastic surgery to fix disfigured face's and for other purposes. Credit to MarinaGryphon for Assistance"
Byond doesn't know how to handle decimal based probabilities and just rounds up. Example, rand(0.5,75) will return 1, which caused everyone to spawn with max nutrition/hydration.
Overview
Adds thirst mechanics. Thirst mechanics work exactly like hunger mechanics where if you don't drink enough liquid, you become thirsty and move slower. Several other mechanics involving drinks were also changed.
For organic races, you gain hydration by consuming beverages and water. Water is the most effective way of hydrating yourself. IPCs are not affected by hydration and do not have to worry about it. If you overeat or overdrink, your nutrition decreases faster until you are of normal hunger and thirst levels.
Penalties for not eating or drinking are now more severe. If you refuse to drink or eat all shift, you will be up to 33% slower and take twice as much pain damage. The amount scales based on your hunger or thirst levels. If you are considered hungry or thirsty, it starts scaling until you're starving or seriously dehydrated. If you overeat and overdrink as well, you get a ~5% reduced movement and pain tolerance with each mechanic.
The icons for hunger have been updated to be more specific, and they match the new thirst indicators as well. https://i.imgur.com/QQbWxYI.png
You can now also inject beverages into your blood for x4 effectiveness. Before, IV dripping yourself with vodka did nothing but give you a small amount of toxins, but now it should be a hell of a party.
Dionaea can now be affected by beverages with respect to nutrition gains and temperature changes. Dionaea cannot be affected by some effects, such as stuttering and intoxication, still.
Healing effects for certain beverages (tea, milk) were removed. This a HRP server, milk shouldn't heal you.
Overview
Adds Battle Monster cards. Battle Monsters is a collectable card game clone like Yugioh or magic the gathering. Players can purchase card packs and use them in games with actual rules to them.
Checklist
Card Generation Framework: 100%
Sprites: 80%
Game Rules: 90%
Deck Framework: 5%
Monster Cards: 20%
Spell/Trap Cards: 5%
Obtainable Status: 0%
Adds new drugs:
-Red Nightshade: a drug that induce a berserk-like status, you see only red, can smash windows, stuns go away slower and etc
-Paxazide: a medicine that induces pacifism on the target, like the mutation
-Spectrocybin: a hallucinogenic that has a small chance of giving a glipse of the other hidden to mere mortals, can be found in a mushroom variety
Adds a new secret chem:
-Bottled Lightning: causes a tesla zap when in contact with someone's blood or when splashed on the ground
Also removes some broken/unused plants.
Reworked how slipping on tiles work. If there is too much lube/water on one tile, it will spread to all adjacent tiles.
Fixed a potential bug where spilling copious amounts of water on a tile will turn it to ice.
Containers are much more saner now. They all share a standard system, unless specified.
You can drink from any open holdable container using help intent. You can splash the contents of the container on anything via harm intent.
Sinks are more saner, you can refill or empty them easier with various refill amounts.
Removed silly exclusive cyborg limb checking for hyposprays.
Added a new chemsprayer, the "Xenoblaster" which is a significantly weaker chem sprayer. Two can be found in xenobiology.
Large reagent containers (beer kegs, water tanks, fuel tanks) now share a system together. Both can leak their reagents via harm intent with a wrench, and bother can accept any sort of reagent, with exception to the fuel tank.
Large reagent container leaking happens over time as opposed to just leaking every time it moves.
New chemical, Monoammonium phosphate. Monoammonium phosphate is a fertilizer and also a potent fire extinguishing and preventing chemical. It can be made with 1 part ammonia, 1 part sulfuric acid, 1 part sodium, 1 part phosphorus.
All extinguishers now have monoammonium phosphate in them instead of water.
Extinguishers can hold any reagent, however they must be filled using an extinguisher refiller cartridge. These can be ordered or found in atmospherics.
Nerfed the extinguisher range so it only sprays in a 3x3 radius.
Mini-extinguishers spray in a 1x1 radius.
Adds Monoammonium phosphate containers across the station.
Most watertanks are replaced with Monoammonium phosphate containers.
This Ports TGs System of Cargo Rewards and Bounties.
It also changes the paths of some of the foods (to be easier to use with the bounites)
It integrates the bounty application into the cargo control app
The cargo control app can now print invoices for orders and shipments
https://forums.aurorastation.org/viewtopic.php?f=21&t=11529
This UI is going to be more integrated with BYOND host objects. It's update principal is very different from nanoui's. It is based around state that is being synchronized with server and client (browser). Such synchronization has it's problems, like it can't handle rapid changes, what could cause client and server to become out of sync and client state to be discard.
This pr adds siik'tau, as proposed here: https://forums.aurorastation.org/viewtopic.php?f=78&t=11259
A language that humans, skrell and tajara can select.
Also, tweaks how skrell handles language at the request of the skrell lore person and cleans up a tiny bit of the species language related vars.
changes:
Fixes a regression in GetAbove/GetBelow() that caused passing an atom that wasn't directly on the map to return a false negative.
Fixes runtime's broken Z1 MZ by moving it to Z2.
Fixes some outdated Z-level defines on Runtime.
Moves z_levels global to SSatlas for easier debugging.
Atlas will now list the size of the world in its MC entry.
Map diffs are fucked up because of the index shift, nothing on the maps themselves was actually changed beyond adding a blank Z at the bottom.
Fixes#4692.
Reworks all subsystem priorities to correspond with how the priority var is actually supposed to be used.
Relevant comment from MSO:
Prioritys are a weight that controls how much of the byond tick the subsystem will be allowed to have, 50 was the default, so a subsystem with a priority of 100 would be allocated twice the amount of runtime as normal, and 25 would get half the amount.
Also ports some minor MC micro-optimizations from TG.
Sprinting no longer deals oxygen damage unless you have lung damage or asthma. Sprinting is now based off of both halloss and oxyloss.
Lung damage now causes both oxygen damage and halloss when you sprint past your threshold.
Coughing disability now causes halloss when you sprint past your threshold.
Adds asthma, which causes oxygen damage when you sprint past your threshold, and inhibits your ability to recover from oxygen naturally. It also makes you cough harmlessly when you have more than 10 oxygen damage.
Fixes#4780.
Fixes an issue where SA adult slimes were improperly considered organic mobs.
Fixes an issue where viscerators, malf drones, and spiderbots were not considered synthetic mobs.
Restores old rates of gaining and losing intoxication.
The strength of alcohol was implemented with the original formula in mind, you cannot simply add another curve and expect it to fit. The rate of getting drunk was way too fast (increased 7 fold!). I also doubled the rate of losing alcohol, since gains and losses typically work in balance with one another.
Fixes a bug which spammed, "You're drunk"
The less controversial tweaks
Tweaked the metabolism rate of mental medication to reflect their intended values. Reduced the dosage threshold to suppress traumas to reflect their intended values.
Syringe (drugs) now contains truth serum.
Cardox is now slightly poisonous, and can directly remove phoron from blood when consumed. Cardox can now remove phoron in the air when applied to turfs.
A secure box of loyalty implants, hextrasenil pills, and cardox grenades are now located in the vault.
The vault now contains some misc emergency gear that a head of staff can access in case of a dire situation. Current gear are loyalty implants, expensive cardox grenades, and Hextrasenil pills.
Since the warehouse is now bigger, it would make sense to increase the amount of loot that spawns in the warehouse. This PR effectively does that, as well as removes some of the more useless items that can spawn in cargo.
Ports the feature added in Baystation12/Baystation12#19868, it allows people that knows a certain language to understand some words from another language, without needing to have it. It is used in all tajaran and unathi languages for now, Already consulted the lore team and it seems this is all they want so far.
Also, it adds Delvahhi, a zhan language.
changes:
Bidirectional source Z-lights have been reverted to single-direction in favor of corner z-bleed.
Z-mimic turfs will now average their light level with their mimiced turf to better approximate Z-lighting.
Openspaces have been made significantly less dark.
Corners no longer incorrectly always take the instant update pathway.
MultiZ helpers are now macros.
More things now properly respect area dynamic lighting settings.
This PR removes brain surgery's ability to instantly cure all traumas. Now traumas have been roughly divided into four categories of treatment:
1: Chakra therapy cures traumas that directly affect physical behavior, such as tourettes or paralysis. It is accomplished via the crystal therapy pod available to the psychiatrist.
2: Hypnotic therapy cures traumas that directly affect mental behavior, such as phobias or confusions. It is accomplished via the mesmetron pocketwatch available to the psychiatrist.
3: Isolation therapy cures traumas that cause hallucinations. It is accomplished via the metronome and facilitated by the isolation room available to the psychiatrist.
4: Surgical therapy cures traumas that do not fit into the above categories. It is accomplished via brain surgery.
Using the crystal therapy pod's neural scan function will provide the psychiatrist the brain damage the patient suffers from in numerical form. It falls upon the psychiatrist to determine how much of this brain damage is being caused by mental traumas the crystal therapy pod is equipped to deal with. Excessive cycles will cause increasing amounts of radiation damage.
The mesmetron pocketwatch requires the patient to believe in hypnosis. It then puts the patient into a slumber, where the psychiatrist can hypnotically suggest new behavior, provided the patient continues to believe in hypnosis. Each suggestion cures a single hypnotic trauma.
The isolation room is equipped with a metronome. When active, the metronome will have a chance every ticktock of the metronome to cure an isolation trauma, provided the patient is totally alone.
The psychiatry office has been expanded into a complete mental health ward. The only thing it is lacking is beds, as I believe recovering mental health patients still belong in the recovery ward.
The chaplain can also cure isolation and chakra traumas by dispelling the demons within with his null rod. Staring at the supermatter unprotected has been known to hypnotize. Electricity applied by any source directly to the head is also known to sometimes cure electroshock trauma.
Adds three new camera networks:
Civilian Main
Civilian Surface
Service
Replaced the "Civilian East" and "Civilian West" cams on the aurora with the "Civilian Main" / "Civilian Surface" / "Service" / "Supply" cams.
Overview
With the new implementation of Brain Trauma, I find it would be best for the antidepressants to include some relation to it. Obviously, Lord Fowl was away ahead of me and implemented them in the update already, but not the way that I would like it to be implemented.
Antidepressants
Currently, taking antidepressants suppress brain trauma conditions, however the suppression of brain trauma is not relative to the strength and dosage of the medication much like actual antidepressants. This proof-of-concept update now introduces a framework that factors in the dosage of the medication when it comes to applying or removing brain trauma effects, as well as adds harsher penalties for missing dosages which are relative to your regular dose.
Additional antidepressants are added to the update. Antidepressants are no longer a "one pill cures all" but many pills that cures 1-4 things. There are also two additional medications that act as some sort of loyalty pill, and a pill that acts as a disloyalty pill. The messages for the disloyalty pill only express rebellious nature, and isn't meant as a pill that gives an excuse to antagonize.
The following brain traumas are no longer cured by pills:
Dumbness
Gerstmann Syndrome
Cerebral Near-Blindness
Mutism
Cerebral Blindness
Paralysis
Narcolepsy
Discoordination
Aphasia
Smoking Cigarettes and Cigars
All cigarettes and cigars have a tobacco and nicotine reagent. These reagents slowly deals minor organ damage to certain organs while acting as a very mild painkiller, antidepressant, and stimulant. Like before, cigarettes can be injected with additional medicine, however the medicine is applied over time while you're smoking it, instead of all at once. Custom cigarettes can be made in the biogenerator, our found elsewhere, and can hold up to 15 units of reagents.
Breathing
Breathing emotes are played every second. Before, being in a smoke cloud would force you to "eat" the smoke. This update fixes it so that the smoke is breathed in instead. Currently, there isn't really any change, but it adds potential for new reagent effects such as inhalers or gassing people properly. If you have a mask with internals on, you're immune to the effects.
Additional Changes
Most reagents had no effect if they had less than 0.01 metabolism. This update fixes that so that most reagents can metabolize at less than 0.01. Painkillers and other special reagents still have a similar cap.
Discussion thread: https://forums.aurorastation.org/viewtopic.php?f=18&t=10261
Fixes chainsaws cutting through centcom locks. Fixes#4372
Fixes reversed left hand chainsaw sprite.
Added Chainsaws to traitor uplink, they can be purchased for 10 crystals. They come pre-filled with fuel.
Added Chainsaw destruction state.
Added Chainsaw description.
Modified OP chainsaw stats.
Added Dionaea Arousal backdoor
Fixed up shitty eyedamage code.
Fixed soundless chainsaw attacks.
changes:
ZAS knockdown is now only applied to movables that are within 16 tiles of one of the edge's turfs. There's probably faster ways to do this, but this should be fine for now.
Fixes#2917.
Projectile hitscan effects moved to /effects/projectiles folder.
Most of projectile firing code and some of impact code refactored, and projectile hitscan effects refactored with ported TGcode (which is mostly TGcode I wrote anyways 😎)
Projectiles can now be fired at any angle, instead of just at the center of turfs!
Projectiles are now [in theory] 100% accurate down to 0.001 of a pixel.
A user ahelping creates a ticket. Any further ahelps while that ticket is open will go to that ticket (and either adminhelp or pm an admin assigned to the ticket, if one has taken it).
A user can close their own ticket up until an admin takes it.
Admins can take tickets either manually or just by replying to the PM.
An admin taking a ticket notifies other admins.
If another admin attempts to take or respond to an assigned ticket, they receive a notification asking if they would like to join the ticket or cancel (any number of admins can join a ticket).
When an admin finishes with a ticket, they must close it -- both for logistics and closure for the user.
If there is an open ticket assigned to an active admin, round end is automatically delayed (unassigned tickets or tickets assigned to disconnected or afk admins do not delay). Round end will automatically continue once all active tickets are closed.
Both staff and non-staff have access to a ticket panel listing tickets, their statuses, and their messages. Non-staff can only see their own tickets. This panel is optional and all features are available inline with chat.
-fixes #4172
-fixes #4193
-fixes #4192
-fixes #4189
-fixes #4179
-fixes #4170
-fixes #4197
-fixes #4201
-changes the access of the security checkpoint, so all heads of staff can use it
-fixes the hop being unable to access the account's computer
-fixes being able to feed holodeck penguins
-fixes modular laser weapons not interacting with firing pins
-fixes more guns not interacting with pins and remove the need for pins from certain guns, like crossbow, alien weapons and etc
-fixes unstable matter's portals and the elixir of life
-nerfs liquid fire a bit