Commit Graph

54 Commits

Author SHA1 Message Date
Joonas Rikkonen ddd84a4f9e (c45394988) Refactor and fix button interaction and access checks in the indoors steering manager. 2019-05-16 05:40:00 +03:00
Joonas Rikkonen 704e0731c9 (a73e09604) Fixed inventory locking up when rewiring items with a Controller component (e.g. periscopes). Don't open the health interface by clicking on the healthbar when using a controller. 2019-05-16 05:39:42 +03:00
Joonas Rikkonen 3575c8df52 (03ab09991) Load chinese fonts dynamically, removed unnecessary duplicate block from DynamicRenderAtlas 2019-05-16 05:39:25 +03:00
Joonas Rikkonen c583181e3b (1ac786058) AIObjectiveRescueAll now inherits AIObjectiveLoop. Implement reporting on rescue targets. Fix reporting not checking that the targets were in the current hull. 2019-05-16 05:39:07 +03:00
Joonas Rikkonen b3e9910f4f (aa8f18186) Move skill texts in the bottom of the file, because they are new additions. 2019-05-16 05:38:51 +03:00
Joonas Rikkonen cbabefc2d0 (f66183740) Add texts for rescue objective. 2019-05-16 05:38:35 +03:00
Joonas Rikkonen 674f5a656f (65debb5e8) Remove HasAccessToPath method. Add CanAccessThroughDoor method and use it in GetNodePenalty method. Shouldn't anymore find paths to places where doesn't have access to. TODO: CheckDoorsInPath should ideally use the same code for checking the doors, but since it works ok, I didn't touch it (much). Merely reduced the interact distance. 2019-05-16 05:38:17 +03:00
Joonas Rikkonen 4695e6f92b (89fea1963) Refactoring and fixing: - Remove relatively expensive HasAccessToPath calls. - Fix finding diving gear subobjective of goto main objective not checking if we need the gear. - Move the abandon checks from CanBeCompleted property under Act method and use the inherited property. Fixes incorrect results when the goto objective is not the active objective. - Improve the support for concurrent sub objectives. 2019-05-16 05:38:02 +03:00
Joonas Rikkonen 96eb27140e (ab2157c70) Remove KeepDivingGear property, because it can cause issues when the objective tree is deep. Checking the property is possible via recursion, but it seems that the checks can miss a frame. Instead, let's just make it simple and remove the diving suit only when idling. 2019-05-16 05:37:46 +03:00
Joonas Rikkonen c060c90cba (e3f599b5d) Go to objective checks the path access only once per second. Add notes. 2019-05-16 05:37:29 +03:00
Joonas Rikkonen 6f9690eeaf (326dbd217) Don't take the diving suit off while trying to get a diving suit as a part of the goto objective. Fixes bots occasionally standing next to the diving suit cabinet apparently holding the suit in hands but not putting it on or moving anywhere. 2019-05-16 05:37:14 +03:00
Joonas Rikkonen 01743eb7e1 (6fe53068b) Add a wait timer at the beginning and a temporal spread on creating the autonomous objectives. Should improve performance, because the find target loops are thus spread a bit. 2019-05-16 05:36:58 +03:00
Joonas Rikkonen 0ca644a559 (4aad704b7) Simplify. 2019-05-16 05:36:42 +03:00
Joonas Rikkonen 28eef39b64 (97c11681e) Abandon the operate item objective if the controller is not found. 2019-05-16 05:36:23 +03:00
Joonas Rikkonen 8280ed9c1a (3b137aa1a) Merge remote-tracking branch 'origin/dev' into human-ai 2019-05-16 05:36:05 +03:00
Joonas Rikkonen 5ba3c802ea (d4abdd937) Fix security officers fleeing from the enemy and others ignoring them until attacked :D 2019-05-16 05:35:47 +03:00
Joonas Rikkonen 14e894cbc8 (82dc10a74) Some margin. 2019-05-16 05:35:30 +03:00
Joonas Rikkonen 9fba7b1d7a (1136677c2) Fix Extinguish fire objective. Implement ConcurrentObjectives property (should use this for Combat). 2019-05-16 05:35:12 +03:00
Joonas Rikkonen e1584be2f7 (bfd095a0a) Fix a bunch of bugs related to the recent refactoring. 2019-05-16 05:34:56 +03:00
Joonas Rikkonen a3db11876b (d34fb2097) Major refactoring: - Replace custom logic regarding subobjectives with generic logic. - Ensure that all the objectives follow the same logic, reduce duplicate code where possible. 2019-05-16 05:32:56 +03:00
Joonas Rikkonen 7614642d93 (e7b2add9d) Merge branch 'human-ai' of https://github.com/Regalis11/Barotrauma-development into human-ai 2019-05-16 05:30:39 +03:00
Joonas Rikkonen 54a0164f89 (98501b696) Reduce the max accepted distance for repair tool ai operate. 2019-05-16 05:30:23 +03:00
Joonas Rikkonen ab49749f8b (877db615c) Set find safety priority to 100 when the current hull is null. 2019-05-16 05:27:33 +03:00
Joonas Rikkonen 268389a128 (c5e44ed94) Take access into account before accepting a path. Fixes bots trying to reach places where they have no access to (#1351). 2019-05-16 05:26:09 +03:00
Joonas Rikkonen 2ae54a01a5 (ac7ab10b0) Pass AIObjectiveManager reference in the constructors instead of methods so that we can always access it. 2019-05-16 05:14:20 +03:00
Joonas Rikkonen 7fb7c13198 (fbfb76aeb) Implement automatic extinguishing. TODO: should use the AIObjectiveLoop class. 2019-05-16 05:13:21 +03:00
Joonas Rikkonen 171c42f077 (3241b8fe7) Adjust the priorities. The orders should now always have higher priority than other objectives (except find safety and combat). 2019-05-16 05:09:33 +03:00
Joonas Rikkonen d0795791e7 (3bb9485ad) Add automatic orders as objectives instead of orders so that we can take advantage of the existing priority system. Turn the priority values defined in the xml into modifiers. 2019-05-16 05:04:53 +03:00
Joonas Rikkonen 039d07f693 (a2943d8b7) Merge branch 'dev' into human-ai 2019-05-16 05:04:10 +03:00
Joonas Rikkonen 60f52375e6 (7788ec72a) Test issuing orders automatically. 2019-05-16 05:03:49 +03:00
Joonas Rikkonen e0fe737c3b (60001519f) Fixed clients not being able to see other characters in spectator if they've died far away from the sub. + Increased position update interval for spectators. Closes #1421
+ Merge fix
2019-04-16 17:16:14 +03:00
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 b8b61ebb02 (a405d1aed) Check volume validity in SoundPlayer.UpdateWaterAmbience (there was a report on GameAnalytics about the method setting the gain to an invalid value) + Merge fix 2019-04-15 14:12:14 +03:00
Joonas Rikkonen 0f2e09b65e (62261c6e6) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-15 12:06:03 +03:00
Joonas Rikkonen a9ad6d0504 (02db081a3) Fixed treatment suggestions not working correctly for some items because they were using incorrect affliction identifiers (there's no affliction with the identifier "damage"). Now the treatments can be defined using either the identifier or type of the affliction. 2019-04-15 12:05:34 +03:00
Joonas Rikkonen 921e4ef818 (aff19d6cd) Don't reset the hull timer if cannot complete the divinggearobjective, because it might cause performance issues. Reduce the timer instead so that new hull is searched once per sec at max. 2019-04-15 12:05:20 +03:00
Joonas Rikkonen 29f902f0bb (18bb55660) Add unreachable targets on the unreachables list. Reset the list when a new combat objective begins. Don't immediately find a new hull target if the current hull is unsafe. Instead wait a sec at max. Fixes #1417. 2019-04-15 12:01:48 +03:00
Joonas Rikkonen e8c67f94c3 (a8e725a96) Optimized AIObjectiveFindSafety.FindBestHull. TODO: optimize further, causes huge lag spikes if the character can't find a path (see #1417) 2019-04-15 12:01:04 +03:00
Joonas Rikkonen 14d0daf16d (ccef21f63) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-06 17:49:31 +03:00
Joonas Rikkonen 45c1ed499a (e326112f5) Increased discharge coil sound range and added camera shake to make it more noticeable when it's used 2019-04-06 17:49:18 +03:00
Joonas Rikkonen 25768d8845 (4b54fb4bf) Refactor AIObjectiveCombat and the reactions to the damage. Fixes bots not reacting to any damage done with repair tools. Now they should flee (but not retaliate). 2019-04-05 16:20:11 +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 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 080ac78ded (5c35a640e) Update tutorial-rework with dev 2019-03-27 20:52:47 +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 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