World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Файл Events.h

См. исходные тексты.

Классы

struct  EventIndex
 
struct  _evt_raw
 
struct  ByteArray
 

Перечисления

enum  EventType {
  EVENT_Exit = 0x1, EVENT_SpeakInHouse = 0x2, EVENT_PlaySound = 0x3, EVENT_MouseOver = 0x4,
  EVENT_LocationName = 0x5, EVENT_MoveToMap = 0x6, EVENT_OpenChest = 0x7, EVENT_ShowFace = 0x8,
  EVENT_ReceiveDamage = 0x9, EVENT_SetSnow = 0xA, EVENT_SetTexture = 0xB, EVENT_SetSprite = 0xD,
  EVENT_Compare = 0xE, EVENT_ChangeDoorState = 0xF, EVENT_Add = 0x10, EVENT_Substract = 0x11,
  EVENT_Set = 0x12, EVENT_SummonMonsters = 0x13, EVENT_CastSpell = 0x15, EVENT_SpeakNPC = 0x16,
  EVENT_SetFacesBit = 0x17, EVENT_ToggleActorFlag = 0x18, EVENT_RandomGoTo = 0x19, EVENT_InputString = 0x1A,
  EVENT_StatusText = 0x1D, EVENT_ShowMessage = 0x1E, EVENT_OnTimer = 0x1F, EVENT_ToggleIndoorLight = 0x20,
  EVENT_PressAnyKey = 0x21, EVENT_SummonItem = 0x22, EVENT_ForPartyMember = 0x23, EVENT_Jmp = 0x24,
  EVENT_OnMapReload = 0x25, EVENT_OnLongTimer = 0x26, EVENT_SetNPCTopic = 0x27, EVENT_MoveNPC = 0x28,
  EVENT_GiveItem = 0x29, EVENT_ChangeEvent = 0x2A, EVENT_CheckSkill = 0x2B, EVENT_OnCanShowDialogItemCmp = 44,
  EVENT_EndCanShowDialogItem = 45, EVENT_SetCanShowDialogItem = 46, EVENT_SetNPCGroupNews = 0x2F, EVENT_SetActorGroup = 0x30,
  EVENT_NPCSetItem = 0x31, EVENT_SetNPCGreeting = 0x32, EVENT_IsActorAlive = 0x33, EVENT_IsActorAssasinated = 52,
  EVENT_OnMapLeave = 0x35, EVENT_ChangeGroup = 0x36, EVENT_ChangeGroupAlly = 0x37, EVENT_CheckSeason = 0x38,
  EVENT_ToggleActorGroupFlag = 0x39, EVENT_ToggleChestFlag = 0x3A, EVENT_CharacterAnimation = 0x3B, EVENT_SetActorItem = 0x3C,
  EVENT_OnDateTimer = 0x3D, EVENT_EnableDateTimer = 0x3E, EVENT_StopAnimation = 0x3F, EVENT_CheckItemsCount = 0x40,
  EVENT_RemoveItems = 0x41, EVENT_SpecialJump = 0x42, EVENT_IsTotalBountyHuntingAwardInRange = 0x43, EVENT_IsNPCInParty = 0x44
}
 
enum  VariableType {
  VAR_Sex = 0x1, VAR_Class = 0x2, VAR_CurrentHP = 0x3, VAR_MaxHP = 0x4,
  VAR_CurrentSP = 0x5, VAR_MaxSP = 0x6, VAR_ActualAC = 0x7, VAR_ACModifier = 0x8,
  VAR_BaseLevel = 0x9, VAR_LevelModifier = 0xA, VAR_Age = 0xB, VAR_Award = 0xC,
  VAR_Experience = 0xD, VAR_Race = 0xE, VAR_QBits_QuestsDone = 0x10, VAR_PlayerItemInHands = 0x11,
  VAR_Hour = 0x12, VAR_DayOfYear = 0x13, VAR_DayOfWeek = 0x14, VAR_FixedGold = 0x15,
  VAR_RandomGold = 0x16, VAR_FixedFood = 0x17, VAR_RandomFood = 0x18, VAR_MightBonus = 0x19,
  VAR_IntellectBonus = 0x1A, VAR_PersonalityBonus = 0x1B, VAR_EnduranceBonus = 0x1C, VAR_SpeedBonus = 0x1D,
  VAR_AccuracyBonus = 0x1E, VAR_LuckBonus = 0x1F, VAR_BaseMight = 0x20, VAR_BaseIntellect = 0x21,
  VAR_BasePersonality = 0x22, VAR_BaseEndurance = 0x23, VAR_BaseSpeed = 0x24, VAR_BaseAccuracy = 0x25,
  VAR_BaseLuck = 0x26, VAR_ActualMight = 0x27, VAR_ActualIntellect = 0x28, VAR_ActualPersonality = 0x29,
  VAR_ActualEndurance = 0x2A, VAR_ActualSpeed = 0x2B, VAR_ActualAccuracy = 0x2C, VAR_ActualLuck = 0x2D,
  VAR_FireResistance = 0x2E, VAR_AirResistance = 0x2F, VAR_WaterResistance = 0x30, VAR_EarthResistance = 0x31,
  VAR_SpiritResistance = 0x32, VAR_MindResistance = 0x33, VAR_BodyResistance = 0x34, VAR_LightResistance = 0x35,
  VAR_DarkResistance = 0x36, VAR_PhysicalResistance = 0x37, VAR_MagicResistance = 0x38, VAR_FireResistanceBonus = 0x39,
  VAR_AirResistanceBonus = 0x3A, VAR_WaterResistanceBonus = 0x3B, VAR_EarthResistanceBonus = 0x3C, VAR_SpiritResistanceBonus = 0x3D,
  VAR_MindResistanceBonus = 0x3E, VAR_BodyResistanceBonus = 0x3F, VAR_LightResistanceBonus = 0x40, VAR_DarkResistanceBonus = 0x41,
  VAR_PhysicalResistanceBonus = 0x42, VAR_MagicResistanceBonus = 0x43, VAR_StaffSkill = 0x44, VAR_SwordSkill = 0x45,
  VAR_DaggerSkill = 0x46, VAR_AxeSkill = 0x47, VAR_SpearSkill = 0x48, VAR_BowSkill = 0x49,
  VAR_MaceSkill = 0x4A, VAR_BlasterSkill = 0x4B, VAR_ShieldSkill = 0x4C, VAR_LeatherSkill = 0x4D,
  VAR_SkillChain = 0x4E, VAR_PlateSkill = 0x4F, VAR_FireSkill = 0x50, VAR_AirSkill = 0x51,
  VAR_WaterSkill = 0x52, VAR_EarthSkill = 0x53, VAR_SpiritSkill = 0x54, VAR_MindSkill = 0x55,
  VAR_BodySkill = 0x56, VAR_LightSkill = 0x57, VAR_DarkSkill = 0x58, VAR_IdentifyItemSkill = 0x59,
  VAR_MerchantSkill = 0x5A, VAR_RepairSkill = 0x5B, VAR_BodybuildingSkill = 0x5C, VAR_MeditationSkill = 0x5D,
  VAR_PerceptionSkill = 0x5E, VAR_DiplomacySkill = 0x5F, VAR_ThieverySkill = 0x60, VAR_DisarmTrapSkill = 0x61,
  VAR_DodgeSkill = 0x62, VAR_UnarmedSkill = 0x63, VAR_IdentifyMonsterSkill = 0x64, VAR_ArmsmasterSkill = 0x65,
  VAR_StealingSkill = 0x66, VAR_AlchemySkill = 0x67, VAR_LearningSkill = 0x68, VAR_Cursed = 0x69,
  VAR_Weak = 0x6A, VAR_Asleep = 0x6B, VAR_Afraid = 0x6C, VAR_Drunk = 0x6D,
  VAR_Insane = 0x6E, VAR_PoisonedGreen = 0x6F, VAR_DiseasedGreen = 0x70, VAR_PoisonedYellow = 0x71,
  VAR_DiseasedYellow = 0x72, VAR_PoisonedRed = 0x73, VAR_DiseasedRed = 0x74, VAR_Paralyzed = 0x75,
  VAR_Unconsious = 0x76, VAR_Dead = 0x77, VAR_Stoned = 0x78, VAR_Eradicated = 0x79,
  VAR_MajorCondition = 0x7A, VAR_MapPersistentVariable_0 = 123, VAR_MapPersistentVariable_74 = 0xC5, VAR_MapPersistentVariable_75 = 0xC6,
  VAR_MapPersistentVariable_99 = 0xDE, VAR_AutoNotes = 0xDF, VAR_IsMightMoreThanBase = 0xE0, VAR_IsIntellectMoreThanBase = 0xE1,
  VAR_IsPersonalityMoreThanBase = 0xE2, VAR_IsEnduranceMoreThanBase = 0xE3, VAR_IsSpeedMoreThanBase = 0xE4, VAR_IsAccuracyMoreThanBase = 0xE5,
  VAR_IsLuckMoreThanBase = 0xE6, VAR_PlayerBits = 0xE7, VAR_NPCs2 = 0xE8, VAR_IsFlying = 0xF0,
  VAR_HiredNPCHasSpeciality = 0xF1, VAR_CircusPrises = 0xF2, VAR_NumSkillPoints = 0xF3, VAR_MonthIs = 0xF4,
  VAR_Counter1 = 0xF5, VAR_Counter2 = 0xF6, VAR_Counter3 = 0xF7, VAR_Counter4 = 0xF8,
  VAR_Counter5 = 0xF9, VAR_Counter6 = 0xFa, VAR_Counter7 = 0xFB, VAR_Counter8 = 0xFC,
  VAR_Counter9 = 0xFD, VAR_Counter10 = 0xFE, VAR_UnknownTimeEvent0 = 0xFF, VAR_UnknownTimeEvent19 = 0x112,
  VAR_ReputationInCurrentLocation = 0x113, VAR_History_0 = 0x114, VAR_History_28 = 0x130, VAR_Unknown1 = 0x131,
  VAR_GoldInBank = 0x132, VAR_NumDeaths = 0x133, VAR_NumBounties = 0x134, VAR_PrisonTerms = 0x135,
  VAR_ArenaWinsPage = 0x136, VAR_ArenaWinsSquire = 0x137, VAR_ArenaWinsKnight = 0x138, VAR_ArenaWinsLord = 0x139,
  VAR_Invisible = 0x13A, VAR_ItemEquipped = 0x13B
}
 

Функции

unsigned int LoadEventsToBuffer (const char *pContainerName, char *pBuffer, unsigned int uBufferSize)
 
void Initialize_GlobalEVT ()
 
void LoadLevel_InitializeLevelEvt ()
 
void EventProcessor (int uEventID, int a2, int a3, int entry_line=0)
 
char * GetEventHintString (unsigned int uEventID)
 
void init_event_triggers ()
 
void check_event_triggers ()
 
bool sub_4465DF_check_season (int a1)
 
void sub_448CF4_spawn_monsters (int16_t typeindex, int16_t level, int count, int x, int y, int z, int group, unsigned int uUniqueName)
 

Переменные

std::array< EventIndex, 4400 > pSomeOtherEVT_Events
 
signed int uSomeOtherEVT_NumEvents
 
char * pSomeOtherEVT
 
std::array< EventIndex, 4400 > pSomeEVT_Events
 
signed int uSomeEVT_NumEvents
 
char * pSomeEVT
 
unsigned int uGlobalEVT_NumEvents
 
unsigned int uGlobalEVT_Size
 
std::array< char, 46080 > pGlobalEVT
 
std::array< EventIndex, 4400 > pGlobalEVT_Index
 
std::array< unsigned int, 500 > pLevelStrOffsets
 
unsigned int uLevelStrNumStrings
 
unsigned int uLevelStrFileSize
 
signed int uLevelEVT_NumEvents
 
unsigned int uLevelEVT_Size
 
std::array< char, 9216 > pLevelStr
 
std::array< char, 9216 > pLevelEVT
 
std::array< EventIndex, 4400 > pLevelEVT_Index
 

Перечисления

◆ EventType

enum EventType
Элементы перечислений
EVENT_Exit 
EVENT_SpeakInHouse 
EVENT_PlaySound 
EVENT_MouseOver 
EVENT_LocationName 
EVENT_MoveToMap 
EVENT_OpenChest 
EVENT_ShowFace 
EVENT_ReceiveDamage 
EVENT_SetSnow 
EVENT_SetTexture 
EVENT_SetSprite 
EVENT_Compare 
EVENT_ChangeDoorState 
EVENT_Add 
EVENT_Substract 
EVENT_Set 
EVENT_SummonMonsters 
EVENT_CastSpell 
EVENT_SpeakNPC 
EVENT_SetFacesBit 
EVENT_ToggleActorFlag 
EVENT_RandomGoTo 
EVENT_InputString 
EVENT_StatusText 
EVENT_ShowMessage 
EVENT_OnTimer 
EVENT_ToggleIndoorLight 
EVENT_PressAnyKey 
EVENT_SummonItem 
EVENT_ForPartyMember 
EVENT_Jmp 
EVENT_OnMapReload 
EVENT_OnLongTimer 
EVENT_SetNPCTopic 
EVENT_MoveNPC 
EVENT_GiveItem 
EVENT_ChangeEvent 
EVENT_CheckSkill 
EVENT_OnCanShowDialogItemCmp 
EVENT_EndCanShowDialogItem 
EVENT_SetCanShowDialogItem 
EVENT_SetNPCGroupNews 
EVENT_SetActorGroup 
EVENT_NPCSetItem 
EVENT_SetNPCGreeting 
EVENT_IsActorAlive 
EVENT_IsActorAssasinated 
EVENT_OnMapLeave 
EVENT_ChangeGroup 
EVENT_ChangeGroupAlly 
EVENT_CheckSeason 
EVENT_ToggleActorGroupFlag 
EVENT_ToggleChestFlag 
EVENT_CharacterAnimation 
EVENT_SetActorItem 
EVENT_OnDateTimer 
EVENT_EnableDateTimer 
EVENT_StopAnimation 
EVENT_CheckItemsCount 
EVENT_RemoveItems 
EVENT_SpecialJump 
EVENT_IsTotalBountyHuntingAwardInRange 
EVENT_IsNPCInParty 

См. определение в файле Events.h строка 60

60  {
61  EVENT_Exit = 0x1,
62  EVENT_SpeakInHouse = 0x2,
63  EVENT_PlaySound = 0x3,
64  EVENT_MouseOver = 0x4,
65  EVENT_LocationName = 0x5,
66  EVENT_MoveToMap = 0x6,
67  EVENT_OpenChest = 0x7,
68  EVENT_ShowFace = 0x8,
69  EVENT_ReceiveDamage = 0x9,
70  EVENT_SetSnow = 0xA,
71  EVENT_SetTexture = 0xB,
72  EVENT_SetSprite = 0xD,
73  EVENT_Compare = 0xE,
75  EVENT_Add = 0x10,
76  EVENT_Substract = 0x11,
77  EVENT_Set = 0x12,
78  EVENT_SummonMonsters = 0x13,
79  EVENT_CastSpell = 0x15,
80  EVENT_SpeakNPC = 0x16,
81  EVENT_SetFacesBit = 0x17,
82  EVENT_ToggleActorFlag = 0x18,
83  EVENT_RandomGoTo = 0x19,
84  EVENT_InputString = 0x1A,
85  EVENT_StatusText = 0x1D,
86  EVENT_ShowMessage = 0x1E,
87  EVENT_OnTimer = 0x1F,
89  EVENT_PressAnyKey = 0x21,
90  EVENT_SummonItem = 0x22,
91  EVENT_ForPartyMember = 0x23,
92  EVENT_Jmp = 0x24,
93  EVENT_OnMapReload = 0x25,
94  EVENT_OnLongTimer = 0x26,
95  EVENT_SetNPCTopic = 0x27,
96  EVENT_MoveNPC = 0x28,
97  EVENT_GiveItem = 0x29,
98  EVENT_ChangeEvent = 0x2A,
99  EVENT_CheckSkill = 0x2B,
103  EVENT_SetNPCGroupNews = 0x2F,
104  EVENT_SetActorGroup = 0x30,
105  EVENT_NPCSetItem = 0x31,
106  EVENT_SetNPCGreeting = 0x32,
107  EVENT_IsActorAlive = 0x33,
109  EVENT_OnMapLeave = 0x35,
110  EVENT_ChangeGroup = 0x36,
111  EVENT_ChangeGroupAlly = 0x37,
112  EVENT_CheckSeason = 0x38,
114  EVENT_ToggleChestFlag = 0x3A,
116  EVENT_SetActorItem = 0x3C,
117  EVENT_OnDateTimer = 0x3D,
118  EVENT_EnableDateTimer = 0x3E,
119  EVENT_StopAnimation = 0x3F,
120  EVENT_CheckItemsCount = 0x40,
121  EVENT_RemoveItems = 0x41,
122  EVENT_SpecialJump = 0x42,
124  EVENT_IsNPCInParty = 0x44,
125 };

