Asdow
ff96d653e2
Add skeleton for utilityAI framework
2026-01-19 22:59:30 +02:00
Asdow
58ea3be2fd
Remove MercPtrs[]
...
SoldierID works without it thanks to operator overload
2026-01-19 22:58:58 +02:00
Asdow
4678cab16f
Use correct type
2026-01-19 22:58:33 +02:00
Asdow
1b9cb1f75e
Add functions to check if soldier is in specific gas
2026-01-19 22:58:17 +02:00
Asdow
52a4959dfb
Add optional InOut parameter to ClosestKnownOpponent
...
distanceInCellCoords will return the distance between pSoldier and closest known opponent. We're often calculating same range after the call using PythSpacesAway and this way it's no longer necessary in most cases.
2026-01-19 22:56:18 +02:00
Asdow
e806fd37e7
Add screen messages that display AI decisions
2026-01-19 22:51:38 +02:00
Asdow
cd054b549f
Split DecideAction into several specialized DecideAction functions
...
* Removes the need to constantly check for fCivilian, ARMED_VEHICLE, ENEMY_ROBOT etc inside DecideAction
* Move AI decision checks into their own functions, such as DecideActionRadioRedAlert
* Add new entry to ActionType. AI_ACTION_INVALID signals that no valid action was found when a function returns, or no valid action is possible
* Do a weighted random selection for choosing target under DecideActionBlackSoldier
2026-01-19 22:50:27 +02:00
Asdow
c3f4ee754a
Only log during turn based AI
2026-01-19 22:32:01 +02:00
Asdow
a46d2dbb96
Add global to selectively log AI status BLACK decisions
2026-01-19 22:31:34 +02:00
Asdow
16fc2d8177
Cleanup FindBestNearbyCover
...
* Add optional parameter to ignore search range
2026-01-19 22:29:06 +02:00
Asdow
20dadec54c
Merge branch 'master' into decideaction
2026-01-13 00:38:40 +02:00
Asdow
f3ce1d5ff9
Fix Tank suppression fire
...
Code used wrong item to calculate recoil and burst APs causing the burst length loop to be stuck until the whole 2000 round mg magazine would be fired in one go.
2026-01-10 16:38:00 +02:00
Asdow
2e3e4b38d9
Fix compilation
2025-12-25 20:17:02 +02:00
Asdow
f075963bca
Merge branch 'master' into decideaction
2025-12-25 18:58:41 +02:00
Marco Antonio J. Costa and majcosta
3d29eff4d8
use FormatMoney everywhere
2025-10-08 05:36:37 -03:00
Asdow
82aca548f5
Merge branch 'master' into ExtraMercs
2025-09-24 16:14:10 +03:00
BeatAroundTheBuscher and GitHub
ed00830202
Fixes Upper/Lower Casing for include paths ( #487 )
...
* Fixing upper/lower case for includes
types.h, zconf.h and zlib.h were renamed so that global includes like Types.h
are not used.
2025-08-16 22:01:12 -03:00
Asdow
fd9611ae04
Remove compiler warnings
2025-08-08 18:38:53 +03:00
Asdow
c62d767622
Update to Master
2025-08-08 18:00:31 +03:00
Asdow
1a8db5d15b
More conversions to SoldierID
2025-06-27 19:58:20 +03:00
Asdow
dd58f904f4
Do not offer surrender for multiplayer
2025-04-24 21:52:11 +03:00
Asdow
e3a542bf5d
Exclude robots from trying to activate panic triggers
2025-02-14 16:47:03 +02:00
Asdow
febb283c3a
Allow bloodcats in RED state to roam farther
...
Bloodcat lair had a few cats with CLOSE PATROL orders, resulting them to move only 15 tiles from their starting point, allowing them to be picked off from afar with scoped rifles.
2024-12-05 22:56:57 +02:00
Asdow
678ef822ca
Fix passive bloodcats
2024-12-05 22:56:57 +02:00
Asdow
bfb724eab9
Use SoldierID
2024-12-01 18:23:52 +02:00
Asdow
4645a09722
Use SoldierID
2024-11-30 16:07:36 +02:00
Asdow
24656f2810
Use SoldierID
2024-11-30 15:20:18 +02:00
Asdow
d960403514
Use SoldierID
2024-11-21 23:56:57 +02:00
Asdow
b718b463c2
Use SoldierID
2024-11-18 23:22:00 +02:00
Asdow
66bd1e41c2
Correct loops
2024-11-18 18:27:14 +02:00
Asdow
b74ccf3ddc
Convert to SoldierID
2024-11-17 23:45:48 +02:00
Asdow
ef9aa1b027
Convert to SoldierID
2024-11-17 22:29:31 +02:00
Asdow
b9641d4c90
Convert to SoldierID
2024-11-17 20:52:12 +02:00
Asdow
34f0b40f93
Convert functions and globals to SoldierID
2024-11-17 14:53:52 +02:00
Asdow
131172e41a
Convert SOLDIERTYPE->ubPreviousAttackerID to SoldierID
2024-11-15 22:54:44 +02:00
Asdow
735075869c
Fix incorrect variables
...
ubImprintID uses SOLDIERTYPE->ubProfile, not SOLDIERTYPE->ubID in every other instance of the code. This one's clearly a mistake.
2024-11-15 01:14:30 +02:00
Asdow
10250dc035
Merge branch 'master' into ExtraMercs
2024-11-09 13:44:53 +02:00
Asdow and GitHub
49a119e6b9
Convert INVTYPE boolean fields to flagmask ( #325 )
...
Rearranged fields from largest to smallest to remove alignment padding
2024-08-22 08:48:29 +03:00
Asdow
de91c7a9fd
Render debug info in tactical
...
Functionality for rendering pathfinding and cover values in tactical was behind defunct #ifdefs.
It's now compiled always, but only enabled if cheat level is BEDUG_CHEAT_LEVEL.
Unified rendering the debug info into one function, instead of several nearly identical ones.
Ctrl + Shift + Z cycles through the different debug modes.
Now it should be fairly easy to add more info modes like these two in the future.
2024-02-21 23:24:14 +02:00
Asdow
ab2c5fc10d
Add BOXER() & ISVIP() macros
2024-02-18 12:03:43 +02:00
Asdow and GitHub
5fe730b075
Merge branch 'master' into decideaction
2024-02-11 17:38:27 +02:00
Asdow
57716e1c07
Revert back to original AI deadlock breaking
...
For now..
2024-02-11 17:20:10 +02:00
Asdow
dfc17c68c6
Cancel action if new situation arises
...
Lot of actions are liable to deadlock if this is not done
2024-02-11 13:32:17 +02:00
Asdow and GitHub
4338b5b909
Fix AI tactical retreat ( #282 )
...
Only perform tactical traversal if pSoldier is at the map edge
2024-02-11 12:42:21 +02:00
Asdow
67a26e0936
Add more AI logging
2024-02-11 11:21:41 +02:00
Asdow
1a98420160
Remove extraneous check
...
Allow at least considering throwing smoke for cover even if pSoldier has used some AP from its initial amount.
2024-02-10 18:56:11 +02:00
Asdow
877ec385ee
Whitespace changes
2024-02-10 18:50:30 +02:00
Asdow
b480a67d36
Reduce code duplication
2024-02-10 18:47:03 +02:00
Asdow
1aec54f59c
add another AI logging entry
2024-02-10 18:14:35 +02:00
Asdow
0240729c11
Use correct string array
2024-02-10 18:13:20 +02:00