Commit Graph

6074 Commits

Author SHA1 Message Date
Joonas Rikkonen e284e1039a (ee2d498e3) Fix bots ignoring doors when shooting. 2019-05-16 05:24:28 +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 77f1d0ea8e (a843b19d4) Optimize distance checks. 2019-05-16 05:23:55 +03:00
Joonas Rikkonen 52d25694ed (050157f65) Fix bots not being able to use buttons or ladders because the were aiming. Don't aim when farther than 500 pixels away from the target. 2019-05-16 05:23:39 +03:00
Joonas Rikkonen 053ef60fc4 (deee8cd6d) Merge branch 'dev' into human-ai 2019-05-16 05:23:20 +03:00
Joonas Rikkonen abd19f614f (913d93c32) Setup new skills: initiative and courage. Not yet implemented. 2019-05-16 05:23:03 +03:00
Joonas Rikkonen 8f8ff7f1a9 (7e5ee2800) Add the job requirement for fight intruders order. 2019-05-16 05:22:47 +03:00
Joonas Rikkonen cf55de90ba (0ccb08c95) Remove item collision category, since we only want to check the walls and the characters here. 2019-05-16 05:22:30 +03:00
Joonas Rikkonen ad604a44c4 (0bc1c5f88) Fix bots trying to rescue enemies in single player game. 2019-05-16 05:22:12 +03:00
Joonas Rikkonen 99307f764a (a47ab977d) Allow shooting through platforms. 2019-05-16 05:21:56 +03:00
Joonas Rikkonen 9ec9adb2a7 (cec5cdbcd) Reset steering when an objective is activated. 2019-05-16 05:21:39 +03:00
Joonas Rikkonen f95a59cc50 (cc14ef57a) Remove the Doing text, because it's not used and because there can be multiple. Remove order names, because they should be defined in EnglishVanilla.xml. Add todo notes about the texts. 2019-05-16 05:21:20 +03:00
Joonas Rikkonen 1e200722ae (81244db07) Implement AIObjectiveFightIntruders. 2019-05-16 05:21:03 +03:00
Joonas Rikkonen 88de435487 (cf495e03c) Check the visibility to the target when engaging (the distance is not enough, if there's something blocking the line of sight). 2019-05-16 05:20:45 +03:00
Joonas Rikkonen 3d7a113d75 (048b753e6) Merge branch 'dev' into human-ai 2019-05-16 05:20:29 +03:00
Joonas Rikkonen 7b6c2f1fa8 (663910402) Unequip weapons when not in combat mode and all items when idling. 2019-05-16 05:20:11 +03:00
Joonas Rikkonen 3b313976c5 (5394332a8) Add a note. 2019-05-16 05:19:52 +03:00
Joonas Rikkonen bcd18aab4e (8025561da) Implement offensive combat. 2019-05-16 05:19:31 +03:00
Joonas Rikkonen 363eb0540a (a8f2f39bd) The ai now sorts the weapons by the combat priority value, which can be set in xml. Ranged weapons are favored. The required items are also taken into account. 2019-05-16 05:19:14 +03:00
Joonas Rikkonen 9facded24c (2561cb6ea) Tune the priority modifiers. 2019-05-16 05:18:55 +03:00
Joonas Rikkonen 65e284bf7c (0fde6c604) Ignore dangerous targets. 2019-05-16 05:18:37 +03:00
Joonas Rikkonen fea0c31e85 (27b4fa143) Tune the priority modifiers. 2019-05-16 05:18:18 +03:00
Joonas Rikkonen f61bff8970 (a1fe45652) Add some margin. 2019-05-16 05:18:01 +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 c9bfc21880 (49f837fbb) Fix: operate battery or pump should not be looping objectives. 2019-05-16 05:17:24 +03:00
Joonas Rikkonen c8160f6e0b (a599eccb0) Expose the ai recharge target ratio and add a property for easy accessing to the recharge ratio. 2019-05-16 05:17:06 +03:00
Joonas Rikkonen 6c777aa91e (d7e59613a) Ignore broken items. 2019-05-16 05:16:47 +03:00
Joonas Rikkonen 6bdd0ab8c0 (83ad1f3d2) Fix a null reference exception. 2019-05-16 05:16:31 +03:00
Joonas Rikkonen 5b3696f7e4 (d16942d30) Simplify. 2019-05-16 05:16:13 +03:00
Joonas Rikkonen bbce41fab0 (bd2976a16) Add some automatic orders. 2019-05-16 05:15:52 +03:00
Joonas Rikkonen 82d74f7481 (a1ebc2642) Use lazy loading to ensure that the list is assigned when it's needed. Fixes null reference exceptions when pumping water or charging batteries. 2019-05-16 05:15:34 +03:00
Joonas Rikkonen 108e42edb0 (b5250291f) Merge branch 'dev' into human-ai 2019-05-16 05:15:16 +03:00
Joonas Rikkonen b02565796a (98f1dbf5e) Merge branch 'dev' into human-ai 2019-05-16 05:14:58 +03:00
Joonas Rikkonen 7f72f72ca7 (9c0250ef1) Merge branch 'dev' into human-ai 2019-05-16 05:14:40 +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