Joonas Rikkonen
4ebe3d715e
Characters stay alive for 30 seconds after a client disconnects, and if the client rejoins during that time they regain control of the character. Closes #42
2018-08-06 13:38:39 +03:00
Joonas Rikkonen
2f5ca65542
Fixed nullref exceptions when a character dies while holding an item.
2018-08-03 19:54:58 +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
5a6a8e2501
Wifi components can't communicate with the enemy sub in combat missions. Fixes #554
2018-08-01 13:52:47 +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
9880a74218
Added check for removed AITarget to EnemyAIController.UpdateEscape
2018-07-20 16:37:41 +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
49c6b177e3
Added wrapper methods that check if user statistics are enabled to GameAnalyticsManager
2018-07-20 12:05:13 +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
89b26008a6
Projectile damage range is set to the radius of the item's collider if the range is not given in the xml. Structure.AddDamage uses the edges of the sections to calculate the distance to a damage source, i.e. the damage area only has to "touch" the section to do damage. Closes #479
2018-07-16 15:44:26 +03:00
Joonas Rikkonen
015eacbcb0
Fixed GameAnalytics thread becoming active despite user statistics being disabled, causing the game to stay active in the background when quitting.
2018-07-13 11:29:11 +03:00
Joonas Rikkonen
4f874a276b
Fixed crashes caused by characters with no AI config due to missing SteeringManagers. Closes #469
2018-07-13 11:01:42 +03:00
Joonas Rikkonen
c7e220d222
Collecting some more usage statistics: selected game mode, mission, submarine, content package, traitors on/off, kills
2018-07-10 15:49:08 +03:00
Joonas Rikkonen
bb31fd1e73
Moved some client-specific limb code to the client project, dripping water particles when characters get out from water
2018-05-21 19:17:34 +03:00
Joonas Rikkonen
ceaba2f5ca
Fixed some entities occasionally not being removed at the end of a round. CargoMission removed the cargo items at the end of a round without checking if the items have already been removed, which could cause another entity to be removed from the entity dictionary if it's taken the ID of the cargo item. This prevented the new entity from being removed in Entity.RemoveAll, causing errors during the next round. Closes #278
2018-04-23 13:55:08 +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
eed7b72b4e
Fixed player-controlled creatures being able to do damage to themselves and RepairTools causing damage to the user regardless of the user's skills.
2018-04-18 15:04:18 +03:00
Joonas Rikkonen
276798d88b
Fixed null exception in IndoordsSteeringManager. Closes #326
2018-03-10 18:47:59 +02:00
Joonas Rikkonen
df746db421
Ladders can be climbed by holding up/down while standing next to them without having to select them first.
2018-03-08 11:01:17 +02: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
07d3d69040
Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit).
2018-03-02 15:24:54 +02:00
Joonas Rikkonen
10189254b5
GrabLimb type is written in character network messages as byte instead of UInt16
2018-03-01 23:43:10 +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
c803e23c50
Added checks for character removal to a bunch of places. Some of these may not necessary, but at least MeleeWeapon, Projectile and Controller still accessed the user after the user had been removed.
2018-02-28 17:37:20 +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
77940fa992
Added some debug logging, Character.Revive removes the existing AITarget from the character before creating a new one
2018-02-26 18:05:03 +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
d414e8e103
Fixed StatusEffects not being able to decrease stun timer. Closes #255
2018-02-20 22:44:32 +02:00
Joonas Rikkonen
ff85400f01
Removed hard-coded path to humanhusk (now the huskified human config is found based on the name), characters with severed limbs cannot turn into husks. Closes #243
2018-02-05 15:55:32 +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
dcb6de32c0
Some more hard-coded text removal
2018-01-31 19:01:48 +02:00
Joonas Rikkonen
729f850175
Fixed a "sequence contains no elements" exception in IndoorsSteeringManager
2018-01-26 17:28:48 +02:00
Joonas Rikkonen
e6e132aa1e
More gib particles when characters get crushed by pressure
2018-01-25 13:56:39 +02:00
Joonas Rikkonen
0f7befa09e
Fixed occasional invalid object header errors when attempting to send a status NetworkEvent for a character (easy way to reproduce was to kill multiple characters during the same frame with an explosion).
2018-01-16 17:02:01 +02:00
Joonas Rikkonen
a3f49e0bc5
Pathfinding fixes:
...
- The parent fields of the nodes are cleared before finding a path. Should fix the "constructing final path failed" errors.
- Nodes that have been marked as unreachable because of GetNodePenalty can still be used if another path to the node is found.
2018-01-11 16:03:16 +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