Commit Graph

28 Commits

Author SHA1 Message Date
Joonas Rikkonen 6262b3ea54 (ce8e185aa) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-16 17:12:09 +03:00
Joonas Rikkonen bd07acf26d (052ab6307) Use MonoKickstart on Linux so installing Mono is not required, fixed division by zero if the width of the server console window is 0 2019-04-16 17:11:49 +03:00
Joonas Rikkonen 66de47f041 (a83cec9d6) Made room names translatable, added "RoomName." to all room names in EnglishVanilla.xml 2019-04-15 12:06:58 +03:00
Joonas Rikkonen cc0e217e82 (e1476e522) Cleanup. 2019-04-15 12:01:32 +03:00
Joonas Rikkonen 3877c18d0c (c15419d90) Changelog additions + merge fix 2019-04-08 19:20:05 +03:00
Joonas Rikkonen 28f2c00255 (02bbfb6a3) Let the ai objectives handle waiting (after switching characters). Currently only idle objective uses wait timer, others ignore it. Reduce the wait time from 20 to 10 secs. 2019-04-08 15:59:36 +03:00
Joonas Rikkonen 1ffe3e4ec0 (6b95aa87e) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-08 13:36:44 +03:00
Joonas Rikkonen 2efcd200f5 (17490598f) Don't allow putting items into locked inventories by double-clicking (causes them to be dropped in multiplayer) 2019-04-08 13:36:30 +03:00
Joonas Rikkonen 10776572d2 (0eef99a8b) Don't change targets, wander or stay still in ladders. Don't stay still in water. Improve bot behavior in close spaces. 2019-04-08 13:36:16 +03:00
Joonas Rikkonen 9c07ebda53 (8311f9380) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-08 13:36:00 +03:00
Joonas Rikkonen d28b04ed3b (30308f7e4) Fixed players being able to overwrite vanilla content when the vanilla package is not selected 2019-04-08 13:35:46 +03:00
Joonas Rikkonen 8a227a4f2c (570318151) Cleanup. 2019-04-08 13:34:48 +03:00
Joonas Rikkonen 935cd6bc65 (235745275) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-08 12:06:09 +03:00
Joonas Rikkonen 55eecc49d8 (842e6af33) Human AI needs AITargets too (not much, but they are still useful). Therefor add Type property to AITargets, so that certain targets can be treated human only and others enemy only. Implement target filtering in the Enemy AI Controller. 2019-04-08 11:58:50 +03:00
Joonas Rikkonen 33b205b1c7 (3300d3915) When searching for a new room to move to, AIObjectiveIdle only attempts to find a path to one potential room per frame. Fixes lag spikes caused by idling NPCs (was particularly noticeable if the character was in a room with no way out). Closes #1397 2019-04-07 21:44:15 +03:00
Joonas Rikkonen 1297127ae2 (0be4bd31d) Todo note about idling characters killing the framerate (see #1397) 2019-04-07 13:41:07 +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 44a8bfce08 (808e7257d) Attempt to fix the issue where bots are not avoiding walls properly while wandering around. 2019-03-28 18:09:05 +02:00
Joonas Rikkonen 72e7cb6e99 (b0feecc1f) Use the code that includes wall avoidance for wandering also in AIObjectiveFindSafety and AIObjectiveGetItem when the target is unreachable. 2019-03-28 12:35:01 +02:00
Joonas Rikkonen 63eb4d64e5 f8b0295...0671290 2019-03-18 23:30:58 +02:00
Joonas Rikkonen 23687fbf2f aeafa16...4d3cf73 2019-03-18 22:57:05 +02:00
Joonas Rikkonen 3301bed442 409d4d9...aeafa16 (merge human-ai) 2019-03-18 22:52:17 +02:00
Joonas Rikkonen 6c0679c297 38f1ddb...178a853: v0.8.9.1, removed content folder 2019-03-18 20:39:27 +02:00
Joonas Rikkonen 865b35c6cd Fixed "attempted to access a removed AITarget" errors in AIObjectiveIdle 2018-08-07 16:49:17 +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
Joonas Rikkonen f46dc5da28 Water flow logic tweaking:
- Less fluctuation, water doesn't constantly flow back and forth through gaps.
- Flowing water pushes characters around much more heavily, and the force is applied to the collider in addition to the limbs.
- Vertical gaps don't push characters up/down unless the character is roughly above/below the gap.

+ Renamed some fields in the hull and gap classes (Volume -> WaterVolume, FullVolume -> Volume, public fields start with a capital letter)
2017-10-10 21:07:45 +03:00
juanjp600 4d225c65f2 Updated to MonoGame 3.6 + Directory refactor
- Barotrauma's projects are in the Barotrauma directory
- All libraries are in the Libraries directory
- MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?)
- NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred
- Removed Content/effects.mgfx as it didn't seem to be used anywhere
- Removed some references to Subsurface directory
- Renamed Launcher2 to Launcher
2017-06-27 09:52:57 -03:00