◆ VariableType

Элементы перечислений
VAR_Sex 
VAR_Class 
VAR_CurrentHP 
VAR_MaxHP 
VAR_CurrentSP 
VAR_MaxSP 
VAR_ActualAC 
VAR_ACModifier 
VAR_BaseLevel 
VAR_LevelModifier 
VAR_Age 
VAR_Award 
VAR_Experience 
VAR_Race 
VAR_QBits_QuestsDone 
VAR_PlayerItemInHands 
VAR_Hour 
VAR_DayOfYear 
VAR_DayOfWeek 
VAR_FixedGold 
VAR_RandomGold 
VAR_FixedFood 
VAR_RandomFood 
VAR_MightBonus 
VAR_IntellectBonus 
VAR_PersonalityBonus 
VAR_EnduranceBonus 
VAR_SpeedBonus 
VAR_AccuracyBonus 
VAR_LuckBonus 
VAR_BaseMight 
VAR_BaseIntellect 
VAR_BasePersonality 
VAR_BaseEndurance 
VAR_BaseSpeed 
VAR_BaseAccuracy 
VAR_BaseLuck 
VAR_ActualMight 
VAR_ActualIntellect 
VAR_ActualPersonality 
VAR_ActualEndurance 
VAR_ActualSpeed 
VAR_ActualAccuracy 
VAR_ActualLuck 
VAR_FireResistance 
VAR_AirResistance 
VAR_WaterResistance 
VAR_EarthResistance 
VAR_SpiritResistance 
VAR_MindResistance 
VAR_BodyResistance 
VAR_LightResistance 
VAR_DarkResistance 
VAR_PhysicalResistance 
VAR_MagicResistance 
VAR_FireResistanceBonus 
VAR_AirResistanceBonus 
VAR_WaterResistanceBonus 
VAR_EarthResistanceBonus 
VAR_SpiritResistanceBonus 
VAR_MindResistanceBonus 
VAR_BodyResistanceBonus 
VAR_LightResistanceBonus 
VAR_DarkResistanceBonus 
VAR_PhysicalResistanceBonus 
VAR_MagicResistanceBonus 
VAR_StaffSkill 
VAR_SwordSkill 
VAR_DaggerSkill 
VAR_AxeSkill 
VAR_SpearSkill 
VAR_BowSkill 
VAR_MaceSkill 
VAR_BlasterSkill 
VAR_ShieldSkill 
VAR_LeatherSkill 
VAR_SkillChain 
VAR_PlateSkill 
VAR_FireSkill 
VAR_AirSkill 
VAR_WaterSkill 
VAR_EarthSkill 
VAR_SpiritSkill 
VAR_MindSkill 
VAR_BodySkill 
VAR_LightSkill 
VAR_DarkSkill 
VAR_IdentifyItemSkill 
VAR_MerchantSkill 
VAR_RepairSkill 
VAR_BodybuildingSkill 
VAR_MeditationSkill 
VAR_PerceptionSkill 
VAR_DiplomacySkill 
VAR_ThieverySkill 
VAR_DisarmTrapSkill 
VAR_DodgeSkill 
VAR_UnarmedSkill 
VAR_IdentifyMonsterSkill 
VAR_ArmsmasterSkill 
VAR_StealingSkill 
VAR_AlchemySkill 
VAR_LearningSkill 
VAR_Cursed 
VAR_Weak 
VAR_Asleep 
VAR_Afraid 
VAR_Drunk 
VAR_Insane 
VAR_PoisonedGreen 
VAR_DiseasedGreen 
VAR_PoisonedYellow 
VAR_DiseasedYellow 
VAR_PoisonedRed 
VAR_DiseasedRed 
VAR_Paralyzed 
VAR_Unconsious 
VAR_Dead 
VAR_Stoned 
VAR_Eradicated 
VAR_MajorCondition 
VAR_MapPersistentVariable_0 
VAR_MapPersistentVariable_74 
VAR_MapPersistentVariable_75 
VAR_MapPersistentVariable_99 
VAR_AutoNotes 
VAR_IsMightMoreThanBase 
VAR_IsIntellectMoreThanBase 
VAR_IsPersonalityMoreThanBase 
VAR_IsEnduranceMoreThanBase 
VAR_IsSpeedMoreThanBase 
VAR_IsAccuracyMoreThanBase 
VAR_IsLuckMoreThanBase 
VAR_PlayerBits 
VAR_NPCs2 
VAR_IsFlying 
VAR_HiredNPCHasSpeciality 
VAR_CircusPrises 
VAR_NumSkillPoints 
VAR_MonthIs 
VAR_Counter1 
VAR_Counter2 
VAR_Counter3 
VAR_Counter4 
VAR_Counter5 
VAR_Counter6 
VAR_Counter7 
VAR_Counter8 
VAR_Counter9 
VAR_Counter10 
VAR_UnknownTimeEvent0 
VAR_UnknownTimeEvent19 
VAR_ReputationInCurrentLocation 
VAR_History_0 
VAR_History_28 
VAR_Unknown1 
VAR_GoldInBank 
VAR_NumDeaths 
VAR_NumBounties 
VAR_PrisonTerms 
VAR_ArenaWinsPage 
VAR_ArenaWinsSquire 
VAR_ArenaWinsKnight 
VAR_ArenaWinsLord 
VAR_Invisible 
VAR_ItemEquipped 

См. определение в файле Events.h строка 128

128  {
129  VAR_Sex = 0x1,
130  VAR_Class = 0x2,
131  VAR_CurrentHP = 0x3,
132  VAR_MaxHP = 0x4,
133  VAR_CurrentSP = 0x5,
134  VAR_MaxSP = 0x6,
135  VAR_ActualAC = 0x7,
136  VAR_ACModifier = 0x8,
137  VAR_BaseLevel = 0x9,
138  VAR_LevelModifier = 0xA,
139  VAR_Age = 0xB,
140  VAR_Award = 0xC,
141  VAR_Experience = 0xD,
142  VAR_Race = 0xE,
143  VAR_QBits_QuestsDone = 0x10,
144  VAR_PlayerItemInHands = 0x11,
145  VAR_Hour = 0x12,
146  VAR_DayOfYear = 0x13,
147  VAR_DayOfWeek = 0x14,
148  VAR_FixedGold = 0x15,
149  VAR_RandomGold = 0x16,
150  VAR_FixedFood = 0x17,
151  VAR_RandomFood = 0x18,
152  VAR_MightBonus = 0x19,
153  VAR_IntellectBonus = 0x1A,
154  VAR_PersonalityBonus = 0x1B,
155  VAR_EnduranceBonus = 0x1C,
156  VAR_SpeedBonus = 0x1D,
157  VAR_AccuracyBonus = 0x1E,
158  VAR_LuckBonus = 0x1F,
159  VAR_BaseMight = 0x20,
160  VAR_BaseIntellect = 0x21,
161  VAR_BasePersonality = 0x22,
162  VAR_BaseEndurance = 0x23,
163  VAR_BaseSpeed = 0x24,
164  VAR_BaseAccuracy = 0x25,
165  VAR_BaseLuck = 0x26,
166  VAR_ActualMight = 0x27,
167  VAR_ActualIntellect = 0x28,
168  VAR_ActualPersonality = 0x29,
169  VAR_ActualEndurance = 0x2A,
170  VAR_ActualSpeed = 0x2B,
171  VAR_ActualAccuracy = 0x2C,
172  VAR_ActualLuck = 0x2D,
173  VAR_FireResistance = 0x2E,
174  VAR_AirResistance = 0x2F,
175  VAR_WaterResistance = 0x30,
176  VAR_EarthResistance = 0x31,
177  VAR_SpiritResistance = 0x32,
178  VAR_MindResistance = 0x33,
179  VAR_BodyResistance = 0x34,
180  VAR_LightResistance = 0x35,
181  VAR_DarkResistance = 0x36,
182  VAR_PhysicalResistance = 0x37,
183  VAR_MagicResistance = 0x38,
185  VAR_AirResistanceBonus = 0x3A,
195  VAR_StaffSkill = 0x44,
196  VAR_SwordSkill = 0x45,
197  VAR_DaggerSkill = 0x46,
198  VAR_AxeSkill = 0x47,
199  VAR_SpearSkill = 0x48,
200  VAR_BowSkill = 0x49,
201  VAR_MaceSkill = 0x4A,
202  VAR_BlasterSkill = 0x4B,
203  VAR_ShieldSkill = 0x4C,
204  VAR_LeatherSkill = 0x4D,
205  VAR_SkillChain = 0x4E,
206  VAR_PlateSkill = 0x4F,
207  VAR_FireSkill = 0x50,
208  VAR_AirSkill = 0x51,
209  VAR_WaterSkill = 0x52,
210  VAR_EarthSkill = 0x53,
211  VAR_SpiritSkill = 0x54,
212  VAR_MindSkill = 0x55,
213  VAR_BodySkill = 0x56,
214  VAR_LightSkill = 0x57,
215  VAR_DarkSkill = 0x58,
216  VAR_IdentifyItemSkill = 0x59,
217  VAR_MerchantSkill = 0x5A,
218  VAR_RepairSkill = 0x5B,
219  VAR_BodybuildingSkill = 0x5C,
220  VAR_MeditationSkill = 0x5D,
221  VAR_PerceptionSkill = 0x5E,
222  VAR_DiplomacySkill = 0x5F,
223  VAR_ThieverySkill = 0x60,
224  VAR_DisarmTrapSkill = 0x61,
225  VAR_DodgeSkill = 0x62,
226  VAR_UnarmedSkill = 0x63,
228  VAR_ArmsmasterSkill = 0x65,
229  VAR_StealingSkill = 0x66,
230  VAR_AlchemySkill = 0x67,
231  VAR_LearningSkill = 0x68,
232  VAR_Cursed = 0x69,
233  VAR_Weak = 0x6A,
234  VAR_Asleep = 0x6B,
235  VAR_Afraid = 0x6C,
236  VAR_Drunk = 0x6D,
237  VAR_Insane = 0x6E,
238  VAR_PoisonedGreen = 0x6F,
239  VAR_DiseasedGreen = 0x70,
240  VAR_PoisonedYellow = 0x71,
241  VAR_DiseasedYellow = 0x72,
242  VAR_PoisonedRed = 0x73,
243  VAR_DiseasedRed = 0x74,
244  VAR_Paralyzed = 0x75,
245  VAR_Unconsious = 0x76,
246  VAR_Dead = 0x77,
247  VAR_Stoned = 0x78,
248  VAR_Eradicated = 0x79,
249  VAR_MajorCondition = 0x7A,
254  VAR_AutoNotes = 0xDF,
261  VAR_IsLuckMoreThanBase = 0xE6,
262  VAR_PlayerBits = 0xE7,
263  VAR_NPCs2 = 0xE8,
264  VAR_IsFlying = 0xF0,
266  VAR_CircusPrises = 0xF2,
267  VAR_NumSkillPoints = 0xF3,
268  VAR_MonthIs = 0xF4,
269  VAR_Counter1 = 0xF5,
270  VAR_Counter2 = 0xF6,
271  VAR_Counter3 = 0xF7,
272  VAR_Counter4 = 0xF8,
273  VAR_Counter5 = 0xF9,
274  VAR_Counter6 = 0xFa,
275  VAR_Counter7 = 0xFB,
276  VAR_Counter8 = 0xFC,
277  VAR_Counter9 = 0xFD,
278  VAR_Counter10 = 0xFE,
279  VAR_UnknownTimeEvent0 = 0xFF,
280  VAR_UnknownTimeEvent19 = 0x112,
282  VAR_History_0 = 0x114,
283  VAR_History_28 = 0x130,
284  VAR_Unknown1 = 0x131,
285  VAR_GoldInBank = 0x132,
286  VAR_NumDeaths = 0x133,
287  VAR_NumBounties = 0x134,
288  VAR_PrisonTerms = 0x135,
289  VAR_ArenaWinsPage = 0x136,
290  VAR_ArenaWinsSquire = 0x137,
291  VAR_ArenaWinsKnight = 0x138,
292  VAR_ArenaWinsLord = 0x139,
293  VAR_Invisible = 0x13A,
294  VAR_ItemEquipped = 0x13B,
295 };

Функции

◆ LoadEventsToBuffer()

unsigned int LoadEventsToBuffer ( const char *  pContainerName,
char *  pBuffer,
unsigned int  uBufferSize 
)

См. определение в файле Events.cpp строка 59

60  {
61  size_t size = 0;
62  void *ptr = pEvents_LOD->LoadCompressedTexture(pContainerName, &size);
63  if ((ptr == nullptr) || (size > uBufferSize)) {
64  Error("File %s Size %lu - Buffer size %lu", pContainerName, size, uBufferSize);
65  }
66 
67  memcpy(pBuffer, ptr, size);
68  free(ptr);
69  return size;
70 }

Перекрестные ссылки LOD::File::LoadCompressedTexture() и pEvents_LOD.

Используется в Initialize_GlobalEVT() и Level_LoadEvtAndStr().

+ Граф вызовов:
+ Граф вызова функции:

◆ Initialize_GlobalEVT()

void Initialize_GlobalEVT ( )

См. определение в файле Events.cpp строка 73

73  {
74  struct raw_event_header {
75  unsigned char evt_size;
76  unsigned char evt_id_l;
77  unsigned char evt_id_h;
78  unsigned char evt_sequence_num;
79  };
80  uint events_count;
81  unsigned int offset_in;
82  raw_event_header *current_hdr;
85  LoadEventsToBuffer("global.evt", pGlobalEVT.data(), 46080);
86  if (!uGlobalEVT_Size) return;
87  memset(pGlobalEVT_Index.data(), 0x80, sizeof(pGlobalEVT_Index)); // 52800
88  events_count = uGlobalEVT_NumEvents;
89  current_hdr = (raw_event_header *)pGlobalEVT.data();
90  offset_in = 0;
91  for (events_count = 0, offset_in = 0; offset_in < uGlobalEVT_Size;
92  ++events_count) {
93  pGlobalEVT_Index[events_count].uEventID =
94  current_hdr->evt_id_l + (current_hdr->evt_id_h << 8);
95  pGlobalEVT_Index[events_count].event_sequence_num =
96  current_hdr->evt_sequence_num;
97  pGlobalEVT_Index[events_count].uEventOffsetInEVT = offset_in;
98  offset_in += current_hdr->evt_size + 1;
99 
100  current_hdr = (raw_event_header *)&pGlobalEVT[offset_in];
101  }
102  uGlobalEVT_NumEvents = events_count;
103 
104  assert(uGlobalEVT_NumEvents < 4400);
105 }

Перекрестные ссылки LoadEventsToBuffer(), pGlobalEVT, pGlobalEVT_Index, uGlobalEVT_NumEvents и uGlobalEVT_Size.

Используется в Engine::SecondaryInitialization().

+ Граф вызовов:
+ Граф вызова функции:

◆ LoadLevel_InitializeLevelEvt()

