World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
Классы | |
struct | stru319 |
struct | AIDirection |
struct | ActorJob |
struct | Actor |
Определения типов | |
using | EngineIoc = Engine_::IocContainer |
Функции | |
bool | CheckActors_proximity () |
int | IsActorAlive (unsigned int uType, unsigned int uParam, unsigned int uNumAlive) |
void | sub_448518_npc_set_item (int npc, unsigned int item, int a3) |
void | ToggleActorGroupFlag (unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle) |
bool | sub_4070EF_prolly_detect_player (unsigned int uObjID, unsigned int uObj2ID) |
bool | SpawnActor (unsigned int uMonsterID) |
int | sub_44FA4C_spawn_light_elemental (int spell_power, int caster_skill_level, int duration_game_seconds) |
void | SpawnEncounter (struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5) |
void | area_of_effect__damage_evaluate () |
double | sub_43AE12 (signed int a1) |
void | ItemDamageFromActor (unsigned int uObjID, unsigned int uActorID, struct Vec3_int_ *pVelocity) |
Переменные | |
stru319 | stru_50C198 |
std::array< Actor, 500 > | pActors |
size_t | uNumActors |
using EngineIoc = Engine_::IocContainer |
enum ABILITY_INDEX |
enum ACTOR_BUFF_INDEX |
См. определение в файле Actor.h строка 38
enum ObjectType |
enum AIState : unsigned __int16 |
enum ActorAnimation : __int32 |
bool CheckActors_proximity | ( | ) |
См. определение в файле Actor.cpp строка 4034
Перекрестные ссылки Dead, Disabled, Dying, int_get_vector_length(), LEVEL_Indoor, pActors, pParty, Removed, Summoned, uCurrentlyLoadedLevelType, uNumActors и Party::vPosition.
Используется в Application::Game::EventLoop().
int IsActorAlive | ( | unsigned int | uType, |
unsigned int | uParam, | ||
unsigned int | uNumAlive | ||
) |
См. определение в файле Actor.cpp строка 3240
Перекрестные ссылки Actor::SearchActorByGroup(), Actor::SearchActorByID(), Actor::SearchActorByMonsterID() и Actor::SearchAliveActors().
Используется в EventProcessor() и NPC_EventProcessor().
void sub_448518_npc_set_item | ( | int | npc, |
unsigned int | item, | ||
int | a3 | ||
) |
См. определение в файле Actor.cpp строка 127
Перекрестные ссылки Actor::GiveItem(), pActors и uNumActors.
Используется в EventProcessor().
void ToggleActorGroupFlag | ( | unsigned int | uGroupID, |
unsigned int | uFlag, | ||
unsigned int | bToggle | ||
) |
См. определение в файле Actor.cpp строка 4426
Перекрестные ссылки Dead, Disabled, pActors, Standing и uNumActors.
Используется в EventProcessor().
bool sub_4070EF_prolly_detect_player | ( | unsigned int | uObjID, |
unsigned int | uObj2ID | ||
) |
См. определение в файле Actor.cpp строка 4688
Перекрестные ссылки Plane_int_::dist, fixpoint_div(), fixpoint_mul(), IndoorLocation::GetSector(), integer_sqrt(), LEVEL_Outdoor, OBJECT_Actor, OBJECT_Decoration, OBJECT_Item, OBJECT_Player, pActors, BLVFace::pBounding, BLVFace::pFacePlane_old, IndoorLocation::pFaces, pIndoor, pLevelDecorations, pParty, BLVSector::pPortals, IndoorLocation::pSectors, pSpriteObjects, BLVFace::pVertexIDs, IndoorLocation::pVertices, Party::sEyelevel, sub_4075DB(), BLVFace::uBackSectorID, uCurrentlyLoadedLevelType, BLVSector::uNumPortals, BLVFace::uSectorID, Plane_int_::vNormal, Party::vPosition, BBox_short_::x2, BBox_short_::y2 и BBox_short_::z2.
Используется в Actor::_SelectTarget() и Actor::MakeActorAIList_BLV().
bool SpawnActor | ( | unsigned int | uMonsterID | ) |
См. определение в файле Actor.cpp строка 4922
Перекрестные ссылки LODFile_Sprites::DeleteSomeSprites(), dword_5C6DF8, Actor::pActorName, pActors, MonsterStats::pInfos, Actor::pMonsterInfo, pMonsterList, MonsterList::pMonsters, pMonsterStats, MonsterInfo::pName, pPaletteManager, pParty, pSprites_LOD, PaletteManager::ResetNonTestLocked(), Actor::sCurrentHP, Party::sRotationY, Actor::uActorHeight, Actor::uActorRadius, MonsterInfo::uHP, MonsterDesc::uMonsterHeight, MonsterDesc::uMonsterRadius, MonsterDesc::uMovementSpeed, Actor::uMovementSpeed, uNumActors, MonsterList::uNumMonsters, Actor::uTetherDistance, Actor::vInitialPosition, Party::vPosition, Actor::vPosition и Actor::word_000086_some_monster_id.
Используется в GUIWindow_Inventory::Update().
int sub_44FA4C_spawn_light_elemental | ( | int | spell_power, |
int | caster_skill_level, | ||
int | duration_game_seconds | ||
) |
См. определение в файле Actor.cpp строка 4969
Перекрестные ссылки ACTOR_BUFF_SUMMONED, BLV_GetFloorLevel(), stru193_math::Cos(), fixpoint_mul(), GameTime::FromSeconds(), MonsterList::GetMonsterIDByName(), Party::GetPlayingTime(), IndoorLocation::GetSector(), MonsterInfo::Hostility_Friendly, LEVEL_Indoor, LEVEL_Outdoor, OBJECT_Player, pActors, pIndoor, MonsterStats::pInfos, pMonsterList, MonsterList::pMonsters, pMonsterStats, MonsterInfo::pName, pParty, Removed, stru193_math::Sin(), stru_5C6E00, Summoned, uCurrentlyLoadedLevelType, MonsterInfo::uHP, MonsterDesc::uMonsterHeight, MonsterDesc::uMonsterRadius, MonsterDesc::uMovementSpeed, uNumActors и Party::vPosition.
Используется в CastSpellInfoHelpers::_427E01_cast_spell().
void SpawnEncounter | ( | struct MapInfo * | pMapInfo, |
struct SpawnPointMM7 * | spawn, | ||
int | a3, | ||
int | a4, | ||
int | a5 | ||
) |
См. определение в файле Actor.cpp строка 5063
Перекрестные ссылки BLV_GetFloorLevel(), stru193_math::Cos(), OutdoorLocation::ddm, MapInfo::Dif_M1, MapInfo::Dif_M2, MapInfo::Dif_M3, IndoorLocation::dlv, Engine_DeinitializeAndTerminate(), DDM_DLV_Header::field_C_alert, MonsterStats::FindMonsterByTextureName(), fixpoint_mul(), MonsterList::GetMonsterIDByName(), IndoorLocation::GetSector(), MonsterInfo::Hostility_Friendly, LEVEL_Indoor, LEVEL_Outdoor, logger, Actor::pActorName, pActors, MapInfo::pEncounterMonster1Texture, MapInfo::pEncounterMonster2Texture, MapInfo::pEncounterMonster3Texture, pIndoor, MonsterStats::pInfos, Actor::pMonsterInfo, pMonsterList, MonsterList::pMonsters, pMonsterStats, MonsterInfo::pName, pOutdoor, Actor::PrepareSprites(), Actor::sCurrentHP, stru193_math::Sin(), stru_5C6E00, Actor::uActorHeight, Actor::uActorRadius, Actor::uAttributes, SpawnPointMM7::uAttributes, uCurrentlyLoadedLevelType, MapInfo::uEncounterMonster1AtLeast, MapInfo::uEncounterMonster1AtMost, MapInfo::uEncounterMonster2AtLeast, MapInfo::uEncounterMonster2AtMost, MapInfo::uEncounterMonster3AtLeast, MapInfo::uEncounterMonster3AtMost, Actor::uGroup, SpawnPointMM7::uGroup, MonsterInfo::uHostilityType, MonsterInfo::uHP, SpawnPointMM7::uIndex, MonsterDesc::uMonsterHeight, MonsterDesc::uMonsterRadius, MonsterDesc::uMovementSpeed, Actor::uMovementSpeed, uNumActors, Actor::uSectorID, Actor::uTetherDistance, Actor::vInitialPosition, Actor::vPosition, SpawnPointMM7::vPosition, Log::Warning(), Actor::word_000086_some_monster_id и word_4E8152.
Используется в _45063B_spawn_some_monster(), ODM_LoadAndInitialize(), PrepareToLoadBLV() и sub_448CF4_spawn_monsters().
void area_of_effect__damage_evaluate | ( | ) |
См. определение в файле Actor.cpp строка 5320
Перекрестные ссылки ACTOR_BUFF_PARALYZED, Actor::ActorDamageFromMonster(), ai_near_actors_targets_pid, AttackerInfo, Condition_Dead, Condition_Eradicated, Condition_Pertified, stru298::count, Actor::DamageMonsterFromParty(), DamagePlayerFromMonster(), stru298::field_324, stru298::field_3EC, stru298::field_450, SpriteObject::field_61, ItemDamageFromActor(), OBJECT_Actor, OBJECT_Item, OBJECT_Player, pActors, stru298::pIDs, pParty, Party::pPlayers, pSpriteObjects, stru298::pXs, stru298::pYs, stru298::pZs, Party::sEyelevel, stru_50C198, sub_407A1C(), uNumActors, Party::uPartyHeight, stru298::vec_4B4, Party::vPosition и stru319::which_player_to_attack().
Используется в UpdateUserInput_and_MapSpecificStuff().
double sub_43AE12 | ( | signed int | a1 | ) |
См. определение в файле Actor.cpp строка 5528
Перекрестные ссылки flt_4E4A80.
Используется в Actor::AddBloodsplatOnDamageOverlay().
void ItemDamageFromActor | ( | unsigned int | uObjID, |
unsigned int | uActorID, | ||
struct Vec3_int_ * | pVelocity | ||
) |
См. определение в файле Actor.cpp строка 5553
Перекрестные ссылки _43AFE3_calc_spell_damage(), Actor::AddBloodsplatOnDamageOverlay(), Actor::AI_Stun(), MonsterStats::BelongsToSupertype(), Actor::Die(), fixpoint_mul(), MONSTER_SUPERTYPE_TREANT, OBJECT_Item, pActors и pSpriteObjects.
Используется в area_of_effect__damage_evaluate() и sub_43A97E().
stru319 stru_50C198 |
См. определение в файле Actor.cpp строка 41
Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42ECB5_PlayerAttacksActor(), Actor::AI_SpellAttack(), area_of_effect__damage_evaluate(), DamagePlayerFromMonster() и FinalInitialization().
std::array<Actor, 500> pActors |
См. определение в файле Actor.cpp строка 38
Используется в stru262_TurnBased::_406457(), CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42ECB5_PlayerAttacksActor(), _45063B_spawn_some_monster(), Engine::_461103_load_level_sub(), Party::_46A89E_immolation_effect(), SpriteObject::_46BEF1_apply_spells_aoe(), _46BFFA_update_spell_fx(), Actor::_46DF1A_collide_against_actor(), _493938_regenerate(), Actor::_SelectTarget(), stru262_TurnBased::ActorAIChooseNewTargets(), stru262_TurnBased::ActorAIDoAdditionalMove(), Actor::ActorDamageFromMonster(), ActorInteraction(), stru262_TurnBased::ActorMove(), Actor::AggroSurroundingPeasants(), stru262_TurnBased::AI_Action_(), Actor::AI_Bored(), Actor::AI_FaceObject(), Actor::AI_Flee(), Actor::AI_MeleeAttack(), Actor::AI_MissileAttack1(), Actor::AI_MissileAttack2(), Actor::AI_Pursue1(), Actor::AI_Pursue2(), Actor::AI_Pursue3(), Actor::AI_RandomMove(), Actor::AI_RangedAttack(), Actor::AI_SpellAttack(), Actor::AI_SpellAttack1(), Actor::AI_SpellAttack2(), Actor::AI_Stand(), Actor::AI_Stun(), stru262_TurnBased::AIAttacks(), stru262_TurnBased::AITurnBasedAction(), Actor::ApplyFineForKillingPeasant(), area_of_effect__damage_evaluate(), Arena_SelectionFightLevel(), Actor::Arena_summon_actor(), check_event_triggers(), CheckActors_proximity(), Actor::DamageMonsterFromParty(), DamagePlayerFromMonster(), Actor::Die(), DoInteractionWithTopmostZObject(), DoPrepareWorld(), stru262_TurnBased::End(), Application::Game::EventLoop(), EventProcessor(), Actor::Explode(), Game_StartDialogue(), GameUI_DrawMinimap(), GameUI_WritePointedObjectStatusString(), Render::GetActorsInViewport(), Actor::GetDirectionInfo(), Actor::GiveItem(), OutdoorLocation::InitalizeActors(), Actor::InitializeActors(), Vis::is_part_of_selection(), ItemDamageFromActor(), OutdoorLocation::Load(), IndoorLocation::Load(), Actor::MakeActorAIList_BLV(), Actor::MakeActorAIList_ODM(), MonsterPopup_Draw(), stru262_TurnBased::NextTurn(), Engine::OnGameViewportClick(), AudioPlayer::PlaySound(), Actor::PlaySound(), IndoorLocation::PrepareActorRenderList_BLV(), OutdoorLocation::PrepareActorsDrawList(), PrepareToLoadBLV(), Actor::Resurrect(), SaveGame(), Actor::SearchActorByGroup(), Actor::SearchActorByID(), Actor::SearchActorByMonsterID(), Actor::SearchAliveActors(), stru262_TurnBased::SetAIRecoveryTimes(), stru262_TurnBased::SortTurnQueue(), SpawnActor(), SpawnEncounter(), Actor::StandAwhile(), stru262_TurnBased::Start(), Player::StealFromActor(), stru262_TurnBased::StepTurnQueue(), sub_4070EF_prolly_detect_player(), sub_448518_npc_set_item(), sub_448CF4_spawn_monsters(), sub_44FA4C_spawn_light_elemental(), Actor::SummonMinion(), ToggleActorGroupFlag(), Actor::ToggleFlag(), GUIWindow_Dialogue::Update(), Actor::UpdateActorAI(), UpdateActors_BLV(), UpdateActors_ODM(), SpriteObject::UpdateObject_fn0_BLV(), SpriteObject::UpdateObject_fn0_ODM(), UpdateObjects() и Party::Yell().
size_t uNumActors |
См. определение в файле Actor.cpp строка 39
Используется в CastSpellInfoHelpers::_427E01_cast_spell(), _45063B_spawn_some_monster(), Engine::_461103_load_level_sub(), Party::_46A89E_immolation_effect(), SpriteObject::_46BEF1_apply_spells_aoe(), Actor::_SelectTarget(), Actor::AggroSurroundingPeasants(), Actor::AI_MeleeAttack(), Actor::AI_Stand(), stru262_TurnBased::AITurnBasedAction(), area_of_effect__damage_evaluate(), Arena_SelectionFightLevel(), Actor::Arena_summon_actor(), BLV_ProcessPartyActions(), check_event_triggers(), CheckActors_proximity(), DoPrepareWorld(), EventProcessor(), GameUI_DrawMinimap(), Actor::GiveItem(), OutdoorLocation::InitalizeActors(), Actor::InitializeActors(), OutdoorLocation::Load(), IndoorLocation::Load(), Actor::MakeActorAIList_BLV(), Actor::MakeActorAIList_ODM(), ODM_ProcessPartyActions(), AudioPlayer::PlaySound(), IndoorLocation::PrepareActorRenderList_BLV(), OutdoorLocation::PrepareActorsDrawList(), PrepareToLoadBLV(), SaveGame(), Actor::SearchActorByGroup(), Actor::SearchActorByMonsterID(), Actor::SearchAliveActors(), SpawnActor(), SpawnEncounter(), sub_448518_npc_set_item(), sub_448CF4_spawn_monsters(), sub_44FA4C_spawn_light_elemental(), Actor::SummonMinion(), ToggleActorGroupFlag(), Actor::ToggleFlag(), GUIWindow_Dialogue::Update(), Actor::UpdateActorAI(), UpdateActors_BLV(), UpdateActors_ODM(), SpriteObject::UpdateObject_fn0_BLV(), SpriteObject::UpdateObject_fn0_ODM() и Party::Yell().