Mercurial > mm7
view TurnEngine.h @ 1572:19f1735fca80
Слияние
author | Ritor1 |
---|---|
date | Sun, 08 Sep 2013 17:07:58 +0600 |
parents | 5c95f2246c2a |
children | 4da5644df18f |
line wrap: on
line source
#pragma once enum TURN_ENGINE_FLAGS { TE_FLAG_1 =1, TE_HAVE_PENDING_ACTIONS =2, TE_PLAYER_TURN =4, TE_FLAG_8 =8 }; enum TURN_ENGINE_AI_ACTION { TE_AI_STAND =0, TE_AI_RANGED_ATTACK =1, TE_AI_PURSUE =2, TE_AI_MELEE_ATTACK =3, TE_AI_FLEE =4 }; /* 299 */ #pragma pack(push, 1) struct TurnBased_QueueElem { inline TurnBased_QueueElem() { uPackedID = 0; actor_initiative = 0; uActionLength = 0; AI_action_type = 0; } int uPackedID; int actor_initiative; //act first who have less int uActionLength; int AI_action_type; }; #pragma pack(pop) /* 254 */ #pragma pack(push, 1) struct stru262_TurnBased { inline stru262_TurnBased() { turns_count = 0; turn_stage = 0; ai_turn_timer = 0; uActorQueueSize = 0; turn_initiative = 0; uActionPointsLeft = 0; field_18 = 0; pending_actions = 0; } void SortTurnQueue(); void ApplyPlayerAction(); void Start(); void End(bool bPlaySound); void AITurnBasedAction(); void StartTurn(); void NextTurn(); int StepTurnQueue(); void _406457(int a2); void SetAIRecoveryTimes(); void _4065B0(); void AIAttacks(unsigned int queue_index); void AI_Action_(int queue_index); void ActorAISetMovementDecision(); void ActorAIStopMovement(); void ActorAIDoAdditionalMove(); bool ActorMove(signed int a2); void ActorAIChooseNewTargets(); int turns_count; int turn_stage; int ai_turn_timer; int uActorQueueSize; //c int turn_initiative; int uActionPointsLeft; //14 int field_18; int pending_actions; TurnBased_QueueElem pQueue[530]; //20 }; #pragma pack(pop) extern struct stru262_TurnBased *pTurnEngine;