Joonas Rikkonen
329928fc8f
Fixed characters occasionally getting teleported outside the sub for a few frames when moving between docked subs. Closes #546
2018-11-11 17:19:00 +02:00
Joonas Rikkonen
cea5d5b074
Fixed client-side docking ports creating duplicate bodies on doors, causing characters to collide with an invisible door when trying to move between docked subs (until the server forces them through it). + TODO note about bugged hull finding logic in UpdateNetPlayerPosition!
2018-11-10 20:21:43 +02:00
Joonas Rikkonen
a85b496f23
WIP fixes to ragdoll simple physics mode (see #895 ). When simple physics is enabled, only the collider of the character moves and all the limbs and joints are disabled. This caused "attempted to move pulljoint anchor extremely far" errors, because the game still attempted to move the limbs to the collider via pull joints. TODO: do more testing to make sure simple physics doesn't cause other physics errors, fix dragging in simple physics mode.
2018-11-09 14:29:25 +02:00
Joonas Rikkonen
20da81e5dc
Fixed player's character staying in the unsynced state when rejoining while the character is dead/unconscious. Closes #857
2018-11-05 12:41:11 +02:00
Joonas Rikkonen
fec7740378
Fixed a bunch of bugs when dragging characters up ladders (see e0504042). The dragging logic didn't take into account that the characters are not necessarily in the same sub, which caused the dragged character to launch away at a high speed when climbing from a sub to another (for example when climbing down to the shuttle in Aegir). The pull joint on the target's torso was never disabled, so the character stayed floating mid-air after getting off the ladders.
...
+ Made Limb.pullJoint private. Now it can only be accessed by properties of the Limb, and there's some error checks in place to prevent WorldAnchorB from being set to an invalid value.
2018-09-24 21:19:18 +03:00
Joonas Rikkonen
571ed150fe
Ragdolls can't be dragged through walls or other colliders. Closes #772
2018-09-10 16:14:44 +03:00
Joonas Rikkonen
6e606fdc51
Fixed incorrect rotation of welding tools and other 2-handed items that are held in one hand when not aiming. The items were rotated according to the left hand, but positioned on the right hand.
2018-09-03 15:15:27 +03:00
Joonas Rikkonen
fe8a22a4f8
Characters can't hold things in severed hands, limb bodies are re-enabled when reviving a character. Closes #529
2018-08-15 11:46:43 +03:00
Joonas Rikkonen
f99bec4ed2
If the distance is excessively large when forcing the collider of a dead character to follow the body, the collider is teleported instead of moving it by setting the velocity. + More physics error logging
2018-08-09 14:13:08 +03:00
Joonas Rikkonen
9099b191d0
Fix (or a workaround) to characters teleporting inside/through colliders when leaving a sub (see #552 ). Gaps do a raycast out from the sub to see if there are obstacles outside, and if so, ragdolls place a collider at the corresponding position inside the sub. The collider is simply a straight axis-aligned line atm, so it doesn't work accurately with sloped ice/submarine walls, but does prevent the ragdoll from ending up inside the obstacles. TODO: use a few edges to approximate the shape of the obstacles more closely?
2018-08-02 16:48:51 +03:00
Joonas Rikkonen
d81ee1a27e
Added a bunch of checks to make sure a normalized zero vector (= NaN, NaN) is not used in any position/velocity/movement calculations. There were at least three places where it was causing problems according to error reports: when a character that can't enter a sub spawns at the center of a hull and when using an underwater scooter or throwing something while the cursor is at the position of the character, but there were tons of other places as well where it may have potentially caused physics errors.
2018-07-31 12:28:04 +03:00
Joonas Rikkonen
7977e47359
Fixes
2018-07-23 19:24:44 +03:00
Joonas Rikkonen
25a62b3a51
More physics error checks, ragdoll clamps the velocity returned by PhysicsBody.CorrectPosition to prevent applying excessively high velocities to the collider if the position has changed significantly between frames
2018-07-23 17:58:02 +03:00
Joonas Rikkonen
a373c589d1
Fixed ragdoll dropping away from the collider if it's freezed while swimming (e.g. if a client disconnects when in water)
2018-07-23 17:44:32 +03:00
Joonas Rikkonen
5ebfde72de
Fixed ragdoll collision categories not being updated when CheckDistFromCollider re-enables limb collisions. Fixes #508
2018-07-22 16:00:32 +03:00
Joonas Rikkonen
faf0a87cfa
Added a bunch of error checks to physicsbody-manipulating code
2018-07-20 16:33:12 +03:00
Joonas Rikkonen
20ed61a879
Version string sent to GameAnalytics includes the name and hash of the exe (makes it easier to identify events/errors from modded games), added stack trace to a ragdoll error message
2018-07-20 12:24:05 +03:00
Joonas Rikkonen
e7e7d32123
Cherry-picked 0ff9a3d (more ragdoll optimization)
2018-07-20 12:21:53 +03:00
Joonas Rikkonen
15331c58bb
Cherry-picked fa84c5b (ragdoll optimization)
2018-07-20 12:08:18 +03:00
Joonas Rikkonen
f822e77241
Checking if the position is valid in Ragdoll.FindHull
2018-07-19 22:21:08 +03:00
Joonas Rikkonen
f1c4bd3c67
- Some of the non-game-crashing error messages are sent to GameAnalytics.
...
- Changed crash severity from Error to Critical.
- Exception handling when loading submarine preview images.
- Checking if position is valid in Ragdoll.SetPosition.
2018-07-19 22:12:50 +03:00
Joonas Rikkonen
d00b52882f
Added UpdateUseItem method from d253863
2018-07-18 12:14:09 +03:00
Joonas Rikkonen
177f31d538
Some more logging to help diagnose #278 , a potential workaround to remove items/characters that Entity.RemoveAll failed to remove for some reason.
2018-04-20 16:50:10 +03:00
Joonas Rikkonen
4421c8a5de
Fixed camera shake continuing indefinitely if a character falls unconscious due to impact damage
2018-03-08 10:43:54 +02:00
Joonas Rikkonen
6ddcd65f18
RepairTools can do damage to characters by hitting the collider. Closes #299
2018-03-05 12:34:21 +02:00
Joonas Rikkonen
b49f47d3d9
Ladder waypoint generation fix: waypoints are not just placed at the top and bottom of the ladders (and at hatches on the ladders), but above every platform along the ladders (-> waypoints work correctly on ladders spanning through multiple floors). + Some ladder climbing fixes in IndoorsSteeringManager.
2018-03-02 17:45:13 +02:00
Joonas Rikkonen
2b4c01d18b
Fixed debug assertion fail in World.Raycast if a limb is (almost) exactly at the position of a character's collider when calling TrySetLimbPosition.
2018-03-01 22:07:18 +02:00
Joonas Rikkonen
9f6868eaaa
Fixed crashing when attempting to perform CPR _as_ a headless character.
2018-03-01 10:17:32 +02:00
Joonas Rikkonen
38e80be05d
Some more debug logging
2018-02-28 18:04:40 +02:00
Joonas Rikkonen
795b2e4cad
Fixed crashing when attempting to perform CPR on a character with no head. Closes #294
2018-02-27 15:01:53 +02:00
Joonas Rikkonen
7f740c2f67
Attempt to diagnose issues #278 , #284 and #291 . It appears that the game attempts to access the Limbs-field of a ragdoll after it's been set to null (which should only happen when the ragdoll is removed).
2018-02-26 15:06:00 +02:00
Joonas Rikkonen
24cb7a3659
Husk infection state can be decreased after the infection reaches the active state (causing the husk appendage to be removed). Calyxanide still has a conditional preventing the decrease, but now it's possible for modders to revert huskification without code modifications. Closes #258
2018-02-21 11:12:49 +02:00
Joonas Rikkonen
60ad5ed3fb
Reverted b26b6a74. Making stunned characters receive damage from limb impacts caused them to suffer excessive amounts of damage when falling or getting thrown around when the sub hits something (e.g. a moloch attacking a sub could easily kill crew members by bumping the sub and falling down the stairs was often a death sentence). In general I don't think it's a good idea to apply impact damage from limb impacts, because the limbs may occasionally move or rotate at very high velocities due to the animations.
2018-02-05 11:16:03 +02:00
Joonas Rikkonen
e2c7b684de
Fixed character limb rendering order not being consistent (limbs with the same depth value being randomly drawn behind or in front of each other)
2018-01-11 13:32:21 +02:00
Joonas Rikkonen
7187c277e7
Merge branch 'master' into moStuff
2018-01-09 10:38:06 +02:00
Joonas Rikkonen
1aa654a5a3
Severed joints can't be severed again (fixes severed limbs constantly emitting gore particles at the clients' side due to the constant status update messages)
2018-01-08 16:35:53 +02: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
Joonas Rikkonen
bcd2582cf9
- More gore particles when severing limbs!
...
- Explosions can sever limbs even if the target character is dead. Now explosive projectiles can explode creatures into pieces even if the creature dies of the initial projectile impact and not the explosion.
- Disabled blood particles on carriers and fractal guardians.
2017-12-29 21:06:11 +02:00
Joonas Rikkonen
a8749f3d87
Fixed characters dragging husks by their tongue when GrabLimb is set to None, removed hardcoded texts from the grab button. Closes #210
2017-12-29 15:51:37 +02:00
juanjp600
07626a1989
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
...
Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs
2017-12-20 19:46:53 -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
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
Alex Noir
1e5b25bd1a
Merge branch 'master' into moRags
2017-12-17 22:41:45 +03:00
Joonas Rikkonen
a5d6da31a4
Holdable items can be held in any limb slot, not just hands. + Characters can hold a flashlight in their mouth.
2017-12-17 20:42:31 +02:00
juanjp600
1cb39f7fd5
Fixed some inconsistencies and oddities in physics-handling code
...
I'm not sure if this fixes or breaks anything, but it's worth a shot.
2017-12-15 18:11:00 -03:00
juanjp600
c4e894cb2e
Fixed camera going insane when dropping through hatches
...
TODO: make the game less rubberbandy
2017-12-12 21:08:37 -03:00
juanjp600
23b220b6af
Sync character collider rotation, try to make collider face the main limb by instantly flipping it if the angle's too wide, client-side ragdoll correction is more aggressive
2017-12-12 17:58:49 -03:00
Alex Noir
e050404278
Carrying stunned/unconscious/dead people up ladders woot!!!
...
Properly orient grabbed player on climbing and shoulder grab
Allow interaction with buttons, ladders, etc. when grabbing someone
2017-12-08 22:30:47 +03:00
Alex Noir
8788efa007
Merge remote-tracking branch 'origin/master' into moRags
2017-12-08 14:43:56 +03:00
Alex Noir
48fb3d58b9
Let players choose to grab onto the body's torso!
...
Better CPR animations
todo: network the limb targeting
2017-12-08 13:47:27 +03:00