SceneEventTypeTable containing constants indicating the type of event notification constant None - Invalid event constant Debug - A debug event, triggered with the cheat SendSceneEvent, stringData of the event contains the parameters the cheat was called with constant SpellCancel - Indicates a client spell cast was canceled, spellID is stored in the integerData of the event constant SpellStart - Indicates a client spell cast started, spellID is stored in the integerData of the event, spell reticle radius in the floatData of the event, and scene space dest target in the vectorData constant SpellComplete - Indicates a client spell cast completed successfully, spellID is stored in the integerData of the event, spell reticle radius in the floatData of the event SceneEventA notification to the scene from an external source (e.g. spell cast, debug cheat) Scene Script SceneEventType type - type of event, member of the SceneEventType table Scene Script integer timeStamp - time in milliseconds since the start scene when the event notification occurred Scene Script integer integerData - integer data associated with the event Scene Script float floatData - floating point (fractional number) data associated with the event Scene Script string stringData - string data associated with the event Scene Script Vector vectorData - vector data associated with the event SceneThe Scene class table contains all the overall control mechanisms for ascene, including timing and spawning actors. The current Scene class table that is active in the scene is specially pushed to script as the variable 'scene'. GetPositionFunction: Scene Script Vector GetPosition(Scene Script self) Return: Scene Script Vector the location that the scene was created at WaitFunction: Scene Script YIELD Wait(Scene Script self, Scene Script Sync sync) Yield the currently executing script back to game code, until the sync object is signaled. The sync object is typically a timer, and execution will continue after the timer has expired Parameters: - Scene Script Sync sync: synchronization object for this wait - when it is signaled, execution will resume
TimerFunction: Scene Script Sync Timer(Scene Script self, Scene Script float seconds) Create a synchronization object that waits a specific time Return: Scene Script Sync newly created sycnhronization timer, that can be waited on Parameters: - Scene Script float seconds: time in seconds to wait
EndSceneFunction: EndScene(Scene Script self) Forcibly complete the current scene CancelSceneFunction: CancelScene(Scene Script self) Forcibly cancel the current scene SpawnActorFunction: Scene Script Actor SpawnActor(Scene Script self, Scene Script ActorCreateData actorcreateData) Spawn an actor under the control of the scene Return: Scene Script Actor newly created Actor instance Parameters: - Scene Script ActorCreateData actorcreateData: data table describing the spawn information for the new actor
AddCoroutineFunction: AddCoroutine(Scene Script self, Scene Script function mainFunction) Run the function specified as a coroutine in the current scene. The coroutine is added as pending, added to the end of the current queue. Parameters: - Scene Script function mainFunction: function to run as a coroutine
SetFadeRegionFunction: SetFadeRegion(Scene Script self, Scene Script float radius, Scene Script boolean includePlayer) Set a client fading region centered on the scene origin. All units entering this region will be seen to fade out. Parameters: - Scene Script float radius: fade redion radius, in yards. 0 will turn off the fade region.
- Scene Script boolean includePlayer: if true, the active player model will also be faded when inside the fade region
SetOverrideSpawnAOISettingsFunction: SetOverrideSpawnAOISettings(Scene Script self, Scene Script boolean enabled, Scene Script ActorAOISettings settings) For any new actor spawns, override their AOI settings with those specified Parameters: - Scene Script boolean enabled: Enable or disable AOI overrides.
- Scene Script ActorAOISettings settings: Override AOI settings for all subsequent spawns.
SetFadeRegionExcludesAllPlayersFunction: SetFadeRegionExcludesAllPlayers(Scene Script self, Scene Script boolean excludeAllPlayers) Set the currently active fade region to exclude or include all players for fading. Parameters: - Scene Script boolean excludeAllPlayers: if true, all players in the fade region will be visible
AddFadeRegionExcludedCreatureFunction: AddFadeRegionExcludedCreature(Scene Script self, Scene Script integer creatureID) Add a creature by creatureID that will be excluded from all fading within the region Parameters: - Scene Script integer creatureID: ID of the creature to exclude
AddFadeRegionExcludedGameObjectFunction: AddFadeRegionExcludedGameObject(Scene Script self, Scene Script integer gameObjectID) Add a game object by gameObjectID that will be excluded from all fading within the region Parameters: - Scene Script integer gameObjectID: ID of the game object to exclude
RemoveFadeRegionExcludedCreatureFunction: RemoveFadeRegionExcludedCreature(Scene Script self, Scene Script integer creatureID) Remove a creature by creatureID from fade region exclusion, causing it to fade in the region Parameters: - Scene Script integer creatureID: ID of the creature to stop excluding from fading
RemoveFadeRegionExcludedGameObjectFunction: RemoveFadeRegionExcludedGameObject(Scene Script self, Scene Script integer gameObjectID) Remove a game object by gameObjectID from fade region exclusion, causing it to fade in the region Parameters: - Scene Script integer gameObjectID: ID of the game obejct to stop excluding from fading
PeekEventFunction: Scene Script SceneEvent PeekEvent(Scene Script self) Check for a pending server script event Return: Scene Script SceneEvent if the server has sent this scene a script event, it will be returned, otherwise the return value is nil PopEventFunction: PopEvent(Scene Script self) Discard the server script event at the top of the stack, allowing PeekEvent to return subsequent events TriggerServerEventFunction: TriggerServerEvent(Scene Script self, Scene Script string event) Send a named server trigger event Parameters: - Scene Script string event: named server event trigger, will fire the matching server event for this scene
SetRelativeCoordsFunction: SetRelativeCoords(Scene Script self, Scene Script boolean relative) Switch the scene between absolute world coordinates, and coordinates being relative to the scene origin Parameters: - Scene Script boolean relative: true indicates that the scene should be in a relative coordinate space
SetAxisAlignedCoordsFunction: SetAxisAlignedCoords(Scene Script self, Scene Script boolean aligned) If a scene is in a relative coordinate space, only use the translation (i.e. the x axis will point in the world space x direction) Parameters: - Scene Script boolean aligned: true indicates that the scenes x, y and z axis should be aligned with the world x, y and z axis
SetGameCameraTargetFunction: SetGameCameraTarget(Scene Script self, Scene Script Actor targetActor, Scene Script float maxZoom, Scene Script float) Set the camera focus/orbit to an actor in the scene Parameters: - Scene Script Actor targetActor: actor to be the new camera orbit point. Nil indicates that the game camera should return to the active mover/player.
- Scene Script float maxZoom: maximum zoom (in yards) for the orbit camera around the new actor
ResetGameCameraZoomFunction: ResetGameCameraZoom(Scene Script self) Return zoom and zoom extents back to their default values SetCameraFunction: SetCamera(Scene Script self, Scene Script integer cameraID, Scene Script float transitionTime, Scene Script Actor targetA, Scene Script Actor targetB) Set a custom scene camera. This will take camera control away from the player. Parameters: - Scene Script integer cameraID: ID of a Camera record to use. 0 indicates the default gameplay camera.
- Scene Script float transitionTime: Time (in seconds) to transition from the current camera to the new camera.
- Scene Script Actor targetA: For Camera records that are relative to some primary unit/actor, this is specified here
- Scene Script Actor targetB: For Camera records that are relative to some secondary unit/actor, this is specified here
AddCameraShakeFunction: Scene Script integer AddCameraShake(Scene Script self, Scene Script integer cameraShakeRecID, Scene Script Vector pos) Add a one-shot or looping camera shake to the scene Return: Scene Script integer Handle to the created camera shake instance, which can be used to manually stop the shake later Parameters: - Scene Script integer cameraShakeRecID: ID of a CameraShake record describing the shake parameters
- Scene Script Vector pos: For 3D shakes, this is the source of the shake
ClearCameraShakeFunction: ClearCameraShake(Scene Script self, Scene Script integer shakeInstanceID) Clear a previously initiated shake Parameters: - Scene Script integer shakeInstanceID: Handle to the previously created shake, returned from AddCameraShake
GetOverrideSpellDataIDFunction: Scene Script integer GetOverrideSpellDataID(Scene Script self) Get the override spell data for this scene. Note that this spell data may not actually be in use if another scene changed it first Return: Scene Script integer ID of the OverrideSpellData entry SetOverrideSpellDataIDFunction: SetOverrideSpellDataID(Scene Script self, Scene Script integer overrideSpellDataID) Set the override spell data for this scene. Note that this spell data may not actually be in use if another scene changed it first Parameters: - Scene Script integer overrideSpellDataID: ID of the OverrideSpellData entry
SetCameraInterruptedByFreelookFunction: SetCameraInterruptedByFreelook(Scene Script self, Scene Script boolean canBeInterrupted) If set, attempting to mouse look will clear the scene camera and prevent future scene cameras from starting Parameters: - Scene Script boolean canBeInterrupted: indicate whether to disable or enable freelook cancel
GetWorldStateFunction: Scene Script integer GetWorldState(Scene Script self, Scene Script integer worldStateID) Get the value of a world state variable Return: Scene Script integer rvalue of the variable Parameters: - Scene Script integer worldStateID: ID of the world state
EvalWorldStateExpressionFunction: Scene Script boolean EvalWorldStateExpression(Scene Script self, Scene Script integer worldStateExpressionID) Evaluate a world state expression Return: Scene Script boolean result of the expression (true/false) Parameters: - Scene Script integer worldStateExpressionID: ID of the expression
EvalPlayerConditionFunction: Scene Script boolean EvalPlayerCondition(Scene Script self, Scene Script integer playerConditionID) Evaluate a player condition for the local client. Return: Scene Script boolean result of the condition (true/false) Parameters: - Scene Script integer playerConditionID: ID of the player condition. Player condition must be flagged as availabled on the client.
LoadPathFunction: Scene Script PathData LoadPath(Scene Script self, Scene Script integer pathID) Load all the information of a WOWEdit created Path record into script Return: Scene Script PathData the loaded path data Parameters: - Scene Script integer pathID: ID of the WOWEdit Path
ApplyScreenEffectFunction: ApplyScreenEffect(Scene Script self, Scene Script integer screenEffectID) Apply a ScreenEffect record by ID Parameters: - Scene Script integer screenEffectID: ID of a ScreenEffect record
ClearScreenEffectFunction: ClearScreenEffect(Scene Script self, Scene Script integer screenEffectID) Clear a ScreenEffect record by ID Parameters: - Scene Script integer screenEffectID: ID of a ScreenEffect record. All screen effects currently active on the scene matching this ID will be cleared
Function: Scene Script Transform GetTransform(Scene Script self) Return: Scene Script Transform return the world space transformation of the scene origin GetActivePlayerDisplayFunction: Scene Script UnitDisplay GetActivePlayerDisplay(Scene Script self) Return: Scene Script UnitDisplay handle to the active players UnitDisplay, so that visuals and position queries can be performed on the active player. GetCreatorDisplayFunction: Scene Script UnitDisplay GetCreatorDisplay(Scene Script self) Return: Scene Script UnitDisplay handle to the creating units UnitDisplay, so that visuals and position queries can be performed. GetSelectedActorFunction: Scene Script Actor GetSelectedActor(Scene Script self) Return: Scene Script Actor return a handle to the selected actor, from this scene. Note if a unit or actor from another scene is selected, nil will be returned PetBattleStateTable of constants indicating the current overall state that the battle is in constant Invalid constant Created constant WaitingPreBattle constant RoundInProgress constant WaitingForFrontPets constant CreateFailed constant FinalRound constant Finished PetBattleEffectTable of constants indicating the type of a round effect constant Invalid constant SetHealth constant AuraApply constant AuraCancel constant AuraChange constant PetSwap constant StatusChange constant SetState constant SetMaxHealth constant SetSpeed constant SetPower constant TriggerAbility constant AbilityChange constant NPCEmote constant AuraProcesssingBegin constant AuraProcesssingEnd PetBattlePetIDTable of constants indicating a particular slot of pet for a battle participant constant Invalid constant Pad constant Weather - Only relevant for 'players' of type Weather constant Slot1 constant Slot2 constant Slot3 PetBattlePlayerIDTable of constants indicating a particulat battle participant constant Invalid constant Weather constant Player1 constant Player2 PetBattleEventTable of constants indicating particular events needing to be performed in the playback of battle results constant Invalid constant RoundResult constant RoundStart constant RoundComplete constant BattleResultsBegin constant BattleResults constant BattleOver constant ObserverChange constant MoveAbilitySelected - This is a 'precast' event on the client that is triggered as soon as an action is selected constant MovePetSwapSelected - This is a 'precast' event on the client that is triggereed as soon as a pet swap action is selected constant MoveTrapSelected - This is a 'precast' event on the client that is triggereed as soon as a trap action is selected PetBattleRangeTable of constant range types for a PetBattleVisual, mapping to those selectable in WOWEdit constant Invalid constant Melee constant Ranged constant InPlace constant PointBlank constant BehindMelee constant BehindRanged PetBattleVisualTable of data generated from a BattlePetVisual static data record in WOWEdit. Only records relevant to the current battle will be loaded into the pet battle script Scene Script integer ID - ID of the static data in WOWEdit Scene Script PetBattleRange range - One of the range constants Scene Script integer spellVisualID - spellVisualID associated with this visual Scene Script float castTime - time to channel a precast animation and visual Scene Script float impactTime - time after cast before impact (e.g. of a missile) Scene Script string scriptFunctionString - special script code for this visual PetBattlePetAbilityTable of data generated from a BattlePetAbility static data record in WOWEdit. Only records relevant to the current battle will be loaded into the pet battle script Scene Script integer ID - ID of the static data in WOWEdit Scene Script integer visualID - ID of the PetBattleVisual table associated with this ability {Scene Scriptinteger, ...} turnIDs - List of IDs of the PetBattlePetAbilityTurn tables associated with this ability PetBattlePetAbilityTurnTable of data generated from a BattlePetAbilityTurn static data record in WOWEdit. Only records relevant to the current battle will be loaded into the pet battle script Scene Script integer ID - ID of the static data in WOWEdit Scene Script integer abilityID - ID of the parent PetBattlePetAbility table that this turn belongs to Scene Script integer visualID - ID of the PetBattleVisual table associated with this turn {Scene Scriptinteger, ...} effectIDs - List of IDs of the PetBattlePetAbilityEffect tables associated with this turn PetBattlePetAbilityEffectTable of data generated from a BattlePetAbilityEffect static data record in WOWEdit. Only records relevant to the current battle will be loaded into the pet battle script Scene Script integer ID - ID of the static data in WOWEdit Scene Script integer turnID - ID of the parent PetBattlePetAbilityTurn table that this effect belongs to Scene Script integer visualID - ID of the PetBattleVisual table associated with this effect Scene Script integer effectType - ID of the PetBattlePetAbilityEffectType of this effect PetBattlePetAbilityEffectTypeTable of data generated from a BattlePetEffectProperties static data record in WOWEdit. Only records relevant to the current battle will be loaded into the pet battle script Scene Script integer ID - ID of the static data in WOWEdit Scene Script integer visualID - ID of the PetBattleVisual table associated with this effect type PetBattlePetAuraTable of aura information associated with a pet or pad Scene Script integer instanceID - unique instance ID used to identify this aura application Scene Script integer abilityID - ability ID of the aura ability Scene Script integer turnsRemaining - number of turns remaining until the aura expires. -1 indicates the aura lasts forever Scene Script PetBattlePlayerID casterPlayerID - identifier of the player that owns the pet that applied this aura Scene Script PetBattlePetID casterPetID - identifier of the pet of the casterPlayerID player that applied this aura PetBattlePetStateTable of a particular state variable associated with a pet or pad Scene Script integer ID - ID of the state variable Scene Script integer value - current value of the state variable PetBattlePetActiveAbilityTable of information associated with the active abilities of a pet (i.e. the abilities that can actually be cast, and are on the UI bar) Scene Script integer abilityID - references a PetBattlePetAbility table by ID Scene Script integer cooldownRemaining - number of cooldown rounds remaining Scene Script integer lockdownRemaining - number of lockdown rounds remaining PetBattlePetStatusTable of status flags associated with a pet Scene Script boolean isTrapped - pet is currently in a trap Scene Script boolean isStunned - pet is stunned Scene Script boolean isSwapLocked - pet is locked from swapping out Scene Script boolean isSwapInLocked - pet is locked from swapping in PetBattlePetTable of data describing the entire current state of a pet Scene Script PetBattlePetID slot - indicates which slot of the owning player this pet is in Scene Script integer creatureID - Creature record ID of the pet Scene Script integer displayID - CreatureDisplay record ID of the pet Scene Script integer baseHealth - maximum health of the pet Scene Script integer level - current level of the pet Scene Script integer xp - current XP of the pet Scene Script integer health - current health of the pet {Scene ScriptPetBattlePetActiveAbility, ...} abilities - list of active abilities that the pet posseses, as well as their cooldowns etc {Scene ScriptPetBattlePetAura, ...} auras - list of auras currently active on the pet {Scene ScriptPetBattlePetState, ...} states - list of current state variables and their values on the pet Scene Script PetBattlePetStatus status - status flags of the pet (e.g. stunned, trapped) PetBattlePlayerTable of data describing the entire current state of a player Scene Script boolean isNPC - is this player AI controlled Scene Script PetBattlePlayerID playerID - indicates which of the two players (or weather) this data is for Scene Script PetBattlePetID activePet - slot of the currently active front pet {Scene ScriptPetBattlePet, ...} petDescs - list of pet state data for this player Scene Script integer trapAbilityID - ability ID that this player should use for a trap Scene Script integer npcCreatureID - in an NPC battle, this indicates the Creature ID to spawn as an opponent player Scene Script integer npcDisplayID - in an NPC battle, this indicates the CreatureDisplay ID of the opponent PetBattleTable of data describing the entire current state of the battle, it's players and their pets Scene Script PetBattleState battleState - current stage of the battle Scene Script integer round - round number of the round awaiting playback {Scene ScriptPetBattlePlayer, ...} players - list of the state of players in the battle {Scene ScriptPetBattlePetAbility, ...} abilityDescs - static database of all the relevant abilities to the battle {Scene ScriptPetBattlePetAbilityTurn, ...} abilityTurnDescs - static database of all the relevant ability turns to the battle {Scene ScriptPetBattlePetAbilityEffect, ...} abilityEffectDescs - static database of all the relevant ability effects to the battle {Scene ScriptPetBattlePetAbilityEffectType, ...} abilityEffectTypeDescs - static database of all the relevant effect types to the battle {Scene ScriptPetBattleVisual, ...} abilityVisualDescs - static database of all the relevant ability visuals to the battle PetBattleFinalPetTable of data describing a victory ceremony reward for a pet Scene Script integer playerID - player whose pet will be rewarded Scene Script integer petSlot - slot of the pet to be rewarded Scene Script boolean wasCaptured - was this pet captured (trapped) during the battle Scene Script boolean awardedXP - total experience awarded Scene Script integer newLevel - final level of the pet Scene Script integer newXP - final XP of the pet Scene Script integer newHealth - new health value of the pet, after round recovery is applied Scene Script boolean caged - did the pet end up in a cage PetBattleEventFlagsTable of flags for a round effect Scene Script boolean invalidTarget - indicates the round effect failed on the server for some unknown reason Scene Script boolean miss Scene Script boolean crit Scene Script boolean blocked Scene Script boolean dodge Scene Script boolean heal Scene Script boolean unkillable Scene Script boolean reflect Scene Script boolean absorb Scene Script boolean immune Scene Script boolean strong Scene Script boolean weak PetBattleEventTableTable of data representing a scene playback element Scene Script integer instanceID - unique instance ID to identify this particular playback element. These are used in SignalRoundEffectApplied. Scene Script PetBattleEvent eventType - type of playback event (e.g. begin round, round result, round result) Scene Script integer roundNumber - round number that this playback element is associated with Scene Script integer turnInstanceID - for round results, this is a number uniquely identifying this result as belonging to a particular source ability turn Scene Script integer stackDepth - for round results, indicates the proc depth of the result Scene Script PetBattleEffect effectType - for round results, this indicates the type of result (e.g. SetHealth) Scene Script PetBattleEventFlags flags - for round results, this indicates the success or failure Scene Script integer sourceAuraInstanceID - indicates the source of this result is an aura. The caster will be who originally applied this aura Scene Script PetBattlePlayerID casterPlayerID - player ID of the caster that caused this round result Scene Script PetBattlePetID casterPetSlot - pet slot of the caster that caused this round result Scene Script PetBattlePlayerID targetPlayerID - player ID of the target of this round result Scene Script PetBattlePetID targetPetSlot - pet slot of the target of this round result Scene Script integer effectID - an ID of a PetBattlePetAbilityEffect table associated with this round result Scene Script integer value - if the effect type sets a value (e.g. health), then the new value will be in this field Scene Script integer auraInstanceID - for aura related round results, this is the instance ID of the aura to manipulate Scene Script integer auraAbilityID - for aura added round results, this is the ability ID of the aura added, and references a PetBattlePetAbility table Scene Script integer auraTurnsRemaining - for aura related round results, this is the number of turns remaining on the aura Scene Script integer stateID - indicates the state variable ID for effect type SetState Scene Script PetBattlePetStatus status - for StatusChange round results, this indicates the new values of the flags Scene Script PetBattleState stateChange - for RoundComplete event types, this indicates the change to the overall battle state at the end of the round Scene Script PetBattlePlayerID winnerID - for BattleResults and BattleOver event types, this is the player slot of the winner of the battle. An invalid player ID indicates a draw or there was no winner Scene Script boolean abandoned - for BattleResults and BattleOver event types, this indicates if the battle was actually abandoned {Scene ScriptPetBattleFinalPet, ...} rewards - for BattleResults and BattleOver event types, this is a list of all the individual rewards that should be applied MissReasonsTable containing constants mapping to the various miss reasons available to floating world text constant None constant Physical constant Resist constant Dodged constant Parried constant Blocked constant Evaded constant Immune constant Immune constant Deflected constant Absorbed constant Reflected constant Misfired WorldTextTable containing constants mapping to the different kinds of floating world text that can be displayed constant Damage constant Absorb constant Critical constant Miss constant XPGain constant HonorGain constant Healing constant HealingCritical constant BuildingDamage constant BuildingHeal constant Threat constant WhiteDamage constant None BroadcastTypeTable containing constants mapping to the different kinds of broadcast constant Say constant Yell constant Whisper - NOT YET IMPLEMENTED constant Emote - NOT YET IMPLEMENTED constant Invalid MoveRotControlTable containing constants indicating how an angle should be adjusted with progress along a move path constant None - Do not influence rotation constant Angle - Rotate the shortest arc to reach angle (degrees) constant AngleAbs - Rotate to this angle exactly, ignoring wrap around constant Tangent - Angle is adjusted to match the tangent of the path constant LookAt - Angle is adjusted to face the current look at path point MovePosControlTable containing constants indicating how position should change over time as a move path is followed constant TotalTime - Use the MoveData time field as the total time to travel the path constant ConstantSpeed - Use the MoveData time field as a constant speed to travel the path constant ConstantSpeedXY - Use the MoveData time field as a constant speed to travel the path, ignoring vertical changes constant PointTime - Use each MovePoint's time field as the time taken to reach that point constant PointSpeed - Use each MovePoint's speed field as the speed to be at when crossing that point constant PointSpeedXY - Use each MovePoint's speed field as the speed to be at when crossing that point, ignoring vertical changes constant PointSpeedMul - Use each MovePoint's speed field as a multiplier on the base MoveData speed when crossing that point constant PointSpeedMulXY - Use each MovePoint's speed field as a multiplier on the base MoveData speed when crossing that point, ignoring vertical changes AnimTierTable containing constants mapping to an animation tier for an Actor constant Ground constant Swim constant Hover constant Fly constant Submerged constant Invalid ActorAOIPriorityTable containing constants indicating the priority of an actor. Low priority actors are eligible to be faded out if the current actor count is high. constant Always - If the actor is in range, it will always beshown, regardless of actor count constant Low ActorAOIRangeTable containing constants indicating at what distance an actor should fade constant None - 0 yards constant Infinite - extends to the farclip plane constant Gigantic - 400 yards constant Large - 200 yards constant Normal - 100 yards constant Small - 50 yards constant Tiny - 25 yards CursorRangeTable containing constants indicating how to disable interaction cursor with range constant AlwaysOutOfRange - Interaction always out of range constant AlwaysInRange - Interaction always in range constant RangeFromPlayer - Interaction range is distance to local player constant RangeFromCamera - Interaction range is distance to local camera constant RangeFromActor - Interaction range is distance to a specified actor ReactionTypeTable containing constants indicating an override reaction type for the actor (dictates selection, nameplate color if interactible) constant Default - Default to the reaction dictated by the creature data constant Hostile - Appear as hostile (RED) constant Unfriendly - Appear as unfriendly (ORANGE) constant Neutral - Appear as neutral (YELLOW) constant Friendly - Appear as friendly (GREEN) constant Dead - Appear as dead (GRAY) WeaponSlotTable containing constants indicating weapon slots constant MainHand - Main hand weapon slot constant OffHand - Off hand weapon slot constant Ranged - Ranged weapon slot constant None - Invalid slot SheatheStateTable containing constants indicating weapon sheathing constant Sheathed - Sheathe all weapons constant ShowWeapon - Show melee weapons constant ShowRanged - Show ranged weapons AnimKitSpeedTypeTable containing constants indicating how to interpret the additional speed value used to play an anim kit constant None - Speed unchanged from that defined in the anim kit constant Set - Force speed to the override value constant Scale - Scale anim kit speed by the override value constant ScaleMoveSpeed - Interpret override value as a move speed, and scale anim playback speed by the animated move speed (used to reduce foot sliding) AnimKitBlendTypeTable containing constants indicating how to interpret the additional blend value used to play an anim kit constant None - Blend time unchanged from that defined by default in the anim kit and the models animation data constant Set - Force blend time to the override value constant Min - Take the minimum blend time of the default and the override value constant Max - Take the maximum blend time of the default and the override value ActorAOISettingsTable of data that describes how an actor should be faded automatically with range Scene Script ActorAOIPriority priority - indicate the actor priority. Low priority actors are candidates for auto fading if the actor count is high. Scene Script ActorAOIRange range - indicate the automatic fading range of the actor. Scene Script ActorAOIRange minRange - indicate a minimum distance that an actor must be from you to be visible (inverse AOI). ActorCreateDataTable of data that is defines how, where and what sort of actor should be created, passed to various Scene create functions Scene Script integer creatureID - creature record to use to spawn the actor, the record MUST be flagged as client local Scene Script integer creatureDisplayID - creature display ID override to spawn the actor Scene Script integer itemID - item record used to spawn the actor, the model and texture will be taken from the item record Scene Script string model - model filename override to spawn the actor with Scene Script float scale - initial span scale of the actor Scene Script float facingOffset - reorient the base facing of the actor by this angle (degrees) Scene Script string name - name to show for the actor if it is interactible Scene Script Transform transform - spawn location of the actor Scene Script float hoverHeight - height to hover above the ground if ground snapping is enabled Scene Script boolean groundSnap - actor should snap to ground Scene Script boolean interactible - actor is interactible (can be moused over) Scene Script boolean selectable - actor is selectable Scene Script boolean floatingTooltip - if interactible, a floating tooltip should be shown Scene Script boolean smoothPhase - actor will smooth phase if a matching unit/actor is available Scene Script ActorAOISettings aoiSettings - controls the automatic fading off the actor Scene Script ReactionType overrideReaction - controls the reaction type for the actor MovePointTable of point data, contained in a list of points in a parent MoveData table structure. Defines information for each point on a path. Scene Script Vector pos - location of the path point Scene Script Vector lookAt - a look at point for this path point, used by any angle control set to the LookAt option Scene Script float time - time value associated with this point, used if the MoveData posControl is PointTime Scene Script float speed - speed value asscoiated with this point, used if the MoveData posControl is any of the PointSpeed options Scene Script float yaw - yaw angle at this point in degrees, used if the MoveData yawControl is any of the Angle options Scene Script float pitch - pitch angle at this point in degrees, used if the MoveData pitchControl is any of the Angle options Scene Script float roll - roll angle at this point in degrees, used if the MoveData rollControl is any of the Angle options MoveDataTable of move data, contains a list of points or a pathID of point data, as well as information about how the path should be followed Scene Script boolean isRelative - points/angles of the path are relative to the actors current location and orientation Scene Script boolean isGroundSnapping - points of the path will be ground snapped, with the Z value of the point being used as an offset from ground level (unless forceGroundSnapPositionZ is also flagged Scene Script boolean teleportToFirstPoint - rather than moving from the current location to the first point, the actor will snap to the first point instantly Scene Script boolean forceGroundSnapPositionZ - if ground snapping, the position z is used only for the ground test and not as a relative ground offset Scene Script boolean noDefaultAnimation - do not play a default movement animation Scene Script integer animKitID - custom anim kit to use while performing this movement Scene Script MovePosControl posControl - indicate what timing method should be used to follow the path Scene Script MoveRotControl yawControl - indicate how yaw should change along the path Scene Script MoveRotControl pitchControl - indicate how pitch should change along the path Scene Script MoveRotControl rollControl - indicate how roll should change along the path Scene Script float time - total time to travel the path, used if posControl is set to TotalTime Scene Script float speed - constant speed (or base speed) to use to travel the path, if posControl is set to ConstantSpeed, PointSpeedMul, PointSpeedMulXY {Scene ScriptMovePoint, ...} points - list of point data for the path Scene Script integer pathID - if specified, attempt to use path data from the DB AnimKitDataTable of anim data, used to play an animation kit and override animations, start time blending and speed Scene Script integer animKitID - ID of the anim kit to play. All speed, blend and start time settings come from the anim kit data unless otherwised specified here Scene Script boolean isMaintained - if true, anim kit will play as a maintained/looping kit, and will need to be manually stopped. If false, anim kit plays as a fire and forget one-shot Scene Script integer animOverride - Entry from the Animations table to override as the initial anim of the anim kit Scene Script integer boneSetIDOverride - Entry from the AnimKitBoneSet table for an override bone to play on (-1 means use default specified in the anim kit) Scene Script integer variationOverride - Override the variation index for the initial anim Scene Script integer startTimeOverrideMS - If specified, anim kit will begin from this many milliseconds into the initial animation Scene Script float startTimeOverrideProgress - If specified, the initial animation will start at this percentage completion (0 to 1). Takes precedence over the milliseconds value above Scene Script AnimKitBlendType blendOverrideType - Indicate what type of blend override to use Scene Script integer blendOverrideMS - Indicate the value for the blend override Scene Script AnimKitSpeedType speedOverrideType - Indicate what type of speed override to use Scene Script float speedOverrideValue - Indicate the value for the speed override AttachmentDataTable of attachment data, used to define a link between one actor and another Scene Script Actor parentActor - parent actor to attach to Scene Script integer parentAttachment - attachment index in the AttachmentPoints table to attach to Scene Script boolean useChildAttachOrientation - if true, the orientation of the child attachment will be applied Scene Script integer childAttachment - if specified, this attachment point of the child will be attached to the parent Scene Script boolean useTargetOffset - if true, use the specified target offset from the attachment point. Otherwise, maintain the actors current offset from the attachment point Scene Script Transform targetOffset - target offset from the attachment point Scene Script float transitionTime - time to transition to the new attachment point AnimKitA class table that is a handle to an anim kit that was played on an Actor by script. The handle need not be stored, but can be if you later want to control or stop playback manually. StopFunction: Stop(Scene Script AnimKit self) Stop the anim kit from playing IsStoppedFunction: Scene Script boolean IsStopped(Scene Script AnimKit self) Query if the anim kit has stopped Return: Scene Script boolean true if anim kit playback has stopped SoundKitA class table that is a handle to a sound kit that was played on an Actor by script. The handle need not be stored, but can be if you later want to control or stop playback manually. StopFunction: Stop(Scene Script SoundKit self) Stop the sound kit from playing IsStoppedFunction: Scene Script boolean IsStopped(Scene Script SoundKit self) Query if the sound kit has stopped Return: Scene Script boolean true if sound kit playback has stopped UnitDisplayA class table that provides base functionality for manipulating animation, sound and spell effects on an Actor (or a real unit, in certain cases). The Actor class table also includes all of these functions. GetSceneFunction: Scene Script GetScene(Scene Script UnitDisplay self) Return: Scene Script the Scene object that owns this actor GetPositionFunction: Scene Script Vector GetPosition(Scene Script UnitDisplay self) Return: Scene Script Vector current position of the actor Function: Scene Script Transform GetTransform(Scene Script UnitDisplay self) Return: Scene Script Transform current transform of the actor GetRaceIDFunction: Scene Script integer GetRaceID(Scene Script UnitDisplay self, Scene Script boolean useNativeVisual) find the race of an actor or unit Return: Scene Script integer return the race ID of the actor or unit. Returns 0 if no race could be found Parameters: - Scene Script boolean useNativeVisual: if true, return the race of what you were prior to your current transform
StopAnimKitFunction: StopAnimKit(Scene Script UnitDisplay self, Scene Script integer animKitID) stop anim kit(s) from playing on this actor Parameters: - Scene Script integer animKitID: stop all currently active anim kits on the actor matching this ID
IsPlayingCombatActionFunction: Scene Script boolean IsPlayingCombatAction(Scene Script UnitDisplay self) Return: Scene Script boolean true if the actor is playing a combat action anim kit (e.g. triggered from a spell visual) GetAnimTierFunction: Scene Script AnimTier GetAnimTier(Scene Script UnitDisplay self) Return: Scene Script AnimTier current anim kit tier for the actor SetAnimTierFunction: SetAnimTier(Scene Script UnitDisplay self, Scene Script AnimTier animTier) switch the animation tier of the actor Parameters: - Scene Script AnimTier animTier: new animation tier
ClearSpellPreCastVisualFunction: ClearSpellPreCastVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID, Scene Script integer instanceID) Clear a currently playing precast spell visual from the actor Parameters: - Scene Script integer spellVisualID: cleared spell visuals must match this ID
- Scene Script integer instanceID: cleared spell visuals must match this particular application instance
ClearSpellStateVisualFunction: ClearSpellStateVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID, Scene Script integer instanceID) Clear a currently playing state spell visual from the actor Parameters: - Scene Script integer spellVisualID: cleared spell visuals must match this ID
- Scene Script integer instanceID: cleared spell visuals must match this particular application instance
ClearSpellChannelVisualFunction: ClearSpellChannelVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID, Scene Script integer instanceID) Clear a currently playing channel spell visual from the actor Parameters: - Scene Script integer spellVisualID: cleared spell visuals must match this ID
- Scene Script integer instanceID: cleared spell visuals must match this particular application instance
PlaySpellPreCastVisualFunction: Scene Script integer PlaySpellPreCastVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID) Play (and maintain) the pre cast visual kit from a SpellVisual Return: Scene Script integer instance ID for the active spell visual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
PlaySpellCastVisualFunction: Scene Script integer PlaySpellCastVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID) Play (and maintain) the cast visual kit from a SpellVisual Return: Scene Script integer instance ID for the active spell visual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
PlaySpellCastVisualAtTargetsFunction: Scene Script integer PlaySpellCastVisualAtTargets(Scene Script UnitDisplay self, Scene Script integer spellVisualID, Scene Script float missileSpeed, Scene Script boolean speedAsTime, {Scene ScriptActor, ...} targets) Play (and maintain) the cast visual kit from a SpellVisual at specific target actors Return: Scene Script integer instance ID for the active spell visual (on the caster) Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
- Scene Script float missileSpeed: speed in yards per second of any produced missiles
- Scene Script boolean speedAsTime: treat speed value as the time to reach target for missiles
- {Scene ScriptActor, ...} targets: list of actors to cast the spell visual at
PlaySpellCastVisualAtPointsFunction: Scene Script integer PlaySpellCastVisualAtPoints(Scene Script UnitDisplay self, Scene Script integer spellVisualID, Scene Script float missileSpeed, Scene Script boolean speedAsTime, {Scene ScriptVector, ...} targets) Play (and maintain) the cast visual kit from a SpellVisual at specific target points Return: Scene Script integer instance ID for the active spell visual (on the caster) Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
- Scene Script float missileSpeed: speed in yards per second of any produced missiles
- Scene Script boolean speedAsTime: treat speed value as the time to reach target for missiles
- {Scene ScriptVector, ...} targets: list of points to cast the spell visual at
PlaySpellImpactVisualFunction: PlaySpellImpactVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID) Play a one shot impact visual kit from a SpellVisual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
PlaySpellTargetImpactVisualFunction: PlaySpellTargetImpactVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID) Play a one shot target impact visual kit from a SpellVisual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
PlaySpellStateVisualFunction: Scene Script integer PlaySpellStateVisual(Scene Script UnitDisplay self, Scene Script integer spellVisualID) Play (and maintain) the state visual kit from a SpellVisual Return: Scene Script integer instance ID for the active spell visual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
PlaySpellStateVisualAtTargetsFunction: Scene Script integer PlaySpellStateVisualAtTargets(Scene Script UnitDisplay self, Scene Script integer spellVisualID, {Scene ScriptActor, ...} targets) Play (and maintain) the state visual kit from a SpellVisual at targets, useful for creating beams Return: Scene Script integer instance ID for the active spell visual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
- {Scene ScriptActor, ...} targets: list of target actors
PlaySpellChannelVisualAtTargetsFunction: Scene Script integer PlaySpellChannelVisualAtTargets(Scene Script UnitDisplay self, Scene Script integer spellVisualID, {Scene ScriptActor, ...} targets) Play (and maintain) the channel visual kit from a SpellVisual at targets, useful for creating beams Return: Scene Script integer instance ID for the active spell visual Parameters: - Scene Script integer spellVisualID: ID of the SpellVisual record to use
- {Scene ScriptActor, ...} targets: list of target actors
ApplyLevelUpEffectFunction: ApplyLevelUpEffect(Scene Script UnitDisplay self) Play the ding effect on this actor IsPlayingSpellCastAnimFunction: Scene Script boolean IsPlayingSpellCastAnim(Scene Script UnitDisplay self) Return: Scene Script boolean true if a cast spell visual is causing the actor to animate IsPlayingSpellPreCastAnimFunction: Scene Script boolean IsPlayingSpellPreCastAnim(Scene Script UnitDisplay self) Return: Scene Script boolean true if a precast spell visual is causing the actor to animate HasSpellEffectFunction: Scene Script boolean HasSpellEffect(Scene Script UnitDisplay self, Scene Script integer spellID) Return if any specific effects are attached to the actor from a specific spell source Return: Scene Script boolean has attached effects Parameters: - Scene Script integer spellID: search for effects created from this spell record
HasCastSpellEffectFunction: Scene Script boolean HasCastSpellEffect(Scene Script UnitDisplay self, Scene Script integer spellID) Return if any specific cast effects are attached to the actor from a specific spell source Return: Scene Script boolean has attached effects Parameters: - Scene Script integer spellID: search for cast effects created from this spell record
HasPreCastSpellEffectFunction: Scene Script boolean HasPreCastSpellEffect(Scene Script UnitDisplay self, Scene Script integer spellID) Return if any specific pre-cast effects are attached to the actor from a specific spell source Return: Scene Script boolean has attached effects Parameters: - Scene Script integer spellID: search for pre-cast effects created from this spell record
HasPendingMissilesFunction: Scene Script boolean HasPendingMissiles(Scene Script UnitDisplay self, Scene Script integer instanceID) return if there are any pending (i.e. waiting on an anim event to launch) missiles on this actor Return: Scene Script boolean has missiles Parameters: - Scene Script integer instanceID: spell visual handle returned from the Cast functions
HasPendingOrInFlightMissilesFunction: Scene Script boolean HasPendingOrInFlightMissiles(Scene Script UnitDisplay self, Scene Script integer instanceID) return if there are any pending or in flight missiles from this actor Return: Scene Script boolean has missiles Parameters: - Scene Script integer instanceID: spell visual handle returned from the Cast functions
AddWorldXPGainTextFunction: AddWorldXPGainText(Scene Script UnitDisplay self, Scene Script integer xpGain) Add floating XP text Parameters: - Scene Script integer xpGain: Numerical value
PlaySoundKitFunction: Scene Script SoundKit PlaySoundKit(Scene Script UnitDisplay self, Scene Script integer soundKitID, Scene Script boolean oneShot) Play a 3D sound kit at the actor's location Return: Scene Script SoundKit Handle to the active sound Parameters: - Scene Script integer soundKitID: Sound Entry ID of the sound kit to play
- Scene Script boolean oneShot: Should the sound fire and forget or loop continuously
PlaySoundKitStereoFunction: Scene Script SoundKit PlaySoundKitStereo(Scene Script UnitDisplay self, Scene Script integer soundKitID, Scene Script boolean oneShot) Play a 2D sound kit Return: Scene Script SoundKit Handle to the active sound Parameters: - Scene Script integer soundKitID: Sound Entry ID of the sound kit to play
- Scene Script boolean oneShot: Should the sound fire and forget or loop continuously
PlayMusicFunction: Scene Script SoundKit PlayMusic(Scene Script UnitDisplay self, Scene Script integer soundKitID) Play a 2D sound on the music channel Return: Scene Script SoundKit Handle to the active sound Parameters: - Scene Script integer soundKitID: Sound Entry ID of the sound kit to play
StopSoundKitFunction: StopSoundKit(Scene Script UnitDisplay self, Scene Script integer soundKitID) Stop all anim kits on the actor by sound kit ID Parameters: - Scene Script integer soundKitID: stop all active sounds matching this ID
BroadcastTextFunction: BroadcastText(Scene Script UnitDisplay self, Scene Script BroadcastType type, Scene Script integer broadcastTextID) Play chat bubbles and dialog on the actor, with the dialog playing in 3D Parameters: - Scene Script BroadcastType type: Type of broadcast - e.g. yell, say
- Scene Script integer broadcastTextID: ID of a BroadcastText record
BroadcastTextStereoFunction: BroadcastTextStereo(Scene Script UnitDisplay self, Scene Script BroadcastType type, Scene Script integer broadcastTextID) Play chat bubbles and dialog on the actor, with the dialog playing in 2D Parameters: - Scene Script BroadcastType type: Type of broadcast - e.g. yell, say
- Scene Script integer broadcastTextID: ID of a BroadcastText record
IsPlayingDialogSoundFunction: Scene Script boolean IsPlayingDialogSound(Scene Script UnitDisplay self) Return true if the dialog audio for a broadcast text is playing Return: Scene Script boolean Dialog sound is playing SyncA synchronization object used to control when script should yield back to the game. For example, a timer synch object allows the script to sleep for a certain number of seconds IsSignaledFunction: Scene Script integer IsSignaled(Scene Script Sync self) Return: Scene Script integer if the condition (e.g. time) on the synch object has expired, this will return true ResetFunction: Reset(Scene Script Sync self) Reset the timer on the synch object so it will need to wait the full time again VectorTable storing 3D position information Scene Script float x Scene Script float y Scene Script float z Table storing a point and rotation in 3D space Scene Script Vector position Scene Script float yaw - degrees Scene Script float pitch - degrees Scene Script float roll - degrees ColorTable for storing a 32 bit ARGB color value Scene Script byte a - alpha value, 0-255 Scene Script byte r - red value, 0-255 Scene Script byte g - green value, 0-255 Scene Script byte b - blue value, 0-255 PathDataNodeTable representing a single node of information of a PathData parent table Scene Script Vector pos - position of the node Scene Script Vector rot - vector containing (roll, pitch, yaw) of the node (in degrees) Scene Script float scale - scale of the node Scene Script float value - additional data stored at the node PathDataTable containing a list of path points, that can be populated directly from the data base Scene Script boolean isRelative - path points are relative to a local origin {Scene ScriptPathDataNode, ...} nodes - list of path nodes PetBattleSceneThis is the primary interface for all pet battle related functions, and is pushed to script automatically as the global variable 'battleScene'. Internally the scene manages the state of the battle, and this can be queried. It will also accumulate round results, and they can be processed from script and then signaled as completed, which will update the internal state and notify the UI UseTestPlayerDataFunction: Scene Script boolean UseTestPlayerData(Scene Script PetBattleScene self) Return: Scene Script boolean true if the user has enabled the CVAR to use test data for the pet battle IsTestBattleFunction: Scene Script boolean IsTestBattle(Scene Script PetBattleScene self) Return: Scene Script boolean true if the user has enabled the CVAR to run a test pet battle WarningsEnabledFunction: Scene Script boolean WarningsEnabled(Scene Script PetBattleScene self) Return: Scene Script boolean true if the user has enabled the CVAR to turn on pet battle warnings SpawnPetFunction: Scene Script Actor SpawnPet(Scene Script PetBattleScene self, Scene Script PetBattlePlayerID playerID, Scene Script PetBattlePetID petID, Scene Script ActorCreateData actorCreateData) Spawn a pet specifically associated with a particular player and pet slot according to the supplied ActorCreateData. The pet actor will be uniquely bound to the game code, so that it can be identified for sound and other hooks Return: Scene Script Actor the newly spawned actor Parameters: - Scene Script PetBattlePlayerID playerID: player owning the pet
- Scene Script PetBattlePetID petID: slot of the pet
- Scene Script ActorCreateData actorCreateData: spawn information for the pet
SpawnNPCFunction: Scene Script Actor SpawnNPC(Scene Script PetBattleScene self, Scene Script PetBattlePlayerID playerID, Scene Script ActorCreateData actorCreateData) Spawn an NPC pet specifically associated with a particular player according to the supplied ActorCreateData. The pet actor will be uniquely bound to the game code, so that it can be identified for sound and other hooks Return: Scene Script Actor the newly spawned actor Parameters: - Scene Script PetBattlePlayerID playerID: player owning the pet
- Scene Script ActorCreateData actorCreateData: spawn information for the pet
GetBattleStateFunction: Scene Script PetBattle GetBattleState(Scene Script PetBattleScene self) Return the full up to date battle state associated with the pet battle. WARNING: this function is relatively expensive and should typically only be called on battle startup Return: Scene Script PetBattle full update of the current battle state SignalOpeningCompleteFunction: SignalOpeningComplete(Scene Script PetBattleScene self) Indicate that the opening phase of the pet battle intro is complete and that the UI should be displayed HasPendingEffectsFunction: Scene Script boolean HasPendingEffects(Scene Script PetBattleScene self) Return: Scene Script boolean true if there are pending events that need to be played back by the scene script GetPendingEffectFunction: Scene Script PetBattleEventTable GetPendingEffect(Scene Script PetBattleScene self) Return: Scene Script PetBattleEventTable the first pending playback event SignalEffectAppliedFunction: SignalEffectApplied(Scene Script PetBattleScene self, Scene Script integer eventInstanceID) When a playback event has been completed by the script, this notifies the internal state to update, which will in turn trigger the UI and other feedback Parameters: - Scene Script integer eventInstanceID: instanceID of the playback event to signal. Since playback must occur in order, if the instance ID is not the first pending, all playback events will be flushed until this is reached
SignalBattleCompleteFunction: SignalBattleComplete(Scene Script PetBattleScene self) Indicates that the battle playback has completed and the battle can shutdown IsUIObservingFunction: Scene Script boolean IsUIObserving(Scene Script PetBattleScene self) Return: Scene Script boolean true if the battle is being observed from the pet battle UI GetUIObservingPlayerFunction: Scene Script integer GetUIObservingPlayer(Scene Script PetBattleScene self) Return: Scene Script integer the slot of the player that the UI is observing the battle from GetUICameraTransitionFunction: Scene Script integer GetUICameraTransition(Scene Script PetBattleScene self) Return: Scene Script integer a value indicating if there is enough space available to successfuly perform the default camera transitoin SetPetBattleGameCameraTargetFunction: SetPetBattleGameCameraTarget(Scene Script PetBattleScene self, Scene Script Actor cameraTarget, Scene Script float zoomMin, Scene Script float zoomMax) Set the pet battle orbit camera to focus on an actor, restoring the pet battle camera zoom that has been saved Parameters: - Scene Script Actor cameraTarget: target actor for the freelook camera
- Scene Script float zoomMin: minimum zoom for the camera
- Scene Script float zoomMax: maximum zoom for the camera
ResetPetBattleGameCameraZoomFunction: ResetPetBattleGameCameraZoom(Scene Script PetBattleScene self) Reset the game camera zoom to the normal values, and store the current pet battle zoom GetActivePlayerDisplayFunction: Scene Script UnitDisplay GetActivePlayerDisplay(Scene Script PetBattleScene self, Scene Script PetBattlePlayerID playerID) Get a display handle for the active players in a pet battle, so that they can have animations and effects played on them Return: Scene Script UnitDisplay the display handle fof the requested player Parameters: - Scene Script PetBattlePlayerID playerID: player slot of the player handle to obtain
PlayPetBattleMusicFunction: PlayPetBattleMusic(Scene Script PetBattleScene self, Scene Script integer soundKitID) Play a sound by ID on the special PetBattleMusic sound track Parameters: - Scene Script integer soundKitID: ID of the SoundEntry for the music
ActorA class table that maps to an instance of a client created unit. As well as the functions listed below, an Actor contains all the functions of a UnitDisplay table. Function: SetTransform(Scene Script Actor self, Scene Script Transform transform) Set the current position and rotation of the actor Parameters: - Scene Script Transform transform: new transform for the actor
SetModelFunction: SetModel(Scene Script Actor self, Scene Script ActorCreateData modelData) Change the model used for the actor, without interrupting animation or movement Parameters: - Scene Script ActorCreateData modelData: structure containing dispolay information for the new model. Transformation and name information are ignored, but a model file name, creature ID or creature display ID can be specified, as well as a scale and facing offset.
GetScaleFunction: Scene Script float GetScale(Scene Script Actor self) Return: Scene Script float the current script scale of the actor SetScaleFunction: SetScale(Scene Script Actor self, Scene Script float scale) Set the current script scale of the actor Parameters: - Scene Script float scale: new scale for the actor
EquipWeaponFunction: EquipWeapon(Scene Script Actor self, Scene Script WeaponSlot slot, Scene Script integer itemID) Set the item equipped in a particular weapon slot (0 clears the slot) Parameters: - Scene Script WeaponSlot slot: weapon slot
- Scene Script integer itemID: ID of an item record in WOWEdit
GetSheatheStateFunction: Scene Script SheatheState GetSheatheState(Scene Script Actor self) Return: Scene Script SheatheState the current target sheathe state of the actor (spell effects that manipulate sheathing will take priority, as with normal units) SetSheatheStateFunction: SetSheatheState(Scene Script Actor self, Scene Script SheatheState sheatheState, Scene Script boolean instant) Set the target sheathe state for the actor (spell effects that manipulate sheathing will take priority, as with normal units) Parameters: - Scene Script SheatheState sheatheState: new target sheathe state
- Scene Script boolean instant: do not animate any sheathe transition
GetHealthFunction: Scene Script integer GetHealth(Scene Script Actor self) Return: Scene Script integer the current health value of the actor, purely for visuals on the portrait GetMaxHealthFunction: Scene Script integer GetMaxHealth(Scene Script Actor self) Return: Scene Script integer the current max health value of the actor, purely for visuals on the portrait SetHealthFunction: SetHealth(Scene Script Actor self, Scene Script integer health) Set the health that will displayed on UI elements (e.g. protrait frames) for this actor Parameters: - Scene Script integer health: new health value of this actor
SetMaxHealthFunction: SetMaxHealth(Scene Script Actor self, Scene Script integer maxHealth) Set the maximum health that will displayed on UI elements (e.g. protrait frames) for this actor Parameters: - Scene Script integer maxHealth: new maximum health value of this actor
SetRelativeToFunction: SetRelativeTo(Scene Script Actor self, Scene Script Actor parentActor) Maintaining the actor's current position, mark it as relative to another actor. When the parent actor moves, the current offset from the parent will be maintained. When the child actor moves, movement will modify the offset to the parent Parameters: - Scene Script Actor parentActor: actor that will become the new parent, or 'transport' of this actor
SetAttachedToFunction: SetAttachedTo(Scene Script Actor self, Scene Script AttachmentData attachData) Maintaining the actor's current position, mark it as relative to another actor's attachment point. When the parent actor moves, the current offset from the parent will be maintained. When the child actor moves, movement will modify the offset to the parent Parameters: - Scene Script AttachmentData attachData: information for the attachment - parent actor, attachment point, offsets etc
Function: Scene Script Transform GetAttachmentTransform(Scene Script Actor self, Scene Script integer attachmentIndex, Scene Script Transform offset, Scene Script float predictAheadSeconds) Return the world space transform of an attachment point of an actor. If the actor does not have that attachment point, the root of the actor will be returned. Return: Scene Script Transform Full transform of the attachment point (note, scale will be removed) Parameters: - Scene Script integer attachmentIndex: attachment point to look up, see the AttachmentPoint table for available points
- Scene Script Transform offset: additional transformation to apply to the attachment point
- Scene Script float predictAheadSeconds: if the actor is moving, predict the attachment point this many seconds into the future. NOTE: this will be approximate
StopMovementFunction: StopMovement(Scene Script Actor self) Stop any current movement MoveFunction: Move(Scene Script Actor self, Scene Script MoveData moveData) Instruct the actor to perform a movement Parameters: - Scene Script MoveData moveData: data structure containing a description of the movement to be performed
IsMovingFunction: Scene Script boolean IsMoving(Scene Script Actor self) Return: Scene Script boolean true if the actor is moving GetRemainingMoveTimeFunction: Scene Script float GetRemainingMoveTime(Scene Script Actor self) Return: Scene Script float return time remaining until current movement complete SetSnapToGroundFunction: SetSnapToGround(Scene Script Actor self, Scene Script boolean snapToGround) Turn on/off ground snapping for an actor. When snap is enabled, the actor will immediately snap from it's current location to the ground. Parameters: - Scene Script boolean snapToGround: enable ground snap
IsGroundSnapPendingFunction: Scene Script boolean IsGroundSnapPending(Scene Script Actor self) Return: Scene Script boolean true if this actor is set to snap to the ground, but ground couldn't not be found (either too high, or the ground may be too far out of range to be loaded) SetHoverHeightFunction: SetHoverHeight(Scene Script Actor self, Scene Script float hoverHeight) Modify the hover height for the actor. If the actor is ground snapping, this is the height above the ground that that the actor will maintain Parameters: - Scene Script float hoverHeight: new hover height for the actor
GetHoverHeightFunction: Scene Script float GetHoverHeight(Scene Script Actor self) Return: Scene Script float current hover height of the actor SetHoverHeightSpeedFunction: SetHoverHeightSpeed(Scene Script Actor self, Scene Script float hoverHeightSpeed) Modify the hover height change speed of the actor. Rate at which hover height will be changed (a value of zero will lead to instant changes) Parameters: - Scene Script float hoverHeightSpeed: new hover height for the actor
GetHoverHeightSpeedFunction: Scene Script float GetHoverHeightSpeed(Scene Script Actor self) Return: Scene Script float current hover height speed of the actor SetFacingFunction: SetFacing(Scene Script Actor self, Scene Script float facingAngle) Turn the actor to a given facing. If the actor is moving, or starts a new move, the facing will be reset to the direction of movement. Parameters: - Scene Script float facingAngle: new facing angle for the actor (degrees)
SetFacingToAbsFunction: SetFacingToAbs(Scene Script Actor self, Scene Script Vector absPos) Lock actor facing to a particular world position. The actor will continue to face this position during movement, until ClearFacing is called. Parameters: - Scene Script Vector absPos: position in the world to face
SetFacingToTargetFunction: SetFacingToTarget(Scene Script Actor self, Scene Script Actor target, Scene Script Vector offset) Lock actor facing to another actor, plus a world space offset. Movement will not break the facing lock. Parameters: - Scene Script Actor target: actor to focus facing direction on
- Scene Script Vector offset: offset from the target actor to look at. (0,0,0) will look directly at the actor
ClearFacingFunction: ClearFacing(Scene Script Actor self) Remove any current facing lock on the actor. The actor will maintain it's current facing until a movement or other facing change. SetHeadFacingFunction: SetHeadFacing(Scene Script Actor self, Scene Script float facingAngle) Turn the actor's head to a given facing. If the actor is moving, or starts a new move, the head facing will be reset to the direction of movement. Parameters: - Scene Script float facingAngle: new head facing angle for the actor (degrees)
SetHeadFacingToAbsFunction: SetHeadFacingToAbs(Scene Script Actor self, Scene Script Vector absPos) Lock actor head facing to a particular world position. The actor will continue to face his head at this position during movement, until ClearHeadFacing is called. Parameters: - Scene Script Vector absPos: position in the world to turn head to
SetHeadFacingToTargetFunction: SetHeadFacingToTarget(Scene Script Actor self, Scene Script Actor target, Scene Script Vector offset) Lock actor head facing to another actor, plus a world space offset. Movement will not break the head facing lock. Parameters: - Scene Script Actor target: actor to focus head facing direction on
- Scene Script Vector offset: offset from the target actor to look at. (0,0,0) will turn head directly at the actor
ClearHeadFacingFunction: ClearHeadFacing(Scene Script Actor self) Remove any current head facing lock on the actor. The actor's head facing will return to its current base facing. SetFacingTurnRateFunction: SetFacingTurnRate(Scene Script Actor self, Scene Script float rate) Adjust the rate at which facing adjustments are made by the actor. Default is '5', a higher number will turn faster Parameters: - Scene Script float rate: new facing for the actor
GetFacingTurnRateFunction: Scene Script float GetFacingTurnRate(Scene Script Actor self) Return: Scene Script float current facing rate for the actor IsReadyToDisplayFunction: Scene Script boolean IsReadyToDisplay(Scene Script Actor self) Return: Scene Script boolean true if the actor's model and textures are fully loaded, so that it can be rendered SetHiddenFunction: SetHidden(Scene Script Actor self, Scene Script boolean hidden) Turn on and off rendering for an actor Parameters: - Scene Script boolean hidden: new rendering state for the actor
DespawnFunction: Despawn(Scene Script Actor self) Fade out and despawn the actor IsDespawnedFunction: Scene Script boolean IsDespawned(Scene Script Actor self) Test if the actor has been despawned Return: Scene Script boolean returns true if Despawn has previously been called on this actor FadeFunction: Fade(Scene Script Actor self, Scene Script float alpha, Scene Script float time) Fade the actor to a particular alpha value over time Parameters: - Scene Script float alpha: target alpha value for the fade (a number 0 to 1)
- Scene Script float time: time to fade over, in seconds
Function: SetFloatingTooltip(Scene Script Actor self, Scene Script boolean floating) Enable or disable tooltips in the 'floating' style (e.g. signs on sign posts). Tooltips are only visible for interactable actors. Parameters: - Scene Script boolean floating: set to true to enable tooltips in the 'floating' style
SetInteractibleFunction: SetInteractible(Scene Script Actor self, Scene Script boolean interactable) Control the interactability of the actor. Interactable actors have mouse-over highlight and tooltips available Parameters: - Scene Script boolean interactable: set to true to make the actor interactable
SetSelectableFunction: SetSelectable(Scene Script Actor self, Scene Script boolean selectable) Control the selectability of the actor. Selectable actors will have portrait frames and selection circles like a normal unit Parameters: - Scene Script boolean selectable: set to true to make the actor selectable
SetInteractCursorFunction: SetInteractCursor(Scene Script Actor self, Scene Script string cursorName, Scene Script CursorRange rangeType, Scene Script float range, Scene Script Actor relativeTo) Change the cursor and interaction range for the actor Parameters: - Scene Script string cursorName: name of the cursor file, e.g. 'crosshairs'
- Scene Script CursorRange rangeType: method for calculating the range of the interaction {e.g. from player, from camera)
- Scene Script float range: range of the interaction
- Scene Script Actor relativeTo: if range type is relative to some other actor, specify that actor here (otherwise use nil)
GetOverrideReactionFunction: Scene Script ReactionType GetOverrideReaction(Scene Script Actor self) Return: Scene Script ReactionType return the current reaction type for this actor SetOverrideReactionFunction: SetOverrideReaction(Scene Script Actor self, Scene Script ReactionType reaction) Set an override for the reaction type for this actor, dictates selection color Parameters: - Scene Script ReactionType reaction: new reaction type for the actor. Set to type default to revert to the creature data reaction
GetRightClickCountFunction: Scene Script integer GetRightClickCount(Scene Script Actor self) Return: Scene Script integer return the number of times this actor has been right clicked CastSpellFunction: CastSpell(Scene Script Actor self, Scene Script integer spellID, Scene Script Actor target) Simulate a full spell cast, playing all appropriate spell visuals and respecting cast time to play precast visuals Parameters: - Scene Script integer spellID: Spell table ID of the spell to cast. Must be available on the client
- Scene Script Actor target: Target actor for impacts, missile destinations etc
IsCastingFunction: Scene Script boolean IsCasting(Scene Script Actor self) Return: Scene Script boolean true if the actor is simulating a spell cast |