Problem is, this should've been happening before even regardless of my changes. So why did it only start happening now? That'll have to be looked into.
The reason why it should be happening in theory is that in character's UpdateOxygen method, it takes hull oxygen and OxygenAvailable. If OxygenAvailable was 0, it'd take the hull, which would likely be 100. If OxygenAvailable was -100, it would take the hull, which would make OxygenAvaialbe 0.
However, it seems like something happened and instead of setting the property it now decreases it, and I don't know why? In theory it should SET OxygenAvailable to -100 but it seems like its performing a substraction now.
Adds tags to all duration/delay status effects
Chloromydride buffed slightly to counteract crit damage as well so it truly stabilizes you
Sufforin now affects your available oxygen too by setting it to -10000 to prevent diving suits/oxygen masks/etc. counteracting it.
Allow multiple calls of <Use/> for multiple-use syringes or something
Adds hasstatustag and hastag conditionals, where hastag checks for item tags and hasstatustag checks for active delay/duration status effects w/ matching tags. It's also possible to check for NOT tag e.g. hastag="! morbusine,uranium", which will only be true if there's no morbusine or uranium in the "bloodstream".
Renamed "Amanitin" to "Sufforin" and slightly buffed it
Added "name" and "speciesname" conditionals
Makes bandages heal you slightly if your health is > 50
Adds "Morbusanide", which is a Morbusine antidote.
Calyxanide can hurt NPC husks now
Adds <Cancel all="false"/> which only takes effect if there's a conditional for specified status tags.
Added tags to Status Effects, which also allows for fancy stuff like checking for tags over duration elements for more interesting interactions.
Adds "stackable" variable which dictates whether or not the same duration/delay effect can be applied to the same target(s) at the same time. This is a bit imperfect at the moment.
Adds Chloromydride which is a non-stackable chem stabilizing critical health which stops its effects once the health is stabilized.
TODO: Remove target from Targets if he already has it, and if targets becomes empty, return;
TODO: Conditional tag-checking and status effect tag-checking, plus more "special" checks like SpeciesName and other non-serialized options.
TODO: StatusEffect Cancel component to stop delayed/duration effects
Make Calyxanide only cure non-turned humans and hurt turned player husks
Make husk eggs not stack infection with more injections
TODO: Allow conditionals to check for non-serialized properties like SpeciesName for absolute POWER
Fixed double-clicking items in corpses putting them in their hands instead of your inventory
Fixed game over/round end music not playing in multiplayer
Added Item Combinations for things like chemicals, etc. - this transfers condition from one item to another
Added game over text to multiplayer round summary
Fix DelayedEffect being unusable by monsters due to monsters calling Single Target Apply in their Attack, which DelayedEffect doesn't override, by making Apply (single target) call Apply (multiple targets) which THEN calls the protected Apply function.
Nerf Amanitin to require two injections to be lethal. First injection only stops oxygen from regenerating and slightly saps HP.
Add Cause of Death to Health HUD
- Continuous collision detection (body.IsBullet) is disabled when the body is moving slow enough, not immediately when it hits something.
- The prismatic joint that sticks projectiles to walls/characters stays active for a minimum of 1 s to prevent the projectile from immediately overshooting the joint limits and falling off (usually at the wrong side of a wall/door it hit).
- Separate properties for determining which types of bodies the projectile can stick to (character/structure/item).
- Spears and syringes only stick to characters.
- Increased syringe launch impulse.
Closes#122
Made syringes have a "projectile" component for syringe guns
Adds several missing signal components to the fabricator, as well as medical syringe to medical fabricator
Adds support for status effects applied to characters from onImpact
Removed "contained.Condition = 0.0f;" in Projectile.cs due to it limiting the possibilities of the .xml content creation
Added a couple null checks in StatusEffect.cs due to crashes caused by the new projectile changes - might need to debug further, perhaps there's a root cause?
Added itemlist console command
- Barotrauma's projects are in the Barotrauma directory
- All libraries are in the Libraries directory
- MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?)
- NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred
- Removed Content/effects.mgfx as it didn't seem to be used anywhere
- Removed some references to Subsurface directory
- Renamed Launcher2 to Launcher