Commit Graph

4640 Commits

Author SHA1 Message Date
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
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
6bb7f5f0f1 (5dc7f59e5) Remove an unnecessary check. The priority system should take care of this. 2019-05-16 05:34:37 +03:00
Joonas Rikkonen
70ffc27667 (e80994d9b) Refactor get item. 2019-05-16 05:34:19 +03:00
Joonas Rikkonen
f667ed8e12 (3f4e69c0d) Only unequip items when idling. Fixes bots not being able to repair, because the tools were unequipped (if they were weapons). 2019-05-16 05:34:03 +03:00
Joonas Rikkonen
155cb83f91 (f0f961ac3) Fix some priority related issues. 2019-05-16 05:33:46 +03:00
Joonas Rikkonen
3b72edfe94 (227a6e696) Improve readability. 2019-05-16 05:33:29 +03:00
Joonas Rikkonen
e367f900b8 (2a4bd39c2) Merge branch 'dev' into human-ai 2019-05-16 05:33:13 +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
05270aa165 (d9e651e1c) Add a generic method for handling subobjectives, when we don't use a collection but individual references instead. 2019-05-16 05:32:37 +03:00
Joonas Rikkonen
0714599f05 (10a11fd09) Rename a variable. 2019-05-16 05:32:20 +03:00
Joonas Rikkonen
2b029fc61a (0c17563ce) Temporarily disable the initiative. 2019-05-16 05:32:04 +03:00
Joonas Rikkonen
5f610caadd (f0837188e) Bots now target only reported targets when the objective is not an order. 2019-05-16 05:31:48 +03:00
Joonas Rikkonen
4f825ce309 (dabdac1a8) Fix bots waiting where they should not wait. 2019-05-16 05:31:31 +03:00
Joonas Rikkonen
27506eb10f (2aa8e6b24) Reduce the get item range. 2019-05-16 05:31:15 +03:00
Joonas Rikkonen
ddd61a9243 (6d28a11e5) Ignore platforms in pathfinder raycasts. Should fix #1450. 2019-05-16 05:30:58 +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
348f21598e (439481a07) Set the random factor for initiative each time the objective changes and once per 5 secs when the idle is active. Change the formula. Fix the waiting after character has been unselected. 2019-05-16 05:30:06 +03:00
Joonas Rikkonen
ca3b5ae04b (0976ef4d1) Fix repair hint text being displayed even when the item condition is not below the threshold. Move the GetHUDText method from shared to client project. 2019-05-16 05:29:50 +03:00
Joonas Rikkonen
32fe6e24de (991f75225) Change the welding progress bar size. 2019-05-16 05:29:33 +03:00
Joonas Rikkonen
49ad45f34d (0f4d3b087) Merge branch 'dev' into human-ai 2019-05-16 05:29:17 +03:00