Commit Graph
4818 Commits
Author SHA1 Message Date
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