void LoadLevel_InitializeLevelEvt ( )

См. определение в файле Events.cpp строка 108

108  {
109  struct raw_event_header {
110  unsigned char evt_size;
111  unsigned char evt_id_l;
112  unsigned char evt_id_h;
113  unsigned char evt_sequence_num;
114  };
115  uint events_count;
116  unsigned int offset_in;
117  raw_event_header *current_hdr;
118 
119  if (!uLevelEVT_Size) return;
120 
121  memset(MapsLongTimersList, 0, 3200);
122  memset(pLevelEVT_Index.data(), 80, sizeof(EventIndex) * 4400);
123 
126 
127  current_hdr = (raw_event_header *)pLevelEVT.data();
128  offset_in = 0;
129  for (events_count = 0, offset_in = 0; offset_in < uLevelEVT_Size;
130  ++events_count) {
131  pLevelEVT_Index[events_count].uEventID =
132  current_hdr->evt_id_l + (current_hdr->evt_id_h << 8);
133  pLevelEVT_Index[events_count].event_sequence_num =
134  current_hdr->evt_sequence_num;
135  pLevelEVT_Index[events_count].uEventOffsetInEVT = offset_in;
136  offset_in += current_hdr->evt_size + 1;
137 
138  current_hdr = (raw_event_header *)&pLevelEVT[offset_in];
139  }
140  uLevelEVT_NumEvents = events_count;
141 
142  /*
143  EmeraldIsle::Variables:
144  [0] ???
145  [1] ???
146  [2] Luck Fountain uses left
147  [3] Gold Fountain used this week
148  [4] Gold Fountain total uses
149 
150 
151  Emerald Isle #110 // Fire Resistance fountain
152  0 LocationName
153  0 if (Player.FireResistance < 50)
154  {
155  1 Set(Player.FireResistance, 50)
156  2 SetFooterString(22) // +50 Fire Resistance (temporarily)
157  3 Add(Party.Autonotes, 2)
158  4 goto return
159  }
160  5 SetFooterString(11) // Refreshing!
161  6 return
162 
163 
164 
165  Emerald Isle #111 // ???
166  Initialize
167  Set(Map.Variables[0], 30)
168  Set(Map.Variables[1], 30)
169 
170 
171  Emerald Isle #114 // month timer - manage luck fountain
172  0 LocationName
173  0 if (Player.BaseLuck >= 15)
174  {
175  2 SetFooterString(11) // Refreshing!
176  3 return
177  }
178  else
179  {
180  1 if (Map.Variables[2] >= 1)
181  {
182  4 Sub(Map.Variables[2], 1)
183  5 Add(Player.BaseLuck, 2)
184  6 SetFooterString(25) // +2 Luck (Permament)
185  7 return
186  }
187  else
188  {
189  2 SetFooterString(11) // Refreshing!
190  3 return
191  }
192  }
193 
194  8 Initialize
195  9 Set Map.Variables[2], 8
196 
197 
198 
199  Emerald Isle #115 // week timer - gold fountain in the center of town
200  0 LocationName
201  0 if (Map.Variables[4] < 3)
202  {
203  1 if (Map.Variables[3] == 0)
204  {
205  2 if (Party.Gold < 201)
206  {
207  3 if (Player.BaseLuck >= 15)
208  {
209  5 Add(Map.Variables[3], 1)
210  6 Add(Party.Gold, 1000)
211  7 Add(Map.Variables[4], 1)
212  8 goto return
213  }
214  else
215  {
216  4 goto 9
217  }
218  }
219  }
220  }
221  9 SetFooterString(11) // Refreshing!
222  10 return
223 
224  11 Initialize
225  12 Set(Map.Variables[3], 0)
226 
227 
228 
229 
230 
231  Emerald Isle #220 // day timer - monster spawner
232  0 LocationName
233  0 Initialize
234  1 if (NumAliveActors(group=20) != 0)
235  2 return
236  3 SpawnMonsters(1, level=1, count=10, x=-336, y=14512, z=0, group=20)
237  4 SpawnMonsters(1, level=2, count=5, x=16, y=16352, z=90, group=20)
238  5 SpawnMonsters(1, level=1, count=10, x=480, y=18288, z=6, group=20)
239 
240 
241 
242  Emerald Isle #200 // margareth dock tip
243  0 if (!QBits.QuestDone[17])
244  {
245  1 InitiateNPCDialogue(npc=19)
246  }
247  2 return
248 
249 
250  Emerald Isle #201 // margareth armoury tip
251  0 if (!QBits.QuestDone[17])
252  {
253  1 InitiateNPCDialogue(npc=20)
254  }
255  2 return
256  */
257 }

Перекрестные ссылки MapsLongTimers_count, MapsLongTimersList, pLevelEVT, pLevelEVT_Index, uLevelEVT_NumEvents и uLevelEVT_Size.

Используется в DoPrepareWorld() и Application::Game::EventLoop().

+ Граф вызова функции:

◆ EventProcessor()

void EventProcessor ( int  uEventID,
int  a2,
int  a3,
int  entry_line = 0 
)

См. определение в файле Events.cpp строка 260

