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
f46990d539
(d74fee449) Revert "Fix bots not knowing how to use the integrated controllers, effectively failing to use the doors with integrated buttons."
2019-05-16 05:25:20 +03:00
Joonas Rikkonen
4c53a56b20
(e25e32b17) Fix bots not knowing how to use the integrated controllers, effectively failing to use the doors with integrated buttons.
2019-05-16 05:24:11 +03:00
Joonas Rikkonen
053ef60fc4
(deee8cd6d) Merge branch 'dev' into human-ai
2019-05-16 05:23:20 +03:00
Joonas Rikkonen
65e284bf7c
(0fde6c604) Ignore dangerous targets.
2019-05-16 05:18:37 +03:00
Joonas Rikkonen
cbfef49e9d
(d9fd52f40) Change the priority calculations for charge batteries and pump water loops. Tweak the operate item priority calculation.
2019-05-16 05:17:42 +03:00
Joonas Rikkonen
6c777aa91e
(d7e59613a) Ignore broken items.
2019-05-16 05:16:47 +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
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
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
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
2a0e289a59
(40f4f67f8) Further changes to the calculations.
2019-05-16 05:06:49 +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
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
5af8170ac6
(372c6e60a) More automatic text scaling + merge fix
2019-05-06 14:15:40 +03:00
Joonas Rikkonen
a11e7db190
(78f064b46) Revert "Cherry pick from human-ai: Fix bots not knowing how to use the integrated controllers, effectively failing to use the doors with integrated buttons."
2019-05-03 13:49:23 +03:00
Joonas Rikkonen
bd659383b4
(1aa050263) Cherry pick from human-ai: Fix bots not knowing how to use the integrated controllers, effectively failing to use the doors with integrated buttons.
2019-05-03 13:48:48 +03:00
Joonas Rikkonen
5031432e77
(513733e88) Check that the character is inside the same room as the target before repairing/operating an item.
2019-05-03 13:47:39 +03: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
07d3d69040
Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit).
2018-03-02 15:24:54 +02: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
bf5a0746ad
Merge branch 'master' of https://github.com/Faerdan/Barotrauma into Faerdan-master
...
Conflicts:
Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs
Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
Barotrauma/BarotraumaShared/Source/Characters/Character.cs
Barotrauma/BarotraumaShared/Source/Items/Item.cs
2017-07-05 19:32:34 +03:00