trigger(func)

This is the constructor. It defines the function(s) that will be called iteratively and registers them.

priority(int=1)

This method defines the priority the trigger has.

enable()

This method activates the trigger.

disable()

This method deactivates the trigger.

Every trigger starts with a preceding function that contains the code we want "triggered". To make it a trigger, you would create a new Trigger object specifying the function(s) you want to work with:

   function trigName() 
   {
      if(accumulated("food") >= 500) 
      {
         sendchat("this player has 500+ food!");
      }
   }
   
   trigger = new trigger(trigName());

Now, The trigger is registered and recognized by the engine. You, then, have to activate it to make it work. To activate/deactivate triggers, you use the enable and disable methods. For optimization, you can also set a priority for triggers within 4 different levels (1 being default). Priority must be called before enabling it:

   trigger.priority(4);
   trigger.enable;
   trigger.disable;

Additionally, you may want to group functions for easy modification and work with them as you would with one. So, you can create a trigger group like this:

   trigger = new trigger(trigName(), trigFoo(), trigBar());

Trigger Reference

Conditions:

   trigAISignal(ai, signal);
   trigCinematicAbort();
   trigAccumulated(player, attr);
   trigUnitsAllDead();
   trigBuildingsAllDead();
   trigBringObjectToArea();                         // Waiting for Bobby to define this
   trigBringObjectToObject();                       // Waiting for Bobby to define this
   trigCheatEntered(string);
   trigChatContains(string);
   trigChatChoiceAnswer(string);
   trigChance(int);
   trigObjectDestroyed(object);
   trigDifficulty();
   trigDiplomacyChange(source, target, type = all);
   trigDistanceToPoint(object, point, radius);
   trigDistanceToObject(source, target, radius);
   trigPercentComplete(object);
   trigPercentDamaged(object);
   trigLogCompare();                                // what is this?
   trigLogCheck();                                  // what is this?
   trigVarCompare();                                // what is this?
   trigVarCheck();                                  // what is this?
   trigObjectInteracted();                          // how is this used?
   trigObjectActive(object);
   trigObjectDead(object);
   trigObjectChanged(object);
   trigObjectVisible(player, object, amount);
   trigObjectsInArea(object, area);
   trigObjectOwned(player, object);
   trigObjectCaptured(player, object);
   trigObjectSelected(player, object);
   trigObjectTypeSelected(player, type);
   trigObjectGarrisoned(object, type, amount);
   trigPlayerActive(player);
   trigPlayerAtPop(player);
   trigPlayerDefeated(player);
   trigPlayerDistanceToPoint(player, point, radius);
   trigPlayerDistanceToObject(player, target, radius);
   trigPlayerIsBuilding(player, type);
   trigPlayerResigned(player);
   trigPlayerUnitCount(player, type);
   trigTechResearch(player, tech);
   trigTechResearched(player, tech);
   trigTechResearching(player, tech);
   trigTimer(ms);

Effects:

   trigAIScriptGoal(); // details here
   trigCampaignAdvance();
   trigCampaignNext();
   trigAreaStringChange();
   trigHeroChange();
   trigBlockAllAmbient();
   trigBlockAllMusic();
   trigBlockAllSounds();
   trigCameraCut();
   trigCameraTrack();
   trigChangeDiplomacy();
   trigChangeElevation();
   trigChangeOwnership();
   trigChangeTerrain();
   trigChangeView();
   trigCheats();
   trigChat();
   trigCinematicMode();
   trigChatClear();
   trigUIClear();
   trigCounterValueAdd();
   trigCounterStop();
   trigCounter(); //isn't this a condition just like timer?
   trigCounterClear();
   trigWaterCreate();
   trigDeclareVictory();
   trigDisplayInstructions();
   trigEndGame();
   trigUnitEnable();
   trigFadeToColor();
   trigFadeOutSounds();
   trigFadeOutMusic();
   trigMinimapFlare();
   trigUIFlash();
   trigUIFlashCategory();
   trigUIFlashTech();
   trigUIFlashTrain();
   trigFlashObjects();
   trigMinimapFlashObjects();
   trigGameSpeed();
   trigMainMenu();
   trigGroupChange();
   trigGrantResources();
   trigHealUnit();
   trigHideScore();
   trigHighlightUnits();
   trigKillObject();
   trigKillObjectsInArea();
   trigLockAllGates();
   trigLockGate();
   trigLog();
   trigLogChange();
   trigModifyObject();
   trigModifyObjectAbility();
   trigModifyObjectIcon();
   trigModifyObjectName();
   trigModifyResourceValue();
   trigMoveObjectToArea();
   trigMusicFilename();
   trigMusicMood();
   trigMusicPlay();
   trigMusicStop();
   trigObjectAnimation();
   trigObjectChangeType();
   trigObjectCreate();
   trigObjectDamage();
   trigObjectDamageInArea();
   // cheezy's did you check with them to see if this was possible? maybe load them at start
   // and do a switch type thing?
   trigObjectFileLoad(); 
   trigObjectFreeze();
   trigObjectHeading();
   trigObjectInAreaMove();
   trigObjectScale();
   trigObjectStop();
   trigObjectTask();
   trigPatrol();
   trigGamePause();
   trigObjectiveWindowPause();
   // kinda redundant, why not just make conditions to check if they are open, then do game pause?
   trigPhaseUpgradePause(); 
   trigPlaceFoundation();
   trigPlayDialogue();
   trigPlayDialogueChoice();
   trigPlayRPGDialogue();
   trigPlayMovie();
   trigPlaySound();
   trigPlayerDestroyAllBuildings();
   trigPlayerDestroyAllUnits();
   trigPlayerLOSChange();
   trigPlayerSetActive();
   trigPlayNextMusicTrack();
   trigRateConstruction();
   trigRateResearch();
   trigRateTraining();
   trigRateReset();
   trigDataLog();
   trigRemoveMiniMap();
   trigRemoveObject();
   trigRemoveObjectsInArea();
   trigRenderFog();
   trigRenderRain();
   trigRenderSky();
   trigRenderSnow();
   trigReshroud();
   trigRevealMap();
   trigChatSend();
   trigChatSendChoice();
   trigSetPlaylist();
   trigSetLighting();
   trigSetObjective();
   trigSetHint();
   trigDefeatPlayer();
   trigPlayerWon();
   trigUnitOutlines();
   trigUnitScramble();
   trigShakeCamera();
   trigSoundFilename();
   trigSoundPause();
   trigScrambleStop();
   trigTechStatus();
   trigTeleportUnits();
   trigToggleView();
   trigToggleTerritories();
   trigTransferResources();
   trigTributeResources();
   trigUnblockAllAmbient();
   trigUnblockAllSounds();
   trigUnblockMusic();
   trigUnfreezeUnit();
   trigUnload();
   trigUnlockGate();
   trigUnitBuildBuilding();
   trigUnitGarrison();
   trigUnitWork();
   trigUserControls();
   trigWinMessageSet();
   trigLossMessageSet();
   trigWriteToLog();
   trigYouLose();
   trigYouWin();
Last modified 16 years ago Last modified on Feb 23, 2008, 4:18:59 AM
Note: See TracWiki for help on using the wiki.