Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //==================================================================================================
- // Native Function Prototypes
- //==================================================================================================
- include "TriggerLibs/GameData/GameDataAllNatives.galaxy"
- //--------------------------------------------------------------------------------------------------
- // Contents
- //--------------------------------------------------------------------------------------------------
- // - About Types
- // - Common
- // - Achievements
- // - Actor
- // - Animation
- // - Bank
- // - Boards
- // - Camera
- // - Campaign
- // - Catalogs
- // - Cinematics
- // - Conversions
- // - Conversation
- // - Data Table
- // - Dialogs
- // - Environment
- // - Game
- // - Looping
- // - Markers
- // - Math
- // - Melee
- // - Minimap
- // - Movie
- // - Objectives
- // - Orders
- // - Ping
- // - Planet
- // - Players
- // - Player Groups
- // - Points
- // - Portraits
- // - Preload
- // - PurchaseItems
- // - Regions
- // - Sound
- // - Story Mode
- // - Strings
- // - Tech Tree
- // - Text Tags
- // - Timing
- // - Transmission
- // - Triggers
- // - Units
- // - Unit Filters
- // - Unit Groups
- // - Unit Reference
- // - Unit Selection
- // - User Interface
- // - Visibility
- //
- //--------------------------------------------------------------------------------------------------
- // About Types
- //--------------------------------------------------------------------------------------------------
- //
- // -- Complex types and automatic deletion --
- //
- // Many native types represent "complex" objects (i.e. larger than 4 bytes). The script language
- // automatically keeps track of these objects and deletes them from memory when they are no longer
- // used (that is, when nothing in the script references them any longer). The types which benefit
- // from automatic deletion are:
- //
- // abilcmd, bank, camerainfo, marker, order, playergroup, point,
- // region, soundlink, string, text, timer, transmissionsource, unitfilter, unitgroup, unitref,
- // waveinfo, wavetarget
- //
- // Other object types must be explicitly destroyed with the appropriate native function when you
- // are done using them.
- //
- //
- // -- Complex types and equality --
- //
- // Normally, comparing two "complex" objects with the == or != operators will only compare the
- // object reference, not the contained object data. However, a few types will compare the contained
- // data instead. These types are:
- //
- // abilcmd, point, string, unitfilter, unitref
- //
- // Examples:
- //
- // Point(1, 2) == Point(1, 2) // True
- // "test string" == "test string" // True (note: this is case sensitive)
- // AbilityCommand("move", 0) == AbilityCommand("move", 0) // True
- // Order(abilCmd) == Order(abilCmd) // False (two different order instances)
- // RegionEmpty() == RegionEmpty() // False (two different region instances)
- //
- //
- // -- Complex types and +/- operators --
- //
- // Besides numerical types (byte, int, fixed), a few complex types support + and/or - operators:
- //
- // string, text + operator will concatenate the strings or text
- // point +/- operators will add or subtract the x and y components of the points
- //
- //--------------------------------------------------------------------------------------------------
- // Common
- // - Constants used in multiple sections
- //--------------------------------------------------------------------------------------------------
- // Alignment
- const int c_alignLeft = 0;
- const int c_alignTop = 0;
- const int c_alignRight = 1;
- const int c_alignBottom = 1;
- const int c_alignCenter = 2;
- // Anchor
- const int c_anchorTopLeft = 0;
- const int c_anchorTop = 1;
- const int c_anchorTopRight = 2;
- const int c_anchorLeft = 3;
- const int c_anchorCenter = 4;
- const int c_anchorRight = 5;
- const int c_anchorBottomLeft = 6;
- const int c_anchorBottom = 7;
- const int c_anchorBottomRight = 8;
- //--------------------------------------------------------------------------------------------------
- // Achievements
- //--------------------------------------------------------------------------------------------------
- native void AchievementPanelSetVisible (playergroup players, bool visible);
- native void AchievementsDisable (int player);
- //--------------------------------------------------------------------------------------------------
- // Actor
- // - Can send actor messages through API that is temporarily similar to the animation API.
- //
- // Design Comments
- // - Trigger code is synchronous and actors are asynchronous. This means we can't have any
- // routines that return any results, since anything from the actor system is suspect.
- // This includes even the existence of actors themselves; an actor might only be created on
- // machines with good graphics cards, for instance.
- // - This also means collection classes are out, since we can't return a count that is guaranteed
- // to match. (Technically, we could still have them, but just not populate them via "query".
- // The value at this point is unfortunately low enough to not be worth the complexity.)
- // - We can return actors and scopes, but these will be opaque values that might even be NULL.
- // The client can do stuff with them, but won't be guaranteed to have them work. In other
- // words, the client always appears to get a valid object, but the user has no way of actually
- // knowing whether it was valid, except to look at the screen. Testing against null only
- // determines whether there has ever been an attempt to assign these values.
- //
- // FAQ
- //
- // Q01 Why do we not use scope names to get a hold of scopes?
- // A01 Scope names started as a debugging tool. We want to see if we can get by with that.
- // Until there's a super compelling need, we want to get by without exposing a whole new
- // namespace.
- //
- // Q02 Why does ::LastCreated only get set with new values if they are successfully created?
- // Won't this create subtle bugs where we send messages to the prior actor that was created,
- // b/c we are accidentally not creating a new one?
- // A02 Well, it might. But it's also a simply explained rule. No one will remember the
- // alternative, which is something like actors/scopes created by ActorCreate, and create
- // messages sent by the user. It also leads to simpler, less bug-prone C++ code on my end. :)
- //
- // Q03 Why does ActorCreate have 3 content params? Is that many really necessary?
- // A03 It is exactly enough to create a beam with a custom model and two custom sites.
- //--------------------------------------------------------------------------------------------------
- native actorscope ActorScopeCreate (string name);
- native actorscope ActorScopeFrom (string name);
- native actorscope ActorScopeFromActor (actor a);
- native actorscope ActorScopeFromUnit (unit u);
- native actorscope ActorScopeFromPortrait (int p);
- native text ActorScopeGetText (actorscope as);
- native void ActorScopeKill (actorscope as);
- native void ActorScopeOrphan (actorscope as);
- native actor ActorScopeRefGet (actorscope as, string refName);
- native void ActorScopeRefSet (actorscope as, string refName, actor aValue);
- native void ActorScopeSend (actorscope as, string msg);
- native actor ActorCreate (actorscope as, string actorName, string content1Name, string content2Name, string content3Name);
- native actor ActorFrom (string name);
- native actor ActorFromActor (actor a, string name);
- native actor ActorFromScope (actorscope as, string name);
- native actor ActorFromDoodad (doodad d);
- native actor ActorFromPortrait (int p);
- native text ActorGetText (actor a);
- native actor ActorRefGet (actor a, string refName);
- native void ActorRefSet (actor a, string refName, actor aValue);
- native void ActorSend (actor a, string msg);
- native void ActorSendTo (actor a, string refName, string msg);
- native void ActorLookAtStart (actor s, string lookAt, int weight, fixed time, actor t);
- native void ActorLookAtStop (actor s, string lookAt, int weight, fixed time);
- native void ActorLookAtTypeStart (actor s, string type, actor t);
- native void ActorLookAtTypeStop (actor s, string type);
- native void ActorTextureGroupApplyGlobal (string textureProps);
- native void ActorTextureGroupRemoveGlobal (string textureProps);
- native void ActorWorldParticleFXDestroy ();
- native actor ActorRegionCreate (actorscope as, string actorName, region r);
- native void ActorRegionSend (actor a, int intersect, string msg, string filters, string terms);
- const int c_actorIntersectAgainstCenter = 0;
- const int c_actorIntersectAgainstRadiusContact = 1;
- const int c_actorIntersectAgainstRadiusGame = 2;
- const int c_actorIntersectAgainstRadiusVisual = 3;
- const int c_animTimeVariantAsAutomatic = 0;
- const int c_animTimeVariantAsDuration = 1;
- const int c_animTimeVariantAsTimeScale = 2;
- const int c_animTransitionFlagInstant = (1 << 0);
- const int c_animBracketStartFlagClosingFull = (1 << 0);
- const int c_animBracketStartFlagContentNonLooping = (1 << 1);
- const int c_animBracketStartFlagContentPlayOnce = (1 << 2);
- const int c_animBracketStartFlagOpeningPlayForever = (1 << 3);
- const int c_animBracketStartFlagInstant = (1 << 4);
- const int c_animGroupApplyFlagClosingFull = (1 << 0);
- const int c_animGroupApplyFlagInstant = (1 << 1);
- const int c_animFlagFullMatch = (1 << 0);
- const int c_animFlagPlayForever = (1 << 1);
- const int c_animFlagNonLooping = (1 << 2);
- const int c_animFlagAssetDrivenLooping = (1 << 3);
- const int c_animFlagRandomStartOffset = (1 << 4);
- // Currently unused.
- const int e_actorRefFlagGroup = (1 << 1);
- const int c_actorRefSpaceGlobal = 1;
- const int c_actorRefSpaceScope = 2;
- const int c_actorRefSpaceActor = 3;
- const int c_actorRequestScopeImplicit = 0;
- const int c_actorRequestScopeCaster = 1;
- const int c_actorRequestScopeEffect = 2;
- const int c_actorRequestScopeMissile = 3;
- const int c_actorRequestScopeOuter = 4;
- const int c_actorRequestScopeSource = 5;
- const int c_actorRequestScopeTarget = 6;
- const int c_actorRequestActorImplicit = 0;
- const int c_actorRequestActorCreate = 1;
- const int c_actorRequestActorFind = 2;
- const int c_textureVideoPlayFlagLooping = (1 << 0);
- const int c_textureVideoPlayFlagSynced = (1 << 1);
- const int c_physicsDisabled = 0;
- const int e_physicsKeyframed = 1;
- const int e_physicsSimulated = 2;
- const int c_actorTransitionIn = 0;
- const int c_actorTransitionOut = 1;
- const int c_textureSlotComponentDefault = 0;
- const int c_textureSlotComponentDiffuse = 1;
- const int c_textureSlotComponentEmissive = 2;
- const int c_textureSlotComponentNormal = 3;
- const int c_textureSlotComponentSpecular = 4;
- native string MakeMsgAnimBracketResume (
- string animName,
- int animTransitionFlags,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgAnimBracketStart (
- string animName,
- string propsOpening,
- string propsContent,
- string propsClosing,
- int animBracketStartFlags,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgAnimBracketStop (
- string animName,
- int animTransitionFlags,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgAnimGroupApply (
- string animGroup,
- string atApply,
- string atRemove,
- int animGroupApplyFlags,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgAnimGroupRemove (
- string animGroup,
- int animTransitionFlags,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgAnimPlay (
- string animName,
- string animProps,
- int animFlags,
- fixed blendIn,
- fixed blendOut,
- fixed timeVariant,
- int timeType
- );
- native string MakeMsgRefCreate (string refName);
- native string MakeMsgRefSetFromRequest (
- string refName,
- string subject,
- string effectName,
- int requestScope,
- int requestActor
- );
- native string MakeMsgRefTableDump (int space);
- native string MakeMsgSetPhysicsState (int physicsState, fixed delayLow, fixed delayHigh);
- native string MakeMsgTextureSelectByMatch (
- string slotName,
- int slotComponent,
- string sourceSlotName,
- int sourceSlotComponent
- );
- native string MakeMsgTextureSelectBySlot (
- string slotName,
- int slotComponent,
- string textureExpression
- );
- native string MakeMsgTextureVideoPlay (
- string slotName,
- int slotComponent,
- int fps,
- int textureVideoPlayFlags,
- int videoSoundType,
- string attachQuery
- );
- native string MakeMsgTextureVideoStop (string slotName, int slotComponent);
- native string MakeMsgTextureVideoSetFrame (string slotName, int slotComponent, int frame);
- native string MakeMsgTextureVideoSetPaused (string slotName, int slotComponent, bool isPaused);
- native string MakeMsgTextureVideoSetTime (string slotName, int slotComponent, fixed time);
- native string MakeMsgTransition (int transitionType, fixed durationBase, fixed durationRange);
- native string TextureGetSlotName (string textureLink);
- native int TextureGetSlotComponent (string textureLink);
- native doodad DoodadFromId (int id);
- //--------------------------------------------------------------------------------------------------
- // Animation
- //--------------------------------------------------------------------------------------------------
- const fixed c_animTimeDefault = -1;
- const string c_animNameDefault = "Default";
- native void ModelAnimationLoad (string modelPath, string animPath);
- native void ModelAnimationUnload (string modelPath, string animPath);
- //--------------------------------------------------------------------------------------------------
- // Bank
- //--------------------------------------------------------------------------------------------------
- const int c_bankTypeFixed = 0;
- const int c_bankTypeFlag = 1;
- const int c_bankTypeInt = 2;
- const int c_bankTypeString = 3;
- const int c_bankTypeUnit = 4;
- const int c_bankTypePoint = 5;
- const int c_bankTypeText = 6;
- native bool BankExists (string name, int player);
- native bank BankLastCreated ();
- native bank BankLoad (string name, int player);
- native string BankName (bank b);
- native int BankPlayer (bank b);
- native void BankRemove (bank b);
- native void BankSave (bank b);
- native int BankSectionCount (bank b);
- native bool BankSectionExists (bank b, string section);
- native string BankSectionName (bank b, int index);
- native void BankSectionRemove (bank b, string section);
- native int BankKeyCount (bank b, string section);
- native bool BankKeyExists (bank b, string section, string key);
- native string BankKeyName (bank b, string section, int index);
- native void BankKeyRemove (bank b, string section, string key);
- native bool BankValueIsType (bank b, string section, string key, int type);
- native fixed BankValueGetAsFixed (bank b, string section, string key);
- native void BankValueSetFromFixed (bank b, string section, string key, fixed value);
- native bool BankValueGetAsFlag (bank b, string section, string key);
- native void BankValueSetFromFlag (bank b, string section, string key, bool value);
- native int BankValueGetAsInt (bank b, string section, string key);
- native void BankValueSetFromInt (bank b, string section, string key, int value);
- native point BankValueGetAsPoint (bank b, string section, string key);
- native void BankValueSetFromPoint (bank b, string section, string key, point value);
- native string BankValueGetAsString (bank b, string section, string key);
- native void BankValueSetFromString (bank b, string section, string key, string value);
- native text BankValueGetAsText (bank b, string section, string key);
- native void BankValueSetFromText (bank b, string section, string key, text value);
- native unit BankLastRestoredUnit ();
- native unit BankValueGetAsUnit (bank b, string section, string key, int player, point p, fixed facing);
- native void BankValueSetFromUnit (bank b, string section, string key, unit value);
- //--------------------------------------------------------------------------------------------------
- // Battle Report
- //--------------------------------------------------------------------------------------------------
- const int c_invalidBattleReportId = 0;
- const int c_battleReportStateNormal = 0;
- const int c_battleReportStateCompleted = 1;
- const int c_battleReportStateHidden = 2;
- const int c_battleReportTypeMission = 0;
- const int c_battleReportTypeScene = 1;
- native void BattleReportPanelSetSelectedBattleReport (playergroup players, int inBattleReport);
- native int BattleReportPanelGetSelectedBattleReport (int inPlayer);
- native int BattleReportCreate (playergroup inPlayerGroup, text inText, int inType, int inState);
- native int BattleReportLastCreated ();
- native void BattleReportDestroy (int inBattleReportId);
- native void BattleReportSetState (int inBattleReportId, int inState);
- native void BattleReportSetPriority (int inBattleReportId, int inPriority);
- native void BattleReportSetButtonText (int inBattleReportId, text inText);
- native void BattleReportSetButtonImage (int inBattleReportId, string inImage);
- native void BattleReportSetMissionText (int inBattleReportId, text inText);
- native void BattleReportSetResearchTitle (int inBattleReportId, text inText);
- native void BattleReportSetResearchText (int inBattleReportId, text inText);
- native void BattleReportSetBonusTitle (int inBattleReportId, text inText);
- native void BattleReportSetBonusText (int inBattleReportId, text inText);
- native void BattleReportSetWorldText (int inBattleReportId, text inText);
- native void BattleReportSetObjectiveTitle (int inBattleReportId, text inText);
- native void BattleReportSetObjectiveText (int inBattleReportId, text inText);
- native void BattleReportSetAchievementTitle (int inBattleReportId, text inText);
- native void BattleReportSetBestTimeText (int inBattleReportId, text inText);
- native void BattleReportSetMissionImage (int inBattleReportId, string inImage);
- native void BattleReportSetDifficultyLevelCompleted (int inBattleReportId, int inDifficultyLevel, bool inCompleted);
- native void BattleReportSetDifficultyLevelBestTimeText (int inBattleReportId, int inDifficultyLevel, text inText);
- native void BattleReportAddAchievement (int inBattleReportId, string inAchievement);
- native void BattleReportSetSceneText (int inBattleReportId, text inText);
- native void BattleReportSetSceneImage (int inBattleReportId, string inImage);
- // Battle Report events
- native void TriggerAddEventBattleReportPanelExit (trigger t, int inPlayer);
- native void TriggerAddEventBattleReportPanelPlayMission (trigger t, int inPlayer);
- native void TriggerAddEventBattleReportPanelPlayScene (trigger t, int inPlayer);
- native void TriggerAddEventBattleReportPanelSelectionChanged (trigger t, int inPlayer);
- native int EventBattleReportPanelMissionSelected ();
- native int EventBattleReportPanelDifficultySelected ();
- native int EventBattleReportPanelSceneSelected ();
- //--------------------------------------------------------------------------------------------------
- // Boards
- //--------------------------------------------------------------------------------------------------
- const int c_boardNone = 0;
- native int BoardCreate (int inCols, int inRows, text inName, color inColor);
- native int BoardLastCreated ();
- native void BoardDestroy (int inBoard);
- native void BoardShowAll (bool inShow, playergroup inPlayers);
- // Board title
- const int c_boardColorText = 0;
- const int c_boardColorBackground = 1;
- const int c_boardIconPosLeft = 0;
- const int c_boardIconPosRight = 1;
- native void BoardTitleShow (int inBoard, playergroup inPlayers, bool inShow);
- native void BoardTitleSetText (int inBoard, text inText);
- native void BoardTitleSetColor (int inBoard, int inType, color inColor);
- native void BoardTitleSetIcon (int inBoard, string inIcon);
- native void BoardTitleSetAlignment (int inBoard, int inAlign, int inIconPos);
- native void BoardTitleSetClickable (int inBoard, bool inClickable);
- // Board properties
- native void BoardSetName (int inBoard, text inName, color inColor);
- const int c_boardStateShowing = 0;
- const int c_boardStateShowTitle = 1;
- const int c_boardStateShowMinimize = 2;
- const int c_boardStateMinimized = 3;
- const int c_boardStateShowHeader = 4;
- const int c_boardStateSorted = 5;
- native void BoardSetState (int inBoard, playergroup inPlayers, int inState, bool inVal);
- // Board minimize button
- native void BoardMinimizeShow (int inBoard, playergroup inPlayers, bool inShow);
- native void BoardMinimizeEnable (int inBoard, playergroup inPlayers, bool inEnable);
- native void BoardMinimizeSetState (int inBoard, playergroup inPlayers, bool inVal);
- native void BoardMinimizeSetColor (int inBoard, color inColor);
- // Board columns and rows
- native void BoardSetColumnCount (int inBoard, int inCols);
- native void BoardSetRowCount (int inBoard, int inRows);
- const fixed c_boardWidthAuto = 0; // Automatically size the column to fit all items
- native void BoardSetColumnWidth (int inBoard, int inCol, fixed inWidth);
- // Board row groups
- native void BoardSetGroupCount (int inBoard, int inGroups);
- native void BoardRowSetGroup (int inBoard, int inRow, int inGroup);
- // Board items
- const int c_boardColGroups = -3; // Use as column value to treat row value as group instead
- const int c_boardItemAll = -2; // Use as row or column value to modify all items
- const int c_boardRowHeader = -1; // Use as row value to access header items
- native void BoardItemSetText (int inBoard, int inCol, int inRow, text inText);
- native void BoardItemSetTextColor (int inBoard, int inCol, int inRow, color inColor);
- native void BoardItemSetBackgroundColor (int inBoard, int inCol, int inRow, color inColor);
- native void BoardItemSetIcon (int inBoard, int inCol, int inRow, string inIcon, bool inLeft);
- native void BoardItemSetAlignment (int inBoard, int inCol, int inRow, int inAlign);
- native void BoardItemSetFontSize (int inBoard, int inCol, int inRow, int inSize);
- native void BoardItemSetSortValue (int inBoard, int inCol, int inRow, int inVal);
- native void BoardItemSetProgressShow (int inBoard, int inCol, int inRow, bool inShow);
- native void BoardItemSetProgressRange (int inBoard, int inCol, int inRow, fixed inMin, fixed inMax);
- native void BoardItemSetProgressValue (int inBoard, int inCol, int inRow, fixed inVal);
- native void BoardItemSetProgressColor (int inBoard, int inCol, int inRow, color inColor, int inStep);
- // Board sorting
- // Note: inPriority defines multi-column sorting behavior. If two items are identical, the next
- // sort priority is used (lowest priority value comes first). inPriority should range
- // from 1 to the number of columns.
- //
- native void BoardSort (int inBoard, int inCol, bool inAscending, int inPriority);
- // Automatic player column
- // Note: Once a player column has been added, the "row" values passed in to the functions above
- // should be the player id instead.
- //
- native void BoardSetPlayerColumn (int inBoard, int inCol, bool inGroupByTeams);
- native void BoardPlayerAdd (int inBoard, int inPlayer);
- native void BoardPlayerRemove (int inBoard, int inPlayer);
- //--------------------------------------------------------------------------------------------------
- // Camera
- //--------------------------------------------------------------------------------------------------
- const int c_cameraValueFieldOfView = 0;
- const int c_cameraValueNearClip = 1;
- const int c_cameraValueFarClip = 2;
- const int c_cameraValueShadowClip = 3;
- const int c_cameraValueDistance = 4;
- const int c_cameraValuePitch = 5;
- const int c_cameraValueYaw = 6;
- const int c_cameraValueRoll = 7;
- const int c_cameraValueHeightOffset = 8;
- const int c_cameraValueDepthOfField = 9;
- const int c_cameraValueFocalDepth = 10;
- const int c_cameraValueFalloffStart = 11;
- const int c_cameraValueFalloffEnd = 12;
- const int c_cameraPositionEye = 0;
- const int c_cameraPositionTarget = 1;
- const int c_cameraPositionBoth = 2;
- const int c_cameraDirectionX = 0;
- const int c_cameraDirectionY = 1;
- const int c_cameraDirectionZ = 2;
- const int c_cameraDirectionXY = 3;
- const int c_cameraDirectionXZ = 4;
- const int c_cameraDirectionYZ = 5;
- const int c_cameraDirectionXYZ = 6;
- const int c_cameraRotationPitch = 0;
- const int c_cameraRotationRoll = 1;
- const int c_cameraRotationYaw = 2;
- // Camera Info
- native camerainfo CameraInfoDefault ();
- native camerainfo CameraInfoFromId (int id);
- native void CameraInfoSetValue (camerainfo c, int type, fixed value);
- native fixed CameraInfoGetValue (camerainfo c, int type);
- native void CameraInfoSetTarget (camerainfo c, point p);
- native point CameraInfoGetTarget (camerainfo c);
- // Player Camera
- native void CameraApplyInfo (int player, camerainfo c, fixed duration, fixed velocity, fixed decelerate, bool useTarget);
- native void CameraPan (int player, point p, fixed duration, fixed velocity, fixed decelerate, bool smart);
- native void CameraSetValue (int player, int type, fixed value, fixed duration, fixed velocity, fixed decelerate);
- native void CameraUseModel (int player, unit u, string name, fixed duration);
- native void CameraForceMouseRelative (int player, bool value);
- native void CameraLockInput (int player, bool lock);
- native void CameraSetMouseRotates (int player, bool value);
- native void CameraSetMouseRotationSpeed (int player, int direction, fixed value);
- native void CameraSetVerticalFieldOfView (int player, bool value);
- native void CameraUseHeightDisplacement (int player, bool value);
- native void CameraUseHeightSmoothing (int player, bool value);
- native void CameraSetChannel (int player, unit cameraUnit, string cameraName, int channel, fixed aspectRatio);
- native void CameraClearChannel (int player, int channel);
- native void CameraSetChannelOnPortrait (int player, camerainfo c, fixed aspectRatio, int portraitId, int channel);
- native void CameraClearChannelOnPortrait (int player, int portraitId, int channel);
- native void CameraShakeStart (
- int player,
- int position, // c_cameraPosition*
- int direction, // c_cameraDirection*
- fixed amplitude,
- fixed frequency,
- fixed randomPercent,
- fixed duration
- );
- native void CameraShakeStop (int player);
- // - CameraSave saves the current camera settings for the given player,
- // which can later be restored using CameraRestore.
- //
- native void CameraSave (int player);
- native void CameraRestore (int player, fixed duration, fixed velocity, fixed decelerate);
- // - CameraGetTarget returns the synchronized target for the given player
- //
- native point CameraGetTarget (int player);
- native fixed CameraGetPitch (int player);
- native fixed CameraGetYaw (int player);
- // Camera Bounds, optionally adjusting the minimap as well
- // Camera bounds can never extend beyond the playable map area
- //
- native void CameraSetBounds (playergroup players, region bounds, bool includeMinimap);
- // Force the camera to start/stop following a group of units
- //
- native void CameraFollowUnitGroup (int player, unitgroup group, bool follow, bool isOffset);
- native void CameraLookAt (int player, point p, fixed duration, fixed velocity, fixed decelerate);
- // Make the camera look at an actor or unit, updating as it moves. Use null to stop looking.
- //
- native void CameraLookAtActor (int player, actor a);
- native void CameraLookAtUnit (int player, unit u);
- // Camera movement events
- const int c_cameraMoveReasonAny = -1;
- const int c_cameraMoveReasonAlert = 0;
- const int c_cameraMoveReasonKeyScroll = 1;
- const int c_cameraMoveReasonMinimap = 2;
- const int c_cameraMoveReasonMouseScroll = 3;
- const int c_cameraMoveReasonSelection = 4;
- const int c_cameraMoveReasonTown = 5;
- const int c_cameraMoveReasonView = 6;
- native void TriggerAddEventCameraMove (trigger t, int player, int reason);
- native int EventCameraMoveReason ();
- //--------------------------------------------------------------------------------------------------
- // Campaign
- //
- // Game initialization and configuration associated with standard campaign games
- //--------------------------------------------------------------------------------------------------
- native void CampaignInitAI ();
- native void CampaignProgressSetText (playergroup players, string campaignId, text inText); // Blizzard maps only
- native void CampaignProgressSetImageFilePath (playergroup players, string campaignId, string inFilePath); // Blizzard maps only
- native void CampaignProgressSetTutorialFinished (playergroup players, string campaignId, bool inFinished); // Blizzard maps only
- native void CampaignProgressSetCampaignFinished (playergroup players, string campaignId, bool inFinished); // Blizzard maps only
- //--------------------------------------------------------------------------------------------------
- // Catalogs
- //
- // Note: The catalog entry table includes references to entries from other fields,
- // even if that entry is not actually defined. This means it is possible that
- // enumerating entries via CatalogEntryCount and CatalogEntryGet may return entries
- // that don't actually exist. Use CatalogEntryIsValid to check for this case.
- //
- //--------------------------------------------------------------------------------------------------
- native int AbilityClass (string ability);
- native int CatalogEntryCount (int catalog);
- native string CatalogEntryGet (int catalog, int index);
- native bool CatalogEntryIsValid (int catalog, string entry);
- native int CatalogEntryClass (int catalog, string entry);
- native string CatalogEntryParent (int catalog, string entry);
- native string CatalogEntryScope (int catalog, string entry);
- native int CatalogFieldCount (string scope);
- native string CatalogFieldGet (string scope, int index);
- native bool CatalogFieldIsArray (string scope, string field);
- native bool CatalogFieldIsScope (string scope, string field);
- native string CatalogFieldType (string scope, string field);
- native int CatalogFieldValueCount (int catalog, string entry, string fieldPath, int player);
- native string CatalogFieldValueGet (int catalog, string entry, string fieldPath, int player);
- native bool CatalogFieldValueSet (int catalog, string entry, string fieldPath, int player, string value);
- //--------------------------------------------------------------------------------------------------
- // CharacterSheet
- //--------------------------------------------------------------------------------------------------
- native void CharacterSheetPanelSetNameText (playergroup players, text inText);
- native void CharacterSheetPanelSetDescriptionText (playergroup players, text inText);
- native void CharacterSheetPanelSetPortraitModelLink (playergroup players, string inModelLink);
- //--------------------------------------------------------------------------------------------------
- // Cinematics
- //--------------------------------------------------------------------------------------------------
- native void CinematicMode (playergroup players, bool cinematicMode, fixed duration);
- const int c_fadeStyleNormal = 0;
- const int c_fadeStyleExponential = 1;
- const int c_fadeStyleSine = 2;
- const int c_fadeStyleSquareRoot = 3;
- native void CinematicFade (
- bool fadeIn,
- fixed duration,
- int style,
- color inColor,
- fixed transparency,
- bool waitUntilDone
- );
- native void CinematicOverlay (
- bool fadeIn,
- fixed duration,
- string imagePath,
- fixed transparency,
- bool waitUntilDone
- );
- native void CinematicDataRun (int id, playergroup players, bool waitUntilDone);
- native void CinematicDataStop ();
- //--------------------------------------------------------------------------------------------------
- // Conversions
- //--------------------------------------------------------------------------------------------------
- native int BoolToInt (bool f);
- native int Color255FromFixed (fixed f);
- native fixed IntToFixed (int x);
- native string IntToString (int x);
- native text IntToText (int x);
- const int c_fixedPrecisionAny = -1;
- native int FixedToInt (fixed x);
- native string FixedToString (fixed x, int precision);
- native text FixedToText (fixed x, int precision);
- native int StringToInt (string x);
- native fixed StringToFixed (string x);
- // Color
- // Note: Component values are in percent (0-100)
- //
- const int c_colorComponentRed = 0;
- const int c_colorComponentGreen = 1;
- const int c_colorComponentBlue = 2;
- const int c_colorComponentAlpha = 3;
- native color Color (fixed r, fixed g, fixed b);
- native color ColorWithAlpha (fixed r, fixed g, fixed b, fixed a);
- native color ColorFromIndex (int inIndex, int inType);
- native fixed ColorGetComponent (color c, int component);
- native text FormatNumber (int number);
- native text FormatDuration (int seconds);
- //--------------------------------------------------------------------------------------------------
- // Conversations
- //--------------------------------------------------------------------------------------------------
- const int c_invalidConversationId = 0;
- const int c_invalidReplyId = 0;
- const int c_conversationReplyStateUnread = 0;
- const int c_conversationReplyStateRead = 1;
- const int c_conversationReplyStateOld = 2;
- native int ConversationCreate (bool visible);
- native int ConversationLastCreated ();
- native void ConversationDestroy (int intId);
- native void ConversationDestroyAll ();
- native void ConversationShow (int intId, playergroup to, bool visible);
- native bool ConversationVisible (int intId, int player);
- native int ConversationReplyCreate (int intId, text inText);
- native int ConversationReplyLastCreated ();
- native void ConversationReplyDestroy (int intId, int replyId);
- native void ConversationReplyDestroyAll (int intId);
- native void ConversationReplySetText (int intId, int replyId, text inText);
- native text ConversationReplyGetText (int intId, int replyId);
- native void ConversationReplySetState (int intId, int replyId, int state);
- native int ConversationReplyGetState (int intId, int replyId);
- // Conversation events
- native void TriggerAddEventConversationReplySelected (trigger t, int player, int intId, int replyId);
- native int EventConversation ();
- native int EventConversationReply ();
- native int ConversationReplyGetIndex (int intId, int replyId);
- // Data-driven conversations
- // Note: The stateIndex parameters specify the state id and the index id (if any), separated by "|".
- // ConversationDataStateIndex may be used to assemble the proper string for a given numerical
- // index in the state definition.
- //
- native int ConversationDataStateIndexCount (string inStateId);
- native string ConversationDataStateIndex (string inStateId, int inIndex);
- native text ConversationDataStateName (string stateIndex);
- native text ConversationDataStateText (string stateIndex, string inInfoName);
- native fixed ConversationDataStateFixedValue (string stateIndex, string inInfoName);
- native string ConversationDataStateImagePath (string stateIndex);
- native int ConversationDataStateImageEdge (string stateIndex);
- native string ConversationDataStateAttachPoint (string stateIndex);
- native string ConversationDataStateMoviePath (string stateIndex);
- native string ConversationDataStateModel (string stateIndex, string inInfoName);
- native string ConversationDataStateUpgrade (string stateIndex, string inInfoName);
- native abilcmd ConversationDataStateAbilCmd (string stateIndex, string inInfoName);
- native void ConversationDataRegisterCamera (string camIndex, string charIndex, camerainfo c, trigger t, bool wait);
- native void ConversationDataRegisterUnit (string stateIndex, unit u);
- native void ConversationDataRegisterPortrait (string stateIndex, int p);
- native void ConversationDataStateSetValue (string stateIndex, int value);
- native int ConversationDataStateGetValue (string stateIndex);
- native int ConversationDataChoiceCount (string convId);
- native string ConversationDataChoiceId (string convId, int index);
- native void ConversationDataChoiceSetState (string convId, string choiceId, int state);
- native int ConversationDataChoiceGetState (string convId, string choiceId);
- native void ConversationDataChoiceSetPicked (string convId, string choiceId, bool picked);
- native bool ConversationDataChoiceGetPicked (string convId, string choiceId);
- native void ConversationDataChoiceSetPickedCount (string convId, string choiceId, int count);
- native int ConversationDataChoiceGetPickedCount (string convId, string choiceId);
- native int ConversationDataLineCount (string convId);
- native string ConversationDataLineId (string convId, int index);
- native void ConversationDataLineSetPickedCount (string convId, string lineId, int count);
- native int ConversationDataLineGetPickedCount (string convId, string lineId);
- // State save/load via bank
- // - State values are the arbitrary integer values associated with state objects.
- //
- native void ConversationDataSaveStateValues (string stateId, bank b, string section);
- native void ConversationDataLoadStateValues (string stateId, bank b, string section);
- native void ConversationDataResetStateValues (string stateId);
- // - Node state is the read/unread and picked state associated with lines and choices (nodes)
- // within a given conversation.
- //
- native void ConversationDataSaveNodeState (string convId, bank b, string section);
- native void ConversationDataLoadNodeState (string convId, bank b, string section);
- native void ConversationDataResetNodeState (string convId);
- // ConversationDataPreloadLines preloads sounds for all lines that are available to run given
- // the current state.
- //
- native void ConversationDataPreloadLines (string convId);
- // ConversationDataCanRun returns true if the given conversation has any lines or choices available
- // to run given the current state.
- //
- native bool ConversationDataCanRun (string convId, bool unpickedOnly);
- const int c_conversationSkipNone = 0; // Skipping not allowed
- const int c_conversationSkipSimple = 1; // Skipping only allowed for all lines (esc key),
- // not individual lines (space bar, left click)
- const int c_conversationSkipFull = 2; // Skipping allowed for all lines or individual lines
- native void ConversationDataRun (string convId, playergroup players, int skipType, bool waitUntilDone);
- native void ConversationDataStop ();
- native string ConversationDataActiveSound (); // Sound id associated with the active line
- native string ConversationDataActiveCamera (); // Last camera state to be applied
- // Data Conversation events
- native void TriggerAddEventConversationStateChanged (trigger t, string stateIndex);
- native string EventConversationState ();
- //--------------------------------------------------------------------------------------------------
- // Data Table
- // - Data tables provide named storage for any script type.
- // Table access may be either global or thread-local.
- //--------------------------------------------------------------------------------------------------
- // Types
- const int c_dataTypeUnknown = -1;
- const int c_dataTypeAbilCmd = 0;
- const int c_dataTypeActor = 1;
- const int c_dataTypeActorScope = 2;
- const int c_dataTypeAIFilter = 3;
- const int c_dataTypeBank = 4;
- const int c_dataTypeBool = 5;
- const int c_dataTypeByte = 6;
- const int c_dataTypeCameraInfo = 7;
- const int c_dataTypeCinematic = 8;
- const int c_dataTypeColor = 9;
- const int c_dataTypeControl = 10;
- const int c_dataTypeConversation = 11;
- const int c_dataTypeDialog = 12;
- const int c_dataTypeDoodad = 13;
- const int c_dataTypeFixed = 14;
- const int c_dataTypeInt = 15;
- const int c_dataTypeMarker = 16;
- const int c_dataTypeObjective = 17;
- const int c_dataTypeOrder = 18;
- const int c_dataTypePing = 19;
- const int c_dataTypePlanet = 20;
- const int c_dataTypePlayerGroup = 21;
- const int c_dataTypePoint = 22;
- const int c_dataTypePortrait = 23;
- const int c_dataTypeRegion = 24;
- const int c_dataTypeReply = 25;
- const int c_dataTypeRevealer = 26;
- const int c_dataTypeRoom = 27;
- const int c_dataTypeSound = 28;
- const int c_dataTypeSoundLink = 29;
- const int c_dataTypeString = 30;
- const int c_dataTypeText = 31;
- const int c_dataTypeTimer = 32;
- const int c_dataTypeTransmission = 33;
- const int c_dataTypeTransmissionSource = 34;
- const int c_dataTypeTrigger = 35;
- const int c_dataTypeUnit = 36;
- const int c_dataTypeUnitFilter = 37;
- const int c_dataTypeUnitGroup = 38;
- const int c_dataTypeUnitRef = 39;
- const int c_dataTypeWave = 40;
- const int c_dataTypeWaveInfo = 41;
- const int c_dataTypeWaveTarget = 42;
- // General functionality
- native void DataTableClear (bool global);
- native int DataTableValueCount (bool global);
- native string DataTableValueName (bool global, int index);
- native bool DataTableValueExists (bool global, string name);
- native int DataTableValueType (bool global, string name);
- native void DataTableValueRemove (bool global, string name);
- // Type-specific value set/get
- // - c_dataTypeAbilCmd
- native void DataTableSetAbilCmd (bool global, string name, abilcmd val);
- native abilcmd DataTableGetAbilCmd (bool global, string name);
- // - c_dataTypeActor
- native void DataTableSetActor (bool global, string name, actor val);
- native actor DataTableGetActor (bool global, string name);
- // - c_dataTypeActorScope
- native void DataTableSetActorScope (bool global, string name, actorscope val);
- native actorscope DataTableGetActorScope (bool global, string name);
- // - c_dataTypeAIFilter
- native void DataTableSetAIFilter (bool global, string name, aifilter val);
- native aifilter DataTableGetAIFilter (bool global, string name);
- // - c_dataTypeBank
- native void DataTableSetBank (bool global, string name, bank val);
- native bank DataTableGetBank (bool global, string name);
- // - c_dataTypeBool
- native void DataTableSetBool (bool global, string name, bool val);
- native bool DataTableGetBool (bool global, string name);
- // - c_dataTypeByte
- native void DataTableSetByte (bool global, string name, byte val);
- native byte DataTableGetByte (bool global, string name);
- // - c_dataTypeCameraInfo
- native void DataTableSetCameraInfo (bool global, string name, camerainfo val);
- native camerainfo DataTableGetCameraInfo (bool global, string name);
- // - c_dataTypeCinematic
- native void DataTableSetCinematic (bool global, string name, int val);
- native int DataTableGetCinematic (bool global, string name);
- // - c_dataTypeColor
- native void DataTableSetColor (bool global, string name, color val);
- native color DataTableGetColor (bool global, string name);
- // - c_dataTypeControl
- native void DataTableSetControl (bool global, string name, int val);
- native int DataTableGetControl (bool global, string name);
- // - c_dataTypeConversation
- native void DataTableSetConversation (bool global, string name, int val);
- native int DataTableGetConversation (bool global, string name);
- // - c_dataTypeDialog
- native void DataTableSetDialog (bool global, string name, int val);
- native int DataTableGetDialog (bool global, string name);
- // - c_dataTypeDoodad
- native void DataTableSetDoodad (bool global, string name, doodad val);
- native doodad DataTableGetDoodad (bool global, string name);
- // - c_dataTypeFixed
- native void DataTableSetFixed (bool global, string name, fixed val);
- native fixed DataTableGetFixed (bool global, string name);
- // - c_dataTypeInt
- native void DataTableSetInt (bool global, string name, int val);
- native int DataTableGetInt (bool global, string name);
- // - c_dataTypeMarker
- native void DataTableSetMarker (bool global, string name, marker val);
- native marker DataTableGetMarker (bool global, string name);
- // - c_dataTypeObjective
- native void DataTableSetObjective (bool global, string name, int val);
- native int DataTableGetObjective (bool global, string name);
- // - c_dataTypeOrder
- native void DataTableSetOrder (bool global, string name, order val);
- native order DataTableGetOrder (bool global, string name);
- // - c_dataTypePing
- native void DataTableSetPing (bool global, string name, int val);
- native int DataTableGetPing (bool global, string name);
- // - c_dataTypePlanet
- native void DataTableSetPlanet (bool global, string name, int val);
- native int DataTableGetPlanet (bool global, string name);
- // - c_dataTypePlayerGroup
- native void DataTableSetPlayerGroup (bool global, string name, playergroup val);
- native playergroup DataTableGetPlayerGroup (bool global, string name);
- // - c_dataTypePoint
- native void DataTableSetPoint (bool global, string name, point val);
- native point DataTableGetPoint (bool global, string name);
- // - c_dataTypePortrait
- native void DataTableSetPortrait (bool global, string name, int val);
- native int DataTableGetPortrait (bool global, string name);
- // - c_dataTypeRegion
- native void DataTableSetRegion (bool global, string name, region val);
- native region DataTableGetRegion (bool global, string name);
- // - c_dataTypeReply
- native void DataTableSetReply (bool global, string name, int val);
- native int DataTableGetReply (bool global, string name);
- // - c_dataTypeRevealer
- native void DataTableSetRevealer (bool global, string name, revealer val);
- native revealer DataTableGetRevealer (bool global, string name);
- // - c_dataTypeRoom
- native void DataTableSetRoom (bool global, string name, int val);
- native int DataTableGetRoom (bool global, string name);
- // - c_dataTypeSound
- native void DataTableSetSound (bool global, string name, sound val);
- native sound DataTableGetSound (bool global, string name);
- // - c_dataTypeSoundLink
- native void DataTableSetSoundLink (bool global, string name, soundlink val);
- native soundlink DataTableGetSoundLink (bool global, string name);
- // - c_dataTypeString
- native void DataTableSetString (bool global, string name, string val);
- native string DataTableGetString (bool global, string name);
- // - c_dataTypeText
- native void DataTableSetText (bool global, string name, text val);
- native text DataTableGetText (bool global, string name);
- // - c_dataTypeTimer
- native void DataTableSetTimer (bool global, string name, timer val);
- native timer DataTableGetTimer (bool global, string name);
- // - c_dataTypeTransmission
- native void DataTableSetTransmission (bool global, string name, int val);
- native int DataTableGetTransmission (bool global, string name);
- // - c_dataTypeTransmissionSource
- native void DataTableSetTransmissionSource (bool global, string name, transmissionsource val);
- native transmissionsource DataTableGetTransmissionSource (bool global, string name);
- // - c_dataTypeTrigger
- native void DataTableSetTrigger (bool global, string name, trigger val);
- native trigger DataTableGetTrigger (bool global, string name);
- // - c_dataTypeUnit
- native void DataTableSetUnit (bool global, string name, unit val);
- native unit DataTableGetUnit (bool global, string name);
- // - c_dataTypeUnitFilter
- native void DataTableSetUnitFilter (bool global, string name, unitfilter val);
- native unitfilter DataTableGetUnitFilter (bool global, string name);
- // - c_dataTypeUnitGroup
- native void DataTableSetUnitGroup (bool global, string name, unitgroup val);
- native unitgroup DataTableGetUnitGroup (bool global, string name);
- // - c_dataTypeUnitRef
- native void DataTableSetUnitRef (bool global, string name, unitref val);
- native unitref DataTableGetUnitRef (bool global, string name);
- // - c_dataTypeWave
- native void DataTableSetWave (bool global, string name, wave val);
- native wave DataTableGetWave (bool global, string name);
- // - c_dataTypeWaveInfo
- native void DataTableSetWaveInfo (bool global, string name, waveinfo val);
- native waveinfo DataTableGetWaveInfo (bool global, string name);
- // - c_dataTypeWaveTarget
- native void DataTableSetWaveTarget (bool global, string name, wavetarget val);
- native wavetarget DataTableGetWaveTarget (bool global, string name);
- //--------------------------------------------------------------------------------------------------
- // Dialogs
- //--------------------------------------------------------------------------------------------------
- const int c_invalidDialogId = 0;
- native int DialogCreate (
- int width,
- int height,
- int anchor,
- int offsetX,
- int offsetY,
- bool modal
- );
- native int DialogLastCreated ();
- native void DialogDestroy (int dialog);
- native void DialogDestroyAll ();
- native void DialogSetSubtitlePositionOverride (int dialog);
- native void DialogClearSubtitlePositionOverride ();
- native void DialogSetTitle (int dialog, text title);
- native void DialogSetSize (int dialog, int width, int height);
- native void DialogSetPosition (int dialog, int anchor, int offsetX, int offsetY);
- native void DialogSetPositionRelative (int dialog, int anchor, int relative, int relativeAnchor, int offsetX, int offsetY);
- native void DialogSetVisible (int dialog, playergroup players, bool isVisible);
- native void DialogSetTransparency (int dialog, fixed inTransparency);
- native void DialogSetImage (int dialog, string image);
- native void DialogSetImageVisible (int dialog, bool isVisible);
- native void DialogSetOffscreen (int dialog, bool isOffscreen);
- native void DialogSetFullscreen (int dialog, bool isFullscreen);
- native void DialogSetChannel (int dialog, int channel);
- native bool DialogIsModal (int dialog);
- native text DialogGetTitle (int dialog);
- native int DialogGetWidth (int dialog);
- native int DialogGetHeight (int dialog);
- native int DialogGetAnchor (int dialog);
- native int DialogGetRelativeDialog (int dialog);
- native int DialogGetRelativeAnchor (int dialog);
- native int DialogGetOffsetX (int dialog);
- native int DialogGetOffsetY (int dialog);
- native bool DialogIsVisible (int dialog, int player);
- native fixed DialogGetTransparency (int dialog);
- native string DialogGetImage (int dialog);
- native bool DialogIsImageVisible (int dialog);
- native bool DialogIsOffscreen (int dialog);
- native bool DialogIsFullscreen (int dialog);
- native int DialogGetChannel (int dialog);
- // Control types
- const int c_triggerControlTypeInvalid = 0;
- const int c_triggerControlTypeLabel = 1;
- const int c_triggerControlTypeImage = 2;
- const int c_triggerControlTypeButton = 3;
- const int c_triggerControlTypeCheckBox = 4;
- const int c_triggerControlTypeListBox = 5;
- const int c_triggerControlTypePulldown = 6;
- const int c_triggerControlTypeProgressBar = 7;
- const int c_triggerControlTypeSlider = 8;
- const int c_triggerControlTypeEditBox = 9;
- const int c_triggerControlTypeAchievement = 11;
- // Control properties
- const int c_triggerControlPropertyInvalid = 0;
- const int c_triggerControlPropertyText = 1; // text
- const int c_triggerControlPropertyStyle = 3; // string
- const int c_triggerControlPropertyImage = 4; // string
- const int c_triggerControlPropertyImageType = 5; // int
- const int c_triggerControlPropertyColor = 6; // color
- const int c_triggerControlPropertyChecked = 7; // bool
- const int c_triggerControlPropertyMinValue = 8; // fixed
- const int c_triggerControlPropertyMaxValue = 9; // fixed
- const int c_triggerControlPropertyValue = 10; // fixed
- const int c_triggerControlPropertyTooltip = 11; // text
- const int c_triggerControlPropertyVisible = 12; // bool
- const int c_triggerControlPropertyEnabled = 13; // bool
- const int c_triggerControlPropertyWidth = 14; // int
- const int c_triggerControlPropertyHeight = 15; // int
- const int c_triggerControlPropertyAnchor = 16; // int
- const int c_triggerControlPropertyRelative = 17; // int
- const int c_triggerControlPropertyRelativeAnchor = 18; // int
- const int c_triggerControlPropertyOffsetX = 19; // int
- const int c_triggerControlPropertyOffsetY = 20; // int
- const int c_triggerControlPropertyEditText = 21; // string
- const int c_triggerControlPropertyItemCount = 22; // int
- const int c_triggerControlPropertySelectionIndex = 23; // int
- const int c_triggerControlPropertyFile = 24; // string
- const int c_triggerControlPropertyOffscreen = 25; // bool
- const int c_triggerControlPropertyChannel = 26; // int
- const int c_triggerControlPropertyFullDialog = 27; // bool
- const int c_triggerControlPropertyTextWriteout = 28; // bool
- const int c_triggerControlPropertyTextWriteoutDuration = 29; // fixed
- const int c_triggerControlPropertyBlendMode = 30; // int
- const int c_triggerControlPropertyHoverImage = 31; // string
- const int c_triggerControlPropertyTiled = 32; // bool
- const int c_triggerControlPropertyRotation = 33; // int
- const int c_triggerControlPropertyAchievement = 34; // string
- const int c_triggerControlPropertyRenderPriority = 35; // int
- // Image types
- const int c_triggerImageTypeNone = 0;
- const int c_triggerImageTypeNormal = 1;
- const int c_triggerImageTypeBorder = 2;
- const int c_triggerImageTypeHorizontalBorder = 3;
- const int c_triggerImageTypeEndCap = 4;
- // Blend Modes
- const int c_triggerBlendModeNormal = 0;
- const int c_triggerBlendModeMultiply = 1;
- const int c_triggerBlendModeLighten = 2;
- const int c_triggerBlendModeDarken = 3;
- const int c_triggerBlendModeAdd = 4;
- const int c_triggerBlendModeSubtract = 5;
- const int c_triggerBlendModeAlpha = 6;
- // Item constants
- const int c_invalidDialogControlId = 0;
- const int c_dialogControlItemNone = -1;
- // Controls
- native int DialogControlCreate (int dialog, int type);
- native int DialogControlCreateFromTemplate (int dialog, int type, string inTemplate);
- native int DialogControlLastCreated ();
- native void DialogControlDestroy (int control);
- native void DialogControlDestroyAll (int dialog);
- native void DialogControlSetSize (int control, playergroup players, int width, int height);
- native void DialogControlSetPosition (int control, playergroup players, int anchor, int offsetX, int offsetY);
- native void DialogControlSetPositionRelative (int control, playergroup players, int anchor, int relative, int relativeAnchor, int offsetX, int offsetY);
- native void DialogControlSetVisible (int control, playergroup players, bool isVisible);
- native void DialogControlSetEnabled (int control, playergroup players, bool isEnabled);
- native void DialogControlSetFullDialog (int control, playergroup players, bool isFullDialog);
- native void DialogControlFadeTransparency (int control, playergroup players, fixed fadeTime, fixed inTargetTransparency);
- native int DialogControlGetType (int control);
- native int DialogControlGetWidth (int control, int player);
- native int DialogControlGetHeight (int control, int player);
- native int DialogControlGetAnchor (int control, int player);
- native int DialogControlGetRelativeControl (int control, int player);
- native int DialogControlGetRelativeAnchor (int control, int player);
- native int DialogControlGetOffsetX (int control, int player);
- native int DialogControlGetOffsetY (int control, int player);
- native bool DialogControlIsVisible (int control, int player);
- native bool DialogControlIsEnabled (int control, int player);
- native bool DialogControlIsFullDialog (int control, int player);
- native void DialogControlSetPropertyAsText (int control, int property, playergroup players, text value);
- native void DialogControlSetPropertyAsString (int control, int property, playergroup players, string value);
- native void DialogControlSetPropertyAsInt (int control, int property, playergroup players, int value);
- native void DialogControlSetPropertyAsFixed (int control, int property, playergroup players, fixed value);
- native void DialogControlSetPropertyAsBool (int control, int property, playergroup players, bool value);
- native void DialogControlSetPropertyAsColor (int control, int property, playergroup players, color value);
- native void DialogControlSetPropertyAsControl (int control, int property, playergroup players, int value);
- native text DialogControlGetPropertyAsText (int control, int property, int player);
- native string DialogControlGetPropertyAsString (int control, int property, int player);
- native int DialogControlGetPropertyAsInt (int control, int property, int player);
- native fixed DialogControlGetPropertyAsFixed (int control, int property, int player);
- native bool DialogControlGetPropertyAsBool (int control, int property, int player);
- native color DialogControlGetPropertyAsColor (int control, int property, int player);
- native int DialogControlGetPropertyAsControl (int control, int property, int player);
- native void DialogControlAddItem (int control, playergroup players, text value);
- native void DialogControlRemoveItem (int control, playergroup players, int index);
- native void DialogControlRemoveAllItems (int control, playergroup players);
- native void DialogControlSelectItem (int control, playergroup players, int index);
- native int DialogControlGetItemCount (int control, int player);
- native int DialogControlGetSelectedItem (int control, int player);
- native void DialogControlInvokeAsText (int control, playergroup players, string method, text param1, text param2, text param3, text param4); // Blizzard maps only
- native void DialogControlInvokeAsString (int control, playergroup players, string method, string param1, string param2, string param3, string param4); // Blizzard maps only
- // Dialog events
- const int c_dialogControlAny = -1;
- const int c_triggerControlEventTypeAny = -1;
- const int c_triggerControlEventTypeClick = 0;
- const int c_triggerControlEventTypeChecked = 1;
- const int c_triggerControlEventTypeValueChanged = 2;
- const int c_triggerControlEventTypeSelectionChanged = 3;
- const int c_triggerControlEventTypeSelectionDoubleClicked = 4;
- const int c_triggerControlEventTypeTextChanged = 5;
- native void TriggerAddEventDialogControl (trigger t, int player, int control, int eventType);
- native int EventDialogControl ();
- native int EventDialogControlEventType ();
- //--------------------------------------------------------------------------------------------------
- // Environment
- //--------------------------------------------------------------------------------------------------
- // Time Of Day
- native string GameTimeOfDayGet ();
- native void GameTimeOfDaySet (string x);
- native fixed GameTimeOfDayGetLength (); // Length of a day in game time seconds
- native void GameTimeOfDaySetLength (fixed inSecs);
- native void GameTimeOfDayPause (bool inPause);
- native bool GameTimeOfDayIsPaused ();
- // Creep
- native int CreepAdjacent (point inPos);
- native bool CreepIsPresent (point inPos);
- native void CreepModify (point inPos, fixed inRadius, bool inAdd, bool inPermanent);
- const int c_creepSpeedGrowth = 0;
- const int c_creepSpeedDecay = 1;
- const int c_creepSpeedBlend = 2;
- native void CreepSetSpeed (int inType, fixed inPercent);
- // Pathing
- // - Modifications made using PathingModify will only take effect after:
- // a) PathingUpdate is called
- // - OR -
- // b) The end of the game loop
- //
- // - PathingReset resets *all* trigger-based modifications
- //
- const int c_pathingNoPathing = 0;
- const int c_pathingNoBuilding = 1;
- const int c_pathingGround = 2;
- native void PathingModify (region inArea, int inType, bool inAdd);
- native void PathingUpdate ();
- native void PathingReset ();
- // Power
- native int PowerLevel (int inPlayer, point inPos);
- native bool PowerIsProvidedBy (int inPlayer, point inPos, unit inSource, int inMinLevel);
- // Height
- native int CliffLevel (point inPos);
- native fixed WorldHeight (int inType, point inPos); // inType uses the c_heightMap<*> values
- // Miscellaneous
- const int c_backgroundFixed = 0; // Attached to camera position (never appears to move)
- const int c_backgroundTerrain = 1; // Attached to terrain (moves as camera scrolls)
- native void GameSetLighting (string inId, fixed inBlendTime);
- native void GameSetToDLighting (string inId);
- native void SelectMainShadowLight (string inId);
- native void GameSetBackground (int inType, string inModel, fixed inAnimSpeed);
- native void GameDestroyEffects (point pos, fixed radius, int maxCount, string effectType);
- native void TerrainShowRegion (region inArea, bool inShow);
- const int c_wtcLinear = 0;
- const int c_wtcSine = 1;
- const int c_wtcExponential = 2;
- const int c_wtcSquareRoot = 3;
- // First parameter is Water Template + Water State in one string, delimited by |
- native void WaterSetState (string inWater, fixed inDuration, int inMorphType);
- // Fog
- native void FogSetEnabled (bool f);
- native void FogSetDensity (fixed d);
- native void FogSetColor (color c);
- native void FogSetFallOff (fixed f);
- native void FogSetStartHeight (fixed h);
- // General environment visibility
- const int c_environmentAll = 0; // All of the below
- const int c_environmentTerrain = 1;
- const int c_environmentWater = 2;
- const int c_environmentDoodads = 3;
- const int c_environmentBackgroundFixed = 4;
- const int c_environmentBackgroundTerrain = 5;
- native void EnvironmentShow (int inType, bool inShow);
- //--------------------------------------------------------------------------------------------------
- // Game
- //--------------------------------------------------------------------------------------------------
- native bool ConsoleCommand (string inText, bool allowDefault, bool allowMacros);
- native bool GameIsDebugOptionSet (string inOptionName, int player);
- const int c_gameSpeedSlower = 0;
- const int c_gameSpeedSlow = 1;
- const int c_gameSpeedNormal = 2;
- const int c_gameSpeedFast = 3;
- const int c_gameSpeedFaster = 4;
- native text GameMapName ();
- native text GameMapDescription ();
- native fixed GameGetSpeed ();
- native void GameSetSpeedValue (int speed);
- native int GameGetSpeedValue ();
- native void GameSetSpeedValueMinimum (int speed);
- native int GameGetSpeedValueMinimum ();
- native void GameSetSpeedLocked (bool isLocked);
- native bool GameIsSpeedLocked ();
- native string GameAttributeGameValue (string name);
- native string GameAttributePlayerValue (string name, int player);
- native void GameSetSeedLocked (bool locked);
- native bool GameIsSeedLocked ();
- native void GameSetAbsoluteTimeRemaining (fixed inTime);
- native fixed GameGetAbsoluteTimeRemaining ();
- native void GameSetAbsoluteTimeRemainingPaused (bool inPaused);
- native bool GameGetAbsoluteTimeRemainingPaused ();
- native void GamePauseAllCharges (bool inPaused);
- native void GamePauseAllCooldowns (bool inPaused);
- native void GameAddChargeRegen (string inCharge, fixed inVal);
- native fixed GameGetChargeRegen (string inCharge);
- native void GameAddChargeUsed (string inCharge, fixed inVal);
- native fixed GameGetChargeUsed (string inCharge);
- native void GameAddCooldown (string inCooldown, fixed inVal);
- native fixed GameGetCooldown (string inCooldown);
- native bool GameIsTestMap (bool inAuto);
- native void GameSetNextMap (string inMap);
- native void SetNextMissionDifficulty (playergroup inPlayerGroup, int inDifficultyLevel);
- native bool GameIsTransitionMap ();
- native void GameSetTransitionMap (string transitionMap);
- native string GameTerrainSet ();
- native void GameWaitForResourcesToComplete ();
- const int c_gameOverVictory = 0;
- const int c_gameOverDefeat = 1;
- const int c_gameOverTie = 2;
- native void GameOver (int player, int type, bool showDialog, bool showScore);
- native void RestartGame (playergroup inPlayerGroup);
- // Game Events
- native void TriggerAddEventMapInit (trigger t);
- native void TriggerAddEventSaveGame (trigger t);
- native void TriggerAddEventChatMessage (trigger t, int player, string inText, bool exact);
- native string EventChatMessage (bool matchedOnly);
- //--------------------------------------------------------------------------------------------------
- // Looping
- //
- // Convenience functions to allow for loops without creating any local variables.
- // Notes:
- // - The loop data is stored locally to the executing thread
- // - Nested loops (of the same type) are not supported, and will produce a run-time error
- //
- //--------------------------------------------------------------------------------------------------
- // Integer
- // - Start and end are inclusive
- //
- native void IntLoopBegin (int start, int end);
- native void IntLoopStep ();
- native bool IntLoopDone ();
- native int IntLoopCurrent ();
- native void IntLoopEnd ();
- // Player group
- native void PlayerGroupLoopBegin (playergroup g);
- native void PlayerGroupLoopStep ();
- native bool PlayerGroupLoopDone ();
- native int PlayerGroupLoopCurrent ();
- native void PlayerGroupLoopEnd ();
- // Unit group
- native void UnitGroupLoopBegin (unitgroup g);
- native void UnitGroupLoopStep ();
- native bool UnitGroupLoopDone ();
- native unit UnitGroupLoopCurrent ();
- native void UnitGroupLoopEnd ();
- //--------------------------------------------------------------------------------------------------
- // Markers
- //--------------------------------------------------------------------------------------------------
- native marker Marker (string link);
- native marker MarkerCastingPlayer (string link, int player);
- native marker MarkerCastingUnit (string link, unit u);
- native void MarkerSetCastingPlayer (marker m, int player);
- native int MarkerGetCastingPlayer (marker m);
- native void MarkerSetCastingUnit (marker m, unit u);
- native unit MarkerGetCastingUnit (marker m);
- native void MarkerSetMatchFlag (marker m, int flag, bool state);
- native bool MarkerGetMatchFlag (marker m, int flag);
- native void MarkerSetMismatchFlag (marker m, int flag, bool state);
- native bool MarkerGetMismatchFlag (marker m, int flag);
- //--------------------------------------------------------------------------------------------------
- // Math
- //--------------------------------------------------------------------------------------------------
- // General math
- native fixed SquareRoot (fixed x);
- native fixed Pow (fixed x, fixed power);
- native fixed ModF (fixed x, fixed m);
- native fixed MinF (fixed x1, fixed x2);
- native fixed MaxF (fixed x1, fixed x2);
- native fixed AbsF (fixed x);
- native int ModI (int x, int m);
- native int MinI (int x1, int x2);
- native int MaxI (int x1, int x2);
- native int AbsI (int x);
- // Trigonometry
- // Note: All angles are in degrees
- native fixed Sin (fixed degrees);
- native fixed Cos (fixed degrees);
- native fixed Tan (fixed degrees);
- native fixed ASin (fixed x);
- native fixed ACos (fixed x);
- native fixed ATan (fixed x);
- native fixed ATan2 (fixed y, fixed x);
- // Random
- // Note: Bounds are inclusive
- //
- native int RandomInt (int min, int max);
- native fixed RandomFixed (fixed min, fixed max);
- bool OneIn (int value) { return RandomInt(1, value) == 1; }
- //--------------------------------------------------------------------------------------------------
- // Melee
- //
- // Game initialization and configuration associated with standard melee games
- //--------------------------------------------------------------------------------------------------
- native void MeleeInitResourcesForPlayer (int player, string race);
- native void MeleeInitResources ();
- native void MeleeInitUnitsForPlayer (int player, string race, point position);
- native void MeleeInitUnits ();
- native void MeleeInitAI ();
- const int c_meleeOptionReveal = 0;
- const int c_meleeOptionDefeat = 1;
- const int c_meleeOptionVictory = 2;
- native void MeleeSetOption (int player, int option, bool value);
- native bool MeleeGetOption (int player, int option);
- native void MeleeInitOptions ();
- //--------------------------------------------------------------------------------------------------
- // Mercenary
- //--------------------------------------------------------------------------------------------------
- const int c_invalidMercenaryId = 0;
- const int c_mercenaryStateEnabled = 0;
- const int c_mercenaryStateDisabled = 1;
- const int c_mercenaryStatePurchased = 2;
- const int c_mercenaryStateHidden = 3;
- const int c_mercenaryStateNew = 4;
- native int MercenaryCreate (playergroup inPlayerGroup, int inState);
- native int MercenaryLastCreated ();
- native void MercenaryDestroy (int inMercenaryId);
- native void MercenarySetPlayerGroup (int inMercenaryId, playergroup inPlayerGroup);
- native void MercenarySetState (int inMercenaryId, int inState);
- native void MercenarySetCost (int inMercenaryId, int inCost);
- native void MercenarySetTitleText (int inMercenaryId, text inText);
- native void MercenarySetDescriptionText (int inMercenaryId, text inText);
- native void MercenarySetCostText (int inMercenaryId, text inText);
- native void MercenarySetUnitText (int inMercenaryId, text inText);
- native void MercenarySetAvailabilityText (int inMercenaryId, text inText);
- native void MercenarySetSpecialText (int inMercenaryId, text inText);
- native void MercenarySetTooltipText (int inMercenaryId, text inText);
- native void MercenarySetModelLink (int inMercenaryId, string inModelLink);
- native void MercenarySetScenePath (int inMercenaryId, string inFilePath);
- native void MercenarySetImageFilePath (int inMercenaryId, string inFilePath);
- native void MercenarySetRecentlyPurchased (int inMercenaryId, bool inRecent);
- native void MercenaryPurchase (int inMercenaryId);
- native bool MercenaryIsRecentlyPurchased (int inMercenaryId);
- native void MercenarySetSelected (playergroup inPlayerGroup, int inMercenaryId);
- native int MercenaryGetSelected (int player);
- // Mercenary events
- native void TriggerAddEventMercenaryPanelExit (trigger t, int player);
- native void TriggerAddEventMercenaryPanelPurchase (trigger t, int player);
- native void TriggerAddEventMercenaryPanelSelectionChanged (trigger t, int player, int inMercenaryId);
- //--------------------------------------------------------------------------------------------------
- // Minimap
- //--------------------------------------------------------------------------------------------------
- native void MinimapPing (playergroup players, point position, fixed duration, color c);
- //--------------------------------------------------------------------------------------------------
- // Misc
- //--------------------------------------------------------------------------------------------------
- native void PerfTestStart (text name);
- native void PerfTestStop ();
- native void PerfTestGetFPS ();
- native void UnitStatsStart (text name, text unitName, text unitFood);
- native void UnitStatsStop ();
- native void EngineReset ();
- //--------------------------------------------------------------------------------------------------
- // Movie
- //--------------------------------------------------------------------------------------------------
- native void MoviePlayAfterGame (playergroup players, string assetLink);
- native void TriggerAddEventMovieStarted (trigger t, int player);
- native void TriggerAddEventMovieFinished (trigger t, int player);
- native void TriggerAddEventMovieFunction (trigger t, int player, string functionName);
- //--------------------------------------------------------------------------------------------------
- // Objectives
- //--------------------------------------------------------------------------------------------------
- const int c_invalidObjectiveId = 0;
- const int c_primaryObjectivesId = 1;
- const int c_secondaryObjectivesId = 2;
- const int c_objectiveStateUnknown = -1;
- const int c_objectiveStateHidden = 0;
- const int c_objectiveStateActive = 1;
- const int c_objectiveStateCompleted = 2;
- const int c_objectiveStateFailed = 3;
- native int ObjectiveCreate3 (
- text inName,
- text inDescription,
- int inState,
- bool inVisible,
- bool inPrimary
- );
- native int ObjectiveLastCreated ();
- native void ObjectiveDestroy (int inObjective);
- native void ObjectiveDestroyAll (playergroup inPlayers);
- native void ObjectiveShow (int inObjective, playergroup inPlayers, bool inShow);
- native bool ObjectiveVisible (int inObjective, int inPlayer);
- native void ObjectiveSetName (int inObjective, text inName);
- native text ObjectiveGetName (int inObjective);
- native void ObjectiveSetDescription (int inObjective, text inText);
- native text ObjectiveGetDescription (int inObjective);
- native void ObjectiveSetState (int inObjective, int inState);
- native int ObjectiveGetState (int inObjective);
- native void ObjectiveSetPlayerGroup (int inObjective, playergroup inPlayers);
- native playergroup ObjectiveGetPlayerGroup (int inObjective);
- native void ObjectiveSetPrimary (int inObjective, bool inPrimary);
- native bool ObjectiveGetPrimary (int inObjective);
- //--------------------------------------------------------------------------------------------------
- // Orders
- // - Use a "null" abilcmd for "smart" orders (automatically determine ability based on target)
- //--------------------------------------------------------------------------------------------------
- native abilcmd AbilityCommand (string inAbil, int inCmdIndex);
- native string AbilityCommandGetAbility (abilcmd inAbilCmd);
- native int AbilityCommandGetCommand (abilcmd inAbilCmd);
- // - Command "action" type, which can be used to determine if the command needs a target or not
- //
- const int c_cmdActionNone = 0;
- const int c_cmdActionInstant = 1;
- const int c_cmdActionTarget = 2;
- native int AbilityCommandGetAction (abilcmd inAbilCmd);
- native order Order (abilcmd inAbilCmd);
- native order OrderTargetingPoint (abilcmd inAbilCmd, point inPoint);
- native order OrderTargetingRelativePoint (abilcmd inAbilCmd, point inPoint);
- native order OrderTargetingUnit (abilcmd inAbilCmd, unit inUnit);
- native order OrderTargetingUnitGroup (abilcmd inAbilCmd, unitgroup inUnitGroup);
- native order OrderTargetingItem (abilcmd inAbilCmd, unit inItem);
- native order OrderSetAutoCast (abilcmd inAbilCmd, bool inAutoCastOn);
- native void OrderSetAbilityCommand (order inOrder, abilcmd inAbilCmd);
- native abilcmd OrderGetAbilityCommand (order inOrder);
- native void OrderSetPlayer (order inOrder, int inPlayer);
- native int OrderGetPlayer (order inOrder);
- const int c_orderTargetNone = 0;
- const int c_orderTargetPoint = 1;
- const int c_orderTargetUnit = 2;
- const int c_orderTargetItem = 3;
- native int OrderGetTargetType (order inOrder);
- native bool OrderSetTargetPlacement (order inOrder, point inPoint, unit inPlacer, string inType);
- native void OrderSetTargetPoint (order inOrder, point inPoint);
- native point OrderGetTargetPoint (order inOrder);
- native point OrderGetTargetPosition (order inOrder); // doesn't care what the target type is
- native void OrderSetTargetUnit (order inOrder, unit inUnit);
- native unit OrderGetTargetUnit (order inOrder);
- native void OrderSetTargetPassenger (order inOrder, unit inUnit);
- native void OrderSetTargetItem (order inOrder, unit inItem);
- native unit OrderGetTargetItem (order inOrder);
- native void OrderSetFlag (order inOrder, int inFlag, bool inValue);
- native bool OrderGetFlag (order inOrder, int inFlag);
- //--------------------------------------------------------------------------------------------------
- // Ping
- //--------------------------------------------------------------------------------------------------
- const int c_invalidPingId = 0;
- native int PingCreate (
- playergroup players,
- string modelLink,
- point position,
- color intColor,
- fixed duration
- );
- native int PingLastCreated ();
- native void PingDestroy (int p);
- native void PingDestroyAll ();
- native void PingSetPlayerGroup (int p, playergroup playerMask);
- native playergroup PingGetPlayerGroup (int p);
- native void PingSetModel (int p, string modelLink);
- native void PingSetPosition (int p, point position);
- native point PingGetPosition (int p);
- native void PingSetScale (int p, fixed scale);
- native fixed PingGetScale (int p);
- native void PingSetRotation (int p, fixed rotation);
- native fixed PingGetRotation (int p);
- native void PingSetColor (int p, color intColor);
- native color PingGetColor (int p);
- native void PingSetDuration (int p, fixed duration);
- native fixed PingGetDuration (int p);
- native void PingSetUnit (int p, unit u);
- native unit PingGetUnit (int p);
- native void PingSetTooltip (int p, text tooltip);
- native text PingGetTooltip (int p);
- native void PingSetVisible (int p, bool isVisible);
- native bool PingIsVisible (int p);
- //--------------------------------------------------------------------------------------------------
- // Planet
- //--------------------------------------------------------------------------------------------------
- const int c_invalidPlanetId = 0;
- const int c_planetStateHidden = 0;
- const int c_planetStateActive = 1;
- const int c_planetStateEmphasized = 2;
- const int c_planetPanelContactButtonStateDisabled = 0;
- const int c_planetPanelContactButtonStateBlinking = 1;
- const int c_planetPanelContactButtonStatePlay = 2;
- const int c_planetPanelContactButtonStatePause = 3;
- native int PlanetCreate (playergroup inPlayerGroup, int inState);
- native int PlanetLastCreated ();
- native void PlanetDestroy (int inPlanetId);
- native void PlanetDestroyAll (playergroup inPlayerGroup);
- native void PlanetSetSelected (playergroup inPlayerGroup, int inPlanetId);
- native int PlanetGetSelected (int player);
- native void PlanetClearSelected (playergroup inPlayerGroup);
- native void PlanetSetPlayerGroup (int inPlanetId, playergroup inPlayerGroup);
- native void PlanetSetState (int inPlanetId, int inState);
- native void PlanetSetPlanetName (int inPlanetId, text inText);
- native void PlanetSetDescriptionText (int inPlanetId, text inText);
- native void PlanetSetTooltipText (int inPlanetId, text inText);
- native void PlanetSetContactTooltipText (int inPlanetId, text inText);
- native void PlanetSetTechnologyTooltipText (int inPlanetId, text inText);
- native void PlanetSetMissionTitle (int inPlanetId, text inText);
- native void PlanetSetMissionName (int inPlanetId, text inText);
- native void PlanetSetPrimaryObjectiveTitle (int inPlanetId, text inText);
- native void PlanetSetPrimaryObjectiveText (int inPlanetId, text inText);
- native void PlanetSetSecondaryObjectiveTitle (int inPlanetId, text inText);
- native void PlanetSetSecondaryObjectiveText (int inPlanetId, text inText);
- native void PlanetSetRewardTitle (int inPlanetId, text inText);
- native void PlanetSetRewardText (int inPlanetId, text inText);
- native void PlanetSetResearchTitle (int inPlanetId, text inText);
- native void PlanetSetResearchText (int inPlanetId, text inText);
- native void PlanetSetBonusTitle (int inPlanetId, text inText);
- native void PlanetSetBonusText (int inPlanetId, text inText);
- native void PlanetSetPlanetText (int inPlanetId, text inText);
- native void PlanetSetTechnologyTitle (int inPlanetId, text inText);
- native void PlanetSetTechnologyName (int inPlanetId, text inText);
- native void PlanetSetTechnologyText (int inPlanetId, text inText);
- native void PlanetSetContactTitle (int inPlanetId, text inText);
- native void PlanetSetContactName (int inPlanetId, text inText);
- native void PlanetSetContactModelLink (int inPlanetId, string inContactModelLink);
- native void PlanetSetBackgroundModelLink (int inPlanetId, string inBackgroundModelLink);
- native void PlanetSetPlanetModelLink (int inPlanetId, string inPlanetModelLink);
- native void PlanetSetTechnologyIconFilePath (int inPlanetId, string inTechnologyIconFilePath);
- native void PlanetSetTechnologyUnitLink (int inPlanetId, string inUnitLink);
- native void PlanetPanelSetContactButtonState (playergroup players, int inState);
- native int PlanetPanelGetContactButtonState (int player);
- native void PlanetPanelSetBackButtonEnabled (playergroup players, bool inEnabled);
- native void PlanetPanelSetBackgroundImage (playergroup players, string inFilePath);
- // Planet events
- native void TriggerAddEventPlanetMissionLaunched (trigger t, int player);
- native void TriggerAddEventPlanetMissionSelected (trigger t, int player, int planetId);
- native void TriggerAddEventPlanetPanelCanceled (trigger t, int player);
- native void TriggerAddEventPlanetPanelReplayPressed (trigger t, int player);
- native void TriggerAddEventPlanetPanelBirthComplete (trigger t, int player);
- native void TriggerAddEventPlanetPanelDeathComplete (trigger t, int player);
- native int EventPlanetPanelMissionSelected ();
- native int EventPlanetPanelDifficultySelected ();
- //--------------------------------------------------------------------------------------------------
- // Victory Panel
- //--------------------------------------------------------------------------------------------------
- native void VictoryPanelSetMissionTitle (text inText);
- native void VictoryPanelSetMissionText (text inText);
- native void VictoryPanelSetMissionTimeTitle (text inText);
- native void VictoryPanelSetMissionTimeText (text inText);
- native void VictoryPanelSetRewardTitle (text inText);
- native void VictoryPanelSetRewardText (text inText);
- native void VictoryPanelSetRewardCredits (int inCredits);
- native void VictoryPanelSetAchievementsTitle (text inText);
- native void VictoryPanelSetStatisticsTitle (text inText);
- native void VictoryPanelSetCustomStatisticText (text inText);
- native void VictoryPanelSetCustomStatisticValue (text inText);
- native void VictoryPanelSetPlanetModelLink (string inModelLink);
- native void VictoryPanelAddCustomStatisticLine (text inText, text inValueText);
- native void VictoryPanelClearCustomStatisticTable ();
- native void VictoryPanelAddTrackedStatistic (string inStatistic);
- native void VictoryPanelAddAchievement (string inAchievement);
- native void TriggerAddEventVictoryPanelExit (trigger t, int player);
- native void TriggerAddEventVictoryPanelPlayMissionAgain (trigger t, int player);
- native int EventVictoryPanelDifficultySelected ();
- //--------------------------------------------------------------------------------------------------
- // Help
- //--------------------------------------------------------------------------------------------------
- const int c_helpPanelPageTips = 0;
- const int c_helpPanelPageTutorials = 1;
- native void HelpPanelAddTip (playergroup players, text titleText, text descriptionText, text alertText, string iconPath);
- native void HelpPanelAddHint (playergroup players, text titleText, text descriptionText, string iconPath);
- native void HelpPanelAddTutorial (playergroup players, text titleText, text descriptionText, string iconPath, string moviePath, bool flashing);
- native void HelpPanelDisplayPage (playergroup players, int inPage);
- native void HelpPanelEnableTechTreeButton (playergroup inPlayerGroup, bool inEnable);
- native void HelpPanelEnableTechGlossaryButton (playergroup inPlayerGroup, bool inEnable);
- native void HelpPanelShowTechTreeRace (playergroup inPlayerGroup, string inRace, bool inShow);
- native void TipAlertPanelClear (playergroup inPlayerGroup);
- //--------------------------------------------------------------------------------------------------
- // Room
- //--------------------------------------------------------------------------------------------------
- const int c_invalidRoomId = 0;
- native void RoomPanelSetPositionUnit (unit inUnit);
- native void RoomPanelAddButton (playergroup players, text buttonText, string iconPath);
- native int RoomPanelLastAdded ();
- native void RoomPanelRemoveButton (int roomId);
- native void RoomPanelRemoveAllButtons (playergroup players);
- native void RoomPanelShowRoomButton (int roomId, playergroup players, bool isVisible);
- native void RoomPanelSetButtonPressedIcon (int inRoomId, string inPressedIconPath);
- native void RoomPanelSetButtonEnabled (int inRoomId, bool inEnabled);
- // Room events
- native void TriggerAddEventRoomPanelPressedButton (trigger t, int player, int roomId);
- native void TriggerAddEventRoomPanelCanceled (trigger t, int player);
- native void TriggerAddEventRoomPanelMouseRollOver (trigger t, int player);
- native void TriggerAddEventRoomPanelMouseRollOut (trigger t, int player);
- native int EventRoomPanelButtonPressed ();
- //--------------------------------------------------------------------------------------------------
- // Players
- //--------------------------------------------------------------------------------------------------
- const int c_playerAny = -1;
- const int c_maxPlayers = 32;
- // Player properties
- const int c_playerPropMinerals = 0;
- const int c_playerPropVespene = 1;
- const int c_playerPropTerrazine = 2;
- const int c_playerPropCustom = 3;
- const int c_playerPropSuppliesUsed = 4;
- const int c_playerPropSuppliesMade = 5;
- const int c_playerPropSuppliesLimit = 6;
- const int c_playerPropCredits = 7;
- const int c_playerPropCreditsSpent = 8;
- const int c_playerPropResearchPoints = 9;
- const int c_playerPropResearchPointsSpent = 10;
- const int c_playerPropHandicap = 11;
- const int c_playerPropMineralsCollected = 12;
- const int c_playerPropVespeneCollected = 13;
- const int c_playerPropTerrazineCollected = 14;
- const int c_playerPropCustomCollected = 15;
- // Player property operations
- const int c_playerPropOperSetTo = 0;
- const int c_playerPropOperAdd = 1;
- const int c_playerPropOperSubtract = 2;
- native void PlayerModifyPropertyInt (int inPlayer, int inProp, int inOper, int inVal);
- native void PlayerModifyPropertyFixed (int inPlayer, int inProp, int inOper, fixed inVal);
- native int PlayerGetPropertyInt (int inPlayer, int inProp);
- native fixed PlayerGetPropertyFixed (int inPlayer, int inProp);
- // Player status
- const int c_playerStatusUnused = 0; // No player in this slot
- const int c_playerStatusActive = 1; // Player is actively playing
- const int c_playerStatusLeft = 2; // Player has left the game
- native int PlayerStatus (int inPlayer);
- native int PlayerType (int inPlayer); // Returns c_playerType<*> value
- native text PlayerName (int inPlayer);
- native string PlayerRace (int inPlayer);
- native int PlayerDifficulty (int inPlayer);
- native void PlayerSetDifficulty (int inPlayer, int inDifficulty);
- native point PlayerStartLocation (int inPlayer);
- native void PlayerSetColorIndex (int inPlayer, int inIndex, bool inChangeUnits);
- native int PlayerGetColorIndex (int inPlayer, bool inDefault);
- native text PlayerColorName (int inColor);
- native void PlayerSetAlliance (int inSourcePlayer, int inAllianceId, int inTargetPlayer, bool ally);
- native bool PlayerGetAlliance (int inSourcePlayer, int inAllianceId, int inTargetPlayer);
- // Player states
- const int c_playerStateShowScore = 0;
- const int c_playerStateXPGain = 1;
- const int c_playerStateAbortEnabled = 2;
- const int c_playerStateRestartEnabled = 3;
- const int c_playerStateContinueEnabled = 4;
- const int c_playerStateShowWorldTip = 5;
- const int c_playerStateFidgetingEnabled = 6;
- const int c_playerStateDisplayInLeaderPanel = 7;
- const int c_playerStateDisplayInViewMenu = 8;
- native void PlayerSetState (int inPlayer, int inState, bool inVal);
- native bool PlayerGetState (int inPlayer, int inState);
- native void PlayerBeaconClearTarget (int inPlayer, int inBeacon);
- native bool PlayerBeaconIsAutoCast (int inPlayer, int inBeacon);
- native bool PlayerBeaconIsFromUser (int inPlayer, int inBeacon);
- native bool PlayerBeaconIsSet (int inPlayer, int inBeacon);
- native point PlayerBeaconGetTargetPoint (int inPlayer, int inBeacon);
- native unit PlayerBeaconGetTargetUnit (int inPlayer, int inBeacon);
- native void PlayerBeaconSetAutoCast (int inPlayer, int inBeacon, bool enable);
- native void PlayerBeaconSetTargetPoint (int inPlayer, int inBeacon, point inPoint, bool alert);
- native void PlayerBeaconSetTargetUnit (int inPlayer, int inBeacon, unit inUnit, bool alert);
- native void PlayerBeaconAlert (int inPlayer, int inBeacon, string inAlert, text inMessage);
- native void PlayerPauseAllCharges (int inPlayer, bool inPause);
- native void PlayerPauseAllCooldowns (int inPlayer, bool inPause);
- native void PlayerAddChargeRegen (int inPlayer, string inCharge, fixed inVal);
- native fixed PlayerGetChargeRegen (int inPlayer, string inCharge);
- native void PlayerAddChargeUsed (int inPlayer, string inCharge, fixed inVal);
- native fixed PlayerGetChargeUsed (int inPlayer, string inCharge);
- native void PlayerAddCooldown (int inPlayer, string inCooldown, fixed inVal);
- native fixed PlayerGetCooldown (int inPlayer, string inCooldown);
- native void PlayerCreateEffectPoint (int inPlayer, string inEffect, point inTarget);
- native void PlayerCreateEffectUnit (int inPlayer, string inEffect, unit inTarget);
- native int PlayerValidateEffectPoint (int inPlayer, string inEffect, point inTarget);
- native int PlayerValidateEffectUnit (int inPlayer, string inEffect, unit inTarget);
- // Player scores
- native void PlayerScoreValueEnable (int player, string value, bool enable);
- native fixed PlayerScoreValueGetAsFixed (int player, string value);
- native int PlayerScoreValueGetAsInt (int player, string value);
- native void PlayerScoreValueSetFromFixed (int player, string value, fixed amount);
- native void PlayerScoreValueSetFromInt (int player, string value, int amount);
- // Player events
- const int c_gameResultUndecided = 0;
- const int c_gameResultVictory = 1;
- const int c_gameResultDefeat = 2;
- const int c_gameResultTie = 3;
- native void TriggerAddEventPlayerAllianceChange (trigger inTrigger, int player);
- native void TriggerAddEventPlayerLeft (trigger inTrigger, int player, int inResult);
- native void TriggerAddEventPlayerPropChange (trigger inTrigger, int player, int inProp);
- native void TriggerAddEventPlayerAIWave (trigger inTrigger, int player);
- native int EventPlayer ();
- native int EventPlayerProperty ();
- // Difficulty info
- native text DifficultyName (int inDifficulty);
- native text DifficultyNameCampaign (int inDifficulty);
- native bool DifficultyEnabled (int inDifficulty);
- native int DifficultyAPM (int inDifficulty); // AI Actions Per Minute
- //--------------------------------------------------------------------------------------------------
- // Player Groups
- //--------------------------------------------------------------------------------------------------
- native playergroup PlayerGroupEmpty ();
- native playergroup PlayerGroupCopy (playergroup inGroup);
- native playergroup PlayerGroupAll ();
- native playergroup PlayerGroupActive ();
- native playergroup PlayerGroupSingle (int inPlayer);
- const int c_playerGroupAlly = 0; // Allied players of the given player
- const int c_playerGroupEnemy = 1; // Enemy players of the given player
- const int c_playerGroupAny = 2; // Any player.
- native playergroup PlayerGroupAlliance (int inType, int inPlayer);
- native void PlayerGroupClear (playergroup inGroup);
- native void PlayerGroupAdd (playergroup inGroup, int inPlayer);
- native void PlayerGroupRemove (playergroup inGroup, int inPlayer);
- native int PlayerGroupCount (playergroup inGroup);
- native int PlayerGroupPlayer (playergroup inGroup, int inIndex);
- native bool PlayerGroupHasPlayer (playergroup inGroup, int inPlayer);
- //--------------------------------------------------------------------------------------------------
- // Points
- //--------------------------------------------------------------------------------------------------
- native point Point (fixed x, fixed y);
- native point PointWithOffset (point p, fixed x, fixed y);
- native point PointWithOffsetPolar (point p, fixed distance, fixed angle);
- native point PointFromId (int id);
- native fixed PointGetX (point p);
- native fixed PointGetY (point p);
- native void PointSet (point p1, point p2);
- native fixed PointGetFacing (point p);
- native void PointSetFacing (point p, fixed inFacing);
- native fixed PointGetHeight (point p);
- native void PointSetHeight (point p, fixed inHeight);
- native bool PointsInRange (point p1, point p2, fixed range);
- native fixed AngleBetweenPoints (point p1, point p2);
- native fixed DistanceBetweenPoints (point p1, point p2);
- native int PointPathingCost (point p1, point p2);
- native fixed PointPathingCliffLevel (point p);
- native bool PointPathingPassable (point p);
- native bool PointPathingIsConnected (point p1, point p2);
- native point PointReflect (point source, point dest, fixed angle);
- //--------------------------------------------------------------------------------------------------
- // Portrait
- //--------------------------------------------------------------------------------------------------
- const int c_noPortraitChannel = -1;
- const int c_invalidPortraitId = 0;
- //These need to match the ERenderType enum in CFrame.h
- const int c_portraitRenderTypeHDR = 0;
- const int c_portraitRenderTypeLDR = 1;
- native int PortraitCreate (
- int offsetX,
- int offsetY,
- int anchor,
- int width,
- int height,
- string modelLink,
- string cameraLink,
- string animProps,
- bool visible,
- bool waitUntilLoaded
- );
- native int PortraitLastCreated ();
- native void PortraitDestroy (int p);
- native void PortraitDestroyAll ();
- native void PortraitWaitForLoad (int p);
- native int PortraitGetGame ();
- native int PortraitGetPlanetPanel ();
- native void PortraitSetModel (int p, string modelLink, bool waitUntilLoaded);
- native void PortraitSetAnim (int p, string anim);
- native void PortraitSetCamera (int p, string cameraName);
- native void PortraitSetSize (int p, int width, int height);
- native void PortraitSetPosition (int p, int anchor, int offsetX, int offsetY);
- native void PortraitSetFullscreen (int p, bool isFullscreen);
- native void PortraitSetOffscreen (int p, bool isOffscreen);
- native void PortraitSetVisible (int p, playergroup players, bool isVisible, bool forceVisible);
- native void PortraitSetBorderVisible (int p, bool isBorderVisible);
- native void PortraitSetBorderTexture (int p, string inBorderFilePath);
- native void PortraitSetBackgroundVisible (int p, bool isBackgroundVisible);
- native void PortraitSetChannel (int p, int channel);
- native void PortraitSetChannelPortrait (int p, int dest, int channel);
- native void PortraitUseTransition (int p, bool useTransition);
- native void PortraitSetRenderType (int p, int renderType);
- native void PortraitSetMuted (int p, bool isMuted);
- native void PortraitForceTransition (int p, bool isVisible, bool isInstant);
- native void PortraitSetPaused (int p, bool isPaused);
- native void PortraitSetTintColor (int p, color inColor);
- native void PortraitSetLight (int p, string lightLink);
- native void PortraitSetTransitionModel (int p, string modelLink);
- native bool PortraitVisible (int p, int player);
- //--------------------------------------------------------------------------------------------------
- // Preload
- //--------------------------------------------------------------------------------------------------
- native void PreloadAsset (string key, bool queue);
- native void PreloadImage (string path, bool queue);
- native void PreloadModel (string path, bool queue);
- native void PreloadMovie (string path, bool queue);
- native void PreloadObject (int catalog, string id, bool queue);
- native void PreloadScene (string path, bool queue);
- native void PreloadScript (string path, bool queue);
- native void PreloadSound (string path, bool queue);
- //--------------------------------------------------------------------------------------------------
- // Purchase
- //--------------------------------------------------------------------------------------------------
- const int c_invalidPurchaseItemId = 0;
- const int c_invalidPurchaseCategoryId = 0;
- const int c_invalidPurchaseGroupId = 0;
- const int c_purchaseCategoryStateEnabled = 0;
- const int c_purchaseCategoryStateDisabled = 1;
- const int c_purchaseCategoryStateHidden = 2;
- const int c_purchaseCategoryStateNew = 3;
- const int c_purchaseGroupStateEnabled = 0;
- const int c_purchaseGroupStateDisabled = 1;
- const int c_purchaseGroupStateHidden = 2;
- const int c_purchaseGroupStateNew = 3;
- const int c_purchaseItemStateEnabled = 0;
- const int c_purchaseItemStateDisabled = 1;
- const int c_purchaseItemStatePurchased = 2;
- const int c_purchaseItemStateHidden = 3;
- //--------------------------------------------------------------------------------------------------
- native int PurchaseCategoryCreate (playergroup inPlayerGroup, int inSlot);
- native int PurchaseCategoryLastCreated ();
- native void PurchaseCategoryDestroy (int inPurchaseCategoryId);
- native void PurchaseCategoryDestroyAll (playergroup inPlayerGroup);
- native void PurchaseCategorySetPlayerGroup (int inPurchaseCategoryId, playergroup inPlayerGroup);
- native void PurchaseCategorySetNameText (int inPurchaseCategoryId, text inText);
- native void PurchaseCategorySetState (int inPurchaseCategoryId, int inState);
- native void PurchaseCategorySetSlot (int inPurchaseCategoryId, int inSlot);
- native void PurchaseSetSelectedPurchaseCategory (playergroup inPlayerGroup, int inPurchaseCategoryId);
- native int PurchaseGetSelectedPurchaseCategory (int inPlayer);
- //--------------------------------------------------------------------------------------------------
- native int PurchaseGroupCreate (playergroup inPlayerGroup, int inPurchaseCategoryId, int inSlot);
- native int PurchaseGroupLastCreated ();
- native void PurchaseGroupDestroy (int inPurchaseGroupId);
- native void PurchaseGroupDestroyAll (playergroup inPlayerGroup);
- native void PurchaseGroupSetPlayerGroup (int inPurchaseGroupId, playergroup inPlayerGroup);
- native void PurchaseGroupSetNameText (int inPurchaseGroupId, text inText);
- native void PurchaseGroupSetTooltipText (int inPurchaseGroupId, text inText);
- native void PurchaseGroupSetIconFilePath (int inPurchaseGroupId, string inFilePath);
- native void PurchaseGroupSetState (int inPurchaseGroupId, int inState);
- native void PurchaseGroupSetSlot (int inPurchaseGroupId, int inSlot);
- native void PurchaseGroupSetUnitLink (int inPurchaseGroupId, string inUnitLink);
- //--------------------------------------------------------------------------------------------------
- native int PurchaseItemCreate (playergroup inPlayerGroup, int inPurchaseGroupId, int inSlot);
- native int PurchaseItemLastCreated ();
- native void PurchaseItemDestroy (int inPurchaseItemId);
- native void PurchaseItemDestroyAll (playergroup inPlayerGroup);
- native void PurchaseItemSetPlayerGroup (int inPurchaseItemId, playergroup inPlayerGroup);
- native void PurchaseItemSetNameText (int inPurchaseItemId, text inText);
- native void PurchaseItemSetTooltipText (int inPurchaseItemId, text inText);
- native void PurchaseItemSetDescriptionText (int inPurchaseItemId, text inText);
- native void PurchaseItemSetIconFilePath (int inPurchaseItemId, string inFilePath);
- native void PurchaseItemSetMovieFilePath (int inPurchaseItemId, string inFilePath);
- native void PurchaseItemSetCost (int inPurchaseItemId, int inCost);
- native void PurchaseItemSetState (int inPurchaseItemId, int inState);
- native void PurchaseItemSetRecentlyPurchased (int inPurchaseItemId, bool inRecent);
- native void PurchaseItemSetSlot (int inPurchaseItemId, int inSlot);
- native void PurchaseItemPurchase (int inPurchaseItemId);
- native bool PurchaseItemIsRecentlyPurchased (int inPurchaseItemId);
- native void PurchaseSetSelectedPurchaseItem (playergroup inPlayerGroup, int inPurchaseItemId);
- native int PurchaseGetSelectedPurchaseItem (int inPlayer);
- //--------------------------------------------------------------------------------------------------
- // Purchase events
- native void TriggerAddEventPurchaseMade (trigger t, int player, int inPurchaseItemId);
- native void TriggerAddEventPurchaseExit (trigger t, int player);
- native void TriggerAddEventSelectedPurchaseItemChanged (trigger t, int player, int inPurchaseItemId);
- native void TriggerAddEventSelectedPurchaseCategoryChanged (trigger t, int player, int inPurchaseCategoryId);
- native int EventPurchaseMade ();
- //--------------------------------------------------------------------------------------------------
- // Regions
- //
- // Regions are comprised of any number of basic shapes (rectangles, circles, etc). Each shape
- // can be specified as positive or negative. A point is considered within the region if it is
- // within a least one positive shape but not within any negative shapes.
- //
- // Example:
- // An L-shaped region could be created with either
- //
- // (a) Two positive rectangles
- // _
- // | | <-- (+)
- // | |
- // |_|___
- // |_____| <-- (+)
- //
- // (b) One positive and one negative rectangle
- // _____
- // _|___ |
- // | | | |
- // | | | | <-- (-)
- // | |___|_|
- // |_____| <-- (+)
- //
- // The "bounds" of the region are defined as the smallest rectangle which contains all positive
- // shapes. The "center" is the average of the center of all positive shapes, weighted by area.
- //
- // The "offset" of the region is relative to the shape coordinates. The center and bounds take
- // the offset into account.
- //
- //--------------------------------------------------------------------------------------------------
- native region RegionEmpty ();
- native region RegionEntireMap ();
- native region RegionPlayableMap ();
- native void RegionPlayableMapSet (region r);
- native region RegionRect (fixed minx, fixed miny, fixed maxx, fixed maxy);
- native region RegionCircle (point center, fixed radius);
- native region RegionFromId (int id);
- native void RegionAddRect (region r, bool positive, fixed minx, fixed miny, fixed maxx, fixed maxy);
- native void RegionAddCircle (region r, bool positive, point center, fixed radius);
- native void RegionAddRegion (region r, region regToAdd);
- native void RegionSetOffset (region r, point offset);
- native point RegionGetOffset (region r);
- native bool RegionContainsPoint (region r, point p);
- // RegionRandomPoint attempts to find a random point somewhere within the region. For regions
- // containing only a single positive shape, this is guaranteed to work, but for more complex
- // sets of shapes it may give up after a maximum number of tries and return (0, 0).
- //
- native point RegionRandomPoint (region r);
- native point RegionGetBoundsMin (region r);
- native point RegionGetBoundsMax (region r);
- native point RegionGetCenter (region r);
- // Setting the center will adjust the offset such that
- // the region becomes centered on the given point.
- //
- native void RegionSetCenter (region r, point p);
- // RegionAttachToUnit will attach the region to the given unit such that the region center
- // is always at the unit's position plus the given offset. Use a null unit to detach the region
- // from whatever unit it may already be attached to.
- //
- native void RegionAttachToUnit (region r, unit u, point offset);
- native unit RegionGetAttachUnit (region r);
- //--------------------------------------------------------------------------------------------------
- // Research
- //--------------------------------------------------------------------------------------------------
- const int c_invalidResearchCategoryId = 0;
- const int c_invalidResearchTierId = 0;
- const int c_invalidResearchItemId = 0;
- const int c_researchItemStateEnabled = 0;
- const int c_researchItemStateDisabled = 1;
- const int c_researchItemStatePurchased = 2;
- //--------------------------------------------------------------------------------------------------
- native int ResearchCategoryCreate (playergroup inPlayerGroup, int inSlot);
- native int ResearchCategoryLastCreated ();
- native void ResearchCategoryDestroy (int inResearchCategoryId);
- native void ResearchCategoryDestroyAll (playergroup inPlayerGroup);
- native void ResearchCategorySetPlayerGroup (int inResearchCategoryId, playergroup inPlayerGroup);
- native void ResearchCategorySetSlot (int inResearchCategoryId, int inSlot);
- native void ResearchCategorySetNameText (int inResearchCategoryId, text inText);
- native void ResearchCategorySetCurrentLevel (int inResearchCategoryId, int inLevel);
- native void ResearchCategorySetLastLevel (int inResearchCategoryId, int inLevel);
- //--------------------------------------------------------------------------------------------------
- native int ResearchTierCreate (playergroup inPlayerGroup, int inResearchCategoryId, int inSlot);
- native int ResearchTierLastCreated ();
- native void ResearchTierDestroy (int inResearchTierId);
- native void ResearchTierDestroyAll (playergroup inPlayerGroup);
- native void ResearchTierSetPlayerGroup (int inResearchTierId, playergroup inPlayerGroup);
- native void ResearchTierSetSlot (int inResearchTierId, int inSlot);
- native void ResearchTierSetRequiredLevel (int inResearchTierId, int inLevel);
- native void ResearchTierSetMaxPurchasesAllowed (int inResearchTierId, int inMax);
- //--------------------------------------------------------------------------------------------------
- native int ResearchItemCreate (playergroup inPlayerGroup, int inResearchTierId, int inState);
- native int ResearchItemLastCreated ();
- native void ResearchItemDestroy (int inResearchItemId);
- native void ResearchItemDestroyAll (playergroup inPlayerGroup);
- native void ResearchItemSetPlayerGroup (int inResearchItemId, playergroup inPlayerGroup);
- native void ResearchItemSetSlot (int inResearchItemId, int inSlot);
- native void ResearchItemSetState (int inResearchItemId, int inState);
- native void ResearchItemSetNameText (int inResearchItemId, text inText);
- native void ResearchItemSetDescriptionText (int inResearchItemId, text inText);
- native void ResearchItemSetTooltipText (int inResearchItemId, text inText);
- native void ResearchItemSetConfirmationText (int inResearchItemId, text inText);
- native void ResearchItemSetIconFilePath (int inResearchItemId, string inFilePath);
- native void ResearchItemSetMovieFilePath (int inResearchItemId, string inFilePath);
- native void ResearchItemSetRecentlyPurchased (int inResearchItemId, bool inRecent);
- native bool ResearchItemIsRecentlyPurchased (int inResearchItemId);
- native void ResearchItemPurchase (int inResearchItemId);
- native void ResearchItemSetSelected (playergroup inPlayerGroup, int inResearchItemId);
- native int ResearchItemGetSelected (int inPlayer);
- // Research events
- native void TriggerAddEventResearchPanelExit (trigger t, int player);
- native void TriggerAddEventResearchPanelPurchase (trigger t, int player);
- native void TriggerAddEventResearchPanelSelectionChanged (trigger t, int player, int inResearchItemId);
- //--------------------------------------------------------------------------------------------------
- // Sound
- //
- // - A specific sound index within the sound list may be specified.
- // Using c_soundIndexAny will choose a sound either sequentially or randomly,
- // based on the sound data.
- //
- // - Use a "null" playergroup to play the sound for all players.
- //
- // - 3d sounds are only played for players who currently have vision of the sound position.
- //
- // - Volumes are expressed as a percent (0-100) of maximum volume.
- //--------------------------------------------------------------------------------------------------
- const int c_soundIndexAny = -1;
- // Sound Info
- native soundlink SoundLink (string soundId, int soundIndex);
- native string SoundLinkId (soundlink soundId);
- native int SoundLinkAsset (soundlink soundId);
- // Sound
- native void SoundPlay (
- soundlink link,
- playergroup players,
- fixed volume,
- fixed offset
- );
- native void SoundPlayAtPoint (
- soundlink link,
- playergroup players,
- point inPoint,
- fixed height,
- fixed volume,
- fixed offset
- );
- native void SoundPlayOnUnit (
- soundlink link,
- playergroup players,
- unit inUnit,
- fixed height,
- fixed volume,
- fixed offset
- );
- // - SoundPlayScene attempts to synchronize unit animations with the sound duration
- native void SoundPlayScene (
- soundlink link,
- playergroup players,
- unitgroup units,
- string animProps
- );
- native void SoundPlaySceneFile (
- soundlink link,
- playergroup players,
- string sceneFile,
- string camera
- );
- native sound SoundLastPlayed ();
- native void SoundStop (sound s, bool fade);
- native void SoundStopAllModelSounds ();
- native void SoundStopAllTriggerSounds (bool fade);
- native void SoundSetVolume (sound s, fixed volume);
- native void SoundSetPosition (sound s, point position, fixed height);
- const int c_soundOffsetStart = 0;
- const int c_soundOffsetEnd = 1;
- native void SoundSetOffset (sound s, fixed offset, int offsetType);
- native void SoundWait (sound s, fixed offset, int offsetType);
- native void SoundAttachUnit (sound s, unit u, fixed height);
- // Sound Lengths
- // - Note: Since sound files are localized and potentially different for each player,
- // a network query must be sent to all players, and all results must be
- // received before a synchronous result can be accessed.
- //
- // SoundLengthQuery - Initiate a network query for the given sound
- //
- // SoundLengthQueryWait - Pause the current thread until all outstanding sound length
- // query results have been synchronized
- //
- // SoundLengthSync - Retrieve the synchronized sound length result for the given
- // sound
- //
- native void SoundLengthQuery (soundlink info);
- native void SoundLengthQueryWait ();
- native fixed SoundLengthSync (soundlink info);
- // Sound channels
- native void SoundChannelSetVolume (playergroup players, int channel, fixed volume, fixed duration);
- native void SoundChannelMute (playergroup players, int channel, bool mute);
- native void SoundChannelPause (playergroup players, int channel, bool pause);
- native void SoundChannelStop (playergroup players, int channel);
- // Other properties
- native void SoundSetReverb (string inReverbLink, fixed inDuration, bool inAmbient, bool inGlobal);
- native void SoundSetFactors (fixed distance, fixed doppler, fixed rolloff);
- native text SoundSubtitleText (soundlink link);
- //--------------------------------------------------------------------------------------------------
- // Soundtracks
- //--------------------------------------------------------------------------------------------------
- const int c_soundtrackCueAny = -1;
- const int c_soundtrackIndexAny = -1;
- native void SoundtrackDefault (playergroup players, int category, string soundtrack, int cue, int index);
- native void SoundtrackPlay (playergroup players, int category, string soundtrack, int cue, int index, bool makeDefault);
- native void SoundtrackPause (playergroup players, int category, bool pause, bool fade);
- native void SoundtrackSetContinuous (playergroup players, int category, bool continuous);
- native void SoundtrackSetDelay (playergroup players, int category, fixed delay);
- native void SoundtrackStop (playergroup players, int category, bool fade);
- native void SoundtrackWait (string soundtrack);
- //--------------------------------------------------------------------------------------------------
- // Story Mode
- //--------------------------------------------------------------------------------------------------
- native void StoryMode (playergroup players, bool storyMode); // Blizzard maps only
- //--------------------------------------------------------------------------------------------------
- // Strings
- //--------------------------------------------------------------------------------------------------
- native int StringLength (string s);
- native string StringCase (string s, bool upper);
- native text TextCase (text t, bool upper);
- native string StringSub (string s, int start, int end);
- const bool c_stringCase = true;
- const bool c_stringNoCase = false;
- native bool StringEqual (string s1, string s2, bool caseSens);
- // StringFind returns the position of the first occurrence of s2 within s1,
- // or c_stringNotFound if there isn't one.
- //
- const int c_stringNotFound = -1;
- native int StringFind (string s1, string s2, bool caseSens);
- // StringContains
- const int c_stringBegin = 0; // True if s1 begins with s2
- const int c_stringEnd = 1; // True if s1 ends with s2
- const int c_stringAnywhere = 2; // True if s1 contains s2 anywhere
- native bool StringContains (string s1, string s2, int location, bool caseSens);
- // StringWord splits the string into words separated by whitespace,
- // and returns the word corresponding to the given index.
- //
- // Ex: StringWord("klaatu barada nikto", 2) will return "barada"
- //
- native string StringWord (string s, int index);
- // StringReplace replaces the indexed character range in the string with the replacement string
- // and returns the result.
- //
- native string StringReplace (string s, string replace, int start, int end);
- // StringReplaceWord replaces occurrences of the given word in the string with the replacement
- // string and returns the result.
- //
- const int c_stringReplaceAll = -1; // Use as maxCount for all occurrences
- native string StringReplaceWord (string s, string word, string replace, int maxCount, bool caseSens);
- native text TextReplaceWord (text t, text word, text replace, int maxCount, bool caseSens);
- // StringExternal looks up the given string identifer in the externalized string table
- native text StringExternal (string s);
- // StringToText converts the given string to text directly (not externalized)
- native text StringToText (string s);
- // TextWithColor applies a formatting tag to the input text for the given color
- native text TextWithColor (text t, color c);
- // TextTimeFormat converts a time value, in seconds, to text using a format string
- // - The time format string should use the following tokens:
- //
- // <hour/> = hour count, rounded down
- // <hour2/> = hour count, rounded down, always two digits
- // <hourtotal/> = total hour count, rounded down
- // <hourtotaln/> = total hour count, rounded to nearest
- // <hourtotalu/> = total hour count, rounded up
- // <min/> = minute count, rounded down
- // <min2/> = minute count, rounded down, always two digits
- // <mintotal/> = total minute count, rounded down
- // <mintotaln/> = total minute count, rounded to nearest
- // <mintotalu/> = total minute count, rounded up
- // <sec/> = second count
- // <sec2/> = second count, always two digits
- // <sectotal/> = total second count
- // <short/> = one of "<hour/>h", "<min/>m", or "<sec/>s"
- //
- // Examples (these all represent the same value):
- // "<hour/>:<min2/>:<sec2/>" -> 1:08:38 (this is the default format)
- // "<mintotaln/> minutes" -> 69 minutes
- // "<mintotal/>:<sec2/>" -> 68:38
- // "<short/>" -> 1h
- //
- native text TextTimeFormat (text inFormat, int inSecs);
- //--------------------------------------------------------------------------------------------------
- // Tech Tree
- //--------------------------------------------------------------------------------------------------
- const int c_techCountQueuedOnly = 0;
- const int c_techCountQueuedOrBetter = 1; // Queued + In Progress + Complete
- const int c_techCountInProgressOnly = 2;
- const int c_techCountInProgressOrBetter = 3; // In Progress + Complete
- const int c_techCountCompleteOnly = 4;
- const int c_techCountIncompleteOnly = 5; // Queued + In Progress
- native void TechTreeAbilityAllow (int player, abilcmd inAbilCmd, bool allow);
- native int TechTreeAbilityCount (int player, string abilType, int countType);
- native bool TechTreeAbilityIsAllowed (int player, abilcmd inAbilCmd);
- native void TechTreeBehaviorAllow (int player, string behaviorType, bool allow);
- native int TechTreeBehaviorCount (int player, string behaviorType, int countType);
- native bool TechTreeBehaviorIsAllowed (int player, string behaviorType);
- native abilcmd TechTreeBehaviorProducedAbilCmd (string behaviorType, int index);
- native int TechTreeBehaviorProducedAbilCmdCount (string behaviorType);
- native void TechTreeRequirementsEnable (int player, bool enable);
- native bool TechTreeRequirementsEnabled (int player);
- native void TechTreeRestrictionsEnable (int player, bool enable);
- native bool TechTreeRestrictionsEnabled (int player);
- native void TechTreeUnitAllow (int player, string unitType, bool allow);
- native int TechTreeUnitCount (int player, string unitType, int countType);
- native int TechTreeUnitAliasCount (int player, string unitType, int countType);
- native int TechTreeUnitCountEx (int player, string unitType, string equivType, int countType);
- native bool TechTreeUnitIsAllowed (int player, string unitType);
- native void TechTreeUnitHelp (int player, string unitType, bool display);
- native void TechTreeUnitHelpDefault (int player, bool display);
- native abilcmd TechTreeUnitProducedAbilCmd (string unitType, int index);
- native int TechTreeUnitProducedAbilCmdCount (string unitType);
- native string TechTreeUnitProducesUnit (string unitType, int index);
- native int TechTreeUnitProducesUnitCount (string unitType);
- native string TechTreeUnitProducesUpgrade (string unitType, int index);
- native int TechTreeUnitProducesUpgradeCount (string unitType);
- native void TechTreeUpgradeAddLevel (int player, string upgradeType, int levels);
- native void TechTreeUpgradeAllow (int player, string upgradeType, bool allow);
- native int TechTreeUpgradeCount (int player, string upgradeType, int countType);
- native bool TechTreeUpgradeIsAllowed (int player, string upgradeType);
- native abilcmd TechTreeUpgradeProducedAbilCmd (string upgradeType, int index);
- native int TechTreeUpgradeProducedAbilCmdCount (string upgradeType);
- //--------------------------------------------------------------------------------------------------
- // Text Tags
- //--------------------------------------------------------------------------------------------------
- const int c_textTagNone = 0;
- // Edge
- const int c_textTagEdgeTop = 0;
- const int c_textTagEdgeLeft = 1;
- const int c_textTagEdgeBottom = 2;
- const int c_textTagEdgeRight = 3;
- native int TextTagCreate (
- text inText,
- int inFontSize,
- point inPoint,
- fixed inHeightOffset,
- bool inShow,
- bool useFogofWar,
- playergroup inPlayers
- );
- native int TextTagLastCreated ();
- native void TextTagDestroy (int inTag);
- native void TextTagSetText (int inTag, text inText);
- native void TextTagSetTextShadow (int inTag, bool inVal);
- native void TextTagSetFontSize (int inTag, int inFontSize);
- native void TextTagSetPosition (int inTag, point inPoint, fixed inHeightOffset);
- native void TextTagAttachToUnit (int inTag, unit inUnit, fixed inHeightOffset);
- native void TextTagAttachToUnitPoint (int inTag, unit inUnit, string attachmentPoint, int offsetX, int offsetY);
- native void TextTagSetVelocity (int inTag, fixed inSpeed, fixed inAngle);
- native void TextTagSetAlignment (int inTag, int inHoriz, int inVert);
- native void TextTagSetTextAlignment (int inTag, int inHoriz, int inVert);
- native void TextTagSetMaxSize (int inTag, fixed inWidth, fixed inHeight);
- native void TextTagShowBackground (int inTag, bool inShow);
- native void TextTagSetBackgroundImage (int inTag, string inPath, bool inTiled);
- native void TextTagSetBackgroundBorderSize (int inTag, fixed inX, fixed inY);
- native void TextTagSetBackgroundOffset (int inTag, fixed inX, fixed inY);
- native void TextTagSetEdgeImage (int inTag, int inEdge, string inPath, int inXOffset, int inYOffset);
- native void TextTagShow (int inTag, playergroup inPlayers, bool inShow);
- native bool TextTagVisible (int inTag, int inPlayer);
- native void TextTagPause (int inTag, bool inPause);
- native void TextTagFogofWar (int inTag, bool inPause);
- const int c_textTagColorText = -1;
- const int c_textTagColorTextStart = 0;
- const int c_textTagColorTextEnd = 1;
- const int c_textTagColorBackground = -2;
- const int c_textTagColorBackgroundStart = 2;
- const int c_textTagColorBackgroundEnd = 3;
- const int c_textTagColorEdge = -3;
- const int c_textTagColorEdgeStart = 4;
- const int c_textTagColorEdgeEnd = 5;
- native void TextTagSetColor (int inTag, int inType, color inColor);
- const int c_textTagFadeAll = -1;
- const int c_textTagFadeText = 0;
- const int c_textTagFadeBackground = 1;
- const int c_textTagFadeEdge = 2;
- native void TextTagSetFadedTransparency (int inTag, int inType, fixed inTransparency);
- const int c_textTagTimeDuration = 0;
- const int c_textTagTimeFadeOut = 1;
- const int c_textTagTimeFadeDuration = 2; // If zero, will fade over full duration
- const int c_textTagTimeCurrent = 3;
- const fixed c_textTagTimePermanent = 0; // Use with c_textTagTimeDuration for permanent text
- native void TextTagSetTime (int inTag, int inType, fixed inVal);
- //--------------------------------------------------------------------------------------------------
- // Timing
- //
- // -- Time types --
- //
- // Timing functions can work with three different types of time:
- //
- // Game Time - Takes into account the current game speed, and will pass more slowly at slower
- // speeds, and vice versa.
- //
- // Real Time - Passes at the same rate regardless of game speed, and approximates time passing
- // in the real world for the user. However, "real" time is still synchronous, and
- // will therefore be affected by lag due to network or system issues.
- //
- // AI Time - Passes at the same rate as game time, but may be paused/unpaused independently
- // of game time via triggers. This is most commonly done to pause the AI while
- // an in-game cinematic sequence is run.
- //
- //--------------------------------------------------------------------------------------------------
- const int c_timeGame = 0;
- const int c_timeReal = 1;
- const int c_timeAI = 2;
- native void Wait (fixed inSecs, int inTimeType);
- // AI Time
- native void AITimePause (bool inPause);
- native bool AITimeIsPaused ();
- // Timers
- const fixed c_timerDurationInfinite = -1.0;
- native timer TimerCreate ();
- native void TimerStart (timer t, fixed duration, bool periodic, int timeType);
- native void TimerRestart (timer t);
- native timer TimerLastStarted ();
- native void TimerPause (timer t, bool pause);
- native bool TimerIsPaused (timer t);
- native fixed TimerGetElapsed (timer t);
- native fixed TimerGetRemaining (timer t);
- native fixed TimerGetDuration (timer t);
- // Timer events
- native void TriggerAddEventTimer (trigger inTrigger, timer inTimer);
- native void TriggerAddEventTimeElapsed (trigger inTrigger, fixed inTime, int inTimeType);
- native void TriggerAddEventTimePeriodic (trigger inTrigger, fixed inTime, int inTimeType);
- native timer EventTimer ();
- // Timer windows
- // inShowElapsed shows elapsed vs. remaining time (defaults off)
- //
- const int c_timerWindowNone = 0;
- native int TimerWindowCreate (timer inTimer, text inTitle, bool inShow, bool inShowElapsed);
- native int TimerWindowLastCreated ();
- native void TimerWindowDestroy (int inWindow);
- native void TimerWindowShow (int inWindow, playergroup inPlayers, bool inShow);
- native bool TimerWindowVisible (int inWindow, int inPlayer);
- native void TimerWindowSetTimer (int inWindow, timer inTimer);
- native void TimerWindowSetTitle (int inWindow, text inTitle);
- // - Style
- const int c_timerWindowStyleHorizontalTitleTime = 0;
- const int c_timerWindowStyleHorizontalTimeTitle = 1;
- const int c_timerWindowStyleVerticalTitleTime = 2;
- const int c_timerWindowStyleVerticalTimeTitle = 3;
- native void TimerWindowSetStyle (int inWindow, int inStyle, bool inShowElapsed);
- native void TimerWindowSetGapWidth (int inWindow, int inWidth);
- // - Time Format - See the TextTimeFormat function for details on the format string
- native void TimerWindowSetFormat (int inWindow, text inFormat);
- const int c_timerWindowColorTitle = 0;
- const int c_timerWindowColorTime = 1;
- const int c_timerWindowColorBackground = 2;
- native void TimerWindowSetColor (int inWindow, int inType, color inColor, fixed transparency);
- //--------------------------------------------------------------------------------------------------
- // Transmission
- //--------------------------------------------------------------------------------------------------
- const int c_invalidTransmissionId = 0;
- const fixed c_transmissionTransitionDuration = 0.5;
- const int c_transmissionDurationDefault = 0;
- const int c_transmissionDurationAdd = 1;
- const int c_transmissionDurationSub = 2;
- const int c_transmissionDurationSet = 3;
- native transmissionsource TransmissionSource ();
- native transmissionsource TransmissionSourceFromUnit (unit u, bool flash, bool overridePortrait, string anim);
- native transmissionsource TransmissionSourceFromUnitType (string unitType, bool overridePortrait);
- native transmissionsource TransmissionSourceFromModel (string modelLink);
- native transmissionsource TransmissionSourceFromMovie (string assetLink, bool subtitles);
- native int TransmissionSend (
- playergroup players,
- transmissionsource source,
- int targetPortrait,
- string targetAnim,
- soundlink soundLink,
- text speaker,
- text subtitle,
- fixed duration,
- int durationType,
- bool waitUntilDone
- );
- native int TransmissionLastSent ();
- native void TransmissionClear (int t);
- native void TransmissionClearAll ();
- native void TransmissionWait (int t, fixed offset);
- //--------------------------------------------------------------------------------------------------
- // Triggers
- //
- // Each trigger has one script function, registered in TriggerCreate,
- // which is expected to look like:
- //
- // bool TriggerFunc (bool testConditions, bool runActions) {
- // if (testConditions) {
- // if (<conditions fail>) {
- // return false;
- // }
- // }
- //
- // if (!runActions) {
- // return true;
- // }
- //
- // <do actions>
- // return true;
- // }
- //
- //--------------------------------------------------------------------------------------------------
- native trigger TriggerCreate (string inFunction);
- native void TriggerDestroy (trigger t);
- native void TriggerEnable (trigger t, bool enable);
- native bool TriggerIsEnabled (trigger t);
- native void TriggerResetCounts (trigger t);
- native int TriggerGetEvalCount (trigger t);
- native int TriggerGetExecCount (trigger t);
- native bool TriggerEvaluate (trigger t);
- native void TriggerExecute (trigger t, bool testConds, bool waitUntilDone);
- native trigger TriggerGetCurrent (); // Returns the trigger currently executing, if any
- native void TriggerStop (trigger t); // Kills all executing instances of the input trigger
- native void TriggerWaitForTrigger (trigger t, bool waitUntilDone); // Wait until the given trigger executes
- native void TriggerQueueEnter ();
- native void TriggerQueueExit ();
- native bool TriggerQueueIsEmpty ();
- native void TriggerQueuePause (bool pause);
- // Options for handling the active thread when clearing the trigger queue
- const int c_triggerQueueRetain = 0; // Leave in the queue
- const int c_triggerQueueRemove = 1; // Remove from the queue, but leave it running
- const int c_triggerQueueKill = 2; // Remove from the queue and kill it immediately
- native void TriggerQueueClear (int activeOption);
- native void TriggerSkippableBegin (
- playergroup allowedToSkip,
- int requiredCount,
- trigger onSkip,
- bool testConds,
- bool waitUntilDone
- );
- native void TriggerSkippableEnd ();
- // Trigger Debugging
- native void TriggerDebugWindowOpen (bool open);
- native void TriggerDebugOutput (int type, text inText, bool includeGameUI);
- native void TriggerDebugSetTypeName (int type, text inText);
- native void TriggerDebugSetTypeColor (int type, color c);
- native void TriggerDebugSetTypeFile (int type, string file);
- //--------------------------------------------------------------------------------------------------
- // Units
- //--------------------------------------------------------------------------------------------------
- // Spend locations for simulating spend calls
- const int c_spendLocationAll = -1;
- const int c_spendLocationAbility = 0;
- const int c_spendLocationBehavior = 1;
- const int c_spendLocationUnit = 2;
- const int c_spendLocationPlayer = 3;
- const int c_spendLocationGlobal = 4;
- // Unit creation styles
- const int c_unitCreateConstruct = (1 << 0);
- const int c_unitCreateIgnorePlacement = (1 << 1);
- native unitgroup UnitCreate (
- int inCount,
- string inUnitType,
- int inCreateStyle,
- int inPlayer,
- point inPos,
- fixed inFacing
- );
- native unit UnitLastCreated ();
- native unitgroup UnitLastCreatedGroup ();
- native unit UnitFromId (int id);
- native void UnitLoadModel (unit inUnit);
- native void UnitUnloadModel (unit inUnit);
- native void UnitRemove (unit inUnit);
- native void UnitKill (unit inUnit);
- native void UnitRevive (unit inUnit);
- native bool UnitIsAlive (unit inUnit);
- native bool UnitIsValid (unit inUnit);
- native void UnitWaitUntilIdle (unit inUnit, bool inIdle);
- native string UnitGetType (unit inUnit);
- native int UnitGetOwner (unit inUnit);
- native void UnitSetOwner (unit inUnit, int inPlayer, bool inChangeColor);
- native void UnitSetTeamColorIndex (unit inUnit, int inIndex);
- native void UnitResetTeamColorIndex (unit inUnit);
- native point UnitGetPosition (unit inUnit);
- native void UnitSetPosition (unit inUnit, point inPos, bool blend);
- native fixed UnitGetHeight (unit inUnit); // Absolute height in world space
- native void UnitSetHeight (unit inUnit, fixed inHeight, fixed inDuration);
- native fixed UnitGetFacing (unit inUnit);
- native void UnitSetFacing (unit inUnit, fixed inFacing, fixed inDuration);
- native point UnitGetAttachmentPoint (unit inUnit, string attachment);
- native void UnitResetSpeed (unit inUnit);
- native void UnitSetScale (unit inUnit, fixed x, fixed y, fixed z);
- native void UnitPauseAll (bool inPause);
- native void UnitSetCursor (unit inUnit, string cursorLink);
- native void UnitSetInfoText (unit inUnit, text info, text tip, text subTip);
- native void UnitClearInfoText (unit inUnit);
- native void UnitForceStatusBar (unit inUnit, bool inShow);
- // Unit states
- const int c_unitStateBuried = 0; // Read-only
- const int c_unitStateCloaked = 1; // Read-only
- const int c_unitStateDetector = 2; // Read-only
- const int c_unitStateRadar = 3; // Read-only
- const int c_unitStateVisionSuppressed = 4; // Read-only
- const int c_unitStateAttackSuppressed = 5; // Read-only
- const int c_unitStateInStasis = 6; // Read-only
- const int c_unitStateHallucination = 7; // Read-only
- const int c_unitStateInvulnerable = 8;
- const int c_unitStatePaused = 9;
- const int c_unitStateHidden = 10;
- const int c_unitStateHighlightable = 11;
- const int c_unitStateIgnoreTerrainZ = 12;
- const int c_unitStateUnderConstruction = 13; // Read-only
- const int c_unitStateInsideTransport = 14; // Read-only
- const int c_unitStateIdle = 15; // Read-only
- const int c_unitStateFidget = 16;
- const int c_unitStateSelectable = 17;
- const int c_unitStateTargetable = 18;
- const int c_unitStateStatusBar = 19;
- const int c_unitStateTooltipable = 20;
- const int c_unitStateCursorable = 21;
- const int c_unitStateIsDead = 22; // Read-only
- const int c_unitStateIsTransport = 23; // Read-only
- const int c_unitStateMoveSuppressed = 24;
- const int c_unitStateTurnSuppressed = 25;
- const int c_unitStateHighlighted = 26;
- const int c_unitStateUsingSupply = 27;
- const int c_unitStateRevivable = 28; // Read-only
- native void UnitSetState (unit inUnit, int inState, bool inVal);
- native bool UnitTestState (unit inUnit, int inState);
- // Unit properties
- const int c_unitPropLife = 0;
- const int c_unitPropLifePercent = 1;
- const int c_unitPropLifeMax = 2;
- const int c_unitPropLifeRegen = 3;
- const int c_unitPropEnergy = 4;
- const int c_unitPropEnergyPercent = 5;
- const int c_unitPropEnergyMax = 6;
- const int c_unitPropEnergyRegen = 7;
- const int c_unitPropShields = 8;
- const int c_unitPropShieldsPercent = 9;
- const int c_unitPropShieldsMax = 10;
- const int c_unitPropShieldsRegen = 11;
- const int c_unitPropSuppliesUsed = 12; // Read-only
- const int c_unitPropSuppliesMade = 13; // Read-only
- const int c_unitPropKills = 14;
- const int c_unitPropVitality = 15; // Read-only
- const int c_unitPropVitalityPercent = 16; // Read-only
- const int c_unitPropVitalityMax = 17; // Read-only
- const int c_unitPropAcceleration = 18; // Read-only
- const int c_unitPropHeight = 19;
- const int c_unitPropMovementSpeed = 20;
- const int c_unitPropTurnRate = 21; // Read-only
- const int c_unitPropResources = 22;
- const int c_unitPropRadius = 23; // Read-only
- const bool c_unitPropCurrent = true;
- const bool c_unitPropNormal = false;
- native void UnitSetPropertyInt (unit inUnit, int inProp, int inVal);
- native void UnitSetPropertyFixed (unit inUnit, int inProp, fixed inVal);
- native int UnitGetPropertyInt (unit inUnit, int inProp, bool inCurrent);
- native fixed UnitGetPropertyFixed (unit inUnit, int inProp, bool inCurrent);
- native void UnitSetCustomValue (unit inUnit, int inIndex, fixed inVal);
- native fixed UnitGetCustomValue (unit inUnit, int inIndex);
- native void UnitAddChargeRegen (unit inUnit, string inCharge, fixed inVal);
- native fixed UnitGetChargeRegen (unit inUnit, string inCharge);
- native void UnitAddChargeUsed (unit inUnit, string inCharge, fixed inVal);
- native fixed UnitGetChargeUsed (unit inUnit, string inCharge);
- native void UnitAddCooldown (unit inUnit, string inCooldown, fixed inVal);
- native fixed UnitGetCooldown (unit inUnit, string inCooldown);
- native void UnitCreateEffectPoint (unit inUnit, string inEffect, point inTarget);
- native void UnitCreateEffectUnit (unit inUnit, string inEffect, unit inTarget);
- native int UnitValidateEffectPoint (unit inUnit, string inEffect, point inTarget);
- native int UnitValidateEffectUnit (unit inUnit, string inEffect, unit inTarget);
- // Unit AI options
- const int c_unitAIOptionUsable = 0;
- native void UnitSetAIOption (unit inUnit, int inOption, bool inVal);
- native bool UnitGetAIOption (unit inUnit, int inOption);
- // Unit abilities
- // Ability charge types
- const int c_unitAbilChargeCountMax = 0;
- const int c_unitAbilChargeCountUse = 1;
- const int c_unitAbilChargeCountLeft = 2;
- const int c_unitAbilChargeRegenMax = 3;
- const int c_unitAbilChargeRegenLeft = 4;
- native void UnitAbilitySpend (unit inUnit, abilcmd inAbilCmd, int inLocation);
- native void UnitAbilityReset (unit inUnit, abilcmd inAbilCmd, int inLocation);
- native fixed UnitAbilityChargeInfo (unit inUnit, abilcmd inAbilCmd, int inType);
- native int UnitAbilityCount (unit inUnit);
- native bool UnitAbilityExists (unit inUnit, string inAbil);
- native void UnitAbilityEnable (unit inUnit, string inAbil, bool inEnable);
- native void UnitAbilityShow (unit inUnit, string inAbil, bool inShow);
- native string UnitAbilityGet (unit inUnit, int inIndex);
- native bool UnitAbilityCheck (unit inUnit, string inAbil, bool inEnabled);
- native void UnitAbilityChangeLevel (unit inUnit, string inAbil, int inLevel);
- native int UnitAbilityGetLevel (unit inUnit, string inAbil);
- native int UnitAbilityMaxLevel (unit inUnit, string inAbil);
- native void UnitAbilityAddChargeRegen (unit inUnit, string inAbil, string inCharge, fixed inVal);
- native fixed UnitAbilityGetChargeRegen (unit inUnit, string inAbil, string inCharge);
- native void UnitAbilityAddChargeUsed (unit inUnit, string inAbil, string inCharge, fixed inVal);
- native fixed UnitAbilityGetChargeUsed (unit inUnit, string inAbil, string inCharge);
- native void UnitAbilityAddCooldown (unit inUnit, string inAbil, string inCooldown, fixed inVal);
- native fixed UnitAbilityGetCooldown (unit inUnit, string inAbil, string inCooldown);
- // Ability command states
- const int c_cmdStateHidden = (1 << 0);
- const int c_cmdStateExecuting = (1 << 1);
- const int c_cmdStateCanAutoCast = (1 << 2);
- const int c_cmdStateIsAutoCast = (1 << 3);
- const int c_cmdStateMaxCharges = (1 << 4);
- const int c_cmdStateHasCharges = (1 << 5);
- const int c_cmdStateDisabled = (1 << 6);
- const int c_cmdStateCooldown = (1 << 7);
- const int c_cmdStateNoLife = (1 << 8);
- const int c_cmdStateNoShields = (1 << 9);
- const int c_cmdStateNoEnergy = (1 << 10);
- const int c_cmdStateNoMinerals = (1 << 11);
- const int c_cmdStateNoVespene = (1 << 12);
- const int c_cmdStateNoTerrazine = (1 << 13);
- const int c_cmdStateNoCustom = (1 << 14);
- const int c_cmdStateNoFood = (1 << 15);
- const int c_cmdStateCantSpend = (1 << 16);
- native bool UnitCheckAbilCmdState (unit inUnit, abilcmd inAbilCmd, int inState);
- const int c_unitCargoUnitCount = 0; // Number of units contained as cargo
- const int c_unitCargoSpaceTotal = 1; // Total cargo space
- const int c_unitCargoSpaceUsed = 2; // Cargo space in use
- const int c_unitCargoSpaceFree = 3; // Cargo space available (total - used)
- const int c_unitCargoSizeAsCargo = 4; // Space used by this unit as cargo
- const int c_unitCargoSizeMax = 5; // Maximum cargo size per unit this unit can contain
- const int c_unitCargoPosition = 6; // Unit's index in the transport list
- native void UnitCargoCreate (unit inUnit, string inId, int inCount);
- native unit UnitCargoLastCreated ();
- native unitgroup UnitCargoLastCreatedGroup ();
- native unit UnitCargo (unit inUnit, int inIndex);
- native unitgroup UnitCargoGroup (unit inUnit);
- native int UnitCargoValue (unit inUnit, int inValue);
- native unit UnitTransport (unit inUnit);
- native unit UnitAgent (unit inUnit, int inPlayer);
- native void UnitMagazineArm (unit inUnit, abilcmd inAbilCmd, int inCount);
- native int UnitMagazineCount (unit inUnit, string inAbil);
- const int c_unitQueueTimeElapsed = 0;
- const int c_unitQueueTimeRemaining = 1;
- const int c_unitQueueTimeTotal = 2;
- const int c_unitQueuePropertyAvailable = 0;
- const int c_unitQueuePropertyTotal = 1;
- const int c_unitQueuePropertyUsed = 2;
- const int c_unitQueuePropertyCount = 3;
- native int UnitQueueItemCount (unit inUnit, int inSlot);
- native string UnitQueueItemGet (unit inUnit, int inItem, int inSlot);
- native fixed UnitQueueItemTime (unit inUnit, int inTimeType, int inItem);
- native bool UnitQueueItemTypeCheck (unit inUnit, int inItem, int inType);
- native int UnitQueueGetProperty (unit inUnit, int inProp);
- native bool UnitMoverExists (unit inUnit, string inMover);
- native bool UnitTestPlane (unit inUnit, int inPlane);
- // Unit progress
- const int c_unitProgressTypeConstruct = 0;
- const int c_unitProgressTypeTrain = 1;
- const int c_unitProgressTypeResearch = 2;
- const int c_unitProgressTypeArmMagazine = 3;
- const int c_unitProgressTypeSpecialize = 4;
- const int c_unitProgressTypeRevive = 5;
- const int c_unitProgressTypeLearn = 6;
- const int c_unitProgressStageStart = 0;
- const int c_unitProgressStageCancel = 1;
- const int c_unitProgressStageComplete = 2;
- const int c_unitProgressStagePause = 3;
- const int c_unitProgressStageResume = 4;
- const int c_unitProgressStateEmpty = 0;
- const int c_unitProgressStateActive = 1;
- const int c_unitProgressStatePaused = 2;
- native fixed UnitGetProgressComplete (unit inUnit, int inSlot);
- native void UnitSetProgressComplete (unit inUnit, int inSlot, int inPercent);
- native void UnitSetProgressStage (unit inUnit, int inSlot, int inStage);
- native bool UnitCheckProgressState (unit inUnit, int inSlot, int inState);
- // Unit behaviors
- // Behavior categories
- const int c_unitBehaviorFlagPermanent = 0;
- const int c_unitBehaviorFlagRestorable = 1;
- const int c_unitBehaviorFlagTemporary = 2;
- // Behavior buff flags
- const int c_unitBehaviorFlagChanneled = 3;
- const int c_unitBehaviorFlagChanneling = 4;
- const int c_unitBehaviorFlagCountdown = 5;
- const int c_unitBehaviorFlagExtend = 6;
- const int c_unitBehaviorFlagDisableBuilding = 7;
- const int c_unitBehaviorFlagRemoveDamageResponseExhausted = 8;
- // Behavior info flags
- const int c_unitBehaviorFlagHidden = 9;
- // Behavior count
- const int c_unitBehaviorCountAll = -1;
- native void UnitBehaviorAdd (unit inUnit, string inBehavior, unit inCaster, int inCount);
- native void UnitBehaviorAddPlayer (unit inUnit, string inBehavior, int inPlayer, int inCount);
- native int UnitBehaviorCountAll (unit inUnit);
- native int UnitBehaviorCount (unit inUnit, string inBehavior);
- native fixed UnitBehaviorDuration (unit inUnit, string inBehavior);
- native void UnitBehaviorSetDuration (unit inUnit, string inBehavior, fixed inDuration);
- native bool UnitBehaviorEnabled (unit inUnit, string inBehavior);
- native string UnitBehaviorGet (unit inUnit, int inIndex);
- native bool UnitHasBehavior (unit inUnit, string inBehavior);
- native void UnitBehaviorRemove (unit inUnit, string inBehavior, int inCount);
- native void UnitBehaviorRemovePlayer (unit inUnit, string inBehavior, int inPlayer, int inCount);
- native void UnitBehaviorTransfer (unit inSource, unit inDest, string inBehavior, int inCount);
- native bool UnitBehaviorHasFlag (string inBehavior, int inCategory);
- native void UnitBehaviorRemoveCategory (unit inUnit, int inCategory);
- native void UnitBehaviorAddChargeRegen (unit inUnit, string inBehavior, string inCharge, fixed inVal);
- native fixed UnitBehaviorGetChargeRegen (unit inUnit, string inBehavior, string inCharge);
- native void UnitBehaviorAddChargeUsed (unit inUnit, string inBehavior, string inCharge, fixed inVal);
- native fixed UnitBehaviorGetChargeUsed (unit inUnit, string inBehavior, string inCharge);
- native void UnitBehaviorAddCooldown (unit inUnit, string inBehavior, string inCooldown, fixed inVal);
- native fixed UnitBehaviorGetCooldown (unit inUnit, string inBehavior, string inCooldown);
- native void UnitXPGainEnable (unit inUnit, string inBehavior, bool inEnable);
- // Unit markers
- native marker UnitMarker (unit inUnit, int inIndex);
- native void UnitMarkerAdd (unit inUnit, marker inMarker);
- native int UnitMarkerCount (unit inUnit, marker inMarker);
- native void UnitMarkerRemove (unit inUnit, marker inMarker);
- // Unit orders
- const int c_orderQueueReplace = 0;
- const int c_orderQueueAddToEnd = 1;
- const int c_orderQueueAddToFront = 2;
- native order UnitOrder (unit inUnit, int inIndex);
- native int UnitOrderCount (unit inUnit);
- native bool UnitOrderHasAbil (unit inUnit, string abilLink);
- native bool UnitOrderIsValid (unit inUnit, order inOrder);
- native bool UnitIsHarvesting (unit inUnit, int inResource);
- native bool UnitIssueOrder (unit inUnit, order inOrder, int inQueueType);
- // Unit rallying
- native int UnitRallyPoint (unit inUnit, unit inUser);
- native int UnitRallyPointCount (unit inUnit);
- native int UnitRallyPointTargetCount (unit inUnit, int inPoint);
- native point UnitRallyPointTargetPoint (unit inUnit, int inPoint, int inTarget);
- native unit UnitRallyPointTargetUnit (unit inUnit, int inPoint, int inTarget);
- // Unit tech
- native int UnitTechTreeBehaviorCount (unit inUnit, string behaviorType, int countType);
- native int UnitTechTreeUnitCount (unit inUnit, string unitType, int countType);
- native int UnitTechTreeUpgradeCount (unit inUnit, string upgradeType, int countType);
- // Unit inventory
- const int c_unitInventoryCountCarried = 0;
- const int c_unitInventoryCountEmpty = 1;
- const int c_unitInventoryCountTotal = 2;
- native int UnitInventoryCount (unit inUnit, int inCountType);
- native unit UnitInventoryItem (unit inUnit, int inIndex);
- native unitgroup UnitInventoryGroup (unit inUnit);
- native unit UnitInventoryCreate (unit inUnit, string itemType);
- native unit UnitInventoryLastCreated ();
- // Unit weapons
- native void UnitWeaponAdd (unit inUnit, string inWeapon, string inTurret);
- native int UnitWeaponCount (unit inUnit);
- native bool UnitWeaponCheck (unit inUnit, int inIndex, int inTarget);
- native string UnitWeaponGet (unit inUnit, int inIndex);
- native bool UnitWeaponIsEnabled (unit inUnit, int inIndex);
- native fixed UnitWeaponPeriod (unit inUnit, int inIndex);
- native void UnitWeaponRemove (unit inUnit, string inWeapon);
- native bool UnitWeaponsPlaneTest (unit inUnit, int inPlane);
- // Unit experience
- native fixed UnitXPTotal (unit inUnit);
- native int UnitLevel (unit inUnit);
- // Unit Costs
- const int c_unitCostMinerals = 0;
- const int c_unitCostVespene = 1;
- const int c_unitCostTerrazine = 2;
- const int c_unitCostCustomResource = 3;
- const int c_unitCostSumMineralsVespene = 4;
- native string UnitTypeFromString (string inString);
- native text UnitTypeGetName (string inUnitType);
- native fixed UnitTypeGetProperty (string inUnitType, int inProp);
- native int UnitTypeGetCost (string inUnitType, int inCostType);
- native bool UnitTypeTestFlag (string inUnitType, int inFlag);
- native bool UnitTypeTestAttribute (string inUnitType, int inAttribute);
- native bool UnitTypeIsAffectedByUpgrade (string inUnitType, string inUpgrade);
- native void UnitTypeAnimationLoad (string inUnitType, string animPath);
- native void UnitTypeAnimationUnload (string inUnitType, string animPath);
- // Unit events
- // Note: Use a null unit for "any unit" events
- // Damage fatal option
- const int c_unitDamageEither = 0;
- const int c_unitDamageFatal = 1;
- const int c_unitDamageNonFatal = 2;
- // Damage type
- const int c_unitDamageTypeAny = -1;
- const int c_unitDamageTypeSpell = 0;
- const int c_unitDamageTypeMelee = 1;
- const int c_unitDamageTypeRanged = 2;
- const int c_unitDamageTypeSplash = 3;
- native void TriggerAddEventUnitCreated (trigger t, unitref u, string creatorAbil, string creatorBehavior);
- native void TriggerAddEventUnitRemoved (trigger t, unitref u);
- native void TriggerAddEventUnitDied (trigger t, unitref u);
- native void TriggerAddEventUnitGainExperience (trigger t, unitref u);
- native void TriggerAddEventUnitGainLevel (trigger t, unitref u);
- native void TriggerAddEventUnitAcquiredTarget (trigger t, unitref u);
- native void TriggerAddEventUnitStartedAttack (trigger t, unitref u);
- native void TriggerAddEventUnitAttacked (trigger t, unitref u);
- native void TriggerAddEventUnitAttributeChange (trigger t, unitref u);
- native void TriggerAddEventUnitDamaged (trigger inTrigger, unitref inUnit, int inDamageType, int inDamageFatal, string inEffect);
- native void TriggerAddEventUnitBecomesIdle (trigger t, unitref u, bool idle);
- native unit EventUnit ();
- native unit EventUnitTarget ();
- // Responses
- // - c_unitEventCreated
- native unit EventUnitCreatedUnit ();
- native string EventUnitCreatedAbil ();
- native string EventUnitCreatedBehavior ();
- // - c_unitEventDamaged
- // - c_unitEventDied
- native fixed EventUnitDamageAmount ();
- native unit EventUnitDamageSourceUnit ();
- native int EventUnitDamageSourcePlayer ();
- native point EventUnitDamageSourcePoint ();
- native bool EventUnitDamageDeathCheck (int inType);
- native string EventUnitDamageEffect ();
- // - c_unitEventGainExperience
- // - c_unitEventGainLevel
- native string EventUnitBehavior ();
- native fixed EventUnitXPDelta ();
- native int EventUnitAttributePoints ();
- // Property change events
- native void TriggerAddEventUnitProperty (trigger t, unitref u, int prop);
- // State events
- // region/range events - true = entered, false = exited
- // cargo events - true = loaded, false = unloaded
- // selection events - true = selected, false = deselected
- // highlight events - true = highlighted, false = unhighlighted
- //
- native void TriggerAddEventUnitRegion (trigger t, unitref u, region r, bool state);
- native void TriggerAddEventUnitRange (trigger t, unitref u, unit fromUnit, fixed range, bool state);
- native void TriggerAddEventUnitRangePoint (trigger t, unitref u, point p, fixed distance, bool state);
- native void TriggerAddEventUnitCargo (trigger t, unitref u, bool state);
- native region EventUnitRegion ();
- native unit EventUnitCargo ();
- // Player events
- // Note: EventPlayer (defined in the Players section) is valid for these events
- //
- native void TriggerAddEventUnitSelected (trigger t, unitref u, int player, bool state);
- native void TriggerAddEventUnitClick (trigger t, unitref u, int player);
- native void TriggerAddEventUnitHighlight (trigger t, unitref u, int player, bool state);
- // Order events
- native void TriggerAddEventUnitOrder (trigger t, unitref u, abilcmd a);
- native order EventUnitOrder ();
- // Ability events
- const int c_unitAbilStageComplete = -6;
- const int c_unitAbilStagePreempt = -5;
- const int c_unitAbilStageCancel = -4;
- const int c_unitAbilStageExecute = -3;
- const int c_unitAbilStageQueue = -2;
- const int c_unitAbilStageAll = -1;
- native void TriggerAddEventUnitAbility (trigger t, unitref u, abilcmd a, int stage, bool includeSharedAbils);
- native abilcmd EventUnitAbility ();
- native int EventUnitAbilityStage ();
- native point EventUnitTargetPoint ();
- native unit EventUnitTargetUnit ();
- // Progress events
- native void TriggerAddEventUnitConstructProgress (trigger t, unitref u, int stage);
- native void TriggerAddEventUnitTrainProgress (trigger t, unitref u, int stage);
- native void TriggerAddEventUnitResearchProgress (trigger t, unitref u, int stage);
- native void TriggerAddEventUnitArmMagazineProgress (trigger t, unitref u, int stage);
- native void TriggerAddEventUnitSpecializeProgress (trigger t, unitref u, int stage);
- native string EventUnitProgressObjectType (); // The type of object being trained/researched/etc
- native unit EventUnitProgressUnit (); // The unit being trained, if any
- // Powerup
- native void TriggerAddEventUnitPowerup (trigger t, unitref u);
- native unit EventUnitPowerupUnit ();
- // Revive
- native void TriggerAddEventUnitRevive (trigger t, unitref u);
- //--------------------------------------------------------------------------------------------------
- // Unit Filters
- //--------------------------------------------------------------------------------------------------
- // Construct a unitfilter based on bit flags corresponding to c_targetFilter<*> constants
- // Note: If the target flag is >= than 32, it should go in the second integer. For example:
- //
- // UnitFilter (
- // (1 << c_targetFilterGround), // Require ground
- // 0,
- // 0,
- // (1 << (c_targetFilterInvulnerable - 32)) // Exclude invulnerable
- // );
- //
- native unitfilter UnitFilter (int inRequired1, int inRequired2, int inExcluded1, int inExcluded2);
- native unitfilter UnitFilterStr (string filters);
- // Set/Get individual filter states by index
- //
- const int c_unitFilterAllowed = 0; // Neither required nor excluded
- const int c_unitFilterRequired = 1;
- const int c_unitFilterExcluded = 2;
- native void UnitFilterSetState (unitfilter inFilter, int inType, int inState);
- native int UnitFilterGetState (unitfilter inFilter, int inType);
- native bool UnitFilterMatch (unit inUnit, int inPlayer, unitfilter inFilter);
- //--------------------------------------------------------------------------------------------------
- // Unit Groups
- //--------------------------------------------------------------------------------------------------
- const int c_unitAllianceAny = 0; // Any unit
- const int c_unitAllianceAlly = 1; // Units owned by allied players
- const int c_unitAllianceEnemy = 2; // Units owned by enemy players
- const int c_unitAllianceAllyExcludeSelf = 3; // Units owned by allied players not owned by player
- const int c_unitAllianceAnyExcludeSelf = 4; // Any unit not owned by player
- const int c_noMaxCount = 0;
- native unitgroup UnitGroupEmpty ();
- native unitgroup UnitGroupCopy (unitgroup inGroup);
- native unitgroup UnitGroupFromId (int id);
- native unitgroup UnitGroup (string type, int player, region r, unitfilter filter, int maxCount);
- native unitgroup UnitGroupAlliance (int player, int alliance, region r, unitfilter filter, int maxCount);
- native unitgroup UnitGroupFilter (string type, int player, unitgroup g, unitfilter filter, int maxCount);
- native unitgroup UnitGroupFilterAlliance (unitgroup g, int player, int alliance, int maxCount);
- native unitgroup UnitGroupFilterPlane (unitgroup g, int plane, int maxCount);
- native unitgroup UnitGroupFilterPlayer (unitgroup g, int player, int maxCount);
- native unitgroup UnitGroupFilterRegion (unitgroup g, region r, int maxCount);
- native unitgroup UnitGroupFilterThreat (unitgroup g, unit u, string alternateType, int maxCount);
- native unitgroup UnitGroupIdle (int player, bool workerOnly);
- native void UnitGroupClear (unitgroup inGroup);
- native void UnitGroupAdd (unitgroup inGroup, unit inUnit);
- native void UnitGroupRemove (unitgroup inGroup, unit inUnit);
- native bool UnitGroupIssueOrder (unitgroup inGroup, order inOrder, int inQueueType);
- native void UnitGroupWaitUntilIdle (unitgroup inGroup, int inCount, bool inIdle);
- const int c_unitCountAll = 0;
- const int c_unitCountAlive = 1;
- const int c_unitCountDead = 2;
- native int UnitGroupCount (unitgroup inGroup, int inType);
- native unit UnitGroupUnit (unitgroup inGroup, int inIndex); // index is one-based
- native unit UnitGroupRandomUnit (unitgroup inGroup, int inType);
- native bool UnitGroupHasUnit (unitgroup inGroup, unit inUnit);
- native bool UnitGroupTestPlane (unitgroup inGroup, int inPlane);
- native unit UnitGroupNearestUnit (unitgroup inGroup, point inPoint);
- //--------------------------------------------------------------------------------------------------
- // Unit Reference
- // - A unitref may refer to a unit explicitly or through a unit variable
- //--------------------------------------------------------------------------------------------------
- native unitref UnitRefFromUnit (unit u);
- native unitref UnitRefFromVariable (string v);
- native unit UnitRefToUnit (unitref r);
- //--------------------------------------------------------------------------------------------------
- // Unit Selection
- //
- // Notes:
- // - UnitSelect and UnitGroupSelect set the local selection state,
- // which must be then transmitted across the network.
- //
- // However, UnitIsSelected and UnitGroupSelected query the synchronous selection state,
- // which means that if you set the selection, then immediately query it, the results will
- // not match.
- //
- // - Unit selection state cannot be set during map initialization events.
- //
- //--------------------------------------------------------------------------------------------------
- native void UnitSelect (unit inUnit, int inPlayer, bool inSelect);
- native void UnitGroupSelect (unitgroup inGroup, int inPlayer, bool inSelect);
- native void UnitClearSelection (int inPlayer);
- native bool UnitIsSelected (unit inUnit, int inPlayer);
- native unitgroup UnitGroupSelected (int inPlayer);
- native void UnitFlashSelection (unit inUnit, fixed inPeriod);
- // Control groups
- native void UnitControlGroupAddUnit (int inPlayer, int inGroup, unit inUnit);
- native void UnitControlGroupAddUnits (int inPlayer, int inGroup, unitgroup inUnits);
- native void UnitControlGroupRemoveUnit (int inPlayer, int inGroup, unit inUnit);
- native void UnitControlGroupRemoveUnits (int inPlayer, int inGroup, unitgroup inUnits);
- native void UnitControlGroupClear (int inPlayer, int inGroup);
- //--------------------------------------------------------------------------------------------------
- // User Interface
- //--------------------------------------------------------------------------------------------------
- const fixed c_transitionDurationImmediate = 0.0;
- const fixed c_transitionDurationDefault = -1.0;
- const int c_messageAreaAll = 0;
- const int c_messageAreaChat = 1;
- const int c_messageAreaObjective = 2;
- const int c_messageAreaDirective = 3;
- const int c_messageAreaError = 4;
- const int c_messageAreaSubtitle = 5;
- const int c_messageAreaCinematic = 6;
- const int c_messageAreaDebug = 7;
- const int c_messageAreaWarning = 8;
- const int c_uiModeFullscreen = 0;
- const int c_uiModeLetterboxed = 1;
- const int c_uiModeConsole = 2;
- const int c_mouseButtonNone = 0;
- const int c_mouseButtonLeft = 1;
- const int c_mouseButtonMiddle = 2;
- const int c_mouseButtonRight = 3;
- const int c_mouseButtonXButton1 = 4;
- const int c_mouseButtonXButton2 = 5;
- const int c_scaleNormal = 0;
- const int c_scaleAspect = 1;
- const int c_scaleStretch = 2;
- const int c_keyNone = -1;
- const int c_keyShift = 0;
- const int c_keyControl = 1;
- const int c_keyAlt = 2;
- const int c_key0 = 3;
- const int c_key1 = 4;
- const int c_key2 = 5;
- const int c_key3 = 6;
- const int c_key4 = 7;
- const int c_key5 = 8;
- const int c_key6 = 9;
- const int c_key7 = 10;
- const int c_key8 = 11;
- const int c_key9 = 12;
- const int c_keyA = 13;
- const int c_keyB = 14;
- const int c_keyC = 15;
- const int c_keyD = 16;
- const int c_keyE = 17;
- const int c_keyF = 18;
- const int c_keyG = 19;
- const int c_keyH = 20;
- const int c_keyI = 21;
- const int c_keyJ = 22;
- const int c_keyK = 23;
- const int c_keyL = 24;
- const int c_keyM = 25;
- const int c_keyN = 26;
- const int c_keyO = 27;
- const int c_keyP = 28;
- const int c_keyQ = 29;
- const int c_keyR = 30;
- const int c_keyS = 31;
- const int c_keyT = 32;
- const int c_keyU = 33;
- const int c_keyV = 34;
- const int c_keyW = 35;
- const int c_keyX = 36;
- const int c_keyY = 37;
- const int c_keyZ = 38;
- const int c_keySpace = 39;
- const int c_keyGrave = 40;
- const int c_keyNumPad0 = 41;
- const int c_keyNumPad1 = 42;
- const int c_keyNumPad2 = 43;
- const int c_keyNumPad3 = 44;
- const int c_keyNumPad4 = 45;
- const int c_keyNumPad5 = 46;
- const int c_keyNumPad6 = 47;
- const int c_keyNumPad7 = 48;
- const int c_keyNumPad8 = 49;
- const int c_keyNumPad9 = 50;
- const int c_keyNumPadPlus = 51;
- const int c_keyNumPadMinus = 52;
- const int c_keyNumPadMultiply = 53;
- const int c_keyNumPadDivide = 54;
- const int c_keyNumPadDecimal = 55;
- const int c_keyEquals = 56;
- const int c_keyMinus = 57;
- const int c_keyBracketOpen = 58;
- const int c_keyBracketClose = 59;
- const int c_keyBackSlash = 60;
- const int c_keySemiColon = 61;
- const int c_keyApostrophe = 62;
- const int c_keyComma = 63;
- const int c_keyPeriod = 64;
- const int c_keySlash = 65;
- const int c_keyEscape = 66;
- const int c_keyEnter = 67;
- const int c_keyBackSpace = 68;
- const int c_keyTab = 69;
- const int c_keyLeft = 70;
- const int c_keyUp = 71;
- const int c_keyRight = 72;
- const int c_keyDown = 73;
- const int c_keyInsert = 74;
- const int c_keyDelete = 75;
- const int c_keyHome = 76;
- const int c_keyEnd = 77;
- const int c_keyPageUp = 78;
- const int c_keyPageDown = 79;
- const int c_keyCapsLock = 80;
- const int c_keyNumLock = 81;
- const int c_keyScrollLock = 82;
- const int c_keyPause = 83;
- const int c_keyPrintScreen = 84;
- const int c_keyNextTrack = 85;
- const int c_keyPrevTrack = 86;
- const int c_keyF1 = 87;
- const int c_keyF2 = 88;
- const int c_keyF3 = 89;
- const int c_keyF4 = 90;
- const int c_keyF5 = 91;
- const int c_keyF6 = 92;
- const int c_keyF7 = 93;
- const int c_keyF8 = 94;
- const int c_keyF9 = 95;
- const int c_keyF10 = 96;
- const int c_keyF11 = 97;
- const int c_keyF12 = 98;
- const int c_keyModifierStateIgnore = 0;
- const int c_keyModifierStateRequire = 1;
- const int c_keyModifierStateExclude = 2;
- // Types of custom dialogs
- const int c_customDialogTypeMessage = 0;
- const int c_customDialogTypeQuery = 1;
- // Results of custom dialogs
- const int c_customDialogResultAny = 0;
- const int c_customDialogResultYes = 1;
- const int c_customDialogResultNo = 2;
- // Frames that can be synchronously shown / hidden
- const int c_syncFrameTypeMenuBar = 0;
- const int c_syncFrameTypeCashPanel = 1;
- const int c_syncFrameTypeTipAlertPanel = 2;
- const int c_syncFrameTypeObjectivePanel = 3;
- const int c_syncFrameTypeCharacterSheetButton = 4;
- const int c_syncFrameTypeSupply = 5;
- const int c_syncFrameTypeResourcePanel = 6;
- const int c_syncFrameTypeRoomPanel = 7;
- const int c_syncFrameTypePlanetPanel = 8;
- const int c_syncFrameTypeMercenaryPanel = 9;
- const int c_syncFrameTypeResearchPanel = 10;
- const int c_syncFrameTypePurchasePanel = 11;
- const int c_syncFrameTypeVictoryPanel = 12;
- const int c_syncFrameTypeBattleReportPanel = 13;
- const int c_syncFrameTypeAlertPanel = 14;
- const int c_syncFrameTypeHeroPanel = 15;
- const int c_syncFrameTypeErrorDisplayPanel = 16;
- const int c_syncFrameTypeCreditsPanel = 17;
- const int c_syncFrameTypeTechTreePanel = 18;
- const int c_syncFrameTypeTechGlossaryPanel = 19;
- // Game Menu Dialog Items
- const int c_gameMenuDialogItemAny = -1;
- // Buttons that can be renamed
- const int c_gameMenuDialogAbortButton = 0;
- const int c_gameMenuDialogGenericButton1 = 1;
- const int c_gameMenuDialogGenericButton2 = 2;
- const int c_gameMenuDialogGenericButton3 = 3;
- const int c_gameMenuDialogGenericButton4 = 4;
- const int c_gameMenuDialogGenericButton5 = 5;
- const int c_gameMenuDialogGenericButton6 = 6;
- const int c_gameMenuDialogGenericButton7 = 7;
- const int c_gameMenuDialogGenericButton8 = 8;
- const int c_gameMenuDialogGenericButton9 = 9;
- const int c_gameMenuDialogGenericButton10 = 10;
- // Buttons that cannot be renamed
- const int c_gameMenuDialogOptionsButton = 11;
- const int c_gameMenuDialogLoadButton = 12;
- const int c_gameMenuDialogSaveButton = 13;
- const int c_gameMenuDialogPauseButton = 14;
- const int c_gameMenuDialogRestartButton = 15;
- const int c_gameMenuDialogReturnToGameplayButton = 16;
- const int c_gameMenuDialogRestartDifficultyPulldown = 17;
- const int c_gameMenuDialogQuitButton = 18;
- // UI command allowables
- const int c_uiCommandAllowButtons = 0;
- const int c_uiCommandAllowHotkeys = 1;
- const int c_uiCommandAllowSmartClick = 2;
- const int c_uiCommandAllowModifiers = 3;
- const int c_uiCommandAllowInfoPanel = 4;
- const int c_uiCommandAllowMinimap = 5;
- const int c_uiCommandAllowPings = 6;
- native void UISetMode (playergroup players, int mode, fixed duration);
- native void UISetWorldVisible (playergroup players, bool isVisible);
- native void UISetCursorVisible (playergroup players, bool isCursorVisible);
- native void UISetCursorAutoHide (playergroup players, bool autoHide, fixed delay);
- native void UIDisplayMessage (playergroup players, int messageArea, text messageText);
- native void UIClearMessages (playergroup players, int messageArea);
- native void UIShowCinematicText (playergroup inPlayers, text inMessageText, fixed inTimeBetweenCharacters, fixed inMaxTime, soundlink inSoundLink);
- native void UIHideCinematicText (playergroup inPlayers);
- native void UIShowTextCrawl (playergroup inPlayers, text inTitle, text inText, fixed inMaxTime, soundlink inBirthSoundLink, soundlink inTypeSoundLink);
- native void UIHideTextCrawl (playergroup inPlayers);
- native void UIUnitColorStyleOverride (playergroup inPlayers, int style);
- native void UIUnitColorStyleClearOverride (playergroup inPlayers);
- native void UISetNextLoadingScreen (string imagePath, text title, text subtitle, text body, text help, bool waitForInput);
- native void UISetNextLoadingScreenImageScale (int imageScale);
- native void UISetNextLoadingScreenTextPosition (int anchor, int offsetX, int offsetY, int width, int height);
- native void UISetRestartLoadingScreen (text help);
- // Alerts (message display and recall via spacebar to a given point or unit)
- // - icon may be null for the default icon
- //
- native void UIAlert (string alert, int player, text message, string icon);
- native void UIAlertPoint (string alert, int player, text message, string icon, point p);
- native void UIAlertUnit (string alert, int player, text message, string icon, unit u);
- native void UIAlertClear (int player);
- native void UISetFrameVisible (playergroup inPlayers, int inFrameType, bool inVisible);
- native bool UIFrameVisible (int inPlayer, int inFrameType);
- native void UISetGameMenuItemVisible (playergroup inPlayers, int inMenuItemType, bool inVisible);
- native bool UIGameMenuItemVisible (int inPlayer, int inMenuItemType);
- native void UISetGameMenuItemText (playergroup inPlayers, int inMenuItemType, text inText);
- native void UIClearCustomMenuItemList (playergroup inPlayers);
- native void UISetCustomMenuItemVisible (playergroup inPlayers, int inMenuItemType, bool inVisible);
- native bool UICustomMenuItemVisible (int inPlayer, int inMenuItemType);
- native void UISetCustomMenuItemText (playergroup inPlayers, int inMenuItemType, text inText);
- native void UIShowCustomMenu (playergroup inPlayers, text inTitleText);
- native void UIShowCustomDialog (playergroup inPlayers, int inType, text inTitle, text inText, bool pause);
- native void UISetResourceTradeCountdownTime (int time);
- native void UISetButtonHighlighted (playergroup inPlayers, abilcmd inAbilCmd, bool inHighlight);
- native void UISetMiniMapBackGroundColor (color inColor);
- native void UISetCommandAllowed (playergroup players, int option, bool allow);
- native void UISetCommandDisallowedMessage (playergroup players, text message);
- // User Interface events
- native void TriggerAddEventAbortMission (trigger t, int player);
- native void TriggerAddEventCustomDialogDismissed (trigger t, int player, int result);
- native void TriggerAddEventGameMenuItemSelected (trigger t, int player, int gameMenuIndex);
- native void TriggerAddEventMouseClicked (trigger t, int player, int mouseButton, bool down);
- native void TriggerAddEventKeyPressed (trigger t, int player, int key, bool down, int s, int c, int a);
- native void TriggerAddEventButtonPressed (trigger t, int player, string button);
- native void TriggerAddEventGameCreditsFinished (trigger t, int player);
- native int EventCustomDialogResult ();
- native int EventGameMenuItemSelected ();
- native int EventMouseClickedButton ();
- native int EventMouseClickedPosXUI ();
- native int EventMouseClickedPosYUI ();
- native fixed EventMouseClickedPosXWorld ();
- native fixed EventMouseClickedPosYWorld ();
- native fixed EventMouseClickedPosZWorld ();
- native int EventKeyPressed ();
- native bool EventKeyShift ();
- native bool EventKeyControl ();
- native bool EventKeyAlt ();
- native string EventButtonPressed ();
- //--------------------------------------------------------------------------------------------------
- // Visibility
- //--------------------------------------------------------------------------------------------------
- const int c_visTypeMask = 0;
- const int c_visTypeFog = 1;
- native void VisEnable (int visType, bool enable);
- native bool VisIsEnabled (int visType);
- native void VisExploreArea (int player, region area, bool explored, bool checkCliffLevel);
- native void VisRevealArea (int player, region area, fixed duration, bool checkCliffLevel); // Zero duration means permanent
- native revealer VisRevealerCreate (int player, region area);
- native revealer VisRevealerLastCreated ();
- native void VisRevealerDestroy (revealer r);
- native void VisRevealerEnable (revealer r, bool enable);
- native void VisRevealerUpdate (revealer r); // Update revealer after region has changed
- include "TriggerLibs/AI"
- include "TriggerLibs/CampaignAI"
- include "TriggerLibs/MeleeAI"
- include "TriggerLibs/TacticalAI"
- // $AS - Trigger Editor(Bug 33070): In order for line numbers to be correct you need a newline at the end of this file
Add Comment
Please, Sign In to add comment