261  {
262  signed int v4; // esi@7
263  int v11; // eax@14
264  // char *v12; // eax@15
265  // const char *v16; // esi@21
266  // bool v17; // edx@21
267  // int v18; // ecx@22
268  int v19; // ebp@36
269  signed int v20; // ecx@40
270  int v21; // eax@40
271  int v22; // edx@40
272  int v23; // eax@40
273  unsigned __int16 v24; // ax@45
274  LevelDecoration *v26; // eax@55
275  int v27; // eax@57
276  int pEventID; // eax@58
277  int pNPC_ID; // ecx@58
278  int pIndex; // esi@58
279  NPCData *pNPC; // ecx@58
280  int v38; // eax@78
281  int v39; // ecx@78
282  int v42; // eax@84
283  int v43; // ecx@84
284  // GUIButton *v48; // ecx@93
285  // GUIButton *v49; // esi@94
286  signed int pValue; // ebp@124
287  Player *pPlayer; // esi@125
288  int v83; // eax@212
289  int v84; // ebp@220
290  int v90; // eax@243
291  const char *v91; // ecx@247
292  int v94; // ecx@262
293  int v95; // ebp@262
294  int v96; // edx@262
295  int v97; // eax@262
296  unsigned int v98; // edx@265
297  const char *v99; // esi@267
298  int v100; // edx@267
299  unsigned int v102; // esi@281
300  int v104; // eax@288
301  int v106; // [sp-20h] [bp-4C8h]@278
302  signed int v109; // [sp-14h] [bp-4BCh]@278
303  signed int v110; // [sp-10h] [bp-4B8h]@278
304  int curr_seq_num; // [sp+10h] [bp-498h]@4
305  int v126; // [sp+1Ch] [bp-48Ch]@262
306  int player_choose; // [sp+20h] [bp-488h]@4
307  // int v128; // [sp+24h] [bp-484h]@21
308  int v129; // [sp+24h] [bp-484h]@262
309  signed int v130; // [sp+28h] [bp-480h]@0
310  int v132; // [sp+30h] [bp-478h]@262
311  signed int v133; // [sp+34h] [bp-474h]@1
312  int v134; // [sp+38h] [bp-470h]@262
313  int v135; // [sp+3Ch] [bp-46Ch]@262
314  int v136; // [sp+40h] [bp-468h]@40
315  int v137; // [sp+44h] [bp-464h]@40
316  int v138; // [sp+48h] [bp-460h]@40
317  int v139; // [sp+4Ch] [bp-45Ch]@40
318  ItemGen item; // [sp+50h] [bp-458h]@15
319  // char Source[120]; // [sp+74h] [bp-434h]@15
320  // char Str[120]; // [sp+ECh] [bp-3BCh]@21
321  Actor Dst; // [sp+164h] [bp-344h]@53
322 
323  v133 = 0;
324  EvtTargetObj = targetObj;
326  if (uEventID == 114) { // for test script
327  // if (!lua->DoFile("out01.lua"))
328  // logger->Warning(L"Error opening out01.lua\n");
329  // logger->Warning(L"being tested that well\n");
330  return;
331  }
332  if (!uEventID) {
335  localization->GetString(521)); // Nothing here
336  return;
337  }
338  player_choose = (uActiveCharacter == 0)
339  ? 6
340  : 4; // 4 - active or 6 - random player if active =0
341  curr_seq_num = entry_line;
342 
343  if (activeLevelDecoration) {
345  pSomeEVT = pGlobalEVT.data();
346  memcpy(pSomeEVT_Events.data(), pGlobalEVT_Index.data(),
347  sizeof(EventIndex) * 4400); // 4400 evts
348  } else {
350  pSomeEVT = pLevelEVT.data();
351  memcpy(pSomeEVT_Events.data(), pLevelEVT_Index.data(),
352  sizeof(EventIndex) * 4400);
353  }
354 
355  for (v4 = 0; v4 < uSomeEVT_NumEvents; ++v4) {
357  if (v133 == 1) OnMapLeave();
358  return;
359  }
360  if (pSomeEVT_Events[v4].uEventID == uEventID &&
361  pSomeEVT_Events[v4].event_sequence_num == curr_seq_num) {
362  _evt_raw *_evt =
363  (_evt_raw *)(pSomeEVT + pSomeEVT_Events[v4].uEventOffsetInEVT);
364 
365  switch (_evt->_e_type) {
366  case EVENT_CheckSeason:
367  if (!sub_4465DF_check_season(_evt->v5)) {
368  ++curr_seq_num;
369  // v4 = v124;
370  break;
371  }
372  v4 = -1;
373  curr_seq_num = _evt->v6 - 1;
374  ++curr_seq_num;
375  break;
376 
377  case EVENT_CheckSkill: {
378  v19 = _evt->v7 +
379  ((_evt->v8 +
380  ((_evt->v9 + ((unsigned int)_evt->v10 << 8)) << 8))
381  << 8);
382  if (player_choose < 0) goto LABEL_47;
383  if (player_choose <= 3) {
384  v24 =
385  pParty->pPlayers[0]
386  .pActiveSkills[3486 * player_choose + _evt->v5];
387  } else {
388  if (player_choose == 4) {
390  ->pActiveSkills[_evt->v5];
391  } else {
392  if (player_choose == 5) {
393  v20 = 0;
394  v21 = 3486 * v130 + _evt->v5;
395  v136 = 1;
396  HEXRAYS_LOWORD(v21) =
397  pParty->pPlayers[0].pActiveSkills[v21];
398  v137 = v21 & 0x40;
399  v138 = v21 & 0x80;
400  v22 = v21 & 0x100;
401  v23 = v21 & 0x3F;
402  v139 = v22;
403  while (v23 < v19 || !*(&v136 + _evt->v6)) {
404  ++v20;
405  if (v20 >= 4) {
406  ++curr_seq_num;
407  break;
408  }
409  }
410  curr_seq_num = _evt->v11 - 1;
411  ++curr_seq_num;
412  break;
413  }
414 LABEL_47:
415  // v10 = (ByteArray *)&v5[v9];
416  v24 = pParty->pPlayers[0]
417  .pActiveSkills[_evt->v5 +
418  3486 * rand() % 4];
419  }
420  }
421  v136 = 1;
422  v137 = v24 & 0x40;
423  v138 = v24 & 0x80;
424  v139 = v24 & 0x100;
425  if ((v24 & 0x3F) >= v19 && *(&v136 + _evt->v6)) {
426  curr_seq_num = _evt->v11 - 1;
427  ++curr_seq_num;
428  break;
429  }
430  ++curr_seq_num;
431  } break;
432 
433  case EVENT_SpeakNPC:
434  if (canShowMessages) {
435  // Actor::Actor(&Dst);
436  memset(&Dst, 0, 0x344u);
438  _evt->v5 +
439  ((_evt->v6 +
440  ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8))
441  << 8);
443  GameUI_InitializeDialogue(&Dst, false);
444  } else {
446  _evt->v5 +
447  ((_evt->v6 +
448  ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8))
449  << 8);
450  }
451  ++curr_seq_num;
452  break;
453  case EVENT_ChangeEvent:
454  if (EVT_DWORD(_evt->v5)) {
457  _evt->v5 - 124;
458  } else {
463  }
464  ++curr_seq_num;
465 
466  break;
468  v27 = EVT_DWORD(_evt->v5);
469  pNPCStats->pNewNPCData[v27].uFlags &= 0xFFFFFFFCu;
470  pNPCStats->pNewNPCData[v27].greet = EVT_DWORD(_evt->v9);
471  ++curr_seq_num;
472  break;
473  case EVENT_SetNPCTopic: {
474  // v29 = _evt->v5 + ((_evt->v6 + ((_evt->v7 +
475  // ((uint)_evt->v8 << 8)) << 8)) << 8);
476  pEventID = _evt->v10 +
477  ((_evt->v11 +
478  ((_evt->v12 + ((uint)_evt->v13 << 8)) << 8))
479  << 8);
480  pNPC_ID =
481  _evt->v5 +
482  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
483  << 8);
484  pIndex = _evt->v9;
485  pNPC = &pNPCStats->pNewNPCData[pNPC_ID];
486  if (pIndex == 0) pNPC->evt_A = pEventID;
487  if (pIndex == 1) pNPC->evt_B = pEventID;
488  if (pIndex == 2) pNPC->evt_C = pEventID;
489  if (pIndex == 3) pNPC->evt_D = pEventID;
490  if (pIndex == 4) pNPC->evt_E = pEventID;
491  if (pIndex == 5) pNPC->evt_F = pEventID;
492  if (pNPC_ID == 8) {
493  if (pEventID == 78) {
496  pParty->uFlags &= ~2;
498  pAudioPlayer->StopChannels(-1, -1);
500  0, 0, window->GetWidth(),
501  window->GetHeight(), 170, "");
503  61, 424, 31, 0, 2, 94,
504  UIMSG_SelectCharacter, 1, '1', "");
506  177, 424, 31, 0, 2, 94,
507  UIMSG_SelectCharacter, 2, '2', "");
509  292, 424, 31, 0, 2, 94,
510  UIMSG_SelectCharacter, 3, '3', "");
512  407, 424, 31, 0, 2, 94,
513  UIMSG_SelectCharacter, 4, '4', "");
515  0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0,
516  '\t', "");
517  current_npc_text = pNPCTopics[90].pText;
518  }
519  }
520  }
521  ++curr_seq_num;
522  } break;
523  case EVENT_NPCSetItem:
524  sub_448518_npc_set_item(EVT_DWORD(_evt->v5),
525  EVT_DWORD(_evt->v9), _evt->v13);
526  ++curr_seq_num;
527  break;
528  case EVENT_SetActorItem:
529  Actor::GiveItem(EVT_DWORD(_evt->v5), EVT_DWORD(_evt->v9),
530  _evt->v13);
531  ++curr_seq_num;
532  break;
535  [_evt->v5 +
536  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
537  << 8)] = _evt->v9 + ((uint)_evt->v10 << 8);
538  ++curr_seq_num;
539  break;
540  case EVENT_SetActorGroup:
541  __debugbreak();
542  *(&pActors[0].uGroup + 0x11000000 * _evt->v8 +
543  209 * (_evt->v5 +
544  ((_evt->v6 + ((uint)_evt->v7 << 8)) << 8))) =
545  _evt->v9 +
546  ((_evt->v10 +
547  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
548  << 8);
549  ++curr_seq_num;
550  break;
551  case EVENT_ChangeGroup:
552  v38 =
553  _evt->v5 +
554  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
555  << 8);
556  v39 = _evt->v9 +
557  ((_evt->v10 +
558  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
559  << 8);
560  __debugbreak();
561  for (uint actor_id = 0; actor_id < uNumActors; actor_id++) {
562  if (pActors[actor_id].uGroup == v38)
563  pActors[actor_id].uGroup = v39;
564  }
565  ++curr_seq_num;
566  break;
568  v42 =
569  _evt->v5 +
570  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
571  << 8);
572  v43 = _evt->v9 +
573  ((_evt->v10 +
574  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
575  << 8);
576  __debugbreak();
577  for (uint actor_id = 0; actor_id < uNumActors; actor_id++) {
578  if (pActors[actor_id].uGroup == v42)
579  pActors[actor_id].uAlly = v43;
580  }
581  ++curr_seq_num;
582  break;
583  case EVENT_MoveNPC: {
584  pNPCStats->pNewNPCData[EVT_DWORD(_evt->v5)].Location2D =
585  EVT_DWORD(_evt->v9);
586  if (window_SpeakInHouse) {
587  if (window_SpeakInHouse->par1C == 165) {
589  pMediaPlayer->Unload();
591  pParty->uFlags &= ~2;
594  pAudioPlayer->PlaySound(SOUND_Invalid, 0, 0, -1, 0, 0);
596  0, 0, window->GetWidth(),
597  window->GetHeight(), 165, 0);
599  }
600  // else {
601  // if ( window_SpeakInHouse->par1C == 553
602  // ) {
603  // pMediaPlayer->bLoopPlaying = 0;
604  // }
605  // }
606  }
607  }
608  ++curr_seq_num;
609  break;
610  }
611  case EVENT_Jmp:
612  curr_seq_num = _evt->v5 - 1;
613  ++curr_seq_num;
614  v4 = -1;
615 
616  break;
617  case EVENT_ShowFace:
618  if (_evt->v5 <= 3u) { // someone
619  pParty->pPlayers[_evt->v5].PlayEmotion(
620  (CHARACTER_EXPRESSION_ID)_evt->v6, 0);
621  } else if (_evt->v5 == 4) { // active
622  pParty->pPlayers[uActiveCharacter].PlayEmotion(
623  (CHARACTER_EXPRESSION_ID)_evt->v6, 0);
624  } else if (_evt->v5 == 5) { // all players
625  for (int i = 0; i < 4; ++i)
626  pParty->pPlayers[i].PlayEmotion(
627  (CHARACTER_EXPRESSION_ID)_evt->v6, 0);
628  } else { // random player
629  pParty->pPlayers[rand() % 4].PlayEmotion(
630  (CHARACTER_EXPRESSION_ID)_evt->v6, 0);
631  }
632  ++curr_seq_num;
633  break;
635  if (_evt->v5 <= 3) { // someone
636  pParty->pPlayers[_evt->v5].PlaySound(
637  (PlayerSpeech)_evt->v6, 0);
638  } else if (_evt->v5 == 4) { // active
639  pParty->pPlayers[uActiveCharacter].PlaySound(
640  (PlayerSpeech)_evt->v6, 0);
641  } else if (_evt->v5 == 5) { // all
642  for (int i = 0; i < 4; ++i)
643  pParty->pPlayers[i].PlaySound(
644  (PlayerSpeech)_evt->v6, 0);
645  } else { // random
646  pParty->pPlayers[rand() % 4].PlaySound(
647  (PlayerSpeech)_evt->v6, 0);
648  }
649  ++curr_seq_num;
650  break;
652  player_choose = _evt->v5;
653  ++curr_seq_num;
654  break;
655  case EVENT_SummonItem:
658  _evt->v5 +
659  ((_evt->v6 +
660  ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
661  << 8)),
662  _evt->v9 +
663  ((_evt->v10 +
664  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
665  << 8),
666  _evt->v13 +
667  ((_evt->v14 +
668  ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8))
669  << 8),
670  _evt->v17 +
671  ((_evt->v18 +
672  ((_evt->v19 + ((uint)_evt->v20 << 8)) << 8))
673  << 8),
674  _evt->v21 +
675  ((_evt->v22 +
676  ((_evt->v23 + ((uint)_evt->v24 << 8)) << 8))
677  << 8),
678  _evt->v25, _evt->v26, 0, 0);
679  ++curr_seq_num;
680  break;
681  case EVENT_Compare:
682  pValue = EVT_DWORD(_evt->v7);
683  if (player_choose <= 3) {
684  if (pPlayers[player_choose]->CompareVariable(
685  (enum VariableType)EVT_WORD(_evt->v5),
686  pValue)) {
687  // v124 = -1;
688  curr_seq_num = _evt->v11 - 1;
689  }
690  } else if (player_choose == 4) { // active
691  if (uActiveCharacter) {
692  if (pPlayers[uActiveCharacter]->CompareVariable(
693  (enum VariableType)EVT_WORD(_evt->v5),
694  pValue)) {
695  // v124 = -1;
696  curr_seq_num = _evt->v11 - 1;
697  }
698  }
699  } else if (player_choose == 5) { // all
700  v130 = 0;
701  for (int i = 1; i < 5; ++i) {
702  if (pPlayers[i]->CompareVariable(
703  (enum VariableType)EVT_WORD(_evt->v5),
704  pValue)) {
705  // v124 = -1;
706  curr_seq_num = _evt->v11 - 1;
707  break;
708  }
709  ++v130;
710  }
711  } else if (player_choose == 6) { // random
712  if (pPlayers[rand() % 4 + 1]->CompareVariable(
713  (enum VariableType)EVT_WORD(_evt->v5),
714  pValue)) {
715  // v124 = -1;
716  curr_seq_num = _evt->v11 - 1;
717  }
718  }
719  ++curr_seq_num;
720  v4 = -1;
721  break;
722  case EVENT_IsActorAlive:
723  if (IsActorAlive(EVT_BYTE(_evt->v5), EVT_DWORD(_evt->v6),
724  EVT_BYTE(_evt->v10))) {
725  // v124 = -1;
726  curr_seq_num = _evt->v11 - 1;
727  }
728  ++curr_seq_num;
729  v4 = -1;
730  break;
731  case EVENT_Substract:
732  pValue = EVT_DWORD(_evt->v7);
733  if (player_choose <= 3) {
734  pParty->pPlayers[player_choose].SubtractVariable(
735  (enum VariableType)EVT_WORD(_evt->v5), pValue);
736  } else if (player_choose == 4) { // active
737  if (uActiveCharacter)
738  pPlayers[uActiveCharacter]->SubtractVariable(
739  (enum VariableType)EVT_WORD(_evt->v5), pValue);
740  } else if (player_choose == 5) { // all
741  if (EVT_WORD(_evt->v5) == VAR_PlayerItemInHands) {
742  for (int i = 1; i < 5; ++i) {
743  if (pPlayers[i]->HasItem(pValue, 1)) {
744  pPlayers[i]->SubtractVariable(
745  (enum VariableType)EVT_WORD(_evt->v5), pValue);
746  break; // only take one item
747  }
748  }
749  } else {
750  for (int i = 1; i < 5; ++i)
751  pPlayers[i]->SubtractVariable(
752  (enum VariableType)EVT_WORD(_evt->v5), pValue);
753  }
754  } else if (player_choose == 6) { // random
755  pParty->pPlayers[rand() % 4].SubtractVariable(
756  (enum VariableType)EVT_WORD(_evt->v5), pValue);
757  }
758  ++curr_seq_num;
759  break;
760  case EVENT_Set:
761  pValue = EVT_DWORD(_evt->v7);
762  if (player_choose <= 3) {
763  pParty->pPlayers[player_choose].SetVariable(
764  (enum VariableType)EVT_WORD(_evt->v5), pValue);
765  } else if (player_choose == 4) { // active
766  if (uActiveCharacter)
767  pPlayers[uActiveCharacter]->SetVariable(
768  (enum VariableType)EVT_WORD(_evt->v5), pValue);
769  } else if (player_choose == 5) { // all
770  // recheck v130
771  for (int i = 1; i < 5; ++i)
772  pPlayers[i]->SetVariable(
773  (enum VariableType)EVT_WORD(_evt->v5), pValue);
774  } else if (player_choose == 6) { // random
775  pParty->pPlayers[rand() % 4].SetVariable(
776  (enum VariableType)EVT_WORD(_evt->v5), pValue);
777  }
778  ++curr_seq_num;
779  break;
780  case EVENT_Add:
781  pValue = EVT_DWORD(_evt->v7);
782  if (player_choose <= 3) {
783  pPlayer = &pParty->pPlayers[player_choose];
784  pPlayer->AddVariable(
785  (enum VariableType)EVT_WORD(_evt->v5), pValue);
786  } else if (player_choose == 4) { // active
787  if (uActiveCharacter)
788  pPlayers[uActiveCharacter]->AddVariable(
789  (enum VariableType)EVT_WORD(_evt->v5), pValue);
790  } else if (player_choose == 5) { // all
791  for (int i = 1; i < 5; ++i) {
792  pPlayers[i]->AddVariable(
793  (enum VariableType)EVT_WORD(_evt->v5), pValue);
794  }
795  } else if (player_choose == 6) { // random
796  pParty->pPlayers[rand() % 4].AddVariable(
797  (enum VariableType)EVT_WORD(_evt->v5), pValue);
798  }
799  v83 = EVT_WORD(_evt->v5);
800  if (v83 == 21 || // gold well on emerald isle
801  v83 == 22 || v83 == 23 || v83 == 24) {
802  // __debugbreak(); // bonfire
803  viewparams->bRedrawGameUI = true;
804  }
805  ++curr_seq_num;
806  break;
807  case EVENT_InputString:
808  if (!entry_line) {
810  &pLevelStr[pLevelStrOffsets[EVT_DWORD(_evt->v5)]];
811  sub_4451A8_press_any_key(uEventID, curr_seq_num, 26);
812  if (v133 == 1) OnMapLeave();
813  return;
814  }
815  v84 = _evt->v13 +
816  ((_evt->v14 +
817  ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8))
818  << 8);
819  if (!_stricmp(
821  &pLevelStr
822  [pLevelStrOffsets[_evt->v9 +
823  ((_evt->v10 +
824  ((_evt->v11 +
825  ((uint)_evt->v12 << 8))
826  << 8))
827  << 8)]]) ||
828  !_stricmp(game_ui_status_bar_event_string.data(),
829  &pLevelStr[pLevelStrOffsets[v84]])) {
830  v11 = _evt->v17;
831  curr_seq_num = v11 - 1;
832  }
833  ++curr_seq_num;
834  v4 = -1;
835  break;
836  case EVENT_RandomGoTo:
837  // v124 = -1;
838  v11 = (unsigned __int8)*(
839  &_evt->v5 +
840  rand() % ((_evt->v5 != 0) + (_evt->v6 != 0) +
841  (_evt->v7 != 0) + (_evt->v8 != 0) +
842  (_evt->v9 != 0) + (_evt->v10 != 0)));
843  curr_seq_num = v11 - 1;
844  ++curr_seq_num;
845  v4 = -1;
846  break;
847  case EVENT_ReceiveDamage:
848  if ((unsigned __int8)_evt->v5 <= 3) {
849  pParty->pPlayers[(unsigned __int8)_evt->v5]
850  .ReceiveDamage(EVT_DWORD(_evt->v7),
851  (DAMAGE_TYPE)_evt->v6);
852  ++curr_seq_num;
853  break;
854  }
855  if (_evt->v5 == 4) {
856  if (!uActiveCharacter) {
857  ++curr_seq_num;
858  break;
859  }
860  pPlayers[uActiveCharacter]->ReceiveDamage(
861  EVT_DWORD(_evt->v7), (DAMAGE_TYPE)_evt->v6);
862  ++curr_seq_num;
863  break;
864  }
865  if (_evt->v5 != 5) {
866  pParty->pPlayers[rand() % 4].ReceiveDamage(
867  EVT_DWORD(_evt->v7), (DAMAGE_TYPE)_evt->v6);
868  ++curr_seq_num;
869  break;
870  }
871  for (uint pl_id = 0; pl_id < 4; pl_id++)
872  pParty->pPlayers[pl_id].ReceiveDamage(
873  EVT_DWORD(_evt->v7), (DAMAGE_TYPE)_evt->v6);
874  ++curr_seq_num;
875  break;
877  pIndoor->ToggleLight(EVT_DWORD(_evt->v5), _evt->v9);
878  ++curr_seq_num;
879  break;
880  case EVENT_SetFacesBit:
881  sub_44892E_set_faces_bit(EVT_DWORD(_evt->v5),
882  EVT_DWORD(_evt->v9), _evt->v13);
883  ++curr_seq_num;
884  break;
886  Chest::ToggleFlag(EVT_DWORD(_evt->v5), EVT_DWORD(_evt->v9),
887  _evt->v13);
888  ++curr_seq_num;
889  break;
891  Actor::ToggleFlag(EVT_DWORD(_evt->v5), EVT_DWORD(_evt->v9),
892  _evt->v13);
893  ++curr_seq_num;
894  break;
896  ToggleActorGroupFlag(EVT_DWORD(_evt->v5),
897  EVT_DWORD(_evt->v9), _evt->v13);
898  ++curr_seq_num;
899  break;
900  case EVENT_SetSnow:
901  if (!_evt->v5) pWeather->bRenderSnow = _evt->v6 != 0;
902  ++curr_seq_num;
903  break;
904  case EVENT_StatusText:
905  v90 = EVT_DWORD(_evt->v5);
906  if (activeLevelDecoration) {
909  pNPCTopics[v90 - 1]
910  .pText; // (&dword_721664)[8 * v90];
911  if (canShowMessages == 1) {
912  v91 = pNPCTopics[v90 - 1]
913  .pText; // (&dword_721664)[8 * v90];
914  // LABEL_248:
915  GameUI_StatusBar_OnEvent(v91, 2);
916  }
917  } else {
918  if (canShowMessages == 1) {
919  v91 = &pLevelStr[pLevelStrOffsets[v90]];
920  GameUI_StatusBar_OnEvent(v91, 2);
921  }
922  }
923  ++curr_seq_num;
924  break;
925  case EVENT_ShowMessage:
926  if (activeLevelDecoration) {
928  pNPCTopics[EVT_DWORD(_evt->v5) - 1]
929  .pText; // (&dword_721664)[8 * v92];
930  branchless_dialogue_str.clear();
931  } else {
933  }
934  ++curr_seq_num;
935  break;
936  case EVENT_CastSpell:
937  EventCastSpell(_evt->v5, _evt->v6, _evt->v7,
938  EVT_DWORD(_evt->v8), EVT_DWORD(_evt->v12),
939  EVT_DWORD(_evt->v16), EVT_DWORD(_evt->v20),
940  EVT_DWORD(_evt->v24), EVT_DWORD(_evt->v28));
941  ++curr_seq_num;
942  break;
943  case EVENT_SetTexture:
944  sub_44861E_set_texture(EVT_DWORD(_evt->v5),
945  (char *)&_evt->v9);
946  ++curr_seq_num;
947  break;
948  case EVENT_SetSprite:
949  SetDecorationSprite(EVT_DWORD(_evt->v5), _evt->v9,
950  (char *)&_evt->v10);
951  ++curr_seq_num;
952  break;
955  _evt->v5, _evt->v6, _evt->v7, EVT_DWORD(_evt->v8),
956  EVT_DWORD(_evt->v12), EVT_DWORD(_evt->v16),
957  EVT_DWORD(_evt->v20), EVT_DWORD(_evt->v24));
958  ++curr_seq_num;
959  break;
960  case EVENT_MouseOver:
961  case EVENT_LocationName:
962  --curr_seq_num; // eh?
963  ++curr_seq_num;
964  break;
966  Door_switch_animation(_evt->v5, _evt->v6);
967  ++curr_seq_num;
968  break;
969  case EVENT_OpenChest:
970  if (!Chest::Open(_evt->v5)) {
971  if (v133 == 1) OnMapLeave();
972  return;
973  }
974  ++curr_seq_num;
975  break;
976  case EVENT_MoveToMap:
977  v94 =
978  _evt->v5 +
979  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
980  << 8);
981  v135 =
982  _evt->v5 +
983  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
984  << 8);
985  v132 = _evt->v9 +
986  ((_evt->v10 +
987  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
988  << 8);
989  v126 = _evt->v13 +
990  ((_evt->v14 +
991  ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8))
992  << 8);
993  v129 = _evt->v17 +
994  ((_evt->v18 +
995  ((_evt->v19 + ((uint)_evt->v20 << 8)) << 8))
996  << 8);
997  v95 = _evt->v21 +
998  ((_evt->v22 +
999  ((_evt->v23 + ((uint)_evt->v24 << 8)) << 8))
1000  << 8);
1001  v96 = _evt->v25;
1002  v97 = v96 + ((_evt->v26 +
1003  ((_evt->v27 + ((uint)_evt->v28 << 8)) << 8))
1004  << 8);
1005  v134 = v96 + ((_evt->v26 +
1006  ((_evt->v27 + ((uint)_evt->v28 << 8)) << 8))
1007  << 8);
1008  if (_evt->v29 || _evt->v30) {
1010  _evt->v29, _evt->v30, v135, v132, v126, v129, v95,
1011  v134, (char *)&_evt->v31);
1012  dword_5C3418 = uEventID;
1013  dword_5C341C = curr_seq_num + 1;
1014  if (v133 == 1) OnMapLeave();
1015  return;
1016  }
1018  _evt->v9 +
1019  ((_evt->v10 +
1020  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
1021  << 8);
1022  Party_Teleport_X_Pos = v94;
1023  Party_Teleport_Z_Pos = v126;
1024  if (v129 == -1) {
1025  v98 = Party_Teleport_Cam_Yaw;
1026  } else {
1027  v98 = v129 & stru_5C6E00->uDoublePiMask;
1029  v129 & stru_5C6E00->uDoublePiMask;
1030  }
1031  v99 = (char *)&_evt->v31;
1033  Party_Teleport_Z_Speed = v97;
1034  v100 = v94 | v132 | v126 | v95 | v97 | v98;
1036  if (*v99 == 48) {
1037  if (v100) {
1038  pParty->vPosition.x = v135;
1039  pParty->vPosition.y = v132;
1040  pParty->vPosition.z = v126;
1041  pParty->uFallStartY = v126;
1042  if (Party_Teleport_Cam_Yaw != -1)
1043  pParty->sRotationY =
1046  pParty->sRotationX = v95;
1047  pParty->uFallSpeed = v134;
1054  v106 = 232;
1055  pAudioPlayer->PlaySound((SoundID)v106, 0, 0, -1, 0, 0);
1056  }
1057  } else {
1060  v133 = 1;
1063  pAudioPlayer->StopChannels(-1, -1);
1065  while (HouseDialogPressCloseBtn());
1066  pMediaPlayer->Unload();
1068  window_SpeakInHouse = 0;
1072  pDialogueNPCCount = 0;
1073  if (pDialogueWindow) {
1075  pDialogueWindow = 0;
1076  }
1079  }
1080  OnMapLeave();
1081  return;
1082  }
1083  }
1084  ++curr_seq_num;
1085  break;
1086  case EVENT_PlaySound:
1087  v110 = _evt->v13 +
1088  ((_evt->v14 +
1089  ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8))
1090  << 8);
1091  v109 = _evt->v9 +
1092  ((_evt->v10 +
1093  ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8))
1094  << 8);
1095  v106 =
1096  _evt->v5 +
1097  ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8))
1098  << 8);
1099  pAudioPlayer->PlaySound((SoundID)v106, 0, 0, v109, v110, 0);
1100  ++curr_seq_num;
1101  break;
1102  case EVENT_GiveItem:
1103  item.Reset();
1104  v102 =
1105  _evt->v7 +
1106  ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8))
1107  << 8);
1108  pItemsTable->GenerateItem(_evt->v5, _evt->v6, &item);
1109  if (v102) item.uItemID = v102;
1110  pParty->SetHoldingItem(&item);
1111  ++curr_seq_num;
1112  break;
1113  case EVENT_SpeakInHouse:
1114  if (EnterHouse((enum HOUSE_ID)EVT_DWORD(_evt->v5))) {
1115  pAudioPlayer->PlaySound(SOUND_Invalid, 0, 0, -1, 0, 0);
1116  pAudioPlayer->PlaySound(SOUND_enter, 814, 0, -1, 0, 0);
1117  v104 = 187;
1118  if (uCurrentHouse_Animation != 167)
1119  v104 = EVT_DWORD(_evt->v5);
1121  new GUIWindow_House(0, 0, window->GetWidth(),
1122  window->GetHeight(), v104);
1123  window_SpeakInHouse->CreateButton(61, 424, 31, 0, 2, 94,
1125  1, '1', "");
1127  177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2,
1128  '2', "");
1130  292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3,
1131  '3', "");
1133  407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4,
1134  '4', "");
1135  window_SpeakInHouse->CreateButton(0, 0, 0, 0, 1, 0,
1137  0, '\t', "");
1138  }
1139  ++curr_seq_num;
1140  break;
1141  case EVENT_PressAnyKey:
1142  sub_4451A8_press_any_key(uEventID, curr_seq_num + 1, 33);
1143  if (v133 == 1) OnMapLeave();
1144  return;
1145  case EVENT_Exit:
1146  if (v133 == 1) OnMapLeave();
1147  return;
1148  default:
1149  ++curr_seq_num;
1150  break;
1151  }
1152  }
1153  }
1154  if (v133 == 1) OnMapLeave();
1155  return;
1156 }

