Commit Graph

63 Commits

Author SHA1 Message Date
Joonas Rikkonen 480bba392c (20fcd3853) Optimizations. 2019-05-16 05:47:52 +03:00
Joonas Rikkonen 068089ae5c (d622ac851) Fix double updates of current orders. 2019-05-16 05:47:36 +03:00
Joonas Rikkonen ce1aa39a4b (b1241e3dd) GUIMessageBoxes use relative sizes 2019-05-16 05:46:12 +03:00
Joonas Rikkonen b7392b362e (3c3673317) Tune the job priority modifiers. 2019-05-16 05:45:53 +03:00
Joonas Rikkonen 68ced76e1b (cc26984a5) Merge remote-tracking branch 'origin/dev' into human-ai 2019-05-16 05:45:37 +03:00
Joonas Rikkonen 04997cd2f3 (fc1a963c7) Double the path wait time when targeting entities. 2019-05-16 05:45:19 +03:00
Joonas Rikkonen b9cca44ce2 (8045205b5) Test a velocity based calculation for skipping the nodes in steering. 2019-05-16 05:45:04 +03:00
Joonas Rikkonen f8090d470e (5670a7c58) Don't get stuck if cannot use the button. 2019-05-16 05:44:48 +03:00
Joonas Rikkonen 5ec107bf83 (0d96091e5) Adjusted layout spacing on Reactor to make the warning labels slightly more readable on Brazilian Portugese 2019-05-16 05:43:40 +03:00
Joonas Rikkonen 290e86977d (238f46c9e) Fix bots not walking when close enough to the target (only affects go to objectives that are main objectives -> follow order). 2019-05-16 05:43:23 +03:00
Joonas Rikkonen 3c17c976d7 (e8b231370) Reduce the required distance to the next node before skipping to the next node while in stairs. Should make it easier for bots to use the stairs. 2019-05-16 05:43:06 +03:00
Joonas Rikkonen de2246fe57 (e0d673b0d) Test: Don't calculate the distance to the buttons when seeking path. Instead, check the distance when checking the doors. Allows the bots to access the Remora ballast through the door where the button is a bit farther from the door than usually. 2019-05-16 05:42:51 +03:00
Joonas Rikkonen 828150e0ae (9d8f050b8) Added text wrapping to ItemInventory titles and changed pump GUI In/Out text to use a smaller font 2019-05-16 05:42:34 +03:00
Joonas Rikkonen 153fbca298 (e97fbee9a) Merge branch 'human-ai' of https://github.com/Regalis11/Barotrauma-development into human-ai 2019-05-16 05:42:15 +03:00
Joonas Rikkonen a7a4a56635 (4fa774716) Fix rescue not working. Still not extensively tested. 2019-05-16 05:41:57 +03:00
Joonas Rikkonen 5b2bf67d66 (067f4d694) The recursive version of GetConnectedComponents can traverse between wifi components, use recursive GetConnectedComponents when finding the controller used to operate some item (-> AI characters can now figure out how to operate a turret that's connected to a periscope through wifi components, relays, etc) 2019-05-16 05:41:41 +03:00
Joonas Rikkonen 1d5de494cd (a185ec0cd) Don't report on broken items that have condition above the threshold. Optimize and fix. 2019-05-16 05:41:25 +03:00
Joonas Rikkonen 79d01822d2 (8015dd67d) Show a language selection prompt when launching the game for the first time (WIP) 2019-05-16 05:41:09 +03:00
Joonas Rikkonen 3c11bc2fca (420c429b4) Fix issues in reporting. 2019-05-16 05:40:50 +03:00
Joonas Rikkonen 42a023e811 (43c3787ae) Refactor AIObjectiveRescue and remove ShouldInterruptSubObjective property. Not yet tested. 2019-05-16 05:40:35 +03:00
Joonas Rikkonen 7d0d669cdc (8fd5fa292) Fix a stack overflow issue. 2019-05-16 05:40:19 +03:00
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 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 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 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 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 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 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 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 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