Joonas Rikkonen
5d6cbb5898
(b522c4551) Don't assign the attackinglimb if we shouldn't be attacking. Fixes Hammerhead not falling back after hitting the sub.
2019-04-01 22:50:39 +03:00
Joonas Rikkonen
d511ecd4e3
(5218c43a0) Server sends the IDs of both selected characters and selected items to the clients. Previously this wasn't needed, because it wasn't possible to have both a character and an item selected at the same time. Fixes characters floating mid-air client-side when dragging others up stairs, and probably some other undiscovered bugs as well.
2019-04-01 22:50:11 +03:00
Joonas Rikkonen
ae6b797d73
(c2e1b24e2) Fixed remote characters sliding slowly to the left in multiplayer. Happened because linear velocity was written with an accuracy of 12 bits, causing the lowest possible value to be about 1.5 cm/s. Now extremely low velocity values are rounded down to zero. The server also now quantizes the LinearVelocity/AngularVelocity values, which should make position syncing a little more reliable because the server runs the physics using the same rounded values as the clients.
2019-04-01 22:49:58 +03:00
Joonas Rikkonen
a0e1ba52eb
(0bd92547e) Show ping direction when adjusting the direction slider even if directional ping is not enabled. Closes #1298
2019-04-01 22:48:47 +03:00
Joonas Rikkonen
885c30f70d
(10a8ba8fc) Fix reversing getting reset when the target is not in range causing issues in steering.
2019-04-01 22:48:33 +03:00
Joonas Rikkonen
ed3d5fadeb
(f46ddf83f) Fixed calyxanide not being usable in syringe guns
2019-04-01 22:48:20 +03:00
Joonas Rikkonen
cbb3216466
(633f44200) Emptying the "required items" field of an item in the sub editor now removes the item requirements (instead of using the default ones)
2019-04-01 22:48:03 +03:00
Joonas Rikkonen
4558d8b919
(f17acef79) Added the new electrical discharge sound to the project file
2019-04-01 22:47:50 +03:00
Joonas Rikkonen
7cb70fa344
(73193fb71) Updated a couple of sound effects
2019-04-01 22:47:36 +03:00
Joonas Rikkonen
2eaf22683d
(ae643deeb) Added alive checks to a couple of diving gear status effects (don't consume tanks when dead)
2019-04-01 22:47:22 +03:00
Joonas Rikkonen
ec7e23061b
(38b5d9aad) Experimental changes to syncing ragdolled (unconscious/dead) characters: - Higher error tolerance when syncing the positions. It's often hard to get the main limb exactly to the same position as the collider, because the positions of the limbs aren't synced and the pose of the ragdoll may differ between the server and clients. Increasing the tolerance makes it less likely for dead/unconscious characters to "twitch" when the game attempts to force the main limb to the position of the collider. - If the position of the ragdoll differs from the position of the collider so much that CheckDistFromCollider disables limb collisions, apply an additional force to all limbs to force the ragdoll to the correct position. Otherwise the ragdoll can occasionally start "hanging" midair, clipping through solid objects, because the main limb's pull joint doesn't necessarily have enough force to pull the entire ragdoll up to the collider.
2019-04-01 22:47:03 +03:00
Joonas Rikkonen
11f2bf4b38
(f152bbbe1) Servers includes skill identifiers in CharacterInfo data sent to clients. Sending only the levels and assuming the client has the same skills in the same order made it difficult for servers to modify the skills without client-side modifications. Closes #1335
2019-04-01 14:27:11 +03:00
Joonas Rikkonen
0ca4a8db06
(169dbd4fd) Increased submarine masses to make it less easy for characters to push them around.
2019-04-01 14:26:29 +03:00
Joonas Rikkonen
7e67c20ccd
(b99c0ef39) Fix the enemies not selecting another attack if they cannot reach the target.
2019-04-01 14:26:01 +03:00
Joonas Rikkonen
5cc2806185
(3db48532f) Give joining players "None" permissions by default (so server hosts can automatically give players some permissions if they want to). Save client permissions using the name of the permission preset instead of listing all the permissions given by the preset. Partially implements #1334
2019-04-01 14:25:33 +03:00
Joonas Rikkonen
9e1a4d8902
(718d22401) Don't attempt to send position updates for items that have no enabled physics body (e.g. attached items). Closes #1376
2019-03-31 19:13:24 +03:00
Joonas Rikkonen
fa2a338d73
(b8f75ee96) Fixed level inequality errors caused by 866621c. Accessing the level start/end location properties during level generation caused the seed of RandSync.Server to be changed. Now generating a new random location uses a new MTRandom instance and doesn't touch RandSync.Server.
2019-03-31 19:12:27 +03:00
Joonas Rikkonen
84121674b1
(050a72bf3) Server resets remote character inputs if no inputs have been received in the past 0.5 seconds. Previously the server would assume the inputs hadn't changed from the last known ones, which works well when there are brief networking hiccups that cause the server to run out of inputs for a few frames, but if it takes longer, we don't want to keep the character firing a welding tool or whatever else they were doing until the kill disconnect timer kicks in.
2019-03-30 21:44:37 +02:00
Joonas Rikkonen
e6c3d6d537
(6cc2e0541) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
2019-03-27 21:00:33 +02:00
Joonas Rikkonen
86ded4b1d5
(2f573ba39) Fix Hammerhead spritesheet orientation.
2019-03-27 20:54:13 +02:00
Joonas Rikkonen
4cb3469c4f
(8f9250974) Fix spritesheet orientation offestting the joint widgets in the wrong direction, which made it a bit difficult to use.
2019-03-27 20:54:00 +02:00
Joonas Rikkonen
ad1a726e91
(8d8ed7727) Fixed: Invalid title font & color in tutorial infobo. Added: Some rudimentary scaling based on screen resolution for VideoPlayer
2019-03-27 20:53:46 +02:00
Joonas Rikkonen
8808edcd21
(025652eb8) Fixed: Holding an item preventing interaction with tutorial elements, medical overlay appearing on top of video / info, reactor command tutorial not completing when powered up by the player
2019-03-27 20:53:30 +02:00
Joonas Rikkonen
ec481eba45
(e54f169fe) Better quality videos for tutorial, removed sound
2019-03-27 20:53:17 +02:00
Joonas Rikkonen
0c8772f6a1
(4589e2b8d) Minor changes to tutorial text
2019-03-27 20:53:00 +02:00
Joonas Rikkonen
080ac78ded
(5c35a640e) Update tutorial-rework with dev
2019-03-27 20:52:47 +02:00
Joonas Rikkonen
ff4ecd15b3
(c7ebe3cdb) Fixed: Old TextManager.Get call
2019-03-27 20:45:30 +02:00
Joonas Rikkonen
3f82c9a2cb
(f417b026f) Fetched: Changes for playing video tutorial from local branch
2019-03-27 20:45:14 +02:00
Joonas Rikkonen
237f164123
(afe15e7b2) Fixed server sending campaign saves and campaign character data to clients after the game mode has been switched to something else. Closes #1346
2019-03-26 17:12:45 +02:00
Joonas Rikkonen
6c4649fe3f
(4b1fa5c86) Fixed client-side console errors during campaign setup because the client tried to load save files that only exist server-side. Now the server sends the information needed for the campaign setup window in the CAMPAIGN_SETUP_INFO message.
2019-03-26 17:10:20 +02:00
Joonas Rikkonen
4b3e78b566
(913ed2ce9) Merge remote-tracking branch 'origin/dev' into enemy-ai
2019-03-26 14:07:11 +02:00
Joonas Rikkonen
14832e2040
(aea5053bf) Fix wall target position not updated when the submarine moves. Fix latchontoai attach positions and distance checks. Detaching should also work both when the characters can get in and when the submarine velocity is enough to detach the characters. Still not synced, but re-enabled for testing.
2019-03-26 14:06:55 +02:00
Joonas Rikkonen
ccd496b769
(99836db69) Fixed clients being unable to end campaign rounds at all if the sub isn't at the start/end outpost (regardless if they have the permission to end the round or not), added a verification prompt when trying to end the round when the sub isn't at either outpost.
2019-03-26 14:06:40 +02:00
Joonas Rikkonen
7c9d0aac03
(ef1d7a5a2) Campaign fix: clear missions from locations that change their type, and all adjacent locations. Caused missions to still be available when they logically shouldn't be (e.g. a transport mission from an uninhabited location to another) and syncing issues in multiplayer.
2019-03-25 19:55:38 +02:00
Joonas Rikkonen
86c4b6a3ae
(9d3dd6da9) Reattempt decompressing saves files and initiating file transfers a few times before throwing an error. Running multiple instances of the game from the same install (or hosting a server as a client) occasionally causes IOExceptions because the instances try to access the same files.
2019-03-25 19:51:39 +02:00
Joonas Rikkonen
006d53ccf1
(5a10ddbee) Server ends the round if the owner of the server reports an error.
2019-03-25 19:51:25 +02:00
Joonas Rikkonen
965a378f0e
(5d67aa3f5) Merge remote-tracking branch 'origin/dev' into enemy-ai
2019-03-25 19:50:58 +02:00
Joonas Rikkonen
1fa94dd2b9
(b6e2dda8d) Adjust Crawler and Mudraptor targeting priorities.
2019-03-25 19:50:44 +02:00
Joonas Rikkonen
291623abb8
(59bf3d346) Double the Mudraptor attack speed.
2019-03-25 19:50:30 +02:00
Joonas Rikkonen
e06d4b777f
(e8b93e8d7) Increase the door ai target ranges. The values are halved for most monsters, because they currently have the sight of 0.5.
2019-03-25 19:50:16 +02:00
Joonas Rikkonen
fd5d2b86af
(a97ef2847) AI improvements: - Fix steering issues when attacking (yet again): We still have to offset the sim positions. - Fix the steering vector when escaping from the enemy that is inside the sub. - Enemies can now navigate out from the sub, when escaping. - Fix door tag not being used when targeting items. Change the priority boosts considering doors. Should now entirely ignore the outer doors when inside and inner doors when outside. - Change the way enemies react to characters that are not in the same sub. Halve the priority when the character is not in the same hull. Add some boost to the priority when escaping.
2019-03-25 19:50:02 +02:00
Joonas Rikkonen
19d5ed5d66
(14f26adfa) Take the position of a sub's docking port into account when determining where to place outposts. Humpback's docking port for example is 600 units to the right from the sub's centerpoint, which prevented it from docking in some levels because the left side of the sub hit the wall at the left side of the outpost. Closes #1028
2019-03-25 19:49:48 +02:00
Joonas Rikkonen
26594e2c6c
(4b33eda28) Merge branch 'dev' into enemy-ai
2019-03-25 19:49:34 +02:00
Joonas Rikkonen
5ec6a7fba9
(325184804) Fix distance based attacks not registering if they hit a submarine.
2019-03-25 19:49:05 +02:00
juanjp600
13fcf6f166
(27eca7ad9) Some network optimization: - Don't create network events for hulls that are very far from all clients (e.g. ruin hulls). - Don't create network events for triggers that are set to limit the triggerer's velocity when there are no triggerers.
2019-03-25 10:58:07 -03:00
juanjp600
733271ea2e
(fd1ee0c02) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
2019-03-25 10:57:44 -03:00
juanjp600
991639709c
(2da6c898b) Added 'pretty' merge script
2019-03-25 10:57:38 -03:00
juanjp600
94c1b29beb
(9a13b4418) Hull syncing fixes: - Don't let clients decrease the size of FireSources below zero. May happen because clients are allowed to predict changes in the size (correcting the values when receiving updates from the server), but not remove the fires if their size is too small. - When using the fire/water command, the clients used to simply discard hull updates from the server if fire/water had been edited within 0.5 seconds (to prevent the state from reverting back to previous one when receiving an update). This occasionally caused the fires/water to get out of sync if the server didn't send additional updates after the 0.5 delay. Now the clients will simply correct the hull to the last known server state after the 0.5 second delay.
2019-03-25 10:57:18 -03:00
Joonas Rikkonen
c2e8263927
f9e8100...ccacceb
...
commit ccacceb16a184f00ecd384eede64ca9c4fab08a0
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 14:05:59 2019 +0200
NetEntityEventManager checks the length of the event data (and logs an error if it's too long) before checking if there's still room to keep writing events in the packet. Checking the available room first could lead to situations where an excessively large event can't fit to any packet, "soft-locking" the EventManager without any error messages.
commit 5ac8259372aa900adc724aa4da1fd81af41ca195
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 13:41:52 2019 +0200
Don't display disabled limbs on sonar (i.e. severed limbs that have "faded out")
commit 5f84df73ad86be96f3678c450351b3905e7317a4
Merge: b981f1635 dc429d6c4
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 13:41:16 2019 +0200
Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
commit b981f163575b2bfc9a83b9925c94eca19b9d4554
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 13:36:19 2019 +0200
Multiplayer campaign fixes:
- Server uses a different temp folder to decompress save/sub files into than the clients. Should fix files occasionally getting corrupted and exceptions when trying to read the files when hosting a server from the main executable.
- Some additional debug logging.
- Use the base names of the adjacent locations as level seeds (i.e. "Vorta" instead of "Vorta Outpost"). The levels should not change when the type (and full name) of the location changes.
commit 42c5d18df77fc7acd5873d8e25f20bdd31b1ed76
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 13:31:06 2019 +0200
Don't transfer files through the network when sending them to the owner of the server (i.e. a client hosting directly from the main executable), but simply tell the client where the file is located.
commit dc429d6c450f4893fe29c51d3c830527e587a871
Author: Daniel Asteljoki <daniel.asteljoki@gmail.com >
Date: Mon Mar 25 13:30:26 2019 +0200
Added labels next to periscopes in Humpback and Dugong
commit 789f02a87a2917dd2ae378f136cbe8dd3236c60d
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 13:29:29 2019 +0200
If loading a submarine fails, wait a bit and retry up to 4 times. Fixes loading occasionally failing when running multiple instances of the game from the same directory.
commit be9ea3a58832992b6226917117247e1bf1efeff9
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 11:03:36 2019 +0200
Fixed a bunch of disconnection messages being in an incorrect format & DisconnectUnauthClient not getting the messages from the xml
commit c6f744b4d6b3520720010f5cd4f22a25b42bfc8b
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Mon Mar 25 10:43:10 2019 +0200
Log entity event errors into server logs when verbose logging is enabled
2019-03-25 14:30:00 +02:00
Joonas Rikkonen
c3b5c414cb
4e002dc...f9e8100
...
commit f9e8100140d99d30db551c16523f04cf042fb107
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Sun Mar 24 20:37:23 2019 +0200
Automatically grab adjacent ladders when the top/bottom of the current ladder is reached. Makes moving through docking ports a little less confusing. Closes #1337
commit 7ad697036299c3dae0145f89dc7e1f4fec22953d
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Sun Mar 24 20:11:57 2019 +0200
Fixed windows clients being unable to start a campaign in servers running on Linux. Caused by submarine paths not matching because the clients would use backslash in the filepath while Linux uses a slash. The submarine selection logic also had an additional issue: the clients would assume the submarine is in the default Submarines folder, even though the server may actually store them somewhere else. Now the client communicates the selected sub to the server by sending the name and MD5 hash instead of the path, so mismatching paths shouldn't cause problems anymore. Closes #1332
2019-03-24 20:38:12 +02:00