Перекрестные ссылки __debugbreak(), stru123::_decor_events, _evt_raw::_e_type, LevelDecoration::_idx_in_stru123, activeLevelDecoration, Player::AddVariable(), bDialogueUI_InitializeActor_NPC_ID, branchless_dialogue_str, ViewingParams::bRedrawGameUI, Weather::bRenderSnow, GUIWindow::CreateButton(), current_npc_text, current_screen_type, GUIWindow::DeleteButtons(), dialog_menu_id, Door_switch_animation(), dword_5B65C4_cancelEventProcessing, dword_5B65D0_dialogue_actor_npc_id, dword_5C3418, dword_5C341C, EnterHouse(), EVENT_Add, EVENT_CastSpell, EVENT_ChangeDoorState, EVENT_ChangeEvent, EVENT_ChangeGroup, EVENT_ChangeGroupAlly, EVENT_CharacterAnimation, EVENT_CheckSeason, EVENT_CheckSkill, EVENT_Compare, EVENT_Exit, EVENT_ForPartyMember, EVENT_GiveItem, EVENT_InputString, EVENT_IsActorAlive, EVENT_Jmp, EVENT_LocationName, EVENT_MouseOver, EVENT_MoveNPC, EVENT_MoveToMap, EVENT_NPCSetItem, EVENT_OpenChest, EVENT_PlaySound, EVENT_PressAnyKey, EVENT_RandomGoTo, EVENT_ReceiveDamage, EVENT_Set, EVENT_SetActorGroup, EVENT_SetActorItem, EVENT_SetFacesBit, EVENT_SetNPCGreeting, EVENT_SetNPCGroupNews, EVENT_SetNPCTopic, EVENT_SetSnow, EVENT_SetSprite, EVENT_SetTexture, EVENT_ShowFace, EVENT_ShowMessage, EVENT_SpeakInHouse, EVENT_SpeakNPC, EVENT_StatusText, EVENT_Substract, EVENT_SummonItem, EVENT_SummonMonsters, EVENT_ToggleActorFlag, EVENT_ToggleActorGroupFlag, EVENT_ToggleChestFlag, EVENT_ToggleIndoorLight, EventCastSpell(), NPCData::evt_A, NPCData::evt_B, NPCData::evt_C, NPCData::evt_D, NPCData::evt_E, NPCData::evt_F, EvtTargetObj, GUIMessageQueue::Flush(), GAME_STATE_CHANGE_LOCATION, game_ui_status_bar_event_string, game_ui_status_bar_event_string_time_left, GameUI_InitializeDialogue(), GameUI_StatusBar_OnEvent(), ItemsTable::GenerateItem(), Localization::GetString(), Actor::GiveItem(), NPCData::greet, HOUSE_BODY_GUILD_ERATHIA, HOUSE_DARK_GUILD_PIT, HOUSE_DIALOGUE_NULL, HouseDialogPressCloseBtn(), GUIProgressBar::Initialize(), IsActorAlive(), LEVEL_DECORATION_INVISIBLE, localization, NPCData::Location2D, MapStartPoint_Party, OnMapLeave(), Chest::Open(), pActors, GUIWindow::par1C, Party_Teleport_Cam_Pitch, Party_Teleport_Cam_Yaw, Party_Teleport_X_Pos, Party_Teleport_Y_Pos, Party_Teleport_Z_Pos, Party_Teleport_Z_Speed, pAudioPlayer, pDialogueNPCCount, pDialogueWindow, pGameLoadingUI_ProgressBar, pGlobalEVT, pGlobalEVT_Index, NPCStats::pGroups_copy, pIcons_LOD, pIndoor, pItemsTable, AudioPlayer::PlaySound(), pLevelEVT, pLevelEVT_Index, pLevelStr, pLevelStrOffsets, pMediaPlayer, pMessageQueue_50CBD0, NPCStats::pNewNPCData, pNPCStats, pNPCTopics, pParty, pPlayers, Party::pPlayers, pSomeEVT, pSomeEVT_Events, pWeather, GUIWindow::Release(), ItemGen::Reset(), SCREEN_GAME, SCREEN_HOUSE, SetDecorationSprite(), Party::SetHoldingItem(), Actor::sNPC_ID, SOUND_enter, SOUND_Invalid, Party::sRotationX, Party::sRotationY, Start_Party_Teleport_Flag, AudioPlayer::StopChannels(), stru_5C6E00, stru_5E4C90_MapPersistVars, SpriteObject::sub_42F7EB_DropItemAt(), sub_4451A8_press_any_key(), sub_4465DF_check_season(), sub_448518_npc_set_item(), sub_44861E_set_texture(), sub_44892E_set_faces_bit(), sub_448CF4_spawn_monsters(), LODFile_IconsBitmaps::SyncLoadedFilesCount(), ToggleActorGroupFlag(), Chest::ToggleFlag(), Actor::ToggleFlag(), IndoorLocation::ToggleLight(), Transition_StopSound_Autosave(), uActiveCharacter, uCurrentHouse_Animation, stru193_math::uDoublePiMask, Party::uFallSpeed, Party::uFallStartY, LevelDecoration::uFlags, NPCData::uFlags, Party::uFlags, uGameState, uGlobalEVT_NumEvents, UIMSG_CycleCharacters, UIMSG_SelectCharacter, ItemGen::uItemID, uLevelEVT_NumEvents, MPlayer::Unload(), uNumActors, uSomeEVT_NumEvents, _evt_raw::v10, _evt_raw::v11, _evt_raw::v12, _evt_raw::v13, _evt_raw::v14, _evt_raw::v15, _evt_raw::v16, _evt_raw::v17, _evt_raw::v18, _evt_raw::v19, _evt_raw::v20, _evt_raw::v21, _evt_raw::v22, _evt_raw::v23, _evt_raw::v24, _evt_raw::v25, _evt_raw::v26, _evt_raw::v27, _evt_raw::v28, _evt_raw::v29, _evt_raw::v30, _evt_raw::v31, _evt_raw::v5, _evt_raw::v6, _evt_raw::v7, _evt_raw::v8, _evt_raw::v9, VAR_PlayerItemInHands, viewparams, Party::vPosition и window_SpeakInHouse.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), BLV_ProcessPartyActions(), check_event_triggers(), ClickNPCTopic(), DecorationInteraction(), DoInteractionWithTopmostZObject(), Application::Game::EventLoop(), ODM_ProcessPartyActions(), Engine::OnGameViewportClick(), OnMapLeave(), OnMapLoad(), OnSelectNPCDialogueOption(), OnTimer(), sub_4452BB(), UpdateActors_BLV(), SpriteObject::UpdateObject_fn0_BLV() и SpriteObject::UpdateObject_fn0_ODM().

+ Граф вызовов:
+ Граф вызова функции:

◆ GetEventHintString()

char* GetEventHintString ( unsigned int  uEventID)

См. определение в файле Events.cpp строка 1159

1159  {
1160  signed int event_index; // edx@1
1161  int event_pos; // esi@4
1162  char *result; // eax@6
1163  unsigned int str_index; // eax@9
1164  int i; // esi@11
1165  _evt_raw *test_evt;
1166  _evt_raw *last_evt;
1167 
1168  event_index = 0;
1169  if (uLevelEVT_NumEvents <= 0) return NULL;
1170 
1171  // v2 = (char *)&pLevelEVT_Index[0].uEventOffsetInEVT;
1172  while (1) {
1173  if (pLevelEVT_Index[event_index].uEventID == uEventID) {
1174  test_evt = (_evt_raw *)&pLevelEVT[pLevelEVT_Index[event_index]
1175  .uEventOffsetInEVT];
1176  last_evt = test_evt;
1177  event_pos = pLevelEVT_Index[event_index + 1].uEventOffsetInEVT;
1178  if (test_evt->_e_type == EVENT_MouseOver) break;
1179  }
1180  ++event_index;
1181  if (event_index >= uLevelEVT_NumEvents) return NULL;
1182  }
1183  test_evt = (_evt_raw *)&pLevelEVT[event_pos];
1184  if (test_evt->_e_type == EVENT_SpeakInHouse) {
1185  str_index = EVT_DWORD(test_evt->v5);
1186  result = (char *)p2DEvents[str_index - 1].pName;
1187  } else {
1188  for (i = event_index + 1; pLevelEVT_Index[i].uEventID == uEventID;
1189  ++i) {
1190  event_pos = pLevelEVT_Index[i].uEventOffsetInEVT;
1191  test_evt = (_evt_raw *)&pLevelEVT[event_pos];
1192  if (test_evt->_e_type == EVENT_SpeakInHouse) {
1193  str_index = EVT_DWORD(test_evt->v5);
1194  if (str_index < 525) // 600
1195  return (char *)p2DEvents[str_index - 1].pName;
1196  }
1197  }
1198  result = &pLevelStr[pLevelStrOffsets[EVT_BYTE(last_evt->v5)]];
1199  }
1200 
1201  return result;
1202 }

Перекрестные ссылки _evt_raw::_e_type, EVENT_MouseOver, EVENT_SpeakInHouse, p2DEvents, pLevelEVT, pLevelEVT_Index, pLevelStr, pLevelStrOffsets, _2devent::pName, uLevelEVT_NumEvents и _evt_raw::v5.

Используется в GameUI_GetMinimapHintText(), GameUI_WritePointedObjectStatusString() и GetMapBookHintText().

+ Граф вызова функции:

◆ init_event_triggers()

void init_event_triggers ( )

См. определение в файле Events.cpp строка 1205

1205  {
1206  uint id = pDecorationList->GetDecorIdByName("Event Trigger");
1207 
1208  num_event_triggers = 0;
1209  for (uint i = 0; i < uNumLevelDecorations; ++i)
1210  if (pLevelDecorations[i].uDecorationDescID == id)
1212 }

Перекрестные ссылки event_triggers, DecorationList::GetDecorIdByName(), num_event_triggers, pDecorationList, pLevelDecorations и uNumLevelDecorations.

Используется в Engine::_461103_load_level_sub().

+ Граф вызовов:
+ Граф вызова функции:

◆ check_event_triggers()

void check_event_triggers ( )

См. определение в файле Events.cpp строка 1215

1215  {
1216  for (size_t i = 0; i < num_event_triggers; i++) {
1217  if (pLevelDecorations[event_triggers[i]].uFlags &
1219  pLevelDecorations[event_triggers[i]].vPosition.GetDistanceTo(
1220  pParty->vPosition) <
1221  pLevelDecorations[event_triggers[i]].uTriggerRange) {
1223  PID(OBJECT_Decoration, i), 1);
1224  } else if (pLevelDecorations[event_triggers[i]].uFlags &
1226  for (size_t j = 0; j < uNumActors; j++) {
1228  .vPosition.GetDistanceTo(pActors[j].vPosition) <
1229  pLevelDecorations[event_triggers[i]].uTriggerRange)
1231  pLevelDecorations[event_triggers[i]].uEventID, 0, 1);
1232  }
1233  } else if (pLevelDecorations[event_triggers[i]].uFlags &
1235  for (size_t j = 0; j < uNumSpriteObjects; j++) {
1237  .vPosition.GetDistanceTo(pSpriteObjects[j].vPosition) <
1238  pLevelDecorations[event_triggers[i]].uTriggerRange)
1240  pLevelDecorations[event_triggers[i]].uEventID, 0, 1);
1241  }
1242  }
1243  }
1244 }

