Commit Graph

1826 Commits

Author SHA1 Message Date
Alex Noir
31350698bf denerfied the clown 2017-12-30 16:01:02 +03:00
Alex Noir
ea3b1b1c7a there's supposed to be 4 clown sounds aaaaaa 2017-12-30 15:30:52 +03:00
Alex Noir
9f727ddbaf Add Morbusanide recipe
Make usecondition default to true so items aren't wasted
2017-12-30 14:53:26 +03:00
Alex Noir
32a2b38112 Removed DamageSoundType and replaced it with a string "tag" instead to allow mod creators to create custom damage sounds
Fixed damagemodifier sounds being completely ignored due to a variable misname
Added structure damage possibility for melee weapons so you can break down windows with a crowbar in spectacular fashion (it's clearly a very inferior method to plasma cutters though)
Clown hitsounds are in now which is awesome. Beat up some clowns!
2017-12-30 13:46:59 +03:00
Alex Noir
2cb0ee73be Adds footstep sound variety, makes diving and clown suits have unique footstep sounds!
https://puu.sh/yQ8fs/61e12f15c6.webm
TODO: Get rid of the "damagesoundtype" system and replace it with simple "tag" checking to allow customizability from content pack side
Fix damagemodifier sounds never being played (I've never once heard LimbArmor play on anything but mantis)
2017-12-29 17:41:18 +03:00
Alex Noir
ed98a6bc0b well jeez who'da thunk it's my sorry ass forgetting to remove the second updateoxygen
Reverted OxygenAvailable values for diving gear + oxygen mask back to -100
Keeping sufforin OxygenAvailable at -10000 tho, that seems like the way to completely cut off any and all oxygen suppliers from acting
2017-12-28 19:28:45 +03:00
Alex Noir
31bef06fd8 Just noticed a new, strange bug happening: https://puu.sh/yPuai/eca2a059e2.webm
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.
2017-12-28 19:11:46 +03:00
Alex Noir
00704e141b i cant syntax 2017-12-28 17:55:28 +03:00
Alex Noir
0c133ba305 Forgot to list all changes in the latest commit, so here goes:
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.
2017-12-28 17:49:52 +03:00
Alex Noir
1815062dda Allow multiple calls of <Use/> for repeat-use chemicals or autoinjectors or something 2017-12-28 17:41:44 +03:00
Alex Noir
741e26251d Gets rid of coroutine spam by turning Duration into its own DurationListElement similar to how Delays were handled.
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
2017-12-28 13:21:32 +03:00
Alex Noir
e405c93581 Fix up conditionals
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
2017-12-27 23:18:59 +03:00
Alex Noir
7b336fc3f4 Fixes and stuff based on Regalis' review 2017-12-27 20:02:57 +03:00
Alex Noir
f5e785df60 Expose some stuff to sub editor, fix alien doors openable with use key, fixed some decon recipes
Beginnings of a Conditional system
2017-12-27 18:00:18 +03:00
Alex Noir
156ff292e3 Change "Always" to "PreserveNewest" for clientpermissions.xml 2017-12-23 17:34:11 +03:00
Alex Noir
b3eaa6bd17 Merge remote-tracking branch 'origin/master' into moStuff
# Conflicts:
#	Barotrauma/BarotraumaShared/BarotraumaShared.projitems
#	Barotrauma/BarotraumaShared/Data/clientpermissions.xml
2017-12-23 17:33:24 +03:00
Alex Noir
60329fb0d1 Fixed missing clientpermissions.xml preventing hosting
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
2017-12-23 16:59:08 +03:00
Alex Noir
402bcb5d66 quickfix 2017-12-22 22:01:06 +03:00
Alex Noir
6d30557860 Overhaul fabricators and deconstructors to have minCondition, maxCondition (deconstructor) and outCondition
Implement several suggestions listed in https://github.com/Regalis11/Barotrauma/issues/196
Add more fabricatables and deconstructables
2017-12-22 21:33:14 +03:00
Joonas Rikkonen
ac53c5f80d Fixed campaign view button overlapping with the spectate button in NetLobbyScreen. Closes #117 2017-12-22 01:18:16 +02:00
Joonas Rikkonen
2287ddda29 Added empty default client permission file 2017-12-22 01:17:43 +02:00
Joonas Rikkonen
7c37ba0955 Characters can only have one picking timer active at a time. Closes #179 2017-12-21 22:31:48 +02:00
Alex Noir
9610444e67 Merge branch 'master' into moStuff
# Conflicts:
#	Barotrauma/BarotraumaShared/Source/Characters/Character.cs
2017-12-21 23:17:56 +03:00
Alex Noir
c26cef89c6 Fixed DelayedEffect applying when dropped from hands
Amanitin is now craftable from Erythrozine, Flash Powder and Sulphuric Acid with 60 medical skill
Diving Mask and Diving Suit are now craftable
Diving Suit is now deconstructable
Fixed buttons yielding different materials on deconstruction
2017-12-21 23:03:25 +03:00
Joonas Rikkonen
4db708335a Readded homoglyph comparisons to client name checking during login (i.e. similar name checks can't be bypassed by using similar-looking characters). Looks like this got removed due to a messed up merge 5bdb57b
Closes #182
2017-12-21 21:57:06 +02:00
Alex Noir
9251dbf83a Overhaul DelayedEffect to support application to multiple targets
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
2017-12-21 21:40:54 +03:00
Joonas Rikkonen
604fc65154 Human AI improvements & fixes:
- Replaced item name comparisons with Prefab.NameMatches (-> item names can be changed without breaking the AIs).
- Having an AIObjective set as the current order of the character doesn't automatically cause it to have a high priority. For example, the order to fix leaks has a low priority if there are no leaks to fix.
- AIObjectiveFixLeaks makes sure the character is wearing a diving suit before going to fix a leak. The characters used to run in and out of flooded rooms because the AIObjectiveFindSafety objective would become active as soon as the character entered the room, causing the character to run out, and then immediately run back because they are no longer in immediate danger of drowning, making the FixLeaks objective the most high-priority one.
- Characters attempt to find a room with no water in AIObjectiveIdle even if the character is wearing a diving suit.
- AIObjectiveFindSafety considers flooded rooms dangerous even if the character is wearing a diving suit (-> the character attempts to go into a more dry room instead of happily idling in the flooded one).
- Distance to a hull doesn't decrease its desirability nearly as much in AIObjectiveFindSafety (-> fixes characters not bothering to move into a non-flooded room if it's far away).
- AIObjectiveOperateItem makes sure the item is equipped before using it (-> characters can't weld leaks with the welder in their inventory).
2017-12-21 19:49:26 +02:00
Alex Noir
b9e0c97c9d nerf Auxiliorizine slightly 2017-12-21 16:45:46 +03:00
Alex Noir
e6b7a0d313 Adds ducts, switches and motion detectors, as well as door breaking sounds, all based on Barotrauma Extended mod.
Several sounds and sprites were altered to their mod counterpart.
Fixes doors being unfixable without having a crowbar.
Fixed case sensitivity mismatch for crowbar.ogg - this is a problem for linux builds.
2017-12-21 16:37:46 +03:00
Joonas Rikkonen
9ed2871ede Renamed a couple of properties for consistency & removed unnecessary CPR blood particle scaling 2017-12-20 20:26:22 +02:00
Alex Noir
e5f60b29e1 tweaks and stuff 2017-12-20 20:44:21 +03:00
Joonas Rikkonen
dde320b387 Merge pull request #101 from Crystalwarrior/moRags
Body shoulder-grab, better CPR anims, CPR and Crit overhaul!
2017-12-20 19:37:38 +02:00
Joonas Rikkonen
ce37411a29 Merge branch 'permission-overhaul'. Closes #49
Conflicts:
	Barotrauma/BarotraumaShared/Source/DebugConsole.cs
	Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
2017-12-20 19:36:17 +02:00
Joonas Rikkonen
b3c3970209 Server responses to clients using console commands ("granted permissions to client", error messages, etc) are displayed in the client's debug console instead of the chat box. Client command usage is included in server logs. 2017-12-20 19:18:32 +02:00
Joonas Rikkonen
91699b26a6 Giveperm and revokeperm commands work correctly now when used by clients 2017-12-20 18:58:27 +02:00
Joonas Rikkonen
3e4d2c5a8a Fixed incorrect positioning of debug console question prompts. The ShowQuestionPrompt method used to take the last textblock in the console and consider that as the question prompt text, even though the text had only been queued and the actual GUITexblock hadn't been instantiated yet. 2017-12-20 18:57:42 +02:00
Alex Noir
1fe71b5fe6 Fixed IsInWater acting strangely 2017-12-20 18:54:00 +03:00
Alex Noir
20e583d816 boy oh boy this is proving to point out some major issues with the status effect system 2017-12-20 16:53:14 +03:00
Joonas Rikkonen
0204bc2c49 Added permission presets (or ranks). Current presets are none (no special permissions), moderator (round management & kicking) and admin (almost everything permitted). 2017-12-19 22:27:07 +02:00
Joonas Rikkonen
0a8c79c1cb Fixed exceptions in GUIListBox.Select if any of the children have null userdata, option to add tooltips to GUIDropDown items 2017-12-19 22:22:42 +02:00
Alex Noir
e56f5c4946 what started as a fix of https://github.com/Regalis11/Barotrauma/issues/103 ended up being a huge CPR overhaul. oops.
CPR:
There's now a difference between CPR on bleeding, CPR on hurting and CPR on oxygen deprivation.
If you try to CPR bleeding people, it will make bloody sounds and particles while hurting them. So don't.
If you CPR people with less than 0 health, it will do RNG based on your skill level to bring them back to life with 2 HP.
Otherwise if you CPR their oxygen back, chest pumps will simply prevent oxygen deprivation and mouth-to-mouth will bring back their oxygen while taking yours based on the skill level.

Crit:
Changed it so you always lose oxygen when critical. Your heart stopped either way!
2017-12-19 22:11:45 +03:00
Joonas Rikkonen
d03dd40336 Fixed item GUIMessages overlapping with each other 2017-12-19 18:11:47 +02:00
Joonas Rikkonen
b7b747d674 Merge branch 'master' of https://github.com/Regalis11/barotrauma 2017-12-19 17:31:08 +02:00
Joonas Rikkonen
4ce4b0a934 Fixed submarines bouncing on characters submarines that are laying on the ocean floor. Not a very realistic way to handle the collisions - the sub just stops as if it had collided with the level walls (making it seem as if the characters were made of concrete), maybe make the collisions gib the character?
Closes #152
2017-12-19 17:30:08 +02:00
Alex Noir
3b65802a95 Fix issue #97 by allowing stunned people to sustain bleed + oxygen damage as well as handling crit health effects differently 2017-12-19 15:25:01 +03:00
Juan Pablo Arce
c87a582f21 Added smallitem tag to Revolver
It makes sense to be able to place it in containers IMO.
2017-12-18 19:41:34 -03:00
Joonas Rikkonen
eedc3ffe49 Fixed submarines bouncing on other submarines that are laying on the ocean floor (see #152). + Reduced the cap of ice and structure damage particles per impact.
TODO: the same thing for characters (and items?)
2017-12-18 20:23:03 +02:00
Joonas Rikkonen
65fb67df54 Inventory.FindItem takes the aliases of the items into account (-> possible to change item names without breaking crew AIs and the tutorial) 2017-12-17 22:40:30 +02:00
Joonas Rikkonen
33f0b1c967 Character.DisplayName looks at the Card slot directly instead of finding the first ID card in the inventory and seeing if it's in the Card slot. + reduced nesting 2017-12-17 22:38:21 +02:00
Joonas Rikkonen
26503a975c Fixed sub->sub and outside->sub visibility checks when determining name tag visibility. 2017-12-17 22:34:24 +02:00