Commit Graph

1208 Commits

Author SHA1 Message Date
Joonas Rikkonen b3a4efdd6f (c368a04c8) Added a longer version of Muikku, renamed to Selkie 2019-03-27 13:52:53 +02:00
Joonas Rikkonen eada5e222a (4e7f7d0a7) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-03-27 13:52:38 +02:00
Joonas Rikkonen 8d42f777db (3525199b1) First iteration of the new Charybdis (incomplete). TODO: tweak joints and animations, add deformations, attacks, ai, and sounds. 2019-03-27 13:52:22 +02:00
Joonas Rikkonen 66af3464a9 (4d472a71c) Removing an item after it's been combined doesn't trigger the OnBroken StatusEffects (e.g. combining two half-full flash powder jars doesn't cause them to explode), made all crafting materials disappear after they've been fully used. Closes #1303 2019-03-27 13:52:04 +02:00
Joonas Rikkonen e5fd660479 (c83fafea0) Fixed items in the characters inventory always starting at 100% condition client-side even if they had deteriorated during the previous round. Closes #1359 2019-03-27 12:10:35 +02:00
Joonas Rikkonen b6f6fd64a3 (9f2fea0dd) Fixed divide by zero exception in Mission.LoadRandom if no missions can be received from the location. 2019-03-27 12:10:21 +02:00
Joonas Rikkonen fd56875e95 (98a962701) Close the save/load dialogs when leaving the sub editor. Otherwise they'll still be visible when re-entering the editor, and saving at that point will overwrite the previously loaded sub with an empty one. Closes #1357 2019-03-27 11:31:30 +02:00
Joonas Rikkonen 26a3f866ee (a3947cb13) Batteries output charge values as ints. Closes #1358 2019-03-27 11:31:16 +02:00
Joonas Rikkonen 065173f3f7 (c417b7693) Decreased structure damage done by frag grenades (they weren't very practical for defending against intruders because they tended to blow up half the sub) and made them disappear after they've exploded. Closes #1317 2019-03-27 11:30:47 +02:00
Joonas Rikkonen bb17463aae (f5be65240) Optimized explosions a bit, toned down wall damage effect when the wall has a small amount of damage. 2019-03-27 11:30:33 +02:00
Joonas Rikkonen 6fd4d14497 (8b8693dbf) Allow editing selected wires in wiring mode, made connection panels a little less transparent. Closes #1329 2019-03-26 17:34:35 +02:00
Joonas Rikkonen d60696f895 (a0e195312) Don't allow steering with WASD when a textbox is selected. Closes #1353 2019-03-26 17:34:21 +02:00
Joonas Rikkonen 20e258f88e (26025de59) Allow panning the campaign map with WASD. Closes #1352 2019-03-26 17:34:07 +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 555d91a3d5 (c590657d2) Don't retry decompressing save files or loading sub files if the file doesn't exist 2019-03-26 17:10:06 +02:00
Joonas Rikkonen 93f2dfb185 (628aa768f) Fix characters always being created in the default folder (#1330). 2019-03-26 17:09:35 +02:00
Joonas Rikkonen 8537234b75 (df56e74f1) Rename Charybdis as Legacycharybdis. Temporarily disable charybdis events. 2019-03-26 17:09:21 +02:00
Joonas Rikkonen a1ef2732c9 (0d12b23e4) Fix the crash due to NaN value in torso or head angle (#1349). 2019-03-26 17:09:08 +02:00
Joonas Rikkonen 705d05a308 (652745ae0) Fix a crash due to invalid physics when scaling the Mudraptor. If the ragdoll still has invalid settings after trying to reset it, just freeze it to prevent crashing. Return boolean and make CheckValidity public so that we can check and react to the invalid ragdoll state elsewhere. 2019-03-26 17:08:53 +02:00
Joonas Rikkonen 56d1f5a054 (0df804de8) Add a null check for the character info reference. 2019-03-26 17:08:39 +02:00
Joonas Rikkonen c94064c5f6 (ef9221ae5) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-03-26 14:10:47 +02:00
Joonas Rikkonen d51c9a2028 (31ba1cb37) Fixed batteries being able to draw power through relay components that are connected directly to a power source, even if the relay isn't on. Closes #1069 2019-03-26 14:07:51 +02:00
Joonas Rikkonen f4b85b32d0 (482b2c640) Fixes relay component logic: previously the load was clamped to zero when traversing out from the power_in connection of a relay to check how much power is coming in (devices connected to power_in don't increase the load), but now the same is also done for the incoming power when traversing out from power_out. Fixes #329, #805 and #1350 2019-03-26 14:07:37 +02:00
Joonas Rikkonen fe10fdeeeb (621dbfdd2) Humpback: Modified bilge to make it easier for ai to fix. Added ballast space to make use of extra space. Dugong: Added ballast space to make use of extra space. 2019-03-26 14:07:24 +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 ca279d40a3 (dbaa7326b) Use the SpriteColor of the item when drawing the moving parts of turrets and doors, made InventoryIconColor and ContainerColor saveable. Closes #1326 2019-03-26 14:06:26 +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 d98f0efd66 (0cd6089c2) Disable campaign start button if a round is already running when joining. 2019-03-25 19:51:54 +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 eda3d9a533 (4f62d9b8f) Clients stop reading a network message if EventManager reports an error to the server. Otherwise the reading will fail with an "unknown object header" error, causing the client to disconnect themselves before receiving the more descriptive error message from the server. 2019-03-25 19:51:11 +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 7d74b5bd52 (2c717d761) Enable wall targets also inside the sub, so that enemies can get through multiple layers of walls. Don't target walls (intentionally), when the character is already inside the sub. Fix attack world position being calculated wrong when the character is targeting walls inside the sub. Take the sub position into account when assigning the wall target position. Makes things a bit simpler. 2019-03-25 19:49:20 +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
Joonas Rikkonen c4cd346ae2 483f2ad...4e002dc
commit 4e002dc86422ca441f97e42780af9ed3545e835f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 19:39:44 2019 +0200

    Fixed compiler error in GameServer
2019-03-24 19:40:17 +02:00