CommonLibSSE NG
Loading...
Searching...
No Matches
TESCondition.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace RE
7{
8 class TESGlobal;
9 class TESObjectREFR;
10
12 {
13 kSelf = 0,
14 kTarget = 1,
15 kRef = 2,
16 kCombatTarget = 3,
17 kLinkedRef = 4,
18 kQuestAlias = 5,
19 kPackData = 6,
20 kEventData = 7,
22 };
23
25 {
26 public:
27 // Betheseda keeps these in a giant lookup table
28 // using func_t = bool(TESObjectREFR* a_thisObj, void* a_param1, void* a_param2, double& a_result);
29 enum class FunctionID
30 {
32 kGetDistance = 1,
33 kAddItem = 2,
34 kSetEssential = 3,
35 kRotate = 4,
36 kGetLocked = 5,
37 kGetPos = 6,
38 kSetPos = 7,
39 kGetAngle = 8,
40 kSetAngle = 9,
41 kGetStartingPos = 10,
44 kActivate = 13,
45 kGetActorValue = 14,
46 kGetAV = static_cast<std::underlying_type_t<FunctionID>>(kGetActorValue),
47 kSetActorValue = 15,
48 kSetAV = static_cast<std::underlying_type_t<FunctionID>>(kSetActorValue),
49 kModActorValue = 16,
50 kModAV = static_cast<std::underlying_type_t<FunctionID>>(kModActorValue),
51 kSetAtStart = 17,
52 kGetCurrentTime = 18,
53 kPlayGroup = 19,
54 kLoopGroup = 20,
55 kSkipAnim = 21,
56 kStartCombat = 22,
57 kStopCombat = 23,
58 kGetScale = 24,
59 kIsMoving = 25,
60 kIsTurning = 26,
61 kGetLineOfSight = 27,
62 kGetLOS = static_cast<std::underlying_type_t<FunctionID>>(kGetLineOfSight),
63 kAddSpell = 28,
64 kRemoveSpell = 29,
65 kCast = 30,
66 kGetButtonPressed = 31,
67 kGetInSameCell = 32,
68 kEnable = 33,
69 kDisable = 34,
70 kGetDisabled = 35,
71 kMenuMode = 36,
72 kPlaceAtMe = 37,
73 kPlaySound = 38,
74 kGetDisease = 39,
75 kFailAllObjectives = 40,
76 kGetClothingValue = 41,
77 kSameFaction = 42,
78 kSameRace = 43,
79 kSameSex = 44,
80 kGetDetected = 45,
81 kGetDead = 46,
82 kGetItemCount = 47,
83 kGetGold = 48,
84 kGetSleeping = 49,
85 kGetTalkedToPC = 50,
86 kSay = 51,
87 kSayTo = 52,
88 kGetScriptVariable = 53,
89 kStartQuest = 54,
90 kStopQuest = 55,
91 kGetQuestRunning = 56,
92 kGetQR = static_cast<std::underlying_type_t<FunctionID>>(kGetQuestRunning),
93 kSetStage = 57,
94 kGetStage = 58,
95 kGetStageDone = 59,
96 kGetFactionRankDifference = 60,
97 kGetAlarmed = 61,
98 kIsRaining = 62,
99 kGetAttacked = 63,
100 kGetIsCreature = 64,
101 kGetLockLevel = 65,
102 kGetShouldAttack = 66,
103 kGetInCell = 67,
104 kGetIsClass = 68,
105 kGetIsRace = 69,
106 kGetIsSex = 70,
107 kGetInFaction = 71,
108 kGetIsID = 72,
109 kGetFactionRank = 73,
110 kGetGlobalValue = 74,
111 kIsSnowing = 75,
112 kFastTravel = 76,
113 kFT = static_cast<std::underlying_type_t<FunctionID>>(kFastTravel),
114 kGetRandomPercent = 77,
115 kRemoveMusic = 78,
116 kGetQuestVariable = 79,
117 kGetLevel = 80,
118 kIsRotating = 81,
119 kRemoveItem = 82,
120 kGetLeveledEncounterValue = 83,
121 kGetDeadCount = 84,
122 kAddToMap = 85,
123 kShowMap = static_cast<std::underlying_type_t<FunctionID>>(kAddToMap),
124 kStartConversation = 86,
125 kDrop = 87,
126 kAddTopic = 88,
127 kShowMessage = 89,
128 kSetAlert = 90,
129 kGetIsAlerted = 91,
130 kLook = 92,
131 kStopLook = 93,
132 kEvaluatePackage = 94,
133 kEvP = static_cast<std::underlying_type_t<FunctionID>>(kEvaluatePackage),
134 kSendAssaultAlarm = 95,
135 kEnablePlayerControls = 96,
136 kEPC = static_cast<std::underlying_type_t<FunctionID>>(kEnablePlayerControls),
137 kDisablePlayerControls = 97,
138 kDPC = static_cast<std::underlying_type_t<FunctionID>>(kDisablePlayerControls),
139 kGetPlayerControlsDisabled = 98,
140 kGPC = static_cast<std::underlying_type_t<FunctionID>>(kGetPlayerControlsDisabled),
141 kGetHeadingAngle = 99,
142 kPickIdle = 100,
143 kIsWeaponMagicOut = 101,
144 kIsTorchOut = 102,
145 kIsShieldOut = 103,
146 kCreateDetectionEvent = 104,
147 kIsActionRef = 105,
148 kIsFacingUp = 106,
149 kGetKnockedState = 107,
150 kGetWeaponAnimType = 108,
151 kIsWeaponSkillType = 109,
152 kGetCurrentAIPackage = 110,
153 kIsWaiting = 111,
154 kIsIdlePlaying = 112,
155 kCompleteQuest = 113,
156 kLock = 114,
157 kUnLock = 115,
158 kIsIntimidatedByPlayer = 116,
159 kIsPlayerInRegion = 117,
160 kGetActorAggroRadiusViolated = 118,
161 kGetCrimeKnown = 119,
162 kSetEnemy = 120,
163 kSetAlly = 121,
164 kGetCrime = 122,
165 kIsGreetingPlayer = 123,
166 kStartMisterSandMan = 124,
167 kIsGuard = 125,
168 kStartCannibal = 126,
169 kHasBeenEaten = 127,
170 kGetStaminaPercentage = 128,
171 kGetStamina = static_cast<std::underlying_type_t<FunctionID>>(kGetStaminaPercentage),
172 kGetPCIsClass = 129,
173 kGetPCIsRace = 130,
174 kGetPCIsSex = 131,
175 kGetPCInFaction = 132,
176 kSameFactionAsPC = 133,
177 kSameRaceAsPC = 134,
178 kSameSexAsPC = 135,
179 kGetIsReference = 136,
180 kSetFactionRank = 137,
181 kModFactionRank = 138,
182 kKillActor = 139,
183 kkill = static_cast<std::underlying_type_t<FunctionID>>(kKillActor),
184 kResurrectActor = 140,
185 kResurrect = static_cast<std::underlying_type_t<FunctionID>>(kResurrectActor),
186 kIsTalking = 141,
187 kGetWalkSpeed = 142,
188 kGetWalk = static_cast<std::underlying_type_t<FunctionID>>(kGetWalkSpeed),
189 kGetCurrentAIProcedure = 143,
190 kGetTrespassWarningLevel = 144,
191 kIsTrespassing = 145,
192 kIsInMyOwnedCell = 146,
193 kGetWindSpeed = 147,
194 kGetCurrentWeatherPercent = 148,
195 kGetweatherpct = static_cast<std::underlying_type_t<FunctionID>>(kGetCurrentWeatherPercent),
196 kGetIsCurrentWeather = 149,
197 kGetweather = static_cast<std::underlying_type_t<FunctionID>>(kGetIsCurrentWeather),
198 kIsContinuingPackagePCNear = 150,
199 kSetCrimeFaction = 151,
200 kGetIsCrimeFaction = 152,
201 kCanHaveFlames = 153,
202 kHasFlames = 154,
203 kAddFlames = 155,
204 kRemoveFlames = 156,
205 kGetOpenState = 157,
206 kMoveToMarker = 158,
207 kMoveTo = static_cast<std::underlying_type_t<FunctionID>>(kMoveToMarker),
208 kGetSitting = 159,
209 kGetFurnitureMarkerID = 160,
210 kGetIsCurrentPackage = 161,
211 kIsCurrentFurnitureRef = 162,
212 kIsCurrentFurnitureObj = 163,
213 kSetSize = 164,
214 kCSize = static_cast<std::underlying_type_t<FunctionID>>(kSetSize),
215 kRemoveMe = 165,
216 kDropMe = 166,
217 kGetFactionReaction = 167,
218 kSetFactionReaction = 168,
219 kModFactionReaction = 169,
220 kGetDayOfWeek = 170,
221 kIgnoreCrime = 171,
222 kGetTalkedToPCParam = 172,
223 kRemoveAllItems = 173,
224 kWakeUpPC = 174,
225 kIsPCSleeping = 175,
226 kIsPCAMurderer = 176,
227 kSetCombatStyle = 177,
228 kSetCS = static_cast<std::underlying_type_t<FunctionID>>(kSetCombatStyle),
229 kPlaySound3D = 178,
230 kSelectPlayerSpell = 179,
231 kSPSpell = static_cast<std::underlying_type_t<FunctionID>>(kSelectPlayerSpell),
232 kHasSameEditorLocAsRef = 180,
233 kHasSameEditorLocAsRefAlias = 181,
234 kGetEquipped = 182,
235 kWait = 183,
236 kStopWaiting = 184,
237 kIsSwimming = 185,
238 kScriptEffectElapsedSeconds = 186,
239 kSetCellPublicFlag = 187,
240 kSetPublic = static_cast<std::underlying_type_t<FunctionID>>(kSetCellPublicFlag),
241 kGetPCSleepHours = 188,
242 kSetPCSleepHours = 189,
243 kGetAmountSoldStolen = 190,
244 kModAmountSoldStolen = 191,
245 kGetIgnoreCrime = 192,
246 kGetPCExpelled = 193,
247 kSetPCExpelled = 194,
248 kGetPCFactionMurder = 195,
249 kSetPCFactionMurder = 196,
250 kGetPCEnemyofFaction = 197,
251 kSetPCEnemyofFaction = 198,
252 kGetPCFactionAttack = 199,
253 kSetPCFactionAttack = 200,
254 kStartScene = 201,
255 kStopScene = 202,
256 kGetDestroyed = 203,
257 kSetDestroyed = 204,
258 kGetActionRef = 205,
259 kGetAR = static_cast<std::underlying_type_t<FunctionID>>(kGetActionRef),
260 kGetSelf = 206,
261 kThis = static_cast<std::underlying_type_t<FunctionID>>(kGetSelf),
262 kGetContainer = 207,
263 kGetForceRun = 208,
264 kSetForceRun = 209,
265 kGetForceSneak = 210,
266 kSetForceSneak = 211,
267 kAdvancePCSkill = 212,
268 kAdvSkill = static_cast<std::underlying_type_t<FunctionID>>(kAdvancePCSkill),
269 kAdvancePCLevel = 213,
270 kAdvLevel = static_cast<std::underlying_type_t<FunctionID>>(kAdvancePCLevel),
271 kHasMagicEffect = 214,
272 kGetDefaultOpen = 215,
273 kSetDefaultOpen = 216,
274 kShowClassMenu = 217,
275 kShowRaceMenu = 218,
276 kSetPlayerRace = static_cast<std::underlying_type_t<FunctionID>>(kShowRaceMenu),
277 kGetAnimAction = 219,
278 kShowNameMenu = 220,
279 kSetOpenState = 221,
280 kResetReference = 222,
281 kRecycleActor = static_cast<std::underlying_type_t<FunctionID>>(kResetReference),
282 kIsSpellTarget = 223,
283 kGetVATSMode = 224,
284 kGetPersuasionNumber = 225,
285 kGetVampireFeed = 226,
286 kGetCannibal = 227,
287 kGetIsClassDefault = 228,
288 kGetClassDefaultMatch = 229,
289 kGetInCellParam = 230,
290 kUnusedFunction1 = 231,
291 kGetCombatTarget = 232,
292 kGetPackageTarget = 233,
293 kShowSpellMaking = 234,
294 kGetVatsTargetHeight = 235,
295 kSetGhost = 236,
296 kGetIsGhost = 237,
297 kEquipItem = 238,
298 kEquipObject = static_cast<std::underlying_type_t<FunctionID>>(kEquipItem),
299 kUnequipItem = 239,
300 kUnEquipObject = static_cast<std::underlying_type_t<FunctionID>>(kUnequipItem),
301 kSetClass = 240,
302 kSetUnconscious = 241,
303 kGetUnconscious = 242,
304 kSetRestrained = 243,
305 kGetRestrained = 244,
306 kForceFlee = 245,
307 kFlee = static_cast<std::underlying_type_t<FunctionID>>(kForceFlee),
308 kGetIsUsedItem = 246,
309 kGetIsUsedItemType = 247,
310 kIsScenePlaying = 248,
311 kIsInDialogueWithPlayer = 249,
312 kGetLocationCleared = 250,
313 kSetLocationCleared = 251,
314 kForceRefIntoAlias = 252,
315 kEmptyRefAlias = 253,
316 kGetIsPlayableRace = 254,
317 kGetOffersServicesNow = 255,
318 kGetGameSetting = 256,
319 kGetGS = static_cast<std::underlying_type_t<FunctionID>>(kGetGameSetting),
320 kStopCombatAlarmOnActor = 257,
321 kSCAOnActor = static_cast<std::underlying_type_t<FunctionID>>(kStopCombatAlarmOnActor),
322 kHasAssociationType = 258,
323 kHasFamilyRelationship = 259,
324 kFamily = static_cast<std::underlying_type_t<FunctionID>>(kHasFamilyRelationship),
325 kSetWeather = 260,
326 kSW = static_cast<std::underlying_type_t<FunctionID>>(kSetWeather),
327 kHasParentRelationship = 261,
328 kIsParent = static_cast<std::underlying_type_t<FunctionID>>(kHasParentRelationship),
329 kIsWarningAbout = 262,
330 kIsWeaponOut = 263,
331 kHasSpell = 264,
332 kIsTimePassing = 265,
333 kIsPleasant = 266,
334 kIsCloudy = 267,
335 kTrapUpdate = 268,
336 kShowQuestObjectives = 269,
337 kSQO = static_cast<std::underlying_type_t<FunctionID>>(kShowQuestObjectives),
338 kForceActorValue = 270,
339 kForceAV = static_cast<std::underlying_type_t<FunctionID>>(kForceActorValue),
340 kIncrementPCSkill = 271,
341 kIncPCS = static_cast<std::underlying_type_t<FunctionID>>(kIncrementPCSkill),
342 kDoTrap = 272,
343 kEnableFastTravel = 273,
344 kEnableFast = static_cast<std::underlying_type_t<FunctionID>>(kEnableFastTravel),
345 kIsSmallBump = 274,
346 kGetParentRef = 275,
347 kPlayBink = 276,
348 kGetBaseActorValue = 277,
349 kGetBaseAV = static_cast<std::underlying_type_t<FunctionID>>(kGetBaseActorValue),
350 kIsOwner = 278,
351 kSetOwnership = 279,
352 kIsCellOwner = 280,
353 kSetCellOwnership = 281,
354 kIsHorseStolen = 282,
355 kSetCellFullName = 283,
356 kSetActorFullName = 284,
357 kIsLeftUp = 285,
358 kIsSneaking = 286,
359 kIsRunning = 287,
360 kGetFriendHit = 288,
361 kIsInCombat = 289,
362 kSetPackDuration = 290,
363 kSPDur = static_cast<std::underlying_type_t<FunctionID>>(kSetPackDuration),
364 kPlayMagicShaderVisuals = 291,
365 kPMS = static_cast<std::underlying_type_t<FunctionID>>(kPlayMagicShaderVisuals),
366 kPlayMagicEffectVisuals = 292,
367 kPME = static_cast<std::underlying_type_t<FunctionID>>(kPlayMagicEffectVisuals),
368 kStopMagicShaderVisuals = 293,
369 kSMS = static_cast<std::underlying_type_t<FunctionID>>(kStopMagicShaderVisuals),
370 kStopMagicEffectVisuals = 294,
371 kSME = static_cast<std::underlying_type_t<FunctionID>>(kStopMagicEffectVisuals),
372 kResetInterior = 295,
373 kIsAnimPlaying = 296,
374 kSetActorAlpha = 297,
375 kSAA = static_cast<std::underlying_type_t<FunctionID>>(kSetActorAlpha),
376 kEnableLinkedPathPoints = 298,
377 kDisableLinkedPathPoints = 299,
378 kIsInInterior = 300,
379 kForceWeather = 301,
380 kFW = static_cast<std::underlying_type_t<FunctionID>>(kForceWeather),
381 kToggleActorsAI = 302,
382 kIsActorsAIOff = 303,
383 kIsWaterObject = 304,
384 kGetPlayerAction = 305,
385 kIsActorUsingATorch = 306,
386 kSetLevel = 307,
387 kResetFallDamageTimer = 308,
388 kIsXBox = 309,
389 kGetInWorldspace = 310,
390 kModPCMiscStat = 311,
391 kModPCMS = static_cast<std::underlying_type_t<FunctionID>>(kModPCMiscStat),
392 kGetPCMiscStat = 312,
393 kGetPCMS = static_cast<std::underlying_type_t<FunctionID>>(kGetPCMiscStat),
394 kGetPairedAnimation = 313,
395 kGPA = static_cast<std::underlying_type_t<FunctionID>>(kGetPairedAnimation),
396 kIsActorAVictim = 314,
397 kGetTotalPersuasionNumber = 315,
398 kSetScale = 316,
399 kModScale = 317,
400 kGetIdleDoneOnce = 318,
401 kKillAllActors = 319,
402 kkillall = static_cast<std::underlying_type_t<FunctionID>>(kKillAllActors),
403 kGetNoRumors = 320,
404 kSetNoRumors = 321,
405 kDispel = 322,
406 kGetCombatState = 323,
407 kTriggerHitShader = 324,
408 kTHS = static_cast<std::underlying_type_t<FunctionID>>(kTriggerHitShader),
409 kGetWithinPackageLocation = 325,
410 kReset3DState = 326,
411 kIsRidingMount = 327,
412 kDispelAllSpells = 328,
413 kIsFleeing = 329,
414 kAddAchievement = 330,
415 kDuplicateAllItems = 331,
416 kIsInDangerousWater = 332,
417 kEssentialDeathReload = 333,
418 kSetShowQuestItems = 334,
419 kDuplicateNPCStats = 335,
420 kResetHealth = 336,
421 kSetIgnoreFriendlyHits = 337,
422 kSIFH = static_cast<std::underlying_type_t<FunctionID>>(kSetIgnoreFriendlyHits),
423 kGetIgnoreFriendlyHits = 338,
424 kGIFH = static_cast<std::underlying_type_t<FunctionID>>(kGetIgnoreFriendlyHits),
425 kIsPlayersLastRiddenMount = 339,
426 kSetActorRefraction = 340,
427 kSAR = static_cast<std::underlying_type_t<FunctionID>>(kSetActorRefraction),
428 kSetItemValue = 341,
429 kSetRigidBodyMass = 342,
430 kShowViewerStrings = 343,
431 kSVS = static_cast<std::underlying_type_t<FunctionID>>(kShowViewerStrings),
432 kReleaseWeatherOverride = 344,
433 kRWO = static_cast<std::underlying_type_t<FunctionID>>(kReleaseWeatherOverride),
434 kSetAllReachable = 345,
435 kSetAllVisible = 346,
436 kSetNoAvoidance = 347,
437 kSendTrespassAlarm = 348,
438 kSetSceneIsComplex = 349,
439 kAutosave = 350,
440 kStartMasterFileSeekData = 351,
441 kDumpMasterFileSeekData = 352,
442 kIsActor = 353,
443 kIsEssential = 354,
444 kPreloadMagicEffect = 355,
445 kShowDialogSubtitles = 356,
446 kSetPlayerResistingArrest = 357,
447 kIsPlayerMovingIntoNewSpace = 358,
448 kGetInCurrentLoc = 359,
449 kGetInCurrentLocAlias = 360,
450 kGetTimeDead = 361,
451 kHasLinkedRef = 362,
452 kGetLinkedRef = 363,
453 kDamageObject = 364,
454 kDO = static_cast<std::underlying_type_t<FunctionID>>(kDamageObject),
455 kIsChild = 365,
456 kGetStolenItemValueNoCrime = 366,
457 kGetLastPlayerAction = 367,
458 kIsPlayerActionActive = 368,
459 kSetTalkingActivatorActor = 369,
460 kIsTalkingActivatorActor = 370,
461 kShowBarterMenu = 371,
462 kSBM = static_cast<std::underlying_type_t<FunctionID>>(kShowBarterMenu),
463 kIsInList = 372,
464 kGetStolenItemValue = 373,
465 kAddPerk = 374,
466 kGetCrimeGoldViolent = 375,
467 kGetviolent = static_cast<std::underlying_type_t<FunctionID>>(kGetCrimeGoldViolent),
468 kGetCrimeGoldNonviolent = 376,
469 kGetnonviolent = static_cast<std::underlying_type_t<FunctionID>>(kGetCrimeGoldNonviolent),
470 kShowRepairMenu = 377,
471 kSRM = static_cast<std::underlying_type_t<FunctionID>>(kShowRepairMenu),
472 kHasShout = 378,
473 kAddNote = 379,
474 kAN = static_cast<std::underlying_type_t<FunctionID>>(kAddNote),
475 kRemoveNote = 380,
476 kRN = static_cast<std::underlying_type_t<FunctionID>>(kRemoveNote),
477 kGetHasNote = 381,
478 kGetN = static_cast<std::underlying_type_t<FunctionID>>(kGetHasNote),
479 kAddToFaction = 382,
480 kAddFac = static_cast<std::underlying_type_t<FunctionID>>(kAddToFaction),
481 kRemoveFromFaction = 383,
482 kRemoveFac = static_cast<std::underlying_type_t<FunctionID>>(kRemoveFromFaction),
483 kDamageActorValue = 384,
484 kDamageAV = static_cast<std::underlying_type_t<FunctionID>>(kDamageActorValue),
485 kRestoreActorValue = 385,
486 kRestoreAV = static_cast<std::underlying_type_t<FunctionID>>(kRestoreActorValue),
487 kTriggerHUDShudder = 386,
488 kHudSH = static_cast<std::underlying_type_t<FunctionID>>(kTriggerHUDShudder),
489 kGetObjectiveFailed = 387,
490 kSetObjectiveFailed = 388,
491 kSetGlobalTimeMultiplier = 389,
492 kSGTM = static_cast<std::underlying_type_t<FunctionID>>(kSetGlobalTimeMultiplier),
493 kGetHitLocation = 390,
494 kIsPC1stPerson = 391,
495 kPC1st = static_cast<std::underlying_type_t<FunctionID>>(kIsPC1stPerson),
496 kPurgeCellBuffers = 392,
497 kPCB = static_cast<std::underlying_type_t<FunctionID>>(kPurgeCellBuffers),
498 kPushActorAway = 393,
499 kSetActorsAI = 394,
500 kClearOwnership = 395,
501 kGetCauseofDeath = 396,
502 kIsLimbGone = 397,
503 kIsWeaponInList = 398,
504 kPlayIdle = 399,
505 kApplyImageSpaceModifier = 400,
506 kIMod = static_cast<std::underlying_type_t<FunctionID>>(kApplyImageSpaceModifier),
507 kRemoveImageSpaceModifier = 401,
508 kRIMod = static_cast<std::underlying_type_t<FunctionID>>(kRemoveImageSpaceModifier),
509 kIsBribedbyPlayer = 402,
510 kGetRelationshipRank = 403,
511 kSetRelationshipRank = 404,
512 kSetCellImageSpace = 405,
513 kShowChargenMenu = 406,
514 kSCGM = static_cast<std::underlying_type_t<FunctionID>>(kShowChargenMenu),
515 kGetVATSValue = 407,
516 kIsKiller = 408,
517 kIsKillerObject = 409,
518 kGetFactionCombatReaction = 410,
519 kUseWeapon = 411,
520 kEvaluateSpellConditions = 412,
521 kESC = static_cast<std::underlying_type_t<FunctionID>>(kEvaluateSpellConditions),
522 kToggleMotionBlur = 413,
523 kTMB = static_cast<std::underlying_type_t<FunctionID>>(kToggleMotionBlur),
524 kExists = 414,
525 kGetGroupMemberCount = 415,
526 kGetGroupTargetCount = 416,
527 kSetObjectiveCompleted = 417,
528 kSetObjectiveDisplayed = 418,
529 kGetObjectiveCompleted = 419,
530 kGetObjectiveDisplayed = 420,
531 kSetImageSpace = 421,
532 kPipboyRadio = 422,
533 kPRad = static_cast<std::underlying_type_t<FunctionID>>(kPipboyRadio),
534 kRemovePerk = 423,
535 kDisableAllActors = 424,
536 kDisAA = static_cast<std::underlying_type_t<FunctionID>>(kDisableAllActors),
537 kGetIsFormType = 425,
538 kGetIsVoiceType = 426,
539 kGetPlantedExplosive = 427,
540 kCompleteAllObjectives = 428,
541 kIsScenePackageRunning = 429,
542 kGetHealthPercentage = 430,
543 kSetAudioMultithreading = 431,
544 kSAM = static_cast<std::underlying_type_t<FunctionID>>(kSetAudioMultithreading),
545 kGetIsObjectType = 432,
546 kShowChargenMenuParams = 433,
547 kSCGMP = static_cast<std::underlying_type_t<FunctionID>>(kShowChargenMenuParams),
548 kGetDialogueEmotion = 434,
549 kGetDialogueEmotionValue = 435,
550 kExitGame = 436,
551 kExit = static_cast<std::underlying_type_t<FunctionID>>(kExitGame),
552 kGetIsCreatureType = 437,
553 kPlayerCreatePotion = 438,
554 kPlayerEnchantObject = 439,
555 kShowWarning = 440,
556 kEnterTrigger = 441,
557 kMarkForDelete = 442,
558 kSetPlayerAIDriven = 443,
559 kGetInCurrentLocFormList = 444,
560 kGetInZone = 445,
561 kGetVelocity = 446,
562 kGetGraphVariableFloat = 447,
563 kHasPerk = 448,
564 kGetFactionRelation = 449,
565 kIsLastIdlePlayed = 450,
566 kSetNPCRadio = 451,
567 kSNR = static_cast<std::underlying_type_t<FunctionID>>(kSetNPCRadio),
568 kSetPlayerTeammate = 452,
569 kGetPlayerTeammate = 453,
570 kGetPlayerTeammateCount = 454,
571 kOpenActorContainer = 455,
572 kClearFactionPlayerEnemyFlag = 456,
573 kClearActorsFactionsPlayerEnemyFlag = 457,
574 kGetActorCrimePlayerEnemy = 458,
575 kGetCrimeGold = 459,
576 kSetCrimeGold = 460,
577 kModCrimeGold = 461,
578 kGetPlayerGrabbedRef = 462,
579 kIsPlayerGrabbedRef = 463,
580 kPlaceLeveledActorAtMe = 464,
581 kGetKeywordItemCount = 465,
582 kShowLockpickMenu = 466,
583 kSLPM = static_cast<std::underlying_type_t<FunctionID>>(kShowLockpickMenu),
584 kGetBroadcastState = 467,
585 kSetBroadcastState = 468,
586 kStartRadioConversation = 469,
587 kGetDestructionStage = 470,
588 kClearDestruction = 471,
589 kCastImmediateOnSelf = 472,
590 kCIOS = static_cast<std::underlying_type_t<FunctionID>>(kCastImmediateOnSelf),
591 kGetIsAlignment = 473,
592 kResetQuest = 474,
593 kSetQuestDelay = 475,
594 kIsProtected = 476,
595 kGetThreatRatio = 477,
596 kMatchFaceGeometry = 478,
597 kGetIsUsedItemEquipType = 479,
598 kGetPlayerName = 480,
599 kFireWeapon = 481,
600 kPayCrimeGold = 482,
601 kUnusedFunction2 = 483,
602 kMatchRace = 484,
603 kSetPCYoung = 485,
604 kSexChange = 486,
605 kIsCarryable = 487,
606 kGetConcussed = 488,
607 kSetZoneRespawns = 489,
608 kSetVATSTarget = 490,
609 kGetMapMarkerVisible = 491,
610 kResetInventory = 492,
611 kPlayerKnows = 493,
612 kGetPermanentActorValue = 494,
613 kGetPermAV = static_cast<std::underlying_type_t<FunctionID>>(kGetPermanentActorValue),
614 kGetKillingBlowLimb = 495,
615 kGoToJail = 496,
616 kCanPayCrimeGold = 497,
617 kServeTime = 498,
618 kGetDaysInJail = 499,
619 kEPAlchemyGetMakingPoison = 500,
620 kEPAlchemyEffectHasKeyword = 501,
621 kShowAllMapMarkers = 502,
622 kTMM = static_cast<std::underlying_type_t<FunctionID>>(kShowAllMapMarkers),
623 kGetAllowWorldInteractions = 503,
624 kResetAI = 504,
625 kSetRumble = 505,
626 kSetNoActivationSound = 506,
627 kClearNoActivationSound = 507,
628 kGetLastHitCritical = 508,
629 kAddMusic = 509,
630 kUnusedFunction3 = 510,
631 kUnusedFunction4 = 511,
632 kSetPCToddler = 512,
633 kIsCombatTarget = 513,
634 kTriggerScreenBlood = 514,
635 kTSB = static_cast<std::underlying_type_t<FunctionID>>(kTriggerScreenBlood),
636 kGetVATSRightAreaFree = 515,
637 kGetVATSLeftAreaFree = 516,
638 kGetVATSBackAreaFree = 517,
639 kGetVATSFrontAreaFree = 518,
640 kGetIsLockBroken = 519,
641 kIsPS3 = 520,
642 kIsWin32 = 521,
643 kGetVATSRightTargetVisible = 522,
644 kGetVATSLeftTargetVisible = 523,
645 kGetVATSBackTargetVisible = 524,
646 kGetVATSFrontTargetVisible = 525,
647 kAttachAshPile = 526,
648 kSetCriticalStage = 527,
649 kIsInCriticalStage = 528,
650 kRemoveFromAllFactions = 529,
651 kGetXPForNextLevel = 530,
652 kShowLockpickMenuDebug = 531,
653 kSLPMD = static_cast<std::underlying_type_t<FunctionID>>(kShowLockpickMenuDebug),
654 kForceSave = 532,
655 kGetInfamy = 533,
656 kGetInfamyViolent = 534,
657 kGetInfamyNonViolent = 535,
658 kUnusedFunction5 = 536,
659 kSin = 537,
660 kCos = 538,
661 kTan = 539,
662 kSqrt = 540,
663 kLog = 541,
664 kAbs = 542,
665 kGetQuestCompleted = 543,
666 kGetQC = static_cast<std::underlying_type_t<FunctionID>>(kGetQuestCompleted),
667 kUnusedFunction6 = 544,
668 kPipBoyRadioOff = 545,
669 kAutoDisplayObjectives = 546,
670 kIsGoreDisabled = 547,
671 kFadeSFX = 548,
672 kFSFX = static_cast<std::underlying_type_t<FunctionID>>(kFadeSFX),
673 kSetMinimalUse = 549,
674 kIsSceneActionComplete = 550,
675 kShowQuestStages = 551,
676 kSQS = static_cast<std::underlying_type_t<FunctionID>>(kShowQuestStages),
677 kGetSpellUsageNum = 552,
678 kForceRadioStationUpdate = 553,
679 kFRSU = static_cast<std::underlying_type_t<FunctionID>>(kForceRadioStationUpdate),
680 kGetActorsInHigh = 554,
681 kHasLoaded3D = 555,
682 kDisableAllMines = 556,
683 kSetLastExtDoorActivated = 557,
684 kKillQuestUpdates = 558,
685 kKQU = static_cast<std::underlying_type_t<FunctionID>>(kKillQuestUpdates),
686 kIsImageSpaceActive = 559,
687 kHasKeyword = 560,
688 kHasRefType = 561,
689 kLocationHasKeyword = 562,
690 kLocationHasRefType = 563,
691 kCreateEvent = 564,
692 kGetIsEditorLocation = 565,
693 kGetIsAliasRef = 566,
694 kGetIsEditorLocAlias = 567,
695 kIsSprinting = 568,
696 kIsBlocking = 569,
697 kHasEquippedSpell = 570,
698 kGetCurrentCastingType = 571,
699 kGetCasting = static_cast<std::underlying_type_t<FunctionID>>(kGetCurrentCastingType),
700 kGetCurrentDeliveryType = 572,
701 kGetDelivery = static_cast<std::underlying_type_t<FunctionID>>(kGetCurrentDeliveryType),
702 kEquipSpell = 573,
703 kGetAttackState = 574,
704 kGetAliasedRef = 575,
705 kGetEventData = 576,
706 kIsCloserToAThanB = 577,
707 kEquipShout = 578,
708 kGetEquippedShout = 579,
709 kIsBleedingOut = 580,
710 kUnlockWord = 581,
711 kTeachWord = 582,
712 kAddToContainer = 583,
713 kGetRelativeAngle = 584,
714 kSendAnimEvent = 585,
715 kSAE = static_cast<std::underlying_type_t<FunctionID>>(kSendAnimEvent),
716 kShout = 586,
717 kAddShout = 587,
718 kRemoveShout = 588,
719 kGetMovementDirection = 589,
720 kIsInScene = 590,
721 kGetRefTypeDeadCount = 591,
722 kGetRefTypeAliveCount = 592,
723 kApplyHavokImpulse = 593,
724 kGetIsFlying = 594,
725 kIsCurrentSpell = 595,
726 kSpellHasKeyword = 596,
727 kGetEquippedItemType = 597,
728 kGetLocationAliasCleared = 598,
729 kSetLocationAliasCleared = 599,
730 kGetLocAliasRefTypeDeadCount = 600,
731 kGetLocAliasRefTypeAliveCount = 601,
732 kIsWardState = 602,
733 kIsInSameCurrentLocAsRef = 603,
734 kIsInSameCurrentLocAsRefAlias = 604,
735 kLocAliasIsLocation = 605,
736 kGetKeywordDataForLocation = 606,
737 kSetKeywordDataForLocation = 607,
738 kGetKeywordDataForAlias = 608,
739 kSetKeywordDataForAlias = 609,
740 kLocAliasHasKeyword = 610,
741 kIsNullPackageData = 611,
742 kGetNumericPackageData = 612,
743 kIsFurnitureAnimType = 613,
744 kIsFurnitureEntryType = 614,
745 kGetHighestRelationshipRank = 615,
746 kGetLowestRelationshipRank = 616,
747 kHasAssociationTypeAny = 617,
748 kHasFamilyRelationshipAny = 618,
749 kGetPathingTargetOffset = 619,
750 kGetPathingTargetAngleOffset = 620,
751 kGetPathingTargetSpeed = 621,
752 kGetPathingTargetSpeedAngle = 622,
753 kGetMovementSpeed = 623,
754 kGetInContainer = 624,
755 kIsLocationLoaded = 625,
756 kIsLocAliasLoaded = 626,
757 kIsDualCasting = 627,
758 kDualCast = 628,
759 kGetVMQuestVariable = 629,
760 kGetVMScriptVariable = 630,
761 kIsEnteringInteractionQuick = 631,
762 kIsCasting = 632,
763 kGetFlyingState = 633,
764 kSetFavorState = 634,
765 kIsInFavorState = 635,
766 kHasTwoHandedWeaponEquipped = 636,
767 kIsExitingInstant = 637,
768 kIsInFriendStateWithPlayer = 638,
769 kGetWithinDistance = 639,
770 kGetActorValuePercent = 640,
771 kIsUnique = 641,
772 kGetLastBumpDirection = 642,
773 kCameraShake = 643,
774 kIsInFurnitureState = 644,
775 kGetIsInjured = 645,
776 kGetIsCrashLandRequest = 646,
777 kGetIsHastyLandRequest = 647,
778 kUpdateQuestInstanceGlobal = 648,
779 kSetAllowFlying = 649,
780 kIsLinkedTo = 650,
781 kGetKeywordDataForCurrentLocation = 651,
782 kGetInSharedCrimeFaction = 652,
783 kGetBribeAmount = 653,
784 kGetBribeSuccess = 654,
785 kGetIntimidateSuccess = 655,
786 kGetArrestedState = 656,
787 kGetArrestingActor = 657,
788 kClearArrestState = 658,
789 kEPTemperingItemIsEnchanted = 659,
790 kEPTemperingItemHasKeyword = 660,
791 kGetReceivedGiftValue = 661,
792 kGetGiftGivenValue = 662,
793 kForceLocIntoAlias = 663,
794 kGetReplacedItemType = 664,
795 kSetHorseActor = 665,
796 kPlayReferenceEffect = 666,
797 kPRE = static_cast<std::underlying_type_t<FunctionID>>(kPlayReferenceEffect),
798 kStopReferenceEffect = 667,
799 kSRE = static_cast<std::underlying_type_t<FunctionID>>(kStopReferenceEffect),
800 kPlayShaderParticleGeometry = 668,
801 kPSPG = static_cast<std::underlying_type_t<FunctionID>>(kPlayShaderParticleGeometry),
802 kStopShaderParticleGeometry = 669,
803 kSSPG = static_cast<std::underlying_type_t<FunctionID>>(kStopShaderParticleGeometry),
804 kApplyImageSpaceModifierCrossFade = 670,
805 kIModCF = static_cast<std::underlying_type_t<FunctionID>>(kApplyImageSpaceModifierCrossFade),
806 kRemoveImageSpaceModifierCrossFade = 671,
807 kRIModCF = static_cast<std::underlying_type_t<FunctionID>>(kRemoveImageSpaceModifierCrossFade),
808 kIsAttacking = 672,
809 kIsPowerAttacking = 673,
810 kIsLastHostileActor = 674,
811 kGetGraphVariableInt = 675,
812 kGetCurrentShoutVariation = 676,
813 kPlayImpactEffect = 677,
814 kPIE = static_cast<std::underlying_type_t<FunctionID>>(kPlayImpactEffect),
815 kShouldAttackKill = 678,
816 kSendStealAlarm = 679,
817 kSteal = static_cast<std::underlying_type_t<FunctionID>>(kSendStealAlarm),
818 kGetActivationHeight = 680,
819 kEPModSkillUsage_IsAdvanceSkill = 681,
820 kWornHasKeyword = 682,
821 kGetPathingCurrentSpeed = 683,
822 kGetPathingCurrentSpeedAngle = 684,
823 kKnockAreaEffect = 685,
824 kKAE = static_cast<std::underlying_type_t<FunctionID>>(kKnockAreaEffect),
825 kInterruptCast = 686,
826 kAddFormToFormList = 687,
827 kRevertFormList = 688,
828 kAddFormToLeveledList = 689,
829 kRevertLeveledList = 690,
830 kEPModSkillUsage_AdvanceObjectHasKeyword = 691,
831 kEPModSkillUsage_IsAdvanceAction = 692,
832 kEPMagic_SpellHasKeyword = 693,
833 kGetNoBleedoutRecovery = 694,
834 kSetNoBleedoutRecovery = 695,
835 kEPMagic_SpellHasSkill = 696,
836 kIsAttackType = 697,
837 kIsAllowedToFly = 698,
838 kHasMagicEffectKeyword = 699,
839 kIsCommandedActor = 700,
840 kIsStaggered = 701,
841 kIsRecoiling = 702,
842 kIsExitingInteractionQuick = 703,
843 kIsPathing = 704,
844 kGetShouldHelp = 705,
845 kHasBoundWeaponEquipped = 706,
846 kGetCombatTargetHasKeyword = 707,
847 kGCTHK = static_cast<std::underlying_type_t<FunctionID>>(kGetCombatTargetHasKeyword),
848 kUpdateLevel = 708,
849 kGetCombatGroupMemberCount = 709,
850 kGCGMC = static_cast<std::underlying_type_t<FunctionID>>(kGetCombatGroupMemberCount),
851 kIsIgnoringCombat = 710,
852 kGetLightLevel = 711,
853 kGLL = static_cast<std::underlying_type_t<FunctionID>>(kGetLightLevel),
854 kSavePCFace = 712,
855 kSPF = static_cast<std::underlying_type_t<FunctionID>>(kSavePCFace),
856 kSpellHasCastingPerk = 713,
857 kIsBeingRidden = 714,
858 kIsUndead = 715,
859 kGetRealHoursPassed = 716,
860 kUnequipAll = 717,
861 kIsUnlockedDoor = 718,
862 kIsHostileToActor = 719,
863 kGetTargetHeight = 720,
864 kIsPoison = 721,
865 kWornApparelHasKeywordCount = 722,
866 kGetItemHealthPercent = 723,
867 kEffectWasDualCast = 724,
868 kGetKnockStateEnum = 725,
869 kDoesNotExist = 726,
870 kUnequipItemSlot = 727,
871 kMountActor = 728,
872 kDismountActor = 729,
873 kIsOnFlyingMount = 730,
874 kCanFlyHere = 731,
875 kIsFlyingMountPatrolQueued = 732,
876 kIsFlyingMountFastTravelling = 733,
877 kIsOverEncumbered = 734,
878 kGetActorWarmth = 735,
879
880 kTotal
881 };
882
884 ~FUNCTION_DATA() = default;
885
886 // members
888 std::uint16_t pad02; // 02
889 std::uint32_t pad04; // 04
890 void* params[2]; // 08
891 };
892 static_assert(sizeof(FUNCTION_DATA) == 0x18);
893
895 {
896 public:
897 enum class OpCode : std::uint8_t
898 {
899 kEqualTo, // ==
900 kNotEqualTo, // !=
901 kGreaterThan, // >
903 kLessThan, // <
904 kLessThanOrEqualTo, // <=
905 };
906
908 {
910 ~GlobalOrFloat() = default;
911
913 float f;
914 };
915 static_assert(sizeof(GlobalOrFloat) == 0x8);
916
917 struct Flags
918 {
919 public:
921 ~Flags() = default;
922
923 // members
924 bool isOR: 1; // 0 - false == AND, true == OR
925 bool usesAliases: 1; // 1
926 bool global: 1; // 2
927 bool usePackData: 1; // 3
928 bool swapTarget: 1; // 4
929 OpCode opCode: 3; // 5
930 };
931 static_assert(sizeof(Flags) == 0x1);
932
935
936 // members
938 ObjectRefHandle runOnRef; // 10 - kReference
939 std::uint32_t dataID; // 14
943 std::uint16_t pad32; // 32
944 std::uint32_t pad34; // 34
945 };
946 static_assert(sizeof(CONDITION_ITEM_DATA) == 0x30);
947
949 {
950 public:
951 constexpr ConditionCheckParams(TESObjectREFR* a_actionRef, TESObjectREFR* a_targetRef) :
952 actionRef(a_actionRef),
953 targetRef(a_targetRef),
954 unk10(nullptr),
955 unk18(nullptr),
956 unk20(nullptr),
957 unk28(nullptr)
958 {}
959
960 // members
963 void* unk10; // 10
964 void* unk18; // 18
965 void* unk20; // 20
966 void* unk28; // 28
967 };
968 static_assert(sizeof(ConditionCheckParams) == 0x30);
969
970 struct TESConditionItem // CTDA
971 {
973 ~TESConditionItem() = default;
974
976
977 bool operator()(ConditionCheckParams& a_solution) const;
978 bool IsTrue(ConditionCheckParams& a_solution) const;
979
980 // members
983 };
984 static_assert(sizeof(TESConditionItem) == 0x38);
985
987 {
988 public:
991
993
994 [[nodiscard]] explicit operator bool() const;
995
996 bool operator()(TESObjectREFR* a_actionRef, TESObjectREFR* a_targetRef) const;
997 bool IsTrue(TESObjectREFR* a_actionRef, TESObjectREFR* a_targetRef) const; // Perk fragments will short circuit
998
999 // members
1001 };
1002 static_assert(sizeof(TESCondition) == 0x8);
1003}
Definition TESCondition.h:987
bool IsTrue(TESObjectREFR *a_actionRef, TESObjectREFR *a_targetRef) const
bool operator()(TESObjectREFR *a_actionRef, TESObjectREFR *a_targetRef) const
TESConditionItem * head
Definition TESCondition.h:1000
Definition TESGlobal.h:10
Definition TESObjectREFR.h:112
Definition PCH.h:223
Definition AbsorbEffect.h:6
CONDITIONITEMOBJECT
Definition TESCondition.h:12
Definition TESCondition.h:918
bool swapTarget
Definition TESCondition.h:928
bool global
Definition TESCondition.h:926
bool usePackData
Definition TESCondition.h:927
bool usesAliases
Definition TESCondition.h:925
OpCode opCode
Definition TESCondition.h:929
bool isOR
Definition TESCondition.h:924
Definition TESCondition.h:895
FUNCTION_DATA functionData
Definition TESCondition.h:940
ObjectRefHandle runOnRef
Definition TESCondition.h:938
std::uint16_t pad32
Definition TESCondition.h:943
GlobalOrFloat comparisonValue
Definition TESCondition.h:937
~CONDITION_ITEM_DATA()=default
OpCode
Definition TESCondition.h:898
std::uint32_t dataID
Definition TESCondition.h:939
stl::enumeration< CONDITIONITEMOBJECT, std::uint8_t > object
Definition TESCondition.h:942
Flags flags
Definition TESCondition.h:941
std::uint32_t pad34
Definition TESCondition.h:944
Definition TESCondition.h:949
void * unk10
Definition TESCondition.h:963
void * unk18
Definition TESCondition.h:964
TESObjectREFR * targetRef
Definition TESCondition.h:962
constexpr ConditionCheckParams(TESObjectREFR *a_actionRef, TESObjectREFR *a_targetRef)
Definition TESCondition.h:951
TESObjectREFR * actionRef
Definition TESCondition.h:961
void * unk20
Definition TESCondition.h:965
void * unk28
Definition TESCondition.h:966
Definition TESCondition.h:25
stl::enumeration< FunctionID, std::uint16_t > function
Definition TESCondition.h:887
std::uint16_t pad02
Definition TESCondition.h:888
std::uint32_t pad04
Definition TESCondition.h:889
~FUNCTION_DATA()=default
FunctionID
Definition TESCondition.h:30
void * params[2]
Definition TESCondition.h:890
Definition TESCondition.h:971
CONDITION_ITEM_DATA data
Definition TESCondition.h:982
bool operator()(ConditionCheckParams &a_solution) const
bool IsTrue(ConditionCheckParams &a_solution) const
TESConditionItem * next
Definition TESCondition.h:981
~TESConditionItem()=default
Definition TESCondition.h:908
TESGlobal * g
Definition TESCondition.h:912
float f
Definition TESCondition.h:913