Перекрестные ссылки event_triggers, EventProcessor(), LEVEL_DECORATION_TRIGGERED_BY_MONSTER, LEVEL_DECORATION_TRIGGERED_BY_OBJECT, LEVEL_DECORATION_TRIGGERED_BY_TOUCH, num_event_triggers, OBJECT_Decoration, pActors, pLevelDecorations, pParty, pSpriteObjects, uNumActors, uNumSpriteObjects и Party::vPosition.

Используется в BLV_UpdateUserInputAndOther() и ODM_UpdateUserInputAndOther().

+ Граф вызовов:
+ Граф вызова функции:

◆ sub_4465DF_check_season()

bool sub_4465DF_check_season ( int  a1)

См. определение в файле Events.cpp строка 1247

1247  {
1248  auto monthPlusOne = pParty->uCurrentMonth + 1;
1249  auto daysPlusOne = pParty->uCurrentDayOfMonth + 1;
1250 
1251  switch (a1) {
1252  case 3: // winter 12.21 -> 3.20
1253  return (monthPlusOne == 12 && daysPlusOne >= 21 ||
1254  monthPlusOne == 1 || monthPlusOne == 2 ||
1255  monthPlusOne == 3 && daysPlusOne <= 20);
1256 
1257  case 2: // autumn/fall 9.21 -> 12.20
1258  return (monthPlusOne == 9 && daysPlusOne >= 21 ||
1259  monthPlusOne == 10 || monthPlusOne == 11 ||
1260  monthPlusOne == 12 && daysPlusOne <= 20);
1261 
1262  case 1: // summer 6.21 -> 9.20
1263  return (monthPlusOne == 6 && daysPlusOne >= 21 ||
1264  monthPlusOne == 7 || monthPlusOne == 8 ||
1265  monthPlusOne == 9 && daysPlusOne <= 20);
1266 
1267  case 0: // spring 3.21 -> 6.20
1268  return (monthPlusOne == 3 && daysPlusOne >= 21 ||
1269  monthPlusOne == 4 || monthPlusOne == 5 ||
1270  monthPlusOne == 6 && daysPlusOne <= 20);
1271 
1272  default:
1273  Error("Unknown season");
1274  }
1275 
1276  return false;
1277 }

Перекрестные ссылки pParty, Party::uCurrentDayOfMonth и Party::uCurrentMonth.

Используется в EventProcessor().

+ Граф вызова функции:

◆ sub_448CF4_spawn_monsters()

void sub_448CF4_spawn_monsters ( int16_t  typeindex,
int16_t  level,
int  count,
int  x,
int  y,
int  z,
int  group,
unsigned int  uUniqueName 
)

Переменные

◆ pSomeOtherEVT_Events

std::array<EventIndex, 4400> pSomeOtherEVT_Events

См. определение в файле Events.cpp строка 36

Используется в NPC_EventProcessor().

◆ uSomeOtherEVT_NumEvents

signed int uSomeOtherEVT_NumEvents

См. определение в файле Events.cpp строка 37

Используется в NPC_EventProcessor().

◆ pSomeOtherEVT

char* pSomeOtherEVT

См. определение в файле Events.cpp строка 38

Используется в NPC_EventProcessor().

◆ pSomeEVT_Events

std::array<EventIndex, 4400> pSomeEVT_Events

См. определение в файле Events.cpp строка 39

Используется в EventProcessor().

◆ uSomeEVT_NumEvents

signed int uSomeEVT_NumEvents

См. определение в файле Events.cpp строка 40

Используется в EventProcessor().

◆ pSomeEVT

char* pSomeEVT

См. определение в файле Events.cpp строка 41

Используется в EventProcessor().

◆ uGlobalEVT_NumEvents

unsigned int uGlobalEVT_NumEvents

См. определение в файле Events.cpp строка 43

Используется в EventProcessor(), Initialize_GlobalEVT() и NPC_EventProcessor().

◆ uGlobalEVT_Size

unsigned int uGlobalEVT_Size

См. определение в файле Events.cpp строка 44

Используется в Initialize_GlobalEVT().

◆ pGlobalEVT

std::array<char, 46080> pGlobalEVT

См. определение в файле Events.cpp строка 45

Используется в EventProcessor(), Initialize_GlobalEVT() и NPC_EventProcessor().

◆ pGlobalEVT_Index

std::array<EventIndex, 4400> pGlobalEVT_Index

См. определение в файле Events.cpp строка 46

Используется в EventProcessor(), Initialize_GlobalEVT() и NPC_EventProcessor().

◆ pLevelStrOffsets

std::array<unsigned int, 500> pLevelStrOffsets

См. определение в файле Events.cpp строка 48

Используется в EventProcessor(), GetEventHintString() и LoadLevel_InitializeLevelStr().

◆ uLevelStrNumStrings

unsigned int uLevelStrNumStrings

См. определение в файле Events.cpp строка 49

Используется в LoadLevel_InitializeLevelStr().

◆ uLevelStrFileSize

unsigned int uLevelStrFileSize

См. определение в файле Events.cpp строка 50

Используется в Level_LoadEvtAndStr() и LoadLevel_InitializeLevelStr().

◆ uLevelEVT_NumEvents

signed int uLevelEVT_NumEvents

См. определение в файле Events.cpp строка 51

Используется в EventProcessor(), GetEventHintString(), ODMFace::HasEventHint(), BLVFaceExtra::HasEventint(), LoadLevel_InitializeLevelEvt(), OnMapLeave() и OnMapLoad().

◆ uLevelEVT_Size

unsigned int uLevelEVT_Size

См. определение в файле Events.cpp строка 52

Используется в Level_LoadEvtAndStr() и LoadLevel_InitializeLevelEvt().

◆ pLevelStr

std::array<char, 9216> pLevelStr

См. определение в файле Events.cpp строка 53

Используется в EventProcessor(), GetEventHintString(), Level_LoadEvtAndStr() и LoadLevel_InitializeLevelStr().

◆ pLevelEVT

std::array<char, 9216> pLevelEVT

◆ pLevelEVT_Index

std::array<EventIndex, 4400> pLevelEVT_Index

См. определение в файле Events.cpp строка 55

Используется в EventProcessor(), GetEventHintString(), ODMFace::HasEventHint(), BLVFaceExtra::HasEventint(), LoadLevel_InitializeLevelEvt(), OnMapLeave() и OnMapLoad().

