Commit Graph

61 Commits

Author SHA1 Message Date
Joonas Rikkonen 053ef60fc4 (deee8cd6d) Merge branch 'dev' into human-ai 2019-05-16 05:23:20 +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 bec7aadfa9 (af16ecdfa) Merge branch 'dev' into human-ai 2019-05-16 05:14:00 +03:00
Joonas Rikkonen 8be0b0676e (83868bb0e) Refactor AIObjectiveExtinguishFires to use the AIObjectiveLoop class. Significant refactoring of the other looping objectives. Reduce the duplicate code. 2019-05-16 05:13:40 +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 ab2ca90d08 (900eddc26) Take the priority modifier in account when calculating the priority, not the max value. 2019-05-16 05:13:03 +03:00
Joonas Rikkonen 3c8707fc16 (d9d8b0f27) Always display waypoint ids in debug draw. Adjust the positions and the colors. 2019-05-16 05:12:44 +03:00
Joonas Rikkonen e06a473b41 (a63bd205d) Adjust automatic order priority modifiers. 2019-05-16 05:12:24 +03:00
Joonas Rikkonen 019712ef66 (829458a66) Don't apply priority modifier on the priority value, because it's already applied to the max value. The priority value should be normalized, because we are using the lerp. 2019-05-16 05:12:07 +03:00
Joonas Rikkonen dbccd76613 (c6ca0ef58) Recreate objectives when the bot is dismissed. 2019-05-16 05:11:49 +03:00
Joonas Rikkonen de8a23f687 (1137f730e) Instead of forcing the looping objectives to use the average, let them decide the method of evaluating the targets. Use the highest priority for now. 2019-05-16 05:11:32 +03:00
Joonas Rikkonen 759e4aee0d (96ccafd88) Fix the goto objective not always completing because of too high NearEnough value. 2019-05-16 05:11:17 +03:00
Joonas Rikkonen 9a1e7f8212 (1c6954251) Add IsLoop property. Fixes operate item orders being removed when they are done. Instead of calling loopable objectives done, let's just use the priority system. 2019-05-16 05:11:01 +03:00
Joonas Rikkonen 781fd44a8c (4efa46ffe) Limit the base priority due to devotion to 10. 2019-05-16 05:10:42 +03:00
Joonas Rikkonen cdeb6d40b3 (f3bfe1ac4) Fix damage priority calculation. 2019-05-16 05:10:25 +03:00
Joonas Rikkonen 9cc9137fff (b8fa3b004) Merge branch 'dev' into human-ai 2019-05-16 05:10:07 +03:00
Joonas Rikkonen 7ebb0be29b (db42ef494) Don't allow combat priority go over 100. 2019-05-16 05:09:51 +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 7c901d8d77 (8fd36f702) Add a separate value for run threshold. Increase the order priority from 50 to 70. 2019-05-16 05:09:15 +03:00
Joonas Rikkonen 3a3d55d780 (39b4d0859) Merge branch 'dev' into human-ai 2019-05-16 05:08:56 +03:00
Joonas Rikkonen 616efac2bf (19b26d13b) Merge branch 'dev' into human-ai 2019-05-16 05:08:39 +03:00
Joonas Rikkonen 454dda56c7 (1762f02b3) Merge branch 'dev' into human-ai 2019-05-16 05:08:22 +03:00
Joonas Rikkonen 4797f6b0d3 (307219669) Add some automatic orders. 2019-05-16 05:08:02 +03:00
Joonas Rikkonen b51fd32b88 (de7949704) Rewrite the leak priority calculations. Ensure that the damage priority is not negative. 2019-05-16 05:07:45 +03:00
Joonas Rikkonen 7f58f30829 (1c243b972) Fix steering related issues in the fix leaks objective. 2019-05-16 05:07:27 +03:00
Joonas Rikkonen 37555ed1a4 (9fc7c8e98) Only reset when the objective is an order. 2019-05-16 05:07:07 +03:00
Joonas Rikkonen 2a0e289a59 (40f4f67f8) Further changes to the calculations. 2019-05-16 05:06:49 +03:00
Joonas Rikkonen b7272e1c96 (2f379083c) Change how some of the priorities are clamped. 2019-05-16 05:06:30 +03:00
Joonas Rikkonen b5db30ec72 (c48cb7804) Change the operate item priority calculation so that it starts from 25 and increases with devotion and is multiplied by the priority modifier. Clamp the result. 2019-05-16 05:06:11 +03:00
Joonas Rikkonen ff5a819ad3 (62a89ce6a) Refactor and fix priority calculations. WIP, but should already improve things. 2019-05-16 05:05:53 +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 5def53f7bd (2972c6da9) Add a missing text. 2019-05-16 05:04:29 +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 1ff1584be5 (53f9210d1) Check the line of sight before fixing leaks or extinguishing fires. 2019-05-03 13:47:22 +03:00
Joonas Rikkonen d1dd0c6043 (d3791496e) FireSource implements ISpatialEntity. 2019-05-03 13:47:05 +03:00
Joonas Rikkonen fbb7daed00 (0c3442136) Merge branch 'dev' into docking-interface 2019-05-03 13:41:23 +03:00
Joonas Rikkonen b551ae7999 (c1468d39d) Overhauled docking interface (WIP) 2019-05-03 13:39:54 +03:00
Joonas Rikkonen e83dba2959 (42d13c09f) Merge remote-tracking branch 'origin/tutorial-rework' into dev 2019-04-25 18:07:37 +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 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 965a378f0e (5d67aa3f5) Merge remote-tracking branch 'origin/dev' into enemy-ai 2019-03-25 19:50:58 +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 5ec6a7fba9 (325184804) Fix distance based attacks not registering if they hit a submarine. 2019-03-25 19:49:05 +02: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