World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <TurnEngine.h>
Открытые члены | |
stru262_TurnBased () | |
void | SortTurnQueue () |
void | ApplyPlayerAction () |
void | Start () |
void | End (bool bPlaySound) |
void | AITurnBasedAction () |
void | StartTurn () |
void | NextTurn () |
bool | 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 |
int | turn_initiative |
int | uActionPointsLeft |
int | field_18 |
int | pending_actions |
TurnBased_QueueElem | pQueue [530] |
См. определение в файле TurnEngine.h строка 43
|
inline |
См. определение в файле TurnEngine.h строка 44
Перекрестные ссылки ai_turn_timer, field_18, pending_actions, turn_initiative, turn_stage, turns_count, uActionPointsLeft и uActorQueueSize.
void stru262_TurnBased::SortTurnQueue | ( | ) |
См. определение в файле TurnEngine.cpp строка 24
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, field_18, OBJECT_Actor, OBJECT_Player, pActors, pParty, Party::pPlayers, pQueue, TE_PLAYER_TURN, uActiveCharacter, uActorQueueSize и TurnBased_QueueElem::uPackedID.
Используется в _406457(), _4065B0(), NextTurn(), Start() и StepTurnQueue().
void stru262_TurnBased::ApplyPlayerAction | ( | ) |
См. определение в файле TurnEngine.cpp строка 101
Перекрестные ссылки _406457(), Party::bTurnBasedModeOn, pParty, pTurnEngine, TE_ATTACK и turn_stage.
Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42ECB5_PlayerAttacksActor(), Application::Game::EventLoop(), Keyboard::ProcessInputActions(), Actor::StealFrom() и Player::UseItem_DrinkPotion_etc().
void stru262_TurnBased::Start | ( | ) |
См. определение в файле TurnEngine.cpp строка 108
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, TurnBased_QueueElem::AI_action_type, ai_arrays_size, ai_near_actors_ids, ai_near_actors_targets_pid, Actor::AI_StandOrBored(), ai_turn_timer, dword_50C994, dword_50C998_turnbased_icon_1A, field_18, Icon::GetAnimLength(), Actor::GetDirectionInfo(), IconFrameTable::GetIcon(), OBJECT_Actor, OBJECT_Player, pActors, pAudioPlayer, pEventTimer, pIconsFrameTable, AudioPlayer::PlaySound(), pParty, pPlayers, Party::pPlayers, pQueue, Party::pTurnBasedPlayerRecoveryTimes, pTurnEngine, SortTurnQueue(), SOUND_batllest, AudioPlayer::StopChannels(), TE_AI_PURSUE, TE_HAVE_PENDING_ACTIONS, TE_WAIT, Timer::TrackGameTime(), turn_initiative, turn_stage, turns_count, TurnBased_QueueElem::uActionLength, uActorQueueSize, uIconID_TurnStart и TurnBased_QueueElem::uPackedID.
Используется в Keyboard::ProcessInputActions().
void stru262_TurnBased::End | ( | bool | bPlaySound | ) |
См. определение в файле TurnEngine.cpp строка 220
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, dword_50C994, dword_50C998_turnbased_icon_1A, field_18, OBJECT_Actor, OBJECT_Player, pActors, pAudioPlayer, pEventTimer, AudioPlayer::PlaySound(), pPlayers, pQueue, pSpriteObjects, pTurnEngine, SOUND_batlleen, AudioPlayer::StopChannels(), Timer::StopGameTime(), TE_HAVE_PENDING_ACTIONS, TE_NONE, turn_stage, uActorQueueSize и uNumSpriteObjects.
Используется в Application::Game::GameLoop() и Keyboard::ProcessInputActions().
void stru262_TurnBased::AITurnBasedAction | ( | ) |
См. определение в файле TurnEngine.cpp строка 260
Перекрестные ссылки _4065B0(), ACTOR_BUFF_PARALYZED, ACTOR_BUFF_SHRINK, ACTOR_BUFF_STONED, ActorAIChooseNewTargets(), ActorAIDoAdditionalMove(), ActorAISetMovementDecision(), ActorAIStopMovement(), ai_near_actors_targets_pid, Actor::AI_StandOrBored(), ai_turn_timer, Dead, Disabled, Dying, SpellBuff::Expired(), field_18, Actor::GetDirectionInfo(), Party::GetPlayingTime(), NextTurn(), OBJECT_Actor, Actor::pActorBuffs, pActors, pEventTimer, pMiscTimer, pMonsterList, MonsterList::pMonsters, pParty, pQueue, Removed, SetAIRecoveryTimes(), StartTurn(), TE_ATTACK, TE_FLAG_1, TE_FLAG_8, TE_MOVEMENT, TE_WAIT, turn_initiative, turn_stage, uActionPointsLeft, Actor::uAIState, Actor::uAttributes, Actor::uCurrentActionLength, Actor::uCurrentActionTime, MonsterDesc::uMonsterHeight, uNumActors, Actor::UpdateAnimation() и Timer::uTimeElapsed.
Используется в Actor::UpdateActorAI().
void stru262_TurnBased::StartTurn | ( | ) |
См. определение в файле TurnEngine.cpp строка 342
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, AI_Action_(), TurnBased_QueueElem::AI_action_type, ai_arrays_size, ai_near_actors_ids, OBJECT_Actor, OBJECT_Player, pending_actions, pPlayers, pQueue, StepTurnQueue(), TE_AI_STAND, turn_initiative, turns_count, TurnBased_QueueElem::uActionLength, uActorQueueSize и TurnBased_QueueElem::uPackedID.
Используется в AITurnBasedAction().
void stru262_TurnBased::NextTurn | ( | ) |
См. определение в файле TurnEngine.cpp строка 395
Перекрестные ссылки _494035_timed_effects__water_walking_damage__etc(), ai_near_actors_targets_pid, Actor::AI_StandOrBored(), AttackingMelee, AttackingRanged1, AttackingRanged2, AttackingRanged3, AttackingRanged4, ViewingParams::bRedrawGameUI, Dead, Disabled, Dying, field_18, Party::GetPlayingTime(), OBJECT_Actor, OBJECT_Player, pActors, pending_actions, pEventTimer, pParty, pQueue, pTurnEngine, Removed, SortTurnQueue(), Stunned, Summoned, TE_FLAG_1, TE_HAVE_PENDING_ACTIONS, TE_MOVEMENT, turn_stage, TurnBased_QueueElem::uActionLength, uActionPointsLeft, uActiveCharacter, uActorQueueSize, Timer::uTimeElapsed, GameTime::value и viewparams.
Используется в AITurnBasedAction().
bool stru262_TurnBased::StepTurnQueue | ( | ) |
См. определение в файле TurnEngine.cpp строка 477
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, ViewingParams::bRedrawGameUI, Dead, Disabled, Dying, OBJECT_Player, pActors, pQueue, Removed, SortTurnQueue(), turn_initiative, TurnBased_QueueElem::uActionLength, uActorQueueSize и viewparams.
Используется в _4065B0() и StartTurn().
void stru262_TurnBased::_406457 | ( | int | a2 | ) |
См. определение в файле TurnEngine.cpp строка 513
Перекрестные ссылки TurnBased_QueueElem::actor_initiative, ViewingParams::bRedrawGameUI, OBJECT_Player, pActors, MonsterStats::pInfos, pMonsterStats, pParty, pPlayers, pQueue, Party::pTurnBasedPlayerRecoveryTimes, SortTurnQueue(), turn_initiative, TurnBased_QueueElem::uActionLength, uActiveCharacter, uActorQueueSize, MonsterInfo::uRecoveryTime и viewparams.
Используется в ApplyPlayerAction().
void stru262_TurnBased::SetAIRecoveryTimes | ( | ) |
См. определение в файле TurnEngine.cpp строка 551
Перекрестные ссылки SpellBuff::Active(), ACTOR_BUFF_SLOWED, TurnBased_QueueElem::actor_initiative, Fidgeting, Fleeing, OBJECT_Player, Actor::pActorBuffs, pActors, MonsterStats::pInfos, Actor::pMonsterInfo, pMonsterStats, pQueue, Standing, uActorQueueSize, Actor::uAIState, MonsterInfo::uID и MonsterInfo::uRecoveryTime.
Используется в AITurnBasedAction().
void stru262_TurnBased::_4065B0 | ( | ) |
См. определение в файле TurnEngine.cpp строка 574
Перекрестные ссылки AI_Action_(), AIAttacks(), ViewingParams::bRedrawGameUI, OBJECT_Actor, OBJECT_Player, pQueue, SortTurnQueue(), StepTurnQueue(), uActiveCharacter, uActorQueueSize и viewparams.
Используется в AITurnBasedAction().
void stru262_TurnBased::AIAttacks | ( | unsigned int | queue_index | ) |
См. определение в файле TurnEngine.cpp строка 599
Перекрестные ссылки stru298::Add(), Actor::AI_Bored(), ai_near_actors_targets_pid, Actor::AI_RangedAttack(), Actor::AI_SpellAttack(), Actor::AI_Stand(), AttackerInfo, AttackingMelee, AttackingRanged1, AttackingRanged2, AttackingRanged3, AttackingRanged4, Dead, Disabled, Dying, Actor::GetDirectionInfo(), OBJECT_Actor, pActors, pEventTimer, pQueue, Removed, Stunned и Timer::uTimeElapsed.
Используется в _4065B0().
void stru262_TurnBased::AI_Action_ | ( | int | queue_index | ) |
См. определение в файле TurnEngine.cpp строка 709
Перекрестные ссылки Actor::_SelectTarget(), TurnBased_QueueElem::AI_action_type, Actor::AI_MeleeAttack(), Actor::AI_MissileAttack1(), Actor::AI_MissileAttack2(), ai_near_actors_targets_pid, Actor::AI_SpellAttack1(), Actor::AI_SpellAttack2(), Actor::AI_Stand(), Dead, Disabled, Dying, Actor::GetDirectionInfo(), MonsterInfo::Hostility_Friendly, MonsterInfo::Hostility_Long, OBJECT_Actor, pActors, pFactionTable, MonsterStats::pInfos, pMonsterStats, pQueue, FactionTable::relations, Removed, Summoned, TE_AI_MELEE_ATTACK, TE_AI_RANGED_ATTACK, TE_AI_STAND, TurnBased_QueueElem::uActionLength, AIDirection::uDistance и MonsterInfo::uID.
Используется в _4065B0() и StartTurn().
void stru262_TurnBased::ActorAISetMovementDecision | ( | ) |
См. определение в файле TurnEngine.cpp строка 830
Перекрестные ссылки ActorMove(), ai_near_actors_targets_pid, Actor::AI_Stand(), ai_turn_timer, dword_50C994, Actor::GetDirectionInfo(), OBJECT_Actor, pQueue, uActiveCharacter и uActorQueueSize.
Используется в AITurnBasedAction().
void stru262_TurnBased::ActorAIStopMovement | ( | ) |
См. определение в файле TurnEngine.cpp строка 853
Перекрестные ссылки TurnBased_QueueElem::AI_action_type, ai_near_actors_targets_pid, Actor::AI_Stand(), ai_turn_timer, Actor::GetDirectionInfo(), OBJECT_Actor, pQueue, TE_AI_STAND, TE_ATTACK, turn_stage, TurnBased_QueueElem::uActionLength и uActorQueueSize.
Используется в AITurnBasedAction().
void stru262_TurnBased::ActorAIDoAdditionalMove | ( | ) |
См. определение в файле TurnEngine.cpp строка 874
Перекрестные ссылки ACTOR_BUFF_PARALYZED, ACTOR_BUFF_STONED, ActorMove(), ai_near_actors_targets_pid, Actor::AI_Stand(), Dead, Disabled, Dying, Actor::GetDirectionInfo(), OBJECT_Actor, pActors, pEventTimer, pQueue, Pursuing, Removed, Tethered, uActorQueueSize, AIDirection::uDistance и Timer::uTimeElapsed.
Используется в AITurnBasedAction().
bool stru262_TurnBased::ActorMove | ( | signed int | a2 | ) |
См. определение в файле TurnEngine.cpp строка 919
Перекрестные ссылки Actor::_SelectTarget(), ACTOR_BUFF_AFRAID, TurnBased_QueueElem::AI_action_type, Actor::AI_Flee(), ai_near_actors_targets_pid, Actor::AI_Pursue1(), Actor::AI_Pursue2(), Actor::AI_RandomMove(), Actor::AI_Stand(), Dead, Disabled, Dying, Actor::GetDirectionInfo(), MonsterInfo::Hostility_Friendly, MonsterInfo::Hostility_Long, MONSTER_MOVEMENT_TYPE_FREE, MONSTER_MOVEMENT_TYPE_LONG, MONSTER_MOVEMENT_TYPE_MEDIUM, MONSTER_MOVEMENT_TYPE_SHORT, MONSTER_MOVEMENT_TYPE_STAIONARY, OBJECT_Player, pActors, pQueue, pTurnEngine, Removed, Summoned, TE_AI_FLEE, TE_AI_PURSUE, TurnBased_QueueElem::uActionLength и AIDirection::uDistance.
Используется в ActorAIDoAdditionalMove() и ActorAISetMovementDecision().
void stru262_TurnBased::ActorAIChooseNewTargets | ( | ) |
См. определение в файле TurnEngine.cpp строка 1084
Перекрестные ссылки Actor::_SelectTarget(), Actor::AI_Bored(), ai_near_actors_targets_pid, Actor::AI_Stand(), Dead, Disabled, Dying, Actor::GetDirectionInfo(), OBJECT_Actor, pActors, pEventTimer, pQueue, Removed, Summoned, uActorQueueSize, Actor::uAIState, Actor::uCurrentActionLength, Actor::uCurrentActionTime, Actor::UpdateAnimation() и Timer::uTimeElapsed.
Используется в AITurnBasedAction().
int stru262_TurnBased::turns_count |
См. определение в файле TurnEngine.h строка 74
Используется в Start(), StartTurn() и stru262_TurnBased().
int stru262_TurnBased::turn_stage |
См. определение в файле TurnEngine.h строка 75
Используется в _42777D_CastSpell_UseWand_ShootArrow(), ActorAIStopMovement(), AITurnBasedAction(), ApplyPlayerAction(), BLV_ProcessPartyActions(), OtherOverlayList::DrawTurnBasedIcon(), End(), Application::Game::EventLoop(), GameUI_DrawPortraits(), Party::GetNextActiveCharacter(), NextTurn(), ODM_ProcessPartyActions(), Engine::OnGameViewportClick(), Keyboard::ProcessInputActions(), Start(), stru262_TurnBased(), Mouse::UI_OnMouseLeftClick(), UpdateActors_BLV(), UpdateActors_ODM() и Player::UseItem_DrinkPotion_etc().
int stru262_TurnBased::ai_turn_timer |
См. определение в файле TurnEngine.h строка 76
Используется в ActorAISetMovementDecision(), ActorAIStopMovement(), AITurnBasedAction(), Start() и stru262_TurnBased().
int stru262_TurnBased::uActorQueueSize |
См. определение в файле TurnEngine.h строка 77
Используется в _406457(), _4065B0(), ActorAIChooseNewTargets(), ActorAIDoAdditionalMove(), ActorAISetMovementDecision(), ActorAIStopMovement(), End(), GameUI_DrawPortraits(), NextTurn(), SetAIRecoveryTimes(), SortTurnQueue(), Start(), StartTurn(), StepTurnQueue() и stru262_TurnBased().
int stru262_TurnBased::turn_initiative |
См. определение в файле TurnEngine.h строка 78
Используется в _406457(), AITurnBasedAction(), Start(), StartTurn(), StepTurnQueue() и stru262_TurnBased().
int stru262_TurnBased::uActionPointsLeft |
См. определение в файле TurnEngine.h строка 79
Используется в AITurnBasedAction(), OtherOverlayList::DrawTurnBasedIcon(), NextTurn(), Keyboard::ProcessInputActions() и stru262_TurnBased().
int stru262_TurnBased::field_18 |
См. определение в файле TurnEngine.h строка 80
Используется в AITurnBasedAction(), End(), Application::Game::EventLoop(), NextTurn(), Engine::OnGameViewportClick(), Keyboard::ProcessInputActions(), SortTurnQueue(), Start(), stru262_TurnBased() и Mouse::UI_OnMouseLeftClick().
int stru262_TurnBased::pending_actions |
См. определение в файле TurnEngine.h строка 81
Используется в CastSpellInfoHelpers::_427E01_cast_spell(), _46BFFA_update_spell_fx(), NextTurn(), SpriteObject::OnInteraction(), StartTurn(), stru262_TurnBased() и Actor::UpdateActorAI().
TurnBased_QueueElem stru262_TurnBased::pQueue[530] |
См. определение в файле TurnEngine.h строка 82
Используется в _406457(), _4065B0(), ActorAIChooseNewTargets(), ActorAIDoAdditionalMove(), ActorAISetMovementDecision(), ActorAIStopMovement(), ActorMove(), AI_Action_(), AIAttacks(), AITurnBasedAction(), End(), GameUI_DrawPortraits(), Party::GetNextActiveCharacter(), NextTurn(), Keyboard::ProcessInputActions(), SetAIRecoveryTimes(), SortTurnQueue(), Start(), StartTurn() и StepTurnQueue().