mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Moved zombie AI into separate file ZombieDecideAction.cpp New zombie AI: - simplified code - advancing using cover - if zombie cannot reach any opponent, he tries to hide - if zombie cannot reach opponent and cannot hide and he is under fire, he will retreat, seeking cover away from known opponents - if zombie doesn't know enemy location, he will try to run to closest friend who knows enemy location - new zombie AI has extended AI logging More water splash sounds (Data\Sounds\Misc\Splash1.ogg .. SplashN.ogg). CalcCoverValue: - allow moving into shallow water if it provides better position - special calculations for zombies: zombie is very dangerous at close range - if soldier has no gun, use different calculation based on distance instead of CTGT FindBestNearbyCover: zombies only choose spots that provide sight cover. Added functions for extended AI log. ClosestReachableDisturbance: - if soldier is zombie and he cannot climb, skip location - zombies do not attack vehicles - improved check to avoid choosing dying opponents EstimatePathCostToLocation: return 0 if checking for zombie which cannot climb and path needs climbing. RoamingRange: always max roaming range for zombies. SightCoverAtSpot, ProneSightCoverAtSpot: - improved max sight range calculation - added option for unlimited sight range check New AI functions: - AIDirection - AICheckIsSniper - AICheckIsMarksman - AICheckIsMedic - AICheckIsMortarOperator - AICheckIsGLOperator - AICheckIsOfficer - AICheckIsCommander - AICheckIsMachinegunner - AIGunInHandScoped - AIGunScoped - AIGunRange - AIGunClass - AIGunType - AIGunDeadliness - AIGunAmmo - AIGunAutofireCapable - FindObstacleNearSpot - InSmoke - CorpseWarning - CorpseEnemyTeam - CorpseMilitiaTeam - AICheckUnderground - AnyCoverAtSpot - AICheckHasWeaponOfType - AICheckHasGun - AICheckShortWeaponRange GetCorpseAtGridNo: additional check for valid gridno. More zombie raise sounds (Data\Sounds\Misc\ZombieRaise1.ogg .. ZombieRaiseN.ogg). GetCorpseRotFactor: improved code to return FLOAT value between 0 and 1. New debug topic id TOPIC_DECISIONS for logging AI decisions. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8760 3b4a5df2-a311-0410-b5c6-a8a6f20db521
34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
#ifndef _TOPICIDS_H
|
|
#define _TOPICIDS_H
|
|
|
|
const unsigned INVALID_TOPIC = 0xffff;
|
|
|
|
const unsigned TOPIC_DECISIONS = 25;
|
|
const unsigned TOPIC_MEMORY_MANAGER = 24;
|
|
const unsigned TOPIC_FILE_MANAGER = 23;
|
|
const unsigned TOPIC_DATABASE_MANAGER = 22;
|
|
const unsigned TOPIC_GAME = 21;
|
|
const unsigned TOPIC_SGP = 20;
|
|
const unsigned TOPIC_VIDEO = 19;
|
|
const unsigned TOPIC_INPUT = 18;
|
|
const unsigned TOPIC_STACK_CONTAINERS = 17;
|
|
const unsigned TOPIC_LIST_CONTAINERS = 16;
|
|
const unsigned TOPIC_QUEUE_CONTAINERS = 15;
|
|
const unsigned TOPIC_PRILIST_CONTAINERS = 14;
|
|
const unsigned TOPIC_HIMAGE = 13;
|
|
const unsigned TOPIC_ORDLIST_CONTAINERS = 12;
|
|
const unsigned TOPIC_3DENGINE = 11;
|
|
const unsigned TOPIC_VIDEOOBJECT = 10;
|
|
const unsigned TOPIC_FONT_HANDLER = 9;
|
|
const unsigned TOPIC_VIDEOSURFACE = 8;
|
|
const unsigned TOPIC_MOUSE_SYSTEM = 7;
|
|
const unsigned TOPIC_BUTTON_HANDLER = 6;
|
|
const unsigned TOPIC_MUTEX = 5;
|
|
const unsigned TOPIC_JA2INTERRUPT = 4;
|
|
const unsigned TOPIC_JA2 = 3;
|
|
const unsigned TOPIC_BLIT_QUEUE = INVALID_TOPIC;
|
|
const unsigned TOPIC_JA2OPPLIST = 2;
|
|
const unsigned TOPIC_JA2AI = 1;
|
|
|
|
#endif // NUM_TOPICS_IDS
|