VAR_Cursed
@ VAR_Cursed
Definition: Events.h:232
EVENT_IsActorAssasinated
@ EVENT_IsActorAssasinated
Definition: Events.h:108
VAR_SkillChain
@ VAR_SkillChain
Definition: Events.h:205
SetDecorationSprite
void SetDecorationSprite(uint16_t uCog, bool bHide, const char *pFileName)
Definition: Engine.cpp:1590
Player
Definition: Player.h:401
VAR_MindSkill
@ VAR_MindSkill
Definition: Events.h:212
EVENT_ShowMessage
@ EVENT_ShowMessage
Definition: Events.h:86
VAR_SpearSkill
@ VAR_SpearSkill
Definition: Events.h:199
VAR_PerceptionSkill
@ VAR_PerceptionSkill
Definition: Events.h:221
uNumActors
size_t uNumActors
Definition: Actor.cpp:39
Party::vPosition
Vec3_int_ vPosition
Definition: Party.h:250
VAR_MaxHP
@ VAR_MaxHP
Definition: Events.h:132
VAR_EarthResistanceBonus
@ VAR_EarthResistanceBonus
Definition: Events.h:187
VAR_RandomFood
@ VAR_RandomFood
Definition: Events.h:151
_evt_raw::v14
unsigned char v14
Definition: Events.h:36
VAR_LeatherSkill
@ VAR_LeatherSkill
Definition: Events.h:204
VAR_PersonalityBonus
@ VAR_PersonalityBonus
Definition: Events.h:154
EVENT_ChangeGroup
@ EVENT_ChangeGroup
Definition: Events.h:110
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
pLevelDecorations
std::array< LevelDecoration, 3000 > pLevelDecorations
Definition: Decoration.cpp:8
EVENT_MoveToMap
@ EVENT_MoveToMap
Definition: Events.h:66
Party::uFallSpeed
int uFallSpeed
Definition: Party.h:259
_evt_raw::v23
unsigned char v23
Definition: Events.h:45
EVENT_EnableDateTimer
@ EVENT_EnableDateTimer
Definition: Events.h:118
VAR_BaseIntellect
@ VAR_BaseIntellect
Definition: Events.h:160
_evt_raw::v22
unsigned char v22
Definition: Events.h:44
VAR_Asleep
@ VAR_Asleep
Definition: Events.h:234
Party::uCurrentMonth
unsigned int uCurrentMonth
Definition: Party.h:272
VAR_MeditationSkill
@ VAR_MeditationSkill
Definition: Events.h:220
VAR_FireResistanceBonus
@ VAR_FireResistanceBonus
Definition: Events.h:184
UIMSG_CycleCharacters
@ UIMSG_CycleCharacters
Definition: GUIWindow.h:143
Actor::ToggleFlag
static void ToggleFlag(signed int uActorID, unsigned int uFlag, int bToggle)
Definition: Actor.cpp:112
VAR_Insane
@ VAR_Insane
Definition: Events.h:237
EVENT_Exit
@ EVENT_Exit
Definition: Events.h:61
stru193_math::uDoublePiMask
static const unsigned int uDoublePiMask
Definition: OurMath.h:91
EVENT_Jmp
@ EVENT_Jmp
Definition: Events.h:92
VAR_DarkResistance
@ VAR_DarkResistance
Definition: Events.h:181
VAR_NumBounties
@ VAR_NumBounties
Definition: Events.h:287
LEVEL_DECORATION_TRIGGERED_BY_MONSTER
@ LEVEL_DECORATION_TRIGGERED_BY_MONSTER
Definition: Decoration.h:10
sub_44861E_set_texture
void sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename)
Definition: Engine.cpp:1538
VAR_Counter4
@ VAR_Counter4
Definition: Events.h:272
VAR_SpiritResistance
@ VAR_SpiritResistance
Definition: Events.h:177
VAR_IsSpeedMoreThanBase
@ VAR_IsSpeedMoreThanBase
Definition: Events.h:259
VAR_Afraid
@ VAR_Afraid
Definition: Events.h:235
VAR_DodgeSkill
@ VAR_DodgeSkill
Definition: Events.h:225
pSpriteObjects
std::array< SpriteObject, MAX_SPRITE_OBJECTS > pSpriteObjects
Definition: SpriteObject.cpp:34
VAR_Experience
@ VAR_Experience
Definition: Events.h:141
ToggleActorGroupFlag
void ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle)
Definition: Actor.cpp:4426
Start_Party_Teleport_Flag
int Start_Party_Teleport_Flag
Definition: mm7_data.cpp:628
EVENT_CheckSkill
@ EVENT_CheckSkill
Definition: Events.h:99
VAR_Hour
@ VAR_Hour
Definition: Events.h:145
NPCData::uFlags
unsigned int uFlags
Definition: NPC.h:84
Party_Teleport_Y_Pos
int Party_Teleport_Y_Pos
Definition: mm7_data.cpp:623
VAR_Counter8
@ VAR_Counter8
Definition: Events.h:276
_evt_raw::v16
unsigned char v16
Definition: Events.h:38
uGameState
unsigned int uGameState
Definition: mm7_data.cpp:695
_evt_raw::v7
unsigned char v7
Definition: Events.h:29
_evt_raw::v17
unsigned char v17
Definition: Events.h:39
VAR_IsFlying
@ VAR_IsFlying
Definition: Events.h:264
Weather::bRenderSnow
bool bRenderSnow
Definition: Weather.h:18
Party::sRotationX
int sRotationX
Definition: Party.h:252
VAR_MagicResistance
@ VAR_MagicResistance
Definition: Events.h:183
sub_4451A8_press_any_key
void sub_4451A8_press_any_key(int a1, int a2, int a4)
Definition: UIDialogue.cpp:615
EVENT_OnMapReload
@ EVENT_OnMapReload
Definition: Events.h:93
EVENT_SetActorGroup
@ EVENT_SetActorGroup
Definition: Events.h:104
VAR_Age
@ VAR_Age
Definition: Events.h:139
VAR_AirSkill
@ VAR_AirSkill
Definition: Events.h:208
VAR_ActualAccuracy
@ VAR_ActualAccuracy
Definition: Events.h:171
GUIWindow::CreateButton
GUIButton * CreateButton(int x, int y, int width, int height, int a6, int a7, UIMessageType msg, unsigned int msg_param, uint8_t hotkey, const String &label, const std::vector< Image * > &textures=std::vector< Image * >())
Definition: GUIWindow.cpp:717
sub_448518_npc_set_item
void sub_448518_npc_set_item(int npc, unsigned int item, int a3)
Definition: Actor.cpp:127
dialog_menu_id
HOUSE_DIALOGUE_MENU dialog_menu_id
Definition: UIHouses.cpp:50
LOD::File::LoadCompressedTexture
void * LoadCompressedTexture(const String &pContainer, size_t *data_size=nullptr)
Definition: LOD.cpp:921
GUIMessageQueue::Flush
void Flush()
Definition: GUIWindow.cpp:159
Actor
Definition: Actor.h:151
VAR_MerchantSkill
@ VAR_MerchantSkill
Definition: Events.h:217
pNPCTopics
std::array< NPCTopic, 789 > pNPCTopics
Definition: mm7_data.cpp:740
VAR_SwordSkill
@ VAR_SwordSkill
Definition: Events.h:196
AudioPlayer::PlaySound
void PlaySound(SoundID eSoundID, int pid, unsigned int uNumRepeats, int x, int y, int a7)
Definition: AudioPlayer.cpp:195
GUIWindow_Transition
Definition: UITransition.h:14
VAR_IntellectBonus
@ VAR_IntellectBonus
Definition: Events.h:153
_evt_raw::v30
unsigned char v30
Definition: Events.h:52
EVENT_SetSnow
@ EVENT_SetSnow
Definition: Events.h:70
pSomeEVT_Events
std::array< EventIndex, 4400 > pSomeEVT_Events
Definition: Events.cpp:39
_evt_raw::v18
unsigned char v18
Definition: Events.h:40
NPCStats::pGroups_copy
uint16_t pGroups_copy[51]
Definition: NPC.h:177
VAR_Counter3
@ VAR_Counter3
Definition: Events.h:271
NPCData::evt_B
unsigned int evt_B
Definition: NPC.h:94
EvtTargetObj
int EvtTargetObj
Definition: mm7_data.cpp:620
pSomeEVT
char * pSomeEVT
Definition: Events.cpp:41
LODFile_IconsBitmaps::SyncLoadedFilesCount
void SyncLoadedFilesCount()
Definition: LOD.cpp:375
EVENT_ChangeEvent
@ EVENT_ChangeEvent
Definition: Events.h:98
localization
Localization * localization
Definition: Localization.cpp:11
_evt_raw::v20
unsigned char v20
Definition: Events.h:42
VAR_MaceSkill
@ VAR_MaceSkill
Definition: Events.h:201
VAR_DaggerSkill
@ VAR_DaggerSkill
Definition: Events.h:197
VAR_CurrentHP
@ VAR_CurrentHP
Definition: Events.h:131
VAR_BodybuildingSkill
@ VAR_BodybuildingSkill
Definition: Events.h:219
pMediaPlayer
MPlayer * pMediaPlayer
Definition: MediaPlayer.cpp:43
VAR_HiredNPCHasSpeciality
@ VAR_HiredNPCHasSpeciality
Definition: Events.h:265
VAR_QBits_QuestsDone
@ VAR_QBits_QuestsDone
Definition: Events.h:143
VAR_AirResistance
@ VAR_AirResistance
Definition: Events.h:174
_evt_raw::v31
unsigned char v31
Definition: Events.h:53
_evt_raw::_e_type
unsigned char _e_type
Definition: Events.h:26
UIMSG_SelectCharacter
@ UIMSG_SelectCharacter
Definition: GUIWindow.h:93
Party::pPlayers
std::array< Player, 4 > pPlayers
Definition: Party.h:310
VAR_Invisible
@ VAR_Invisible
Definition: Events.h:293
GUIProgressBar::Type
Type
Definition: GUIProgressBar.h:9
GUIWindow::Release
virtual void Release()
Definition: GUIWindow.cpp:292
VAR_ReputationInCurrentLocation
@ VAR_ReputationInCurrentLocation
Definition: Events.h:281
VAR_BaseLevel
@ VAR_BaseLevel
Definition: Events.h:137
EVENT_IsTotalBountyHuntingAwardInRange
@ EVENT_IsTotalBountyHuntingAwardInRange
Definition: Events.h:123
bDialogueUI_InitializeActor_NPC_ID
int bDialogueUI_InitializeActor_NPC_ID
Definition: mm7_data.cpp:642
dword_5C3418
int dword_5C3418
Definition: mm7_data.cpp:634
VAR_UnknownTimeEvent19
@ VAR_UnknownTimeEvent19
Definition: Events.h:280
EVENT_ToggleActorGroupFlag
@ EVENT_ToggleActorGroupFlag
Definition: Events.h:113
EVENT_ReceiveDamage
@ EVENT_ReceiveDamage
Definition: Events.h:69
VAR_AlchemySkill
@ VAR_AlchemySkill
Definition: Events.h:230
OBJECT_Decoration
@ OBJECT_Decoration
Definition: Actor.h:69
VAR_NumSkillPoints
@ VAR_NumSkillPoints
Definition: Events.h:267
NPCData::evt_E
unsigned int evt_E
Definition: NPC.h:97
VAR_BowSkill
@ VAR_BowSkill
Definition: Events.h:200
ItemGen::Reset
void Reset()
Definition: Items.cpp:133
_evt_raw::v9
unsigned char v9
Definition: Events.h:31
NPCData::evt_C
unsigned int evt_C
Definition: NPC.h:95
pPlayers
NZIArray< struct Player *, 5 > pPlayers
Definition: Player.cpp:46
VAR_DarkSkill
@ VAR_DarkSkill
Definition: Events.h:215
DecorationList::GetDecorIdByName
uint16_t GetDecorIdByName(const char *pName)
Definition: DecorationList.cpp:60
pGlobalEVT
std::array< char, 46080 > pGlobalEVT
Definition: Events.cpp:45
VAR_Drunk
@ VAR_Drunk
Definition: Events.h:236
VAR_Unknown1
@ VAR_Unknown1
Definition: Events.h:284
pIndoor
IndoorLocation * pIndoor
Definition: Indoor.cpp:49
VAR_BaseAccuracy
@ VAR_BaseAccuracy
Definition: Events.h:164
sub_4465DF_check_season
bool sub_4465DF_check_season(int a1)
Definition: Events.cpp:1247
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
Chest::ToggleFlag
static void ToggleFlag(int uChestID, uint16_t uFlag, unsigned int bToggle)
Definition: Chest.cpp:432
dword_5B65C4_cancelEventProcessing
int dword_5B65C4_cancelEventProcessing
Definition: mm7_data.cpp:629
p2DEvents
_2devent p2DEvents[525]
Definition: Events.cpp:57
result
GLuint64EXT * result
Definition: SDL_opengl_glext.h:9435
_2devent::pName
char * pName
Definition: Events2D.h:43
EventIndex
Definition: Events.h:6
VAR_Eradicated
@ VAR_Eradicated
Definition: Events.h:248
EVENT_OnTimer
@ EVENT_OnTimer
Definition: Events.h:87
EVENT_CharacterAnimation
@ EVENT_CharacterAnimation
Definition: Events.h:115
EVENT_SetNPCTopic
@ EVENT_SetNPCTopic
Definition: Events.h:95
VAR_StaffSkill
@ VAR_StaffSkill
Definition: Events.h:195
Party::uFallStartY
int uFallStartY
Definition: Party.h:265
VAR_StealingSkill
@ VAR_StealingSkill
Definition: Events.h:229
VAR_Dead
@ VAR_Dead
Definition: Events.h:246
VAR_WaterResistance
@ VAR_WaterResistance
Definition: Events.h:175
EVENT_SetNPCGreeting
@ EVENT_SetNPCGreeting
Definition: Events.h:106
VAR_BaseEndurance
@ VAR_BaseEndurance
Definition: Events.h:162
VAR_Unconsious
@ VAR_Unconsious
Definition: Events.h:245
_evt_raw::v8
unsigned char v8
Definition: Events.h:30
EVENT_CheckItemsCount
@ EVENT_CheckItemsCount
Definition: Events.h:120
VAR_DayOfYear
@ VAR_DayOfYear
Definition: Events.h:146
pItemsTable
struct ItemsTable * pItemsTable
Definition: Items.cpp:37
EVENT_Set
@ EVENT_Set
Definition: Events.h:77
VAR_FireResistance
@ VAR_FireResistance
Definition: Events.h:173
NPCData::evt_A
unsigned int evt_A
Definition: NPC.h:93
VAR_BodyResistance
@ VAR_BodyResistance
Definition: Events.h:179
pWeather
Weather * pWeather
Definition: Weather.cpp:8
EVENT_MouseOver
@ EVENT_MouseOver
Definition: Events.h:64
_evt_raw::v6
unsigned char v6
Definition: Events.h:28
VAR_MindResistanceBonus
@ VAR_MindResistanceBonus
Definition: Events.h:189
NPCData::evt_D
unsigned int evt_D
Definition: NPC.h:96
Door_switch_animation
void Door_switch_animation(unsigned int uDoorID, int a2)
Definition: Indoor.cpp:5183
VAR_PrisonTerms
@ VAR_PrisonTerms
Definition: Events.h:288
VAR_History_0
@ VAR_History_0
Definition: Events.h:282
uGlobalEVT_NumEvents
unsigned int uGlobalEVT_NumEvents
Definition: Events.cpp:43
VAR_UnarmedSkill
@ VAR_UnarmedSkill
Definition: Events.h:226
VAR_FixedFood
@ VAR_FixedFood
Definition: Events.h:150
VAR_IsLuckMoreThanBase
@ VAR_IsLuckMoreThanBase
Definition: Events.h:261
VAR_ActualAC
@ VAR_ActualAC
Definition: Events.h:135
window_SpeakInHouse
GUIWindow * window_SpeakInHouse
Definition: GUIWindow.cpp:51
EVENT_ShowFace
@ EVENT_ShowFace
Definition: Events.h:68
VAR_ActualLuck
@ VAR_ActualLuck
Definition: Events.h:172
GUIProgressBar::Initialize
bool Initialize(Type type)
Definition: GUIProgressBar.cpp:22
DAMAGE_TYPE
DAMAGE_TYPE
Definition: Items.h:10
EVENT_Add
@ EVENT_Add
Definition: Events.h:75
activeLevelDecoration
LevelDecoration * activeLevelDecoration
Definition: Decoration.cpp:10
HOUSE_ID
HOUSE_ID
Definition: UIHouses.h:50
pGlobalEVT_Index
std::array< EventIndex, 4400 > pGlobalEVT_Index
Definition: Events.cpp:46
VAR_MindResistance
@ VAR_MindResistance
Definition: Events.h:178
_evt_raw::v19
unsigned char v19
Definition: Events.h:41
pParty
Party * pParty
Definition: Party.cpp:30
VAR_PoisonedGreen
@ VAR_PoisonedGreen
Definition: Events.h:238
EVENT_NPCSetItem
@ EVENT_NPCSetItem
Definition: Events.h:105
VAR_LuckBonus
@ VAR_LuckBonus
Definition: Events.h:158
Party_Teleport_Cam_Pitch
int Party_Teleport_Cam_Pitch
Definition: mm7_data.cpp:626
VAR_Stoned
@ VAR_Stoned
Definition: Events.h:247
GUIWindow::DeleteButtons
void DeleteButtons()
Definition: GUIWindow.cpp:305
EVENT_SetNPCGroupNews
@ EVENT_SetNPCGroupNews
Definition: Events.h:103
VAR_Counter2
@ VAR_Counter2
Definition: Events.h:270
LEVEL_DECORATION_INVISIBLE
@ LEVEL_DECORATION_INVISIBLE
Definition: Decoration.h:14
NPCStats::pNewNPCData
NPCData pNewNPCData[501]
Definition: NPC.h:165
VAR_PoisonedYellow
@ VAR_PoisonedYellow
Definition: Events.h:240
VAR_PlateSkill
@ VAR_PlateSkill
Definition: Events.h:206
_evt_raw::v27
unsigned char v27
Definition: Events.h:49
current_npc_text
String current_npc_text
Definition: mm7_data.cpp:780
CHARACTER_EXPRESSION_ID
CHARACTER_EXPRESSION_ID
Definition: Player.h:341
VAR_IsMightMoreThanBase
@ VAR_IsMightMoreThanBase
Definition: Events.h:255
LEVEL_DECORATION_TRIGGERED_BY_TOUCH
@ LEVEL_DECORATION_TRIGGERED_BY_TOUCH
Definition: Decoration.h:9
_evt_raw::v25
unsigned char v25
Definition: Events.h:47
VAR_Class
@ VAR_Class
Definition: Events.h:130
_evt_raw::v26
unsigned char v26
Definition: Events.h:48
VAR_MapPersistentVariable_0
@ VAR_MapPersistentVariable_0
Definition: Events.h:250
VAR_AirResistanceBonus
@ VAR_AirResistanceBonus
Definition: Events.h:185
sub_448CF4_spawn_monsters
void sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName)
Definition: Events.cpp:1280
EVENT_IsActorAlive
@ EVENT_IsActorAlive
Definition: Events.h:107
pGameLoadingUI_ProgressBar
GUIProgressBar * pGameLoadingUI_ProgressBar
Definition: GUIProgressBar.cpp:14
VAR_Race
@ VAR_Race
Definition: Events.h:142
viewparams
struct ViewingParams * viewparams
Definition: mm7_data.cpp:22
ItemsTable::GenerateItem
void GenerateItem(int treasure_level, unsigned int uTreasureType, ItemGen *pItem)
Definition: Items.cpp:680
Player::AddVariable
void AddVariable(enum VariableType var, signed int val)
Definition: Player.cpp:5658
VAR_BlasterSkill
@ VAR_BlasterSkill
Definition: Events.h:202
CURRENT_SCREEN::SCREEN_HOUSE
@ SCREEN_HOUSE
pLevelEVT
std::array< char, 9216 > pLevelEVT
Definition: Events.cpp:54
_evt_raw::v13
unsigned char v13
Definition: Events.h:35
Party_Teleport_X_Pos
int Party_Teleport_X_Pos
Definition: mm7_data.cpp:622
ItemGen::uItemID
int uItemID
Definition: Items.h:326
EVENT_EndCanShowDialogItem
@ EVENT_EndCanShowDialogItem
Definition: Events.h:101
EVENT_SummonItem
@ EVENT_SummonItem
Definition: Events.h:90
VAR_ArenaWinsSquire
@ VAR_ArenaWinsSquire
Definition: Events.h:290
MPlayer::Unload
void Unload()
Definition: MediaPlayer.cpp:826
IsActorAlive
int IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive)
Definition: Actor.cpp:3240
stru123::_decor_events
std::array< unsigned char, 125 > _decor_events
Definition: stru123.h:8
VAR_ArenaWinsLord
@ VAR_ArenaWinsLord
Definition: Events.h:292
EVENT_ChangeGroupAlly
@ EVENT_ChangeGroupAlly
Definition: Events.h:111
VAR_LearningSkill
@ VAR_LearningSkill
Definition: Events.h:231
pIcons_LOD
LODFile_IconsBitmaps * pIcons_LOD
Definition: LOD.cpp:12
VAR_LevelModifier
@ VAR_LevelModifier
Definition: Events.h:138
LevelDecoration::uFlags
uint16_t uFlags
Definition: Decoration.h:27
dword_5B65D0_dialogue_actor_npc_id
signed int dword_5B65D0_dialogue_actor_npc_id
Definition: mm7_data.cpp:633
AudioPlayer::StopChannels
void StopChannels(int uStartChannel, int uEndChannel)
Definition: AudioPlayer.cpp:331
VAR_BodySkill
@ VAR_BodySkill
Definition: Events.h:213
pActors
std::array< Actor, 500 > pActors
Definition: Actor.cpp:38
VAR_MightBonus
@ VAR_MightBonus
Definition: Events.h:152
Party_Teleport_Cam_Yaw
int Party_Teleport_Cam_Yaw
Definition: mm7_data.cpp:625
VAR_Paralyzed
@ VAR_Paralyzed
Definition: Events.h:244
uCurrentHouse_Animation
int uCurrentHouse_Animation
Definition: mm7_data.cpp:607
VAR_GoldInBank
@ VAR_GoldInBank
Definition: Events.h:285
VAR_EarthSkill
@ VAR_EarthSkill
Definition: Events.h:210
uNumLevelDecorations
size_t uNumLevelDecorations
Definition: Decoration.cpp:9
VAR_BaseLuck
@ VAR_BaseLuck
Definition: Events.h:165
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
EVENT_ChangeDoorState
@ EVENT_ChangeDoorState
Definition: Events.h:74
EVENT_IsNPCInParty
@ EVENT_IsNPCInParty
Definition: Events.h:124
Party::uFlags
unsigned int uFlags
Definition: Party.h:313
branchless_dialogue_str
String branchless_dialogue_str
Definition: mm7_data.cpp:619
EVENT_RandomGoTo
@ EVENT_RandomGoTo
Definition: Events.h:83
VAR_Counter6
@ VAR_Counter6
Definition: Events.h:274
Actor::sNPC_ID
int16_t sNPC_ID
Definition: Actor.h:287
EVENT_ToggleActorFlag
@ EVENT_ToggleActorFlag
Definition: Events.h:82
VAR_IsEnduranceMoreThanBase
@ VAR_IsEnduranceMoreThanBase
Definition: Events.h:258
MapsLongTimers_count
int MapsLongTimers_count
Definition: mm7_data.cpp:630
_evt_raw::v10
unsigned char v10
Definition: Events.h:32
Transition_StopSound_Autosave
void Transition_StopSound_Autosave(const char *pMapName, MapStartPoint start_point)
Definition: Engine.cpp:2464
LEVEL_DECORATION_TRIGGERED_BY_OBJECT
@ LEVEL_DECORATION_TRIGGERED_BY_OBJECT
Definition: Decoration.h:11
VAR_PoisonedRed
@ VAR_PoisonedRed
Definition: Events.h:242
SOUND_Invalid
@ SOUND_Invalid
Definition: AudioPlayer.h:11
VAR_IsAccuracyMoreThanBase
@ VAR_IsAccuracyMoreThanBase
Definition: Events.h:260
VAR_SpeedBonus
@ VAR_SpeedBonus
Definition: Events.h:156
EVENT_LocationName
@ EVENT_LocationName
Definition: Events.h:65
EVENT_SetCanShowDialogItem
@ EVENT_SetCanShowDialogItem
Definition: Events.h:102
NPCData
Definition: NPC.h:79
LoadEventsToBuffer
unsigned int LoadEventsToBuffer(const char *pContainerName, char *pBuffer, unsigned int uBufferSize)
Definition: Events.cpp:59
EVENT_OnLongTimer
@ EVENT_OnLongTimer
Definition: Events.h:94
EVENT_SetSprite
@ EVENT_SetSprite
Definition: Events.h:72
VAR_Sex
@ VAR_Sex
Definition: Events.h:129
VAR_Counter1
@ VAR_Counter1
Definition: Events.h:269
SOUND_enter
@ SOUND_enter
Definition: AudioPlayer.h:12
VAR_FixedGold
@ VAR_FixedGold
Definition: Events.h:148
pDialogueNPCCount
int pDialogueNPCCount
Definition: NPC.cpp:26
VAR_NumDeaths
@ VAR_NumDeaths
Definition: Events.h:286
VAR_ActualIntellect
@ VAR_ActualIntellect
Definition: Events.h:167
LevelDecoration
Definition: Decoration.h:20
VAR_DisarmTrapSkill
@ VAR_DisarmTrapSkill
Definition: Events.h:224
VAR_SpiritSkill
@ VAR_SpiritSkill
Definition: Events.h:211
VAR_NPCs2
@ VAR_NPCs2
Definition: Events.h:263
uLevelEVT_Size
unsigned int uLevelEVT_Size
Definition: Events.cpp:52
VAR_AxeSkill
@ VAR_AxeSkill
Definition: Events.h:198
pLevelEVT_Index
std::array< EventIndex, 4400 > pLevelEVT_Index
Definition: Events.cpp:55
num_event_triggers
size_t num_event_triggers
Definition: mm7_data.cpp:688
EVENT_SummonMonsters
@ EVENT_SummonMonsters
Definition: Events.h:78
EVENT_CheckSeason
@ EVENT_CheckSeason
Definition: Events.h:112
VAR_CurrentSP
@ VAR_CurrentSP
Definition: Events.h:133
pEvents_LOD
LODFile_IconsBitmaps * pEvents_LOD
Definition: LOD.cpp:10
EventCastSpell
void EventCastSpell(int uSpellID, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz)
Definition: Spells.cpp:429
VAR_ActualMight
@ VAR_ActualMight
Definition: Events.h:166
VAR_IsIntellectMoreThanBase
@ VAR_IsIntellectMoreThanBase
Definition: Events.h:256
EVENT_CastSpell
@ EVENT_CastSpell
Definition: Events.h:79
pLevelStr
std::array< char, 9216 > pLevelStr
Definition: Events.cpp:53
_evt_raw::v15
unsigned char v15
Definition: Events.h:37
Chest::Open
static bool Open(int uChestID)
Definition: Chest.cpp:41
VAR_LightResistanceBonus
@ VAR_LightResistanceBonus
Definition: Events.h:191
VAR_Award
@ VAR_Award
Definition: Events.h:140
NPCData::Location2D
unsigned int Location2D
Definition: NPC.h:88
VAR_ActualEndurance
@ VAR_ActualEndurance
Definition: Events.h:169
VAR_Counter5
@ VAR_Counter5
Definition: Events.h:273
SPRITE_OBJECT_TYPE
SPRITE_OBJECT_TYPE
Definition: SpriteObject.h:5
VAR_DarkResistanceBonus
@ VAR_DarkResistanceBonus
Definition: Events.h:192
EVENT_SetFacesBit
@ EVENT_SetFacesBit
Definition: Events.h:81
game_ui_status_bar_event_string_time_left
unsigned int game_ui_status_bar_event_string_time_left
Definition: mm7_data.cpp:639
CURRENT_SCREEN::SCREEN_GAME
@ SCREEN_GAME
VAR_IsPersonalityMoreThanBase
@ VAR_IsPersonalityMoreThanBase
Definition: Events.h:257
_evt_raw::v11
unsigned char v11
Definition: Events.h:33
OnMapLeave
void OnMapLeave()
Definition: Engine.cpp:2312
uGlobalEVT_Size
unsigned int uGlobalEVT_Size
Definition: Events.cpp:44
VAR_MapPersistentVariable_74
@ VAR_MapPersistentVariable_74
Definition: Events.h:251
Party::uCurrentDayOfMonth
unsigned int uCurrentDayOfMonth
Definition: Party.h:274
VAR_LightResistance
@ VAR_LightResistance
Definition: Events.h:180
GAME_STATE_CHANGE_LOCATION
@ GAME_STATE_CHANGE_LOCATION
Definition: Engine.h:34
VAR_BasePersonality
@ VAR_BasePersonality
Definition: Events.h:161
uNumSpriteObjects
size_t uNumSpriteObjects
Definition: SpriteObject.cpp:33
VAR_PlayerBits
@ VAR_PlayerBits
Definition: Events.h:262
EVENT_SetTexture
@ EVENT_SetTexture
Definition: Events.h:71
EVENT_OnCanShowDialogItemCmp
@ EVENT_OnCanShowDialogItemCmp
Definition: Events.h:100
EVENT_OnMapLeave
@ EVENT_OnMapLeave
Definition: Events.h:109
VAR_ThieverySkill
@ VAR_ThieverySkill
Definition: Events.h:223
VAR_MapPersistentVariable_99
@ VAR_MapPersistentVariable_99
Definition: Events.h:253
_evt_raw::v28
unsigned char v28
Definition: Events.h:50
VAR_FireSkill
@ VAR_FireSkill
Definition: Events.h:207
VariableType
VariableType
Definition: Events.h:128
Party_Teleport_Z_Speed
int Party_Teleport_Z_Speed
Definition: mm7_data.cpp:627
EVENT_SpeakNPC
@ EVENT_SpeakNPC
Definition: Events.h:80
NPCData::greet
int greet
Definition: NPC.h:90
HouseDialogPressCloseBtn
int HouseDialogPressCloseBtn()
Definition: UIHouses.cpp:3911
VAR_MonthIs
@ VAR_MonthIs
Definition: Events.h:268
VAR_AccuracyBonus
@ VAR_AccuracyBonus
Definition: Events.h:157
VAR_ArenaWinsPage
@ VAR_ArenaWinsPage
Definition: Events.h:289
sub_44892E_set_faces_bit
void sub_44892E_set_faces_bit(int sCogNumber, int bit, int on)
Definition: Engine.cpp:1558
LevelDecoration::_idx_in_stru123
int16_t _idx_in_stru123
Definition: Decoration.h:34
VAR_RandomGold
@ VAR_RandomGold
Definition: Events.h:149
VAR_ActualSpeed
@ VAR_ActualSpeed
Definition: Events.h:170
VAR_ArmsmasterSkill
@ VAR_ArmsmasterSkill
Definition: Events.h:228
pLevelStrOffsets
std::array< unsigned int, 500 > pLevelStrOffsets
Definition: Events.cpp:48
uint
unsigned int uint
Definition: MM7.h:4
VAR_WaterResistanceBonus
@ VAR_WaterResistanceBonus
Definition: Events.h:186
VAR_MagicResistanceBonus
@ VAR_MagicResistanceBonus
Definition: Events.h:194
uActiveCharacter
unsigned int uActiveCharacter
Definition: mm7_data.cpp:555
VAR_ItemEquipped
@ VAR_ItemEquipped
Definition: Events.h:294
NPCData::evt_F
unsigned int evt_F
Definition: NPC.h:98
__debugbreak
void __cdecl __debugbreak(void)
_evt_raw
Definition: Events.h:20
uLevelEVT_NumEvents
signed int uLevelEVT_NumEvents
Definition: Events.cpp:51
VAR_ACModifier
@ VAR_ACModifier
Definition: Events.h:136
pNPCStats
struct NPCStats * pNPCStats
Definition: NPC.cpp:29
HOUSE_DIALOGUE_NULL
@ HOUSE_DIALOGUE_NULL
Definition: UIHouses.h:7
GUIWindow::par1C
unsigned int par1C
Definition: GUIWindow.h:477
VAR_UnknownTimeEvent0
@ VAR_UnknownTimeEvent0
Definition: Events.h:279
VAR_BodyResistanceBonus
@ VAR_BodyResistanceBonus
Definition: Events.h:190
SpriteObject::sub_42F7EB_DropItemAt
static bool sub_42F7EB_DropItemAt(SPRITE_OBJECT_TYPE sprite, int x, int y, int z, int a4, int count, int a7, unsigned __int16 attributes, ItemGen *a9)
Definition: SpriteObject.cpp:937
EVENT_InputString
@ EVENT_InputString
Definition: Events.h:84
VAR_PhysicalResistanceBonus
@ VAR_PhysicalResistanceBonus
Definition: Events.h:193
EnterHouse
bool EnterHouse(enum HOUSE_ID uHouseID)
Definition: UIHouses.cpp:826
GameUI_StatusBar_OnEvent
void GameUI_StatusBar_OnEvent(const String &str, unsigned int num_seconds)
Definition: UIStatusBar.cpp:33
IndoorLocation::ToggleLight
void ToggleLight(signed int uLightID, unsigned int bToggle)
Definition: Indoor.cpp:846
Party::SetHoldingItem
void SetHoldingItem(ItemGen *pItem)
Definition: Party.cpp:150
EVENT_StopAnimation
@ EVENT_StopAnimation
Definition: Events.h:119
VAR_Counter7
@ VAR_Counter7
Definition: Events.h:275
VAR_SpiritResistanceBonus
@ VAR_SpiritResistanceBonus
Definition: Events.h:188
VAR_IdentifyItemSkill
@ VAR_IdentifyItemSkill
Definition: Events.h:216
stru_5C6E00
struct stru193_math * stru_5C6E00
Definition: mm7_data.cpp:19
MapsLongTimersList
MapsLongTimer MapsLongTimersList[100]
Definition: mm7_data.cpp:165
_evt_raw::v21
unsigned char v21
Definition: Events.h:43
_evt_raw::v5
unsigned char v5
Definition: Events.h:27
VAR_DayOfWeek
@ VAR_DayOfWeek
Definition: Events.h:147
ViewingParams::bRedrawGameUI
int bRedrawGameUI
Definition: Viewport.h:74
VAR_ShieldSkill
@ VAR_ShieldSkill
Definition: Events.h:203
Actor::GiveItem
static void GiveItem(signed int uActorID, unsigned int uItemID, unsigned int bGive)
Definition: Actor.cpp:134
SoundID
SoundID
Definition: AudioPlayer.h:10
VAR_LightSkill
@ VAR_LightSkill
Definition: Events.h:214
VAR_BaseMight
@ VAR_BaseMight
Definition: Events.h:159
EVENT_RemoveItems
@ EVENT_RemoveItems
Definition: Events.h:121
EventProcessor
void EventProcessor(int uEventID, int targetObj, int canShowMessages, int entry_line)
Definition: Events.cpp:260
EVENT_SpecialJump
@ EVENT_SpecialJump
Definition: Events.h:122
EVENT_MoveNPC
@ EVENT_MoveNPC
Definition: Events.h:96
VAR_DiplomacySkill
@ VAR_DiplomacySkill
Definition: Events.h:222
EVENT_OpenChest
@ EVENT_OpenChest
Definition: Events.h:67
EVENT_OnDateTimer
@ EVENT_OnDateTimer
Definition: Events.h:117
VAR_RepairSkill
@ VAR_RepairSkill
Definition: Events.h:218
EVENT_SetActorItem
@ EVENT_SetActorItem
Definition: Events.h:116
VAR_History_28
@ VAR_History_28
Definition: Events.h:283
EVENT_ToggleChestFlag
@ EVENT_ToggleChestFlag
Definition: Events.h:114
pAudioPlayer
AudioPlayer * pAudioPlayer
Definition: AudioPlayer.cpp:20
ItemGen
Definition: Items.h:263
EVENT_PlaySound
@ EVENT_PlaySound
Definition: Events.h:63
EVENT_SpeakInHouse
@ EVENT_SpeakInHouse
Definition: Events.h:62
size
GLsizeiptr size
Definition: SDL_opengl_glext.h:540
pMessageQueue_50CBD0
struct GUIMessageQueue * pMessageQueue_50CBD0
Definition: GUIWindow.cpp:86
PlayerSpeech
PlayerSpeech
Definition: Player.h:46
stru_5E4C90_MapPersistVars
stru123 stru_5E4C90_MapPersistVars
Definition: mm7_data.cpp:23
EVENT_Substract
@ EVENT_Substract
Definition: Events.h:76
pDialogueWindow
GUIWindow * pDialogueWindow
Definition: GUIWindow.cpp:50
EVENT_Compare
@ EVENT_Compare
Definition: Events.h:73
EVENT_ForPartyMember
@ EVENT_ForPartyMember
Definition: Events.h:91
VAR_CircusPrises
@ VAR_CircusPrises
Definition: Events.h:266
VAR_ActualPersonality
@ VAR_ActualPersonality
Definition: Events.h:168
VAR_DiseasedRed
@ VAR_DiseasedRed
Definition: Events.h:243
EVENT_GiveItem
@ EVENT_GiveItem
Definition: Events.h:97
VAR_EarthResistance
@ VAR_EarthResistance
Definition: Events.h:176
VAR_DiseasedYellow
@ VAR_DiseasedYellow
Definition: Events.h:241
VAR_IdentifyMonsterSkill
@ VAR_IdentifyMonsterSkill
Definition: Events.h:227
VAR_PlayerItemInHands
@ VAR_PlayerItemInHands
Definition: Events.h:144
VAR_Weak
@ VAR_Weak
Definition: Events.h:233
dword_5C341C
int dword_5C341C
Definition: mm7_data.cpp:635
VAR_ArenaWinsKnight
@ VAR_ArenaWinsKnight
Definition: Events.h:291
Party_Teleport_Z_Pos
int Party_Teleport_Z_Pos
Definition: mm7_data.cpp:624
EVENT_PressAnyKey
@ EVENT_PressAnyKey
Definition: Events.h:89
Party::sRotationY
int sRotationY
Definition: Party.h:251
EVENT_StatusText
@ EVENT_StatusText
Definition: Events.h:85
game_ui_status_bar_event_string
String game_ui_status_bar_event_string
Definition: mm7_data.cpp:637
VAR_AutoNotes
@ VAR_AutoNotes
Definition: Events.h:254
VAR_Counter9
@ VAR_Counter9
Definition: Events.h:277
_evt_raw::v29
unsigned char v29
Definition: Events.h:51
GameUI_InitializeDialogue
void GameUI_InitializeDialogue(Actor *actor, int bPlayerSaysHello)
Definition: UIDialogue.cpp:25
event_triggers
std::array< int, 3000 > event_triggers
Definition: mm7_data.cpp:687
VAR_PhysicalResistance
@ VAR_PhysicalResistance
Definition: Events.h:182
VAR_EnduranceBonus
@ VAR_EnduranceBonus
Definition: Events.h:155
MapStartPoint_Party
@ MapStartPoint_Party
Definition: MapInfo.h:28
VAR_WaterSkill
@ VAR_WaterSkill
Definition: Events.h:209
HOUSE_DARK_GUILD_PIT
@ HOUSE_DARK_GUILD_PIT
Definition: UIHouses.h:95
VAR_MapPersistentVariable_75
@ VAR_MapPersistentVariable_75
Definition: Events.h:252
GUIWindow_House
Definition: UIHouses.h:155
uSomeEVT_NumEvents
signed int uSomeEVT_NumEvents
Definition: Events.cpp:40
VAR_MaxSP
@ VAR_MaxSP
Definition: Events.h:134
VAR_BaseSpeed
@ VAR_BaseSpeed
Definition: Events.h:163
HOUSE_BODY_GUILD_ERATHIA
@ HOUSE_BODY_GUILD_ERATHIA
Definition: UIHouses.h:94
_evt_raw::v24
unsigned char v24
Definition: Events.h:46
pDecorationList
struct DecorationList * pDecorationList
Definition: DecorationList.cpp:11
VAR_MajorCondition
@ VAR_MajorCondition
Definition: Events.h:249
_evt_raw::v12
unsigned char v12
Definition: Events.h:34
VAR_Counter10
@ VAR_Counter10
Definition: Events.h:278
EVENT_ToggleIndoorLight
@ EVENT_ToggleIndoorLight
Definition: Events.h:88
VAR_DiseasedGreen
@ VAR_DiseasedGreen
Definition: Events.h:239