Files
source/ModularizedTacticalAI
Sevenfm 4fb6369368 AI pathing: avoid deep water if not in deep water already and not SEEKENEMY (allow max 2 tiles of deep water for other soldiers).
CONSIDERED_NEUTRAL: removed dying check as it may cause problems with AI.
Improved code to avoid moving into gas/deep water/light/artillery danger zone.
ClosestReachableDisturbance: 
- skip dying opponent if found not dying
- when in deep water, skip opponents in deep water
ClosestKnownOpponent: skip dying opponent if found not dying.
RedSmokeDanger: consider deep water as safe from artillery strike.
Allow deep water flanking for soldiers of ENEMY_TEAM with SEEKENEMY orders and CUNNINGSOLO attitude or athletics trait.
CalcBestShot:
- dying, cowering or unconscious soldiers have very low priority
- added safety checks
- if best opponent is dying and new opponent is ok, use new opponent
DecideAction: improved deep water checks.
Red, Black AI: when SEEKENEMY soldier is in deep water, move to closest opponent on the ground.
FindNearestUngassedLand: 
- increased max search distance to 35
- added speed optimization
- removed max AP budget
FindNearbyDarkerSpot:
- increased max search range to 25
- added speed optimization
- removed max AP budget
FindFlankingSpot: added condition to allow deep water flanking


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8758 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-02-17 19:20:28 +00:00
..
2016-03-27 16:23:29 +00:00

API Documentation
=================
The API documentation is available in the source code repository under
./Developer_Docs/ModularizedAI/html/index.html


Coding style guidelines
=======================
When modifying or adding to the code in ModularizedTacticalAI, plese adhere to
the following rules in order to keep the place tidy.

- Do indent code blocks by 4 spaces
- Do not use tabs; they are interpreted differently on each platform, messing up the indention
- Do not #include compilation units (cpp files). Doing so will lead to you facing the firing squad.
- Do try to limit the number of include files to what is really needed. If a lot is needed, consider using the Pimpl
  idiom.
- Do not use leading underscores or double underscores. They are reserved for compiler implementation.
- Do document your code using Doxygen-style comments, and update the doxygen documentation by running doxygen in the
  ModularizedTacticalAI directory.
- Do use identifier names that reflect what you are doing.
- Do use CamelCase for classes, and all_lowercase_characters() for function names and attributes
- Do use one trailing underscore for class_members_
- Do not event think about adding a global variable, goto, macros (unless absolutely needed) or other BS.
- Do follow the C++ specifications, as in ISO 14882
- Do, if you feel that these guidelines are an impediment for your work, discuss alternatives at bears-pit.com