mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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
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