Asdow
7b8c2d1ff9
Remove old function call
2026-01-23 23:35:59 +02:00
Asdow
caf925b216
Fix Fatima not moving after map traversal
2026-01-23 23:35:03 +02:00
Asdow
bd9cbd9944
Migrate +AI features
...
* Drink canteen
* Jump through window
* Use explosives
* Use wirecutters
2026-01-23 23:19:07 +02:00
Asdow
41945842d5
Migrate features from +AI
...
Create Scuba fins when in deep water for elites
2026-01-23 18:06:26 +02:00
Asdow
91a1059f87
Migrate features from +AI
...
Possibly wear gasmask if soldier sees tear or mustard gas
2026-01-23 16:47:34 +02:00
Asdow
9c0fb0b6da
Add tactical range defines
2026-01-22 00:32:41 +02:00
Asdow
3d7d7cc88a
Reorganize stuff to improve readability
2026-01-22 00:31:31 +02:00
Asdow
737cd848ce
Make water and gas checks const
2026-01-22 00:28:37 +02:00
Asdow
1bead3a0fe
Improve readability
2026-01-22 00:27:53 +02:00
Asdow
b50ed93f39
Remove armed vehicle check from soldier AI
2026-01-22 00:27:18 +02:00
Asdow
75355f6cac
Set DangerousSpot to const
2026-01-22 00:26:48 +02:00
Asdow
2448ccb191
Tweak AI screen messages
2026-01-22 00:26:18 +02:00
Asdow
42215e7a51
Remove magic numbers
2026-01-22 00:25:33 +02:00
Asdow
1419cc6925
Avoid overcrowding when looking for spot to move to
2026-01-22 00:24:53 +02:00
Asdow
76af6b7641
Remove duplicate include
2026-01-22 00:23:52 +02:00
Asdow
2b1838dbb0
Remove unused local variable
2026-01-19 23:34:19 +02:00
Asdow
4ad34f80a9
Fix includes
2026-01-19 22:59:55 +02:00
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
df8d4bd8a2
Only show message if temperature has changed
...
This was absolutely clogging Debug build when compressing time
2026-01-19 22:57:34 +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
e634edd862
Rename debug draw modes
2026-01-19 22:05:31 +02:00
Asdow
f5b705cbe4
Add ingame option to use old AI instead of new
2026-01-19 22:05:10 +02:00
Asdow
4e19816b57
Fix typo
2026-01-19 00:28:19 +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
b1c076416c
Remove magic numbers
2026-01-04 14:57:55 +02:00
Asdow
cc984b09f6
Fix comparison check
2026-01-03 17:27:43 +02:00
Asdow
8d00a316c5
Remove unused enum conditionals
2026-01-03 17:27:43 +02:00
Asdow
d51f1e6088
Add comment
2026-01-03 17:27:43 +02:00
Asdow
1c86d96e9d
Remove custom_email.edt
...
Unfinished feature as far as I can tell and new emails will be easier to add via Emails.xml
2026-01-03 17:27:43 +02:00
Asdow
1368962244
Rename function to be more descriptive
2026-01-03 17:27:43 +02:00
Asdow
6f6aadf89c
Remove unused & unfinished email externalizations
2026-01-03 17:27:43 +02:00
Asdow
96de96e9c6
Remove unused includes
...
* Formatting
2026-01-03 17:27:43 +02:00
Asdow
ebcc5449c5
Make functions static
2026-01-03 17:27:43 +02:00
Asdow
6b7bc51a52
Remove commented out variables
2026-01-03 17:27:43 +02:00
Asdow
622cffce82
Use #define instead of magic numbers
2026-01-03 17:27:43 +02:00
Asdow
5ed79c3edb
Fix email sorting
...
* Simplify pSubject copying else ifs
* Formatting
2026-01-03 17:27:43 +02:00
Asdow
fe69dba958
Add missing email
2026-01-03 17:27:43 +02:00
Asdow
f8b6ee1672
Use externalized emails
2026-01-03 17:27:43 +02:00
Asdow
30070035cc
Correct pSubject size
2026-01-03 17:27:43 +02:00
Asdow
ff3079ff23
Formatting
2026-01-03 17:27:43 +02:00
Asdow
aba3688b4b
Add framework for adding externalized emails
...
Emails from new GameDir file TableData/Email/Emails.xml can be added via lua scripting using calls to AddEmailFromXML & AddPreReadEmailFromXML. The order of emails in Emails.xml acts as the index to be referenced and provided when calling lua functions.
An error message will be displayed if an email is added with an out-of-scope index but game will be able to continue.
Localization is supported and was tested on Chinese localization.
2026-01-03 17:27:43 +02:00