ScriptActions.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. /*
  2. ** Command & Conquer Generals Zero Hour(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. ////////////////////////////////////////////////////////////////////////////////
  19. // //
  20. // (c) 2001-2003 Electronic Arts Inc. //
  21. // //
  22. ////////////////////////////////////////////////////////////////////////////////
  23. // FILE: ScriptActions.h ///////////////////////////////////////////////////////////////////////////
  24. // Executes script actions for the scripting engine.
  25. // Author: John Ahlquist, Nov 2001
  26. ///////////////////////////////////////////////////////////////////////////////////////////////////
  27. #pragma once
  28. #ifndef __SCRIPTACTIONS_H_
  29. #define __SCRIPTACTIONS_H_
  30. class ScriptAction;
  31. class GameWindow;
  32. class Team;
  33. class View;
  34. enum AudioAffect;
  35. //-----------------------------------------------------------------------------
  36. // ScriptActionsInterface
  37. //-----------------------------------------------------------------------------
  38. /** Pure virtual class for Script Actions interface format */
  39. //-----------------------------------------------------------------------------
  40. class ScriptActionsInterface : public SubsystemInterface
  41. {
  42. public:
  43. virtual ~ScriptActionsInterface() { };
  44. virtual void init( void ) = 0; ///< Init
  45. virtual void reset( void ) = 0; ///< Reset
  46. virtual void update( void ) = 0; ///< Update
  47. virtual void executeAction( ScriptAction *pAction ) = 0; ///< execute a script action.
  48. virtual void closeWindows( Bool suppressNewWindows ) = 0;
  49. // Called by the script engine in postProcessLoad()
  50. virtual void doEnableOrDisableObjectDifficultyBonuses(Bool enableBonuses) = 0;
  51. }; // end class ScriptActionsInterface
  52. extern ScriptActionsInterface *TheScriptActions; ///< singleton definition
  53. //-----------------------------------------------------------------------------
  54. // ScriptActions
  55. //-----------------------------------------------------------------------------
  56. /** Implementation for the Script Engine singleton */
  57. //-----------------------------------------------------------------------------
  58. class ScriptActions : public ScriptActionsInterface
  59. {
  60. public:
  61. ScriptActions();
  62. ~ScriptActions();
  63. public:
  64. virtual void init( void ); ///< Init
  65. virtual void reset( void ); ///< Reset
  66. virtual void update( void ); ///< Update
  67. void executeAction( ScriptAction *pAction );
  68. void closeWindows( Bool suppressNewWindows );
  69. void doEnableOrDisableObjectDifficultyBonuses(Bool enableBonuses);
  70. protected:
  71. static GameWindow *m_messageWindow;
  72. static void clearWindow(void) {m_messageWindow=NULL;};
  73. Bool m_suppressNewWindows;
  74. AsciiString m_unnamedUnit;
  75. protected: // helper functions
  76. void changeObjectPanelFlagForSingleObject(Object *obj, const AsciiString& flagToChange, Bool newVal );
  77. protected:
  78. void doChooseVictimAlwaysUsesNormal(Bool enable);
  79. void doDebugMessage(const AsciiString& msg, Bool pause);
  80. void doPlaySoundEffect(const AsciiString& sound);
  81. void doMoveCameraTo(const AsciiString& waypoint, Real sec, Real cameraStutterSec, Real easeIn, Real easeOut);
  82. void doSetupCamera(const AsciiString& waypoint, Real zoom, Real pitch, const AsciiString& lookAtWaypoint);
  83. void doRotateCamera(Real rotations, Real sec, Real easeIn, Real easeOut);
  84. void doRotateCameraTowardObject(const AsciiString& unitName, Real sec, Real holdSec, Real easeIn, Real easeOut);
  85. void doRotateCameraTowardWaypoint(const AsciiString& unitName, Real sec, Real easeIn, Real easeOut, Bool reverseRotation);
  86. void doPitchCamera(Real pitch, Real sec, Real easeIn, Real easeOut);
  87. void doZoomCamera(Real zoom, Real sec, Real easeIn, Real easeOut);
  88. void doResetCamera(const AsciiString& waypoint, Real sec, Real easeIn, Real easeOut);
  89. void doCameraFollowNamed(const AsciiString& unit, Bool snapToUnit);
  90. void doStopCameraFollowUnit(void);
  91. void doCameraTetherNamed(const AsciiString& unit, Bool snapToUnit, Real play);
  92. void doCameraStopTetherNamed(void);
  93. void doCameraSetDefault(Real pitch, Real angle, Real maxHeight);
  94. void doOversizeTheTerrain(Int amount);
  95. void doMoveCameraAlongWaypointPath(const AsciiString& waypoint, Real sec, Real cameraStutterSec, Real easeIn, Real easeOut);
  96. void doPlaySoundEffectAt(const AsciiString& sound, const AsciiString& waypoint);
  97. void doVictory(void);
  98. void doQuickVictory(void);
  99. void doSetInfantryLightingOverride(Real setting);
  100. void doDamageTeamMembers(const AsciiString& team, Real amount);
  101. void doModCameraMoveToSelection(void);
  102. void doDefeat(void);
  103. void doLocalDefeat(void);
  104. void doMoveToWaypoint(const AsciiString& team, const AsciiString& waypoint);
  105. void doNamedMoveToWaypoint(const AsciiString& unit, const AsciiString& waypoint);
  106. void doSetTeamState(const AsciiString& team, const AsciiString& state);
  107. void doCreateReinforcements(const AsciiString& team, const AsciiString& waypoint);
  108. void doModCameraLookToward(const AsciiString& waypoint);
  109. void doModCameraFinalLookToward(const AsciiString& waypoint);
  110. void doCreateObject(const AsciiString& objectName, const AsciiString& thingName, const AsciiString& team, Coord3D *pos, Real angle);
  111. void doAttack(const AsciiString& attackerName, const AsciiString& victimName);
  112. void doNamedAttack(const AsciiString& attackerName, const AsciiString& victimName);
  113. void doBuildBuilding(const AsciiString& buildingType);
  114. void doBuildSupplyCenter(const AsciiString& playerName, const AsciiString& buildingType, Int cash);
  115. void doBuildObjectNearestTeam( const AsciiString& playerName, const AsciiString& buildingType, const AsciiString& teamName );
  116. void doBuildUpgrade(const AsciiString& playerName, const AsciiString& upgrade);
  117. void doBuildBaseDefense(Bool flank);
  118. void doBuildBaseStructure(const AsciiString& buildingType, Bool flank);
  119. void createUnitOnTeamAt(const AsciiString& unitName, const AsciiString& objType, const AsciiString& teamName, const AsciiString& waypoint);
  120. void doNamedAttackArea(const AsciiString& unitName, const AsciiString& areaName);
  121. void doNamedAttackTeam(const AsciiString& unitName, const AsciiString& teamName);
  122. void doTeamAttackArea(const AsciiString& teamName, const AsciiString& areaName);
  123. void doTeamAttackNamed(const AsciiString& teamName, const AsciiString& unitName);
  124. void doNamedEnterNamed(const AsciiString& unitSrcName, const AsciiString& unitDestName);
  125. void doTeamEnterNamed(const AsciiString& teamName, const AsciiString& unitDestName);
  126. void doNamedExitAll(const AsciiString& unitName);
  127. void doTeamExitAll(const AsciiString& teamName);
  128. void doNamedSetGarrisonEvacDisposition(const AsciiString& unitName, UnsignedInt disp );
  129. void doNamedFollowWaypoints(const AsciiString& unitName, const AsciiString& waypointName);
  130. void doTeamFollowWaypoints(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  131. void doTeamFollowWaypointsExact(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  132. void doNamedFollowWaypointsExact(const AsciiString& unitName, const AsciiString& waypointName);
  133. void doTeamFollowSkirmishApproachPath(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  134. void doTeamMoveToSkirmishApproachPath(const AsciiString& teamName, const AsciiString& waypointName);
  135. void doNamedHunt(const AsciiString& unitName);
  136. void doTeamHunt(const AsciiString& teamName);
  137. void doTeamHuntWithCommandButton(const AsciiString& teamName, const AsciiString& commandButton);
  138. void doPlayerHunt(const AsciiString& playerName);
  139. void doNamedDelete(const AsciiString& unitName);
  140. void doTeamGarrisonSpecificBuilding(const AsciiString& teamName, const AsciiString& buildingName);
  141. void doTeamGarrisonNearestBuilding(const AsciiString& teamName);
  142. void doTeamExitAllBuildings(const AsciiString& teamName);
  143. void doExitSpecificBuilding(const AsciiString& buildingName);
  144. void doUnitGarrisonSpecificBuilding(const AsciiString& unitName, const AsciiString& buildingName);
  145. void doUnitGarrisonNearestBuilding(const AsciiString& unitName);
  146. void doUnitExitBuilding(const AsciiString& unitName);
  147. void doPlayerGarrisonAllBuildings(const AsciiString& playerName);
  148. void doPlayerExitAllBuildings(const AsciiString& playerName);
  149. void doLetterBoxMode(Bool startLetterbox); // if true, start it. If false, end it.
  150. void doBlackWhiteMode(Bool startBWMode, Int frames); // if true, start it. If false, end it.
  151. void doSkyBox(Bool showSkyBox); // if true, start it. If false, end it.
  152. void doWeather(Bool showWeather); // if true, show weather effects defined in INI file.
  153. void doFreezeTime( void );
  154. void doUnfreezeTime( void );
  155. void doMilitaryCaption(const AsciiString& briefing, Int duration);
  156. void doCameraSetAudibleDistance(Real audibleDistance);
  157. void doNamedSetHeld(const AsciiString& unit, Bool held);
  158. void doNamedSetStoppingDistance(const AsciiString& unit, Real stoppingDistance);
  159. void doSetStoppingDistance(const AsciiString& team, Real stoppingDistance);
  160. void doDisableSpecialPowerDisplay( void );
  161. void doEnableSpecialPowerDisplay( void );
  162. void doNamedHideSpecialPowerDisplay( const AsciiString& unit );
  163. void doNamedShowSpecialPowerDisplay( const AsciiString& unit );
  164. void doNamedStopSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Bool stop );
  165. void doNamedSetSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Int frames );
  166. void doNamedAddSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Int frames );
  167. void doNamedFireSpecialPowerAtWaypoint( const AsciiString& unit, const AsciiString& specialPower, const AsciiString& waypoint );
  168. void doNamedFireSpecialPowerAtNamed( const AsciiString& unit, const AsciiString& specialPower, const AsciiString& target );
  169. void doSkirmishFireSpecialPowerAtMostCost( const AsciiString& player, const AsciiString& specialPower );
  170. void doNamedFireWeaponFollowingWaypointPath( const AsciiString& unit, const AsciiString& waypointPath );
  171. void doNamedUseCommandButtonAbility( const AsciiString& unit, const AsciiString& ability );
  172. void doNamedUseCommandButtonAbilityOnNamed( const AsciiString& unit, const AsciiString& ability, const AsciiString& target );
  173. void doNamedUseCommandButtonAbilityAtWaypoint( const AsciiString& unit, const AsciiString& ability, const AsciiString& waypoint );
  174. void doNamedUseCommandButtonAbilityUsingWaypointPath( const AsciiString& unit, const AsciiString& ability, const AsciiString& waypointPath );
  175. void doTeamUseCommandButtonAbility( const AsciiString& team, const AsciiString& ability );
  176. void doTeamUseCommandButtonAbilityOnNamed( const AsciiString& team, const AsciiString& ability, const AsciiString& target );
  177. void doTeamUseCommandButtonAbilityAtWaypoint( const AsciiString& team, const AsciiString& ability, const AsciiString& waypoint );
  178. void doDisplayCountdownTimer(const AsciiString& timerName, const AsciiString& timerText);
  179. void doHideCountdownTimer(const AsciiString& timerName);
  180. void doDisableCountdownTimerDisplay(void);
  181. void doEnableCountdownTimerDisplay(void);
  182. void doDisplayCounter(const AsciiString& counterName, const AsciiString& counterText);
  183. void doHideCounter(const AsciiString& counterName);
  184. void doAudioSetVolume(AudioAffect whichToAffect, Real newVolumeLevel);
  185. void doTransferTeamToPlayer(const AsciiString& teamName, const AsciiString& playerName);
  186. void doSetMoney(const AsciiString& playerName, Int money); // Set a player's cash reserves to a specific value.
  187. void doGiveMoney(const AsciiString& playerName, Int money); // Add/subtract cash from a player's reserves.
  188. void updateNamedAttackPrioritySet(const AsciiString& unitName, const AsciiString& attackPrioritySet);
  189. void updateTeamAttackPrioritySet(const AsciiString& teamName, const AsciiString& attackPrioritySet);
  190. void updateBaseConstructionSpeed(const AsciiString& playerName, Int speed);
  191. void updateNamedSetAttitude(const AsciiString& unitName, Int attitude);
  192. void updateTeamSetAttitude(const AsciiString& teamName, Int attitude);
  193. void doNamedSetRepulsor(const AsciiString& unitName, Bool repulsor);
  194. void doTeamSetRepulsor(const AsciiString& teamName, Bool repulsor);
  195. void doLoadAllTransports(const AsciiString& teamName);
  196. void doNamedGuard(const AsciiString& unitName);
  197. void doTeamGuard(const AsciiString& teamName);
  198. void doTeamGuardPosition(const AsciiString& teamName, const AsciiString& waypointName);
  199. void doTeamGuardObject(const AsciiString& teamName, const AsciiString& unitName);
  200. void doTeamGuardArea(const AsciiString& teamName, const AsciiString& areaName);
  201. void doPlayerSellEverything(const AsciiString& playerName);
  202. void doPlayerDisableBaseConstruction(const AsciiString& playerName);
  203. void doPlayerDisableFactories(const AsciiString& playerName, const AsciiString& objectName);
  204. void doPlayerDisableUnitConstruction(const AsciiString& playerName);
  205. void doPlayerEnableBaseConstruction(const AsciiString& playerName);
  206. void doPlayerEnableFactories(const AsciiString& playerName, const AsciiString& objectName);
  207. void doPlayerRepairStructure(const AsciiString& playerName, const AsciiString& objectName);
  208. void doPlayerEnableUnitConstruction(const AsciiString& playerName);
  209. void doCameraMoveHome(void);
  210. void doBuildTeam(const AsciiString& teamName);
  211. void doRecruitTeam(const AsciiString& teamName, Real recrutiRadius);
  212. void doNamedDamage(const AsciiString& unitName, Int damageAmt);
  213. void doTeamDelete(const AsciiString& teamName, Bool ignoreDead);
  214. void doTeamIncreasePriority(const AsciiString& teamName);
  215. void doTeamDecreasePriority(const AsciiString& teamName);
  216. void doTeamWander(const AsciiString& teamName, const AsciiString& waypointName);
  217. void doTeamPanic(const AsciiString& teamName, const AsciiString& waypointName);
  218. void doTeamWanderInPlace(const AsciiString& teamName);
  219. void doNamedKill(const AsciiString& unitName);
  220. void doTeamKill(const AsciiString& teamName);
  221. void doPlayerKill(const AsciiString& playerName);
  222. void doDisplayText(const AsciiString& displayText);
  223. void doDisplayCinematicText(const AsciiString& displayText, const AsciiString& fontType, Int timeInSeconds);
  224. void doCameoFlash(const AsciiString& cameoFlash, Int timeInSeconds);
  225. void doNamedFlash(const AsciiString& unitName, Int timeInSeconds, const RGBColor *color);
  226. void doNamedCustomColor(const AsciiString& unitName, Color c);
  227. void doTeamFlash(const AsciiString& teamName, Int timeInSeconds, const RGBColor *color);
  228. void doMoviePlayFullScreen(const AsciiString& movieName);
  229. void doMoviePlayRadar(const AsciiString& movieName);
  230. void doSoundPlayFromNamed(const AsciiString& soundName, const AsciiString& unitName);
  231. void doSpeechPlay(const AsciiString& speechName, Bool allowOverlap);
  232. void doPlayerTransferAssetsToPlayer(const AsciiString& playerSrcName, const AsciiString& playerDstName);
  233. void doNamedTransferAssetsToPlayer(const AsciiString& unitName, const AsciiString& playerDstName);
  234. void excludePlayerFromScoreScreen(const AsciiString& playerName);
  235. void enableScoring(Bool score);
  236. void updatePlayerRelationTowardPlayer(const AsciiString& playerSrcName, Int relationType, const AsciiString& playerDestPlayer);
  237. void doRadarCreateEvent(Coord3D *pos, Int eventType);
  238. void doRadarDisable(void);
  239. void doRadarEnable(void);
  240. void doNamedEnableStealth(const AsciiString& unitName, Bool enabled);
  241. void doTeamEnableStealth(const AsciiString& teamName, Bool enabled);
  242. void doNamedSetUnmanned( const AsciiString& unitName );
  243. void doTeamSetUnmanned( const AsciiString& teamName );
  244. void doNamedSetBoobytrapped( const AsciiString& thingTemplateName, const AsciiString& unitName );
  245. void doTeamSetBoobytrapped( const AsciiString& thingTemplateName, const AsciiString& teamName );
  246. void doRevealMapAtWaypoint(const AsciiString& waypointName, Real radiusToReveal, const AsciiString& playerName);
  247. void doShroudMapAtWaypoint(const AsciiString& waypointName, Real radiusToShroud, const AsciiString& playerName);
  248. void doTeamAvailableForRecruitment(const AsciiString& teamName, Bool availability);
  249. void doCollectNearbyForTeam(const AsciiString& teamName);
  250. void doMergeTeamIntoTeam(const AsciiString& teamSrcName, const AsciiString& teamDestName);
  251. void doIdleAllPlayerUnits(const AsciiString& playerName);
  252. void doResumeSupplyTruckingForIdleUnits(const AsciiString& playerName);
  253. void doDisableInput();
  254. void doEnableInput();
  255. void doSetBorderShroud( Bool setting );
  256. void doAmbientSoundsPause(Bool pausing); // if true, then pause, if false then resume.
  257. void doMusicTrackChange(const AsciiString& newTrackName, Bool fadeout, Bool fadein);
  258. void doRevealMapEntire(const AsciiString& playerName);
  259. void doRevealMapEntirePermanently( Bool reveal, const AsciiString& playerName );
  260. void doShroudMapEntire(const AsciiString& playerName);
  261. void doCameraMotionBlur(Bool zoomIn, Bool saturate);
  262. void doCameraMotionBlurJump(const AsciiString& waypointName, Bool saturate);
  263. void doRadarRefresh( void );
  264. void doNamedStop(const AsciiString& unitName);
  265. void doTeamStop(const AsciiString& teamName, Bool shouldDisband);
  266. void doTeamSetOverrideRelationToTeam(const AsciiString& teamName, const AsciiString& otherTeam, Int relation);
  267. void doTeamRemoveOverrideRelationToTeam(const AsciiString& teamName, const AsciiString& otherTeam);
  268. void doTeamSetOverrideRelationToPlayer(const AsciiString& teamName, const AsciiString& otherPlayer, Int relation);
  269. void doTeamRemoveOverrideRelationToPlayer(const AsciiString& teamName, const AsciiString& otherPlayer);
  270. void doPlayerSetOverrideRelationToTeam(const AsciiString& playerName, const AsciiString& otherTeam, Int relation);
  271. void doPlayerRemoveOverrideRelationToTeam(const AsciiString& playerName, const AsciiString& otherTeam);
  272. void doTeamRemoveAllOverrideRelations(const AsciiString& teamName);
  273. void doUnitStartSequentialScript(const AsciiString& unitName, const AsciiString& scriptName, Int loopVal);
  274. void doUnitStopSequentialScript(const AsciiString& unitName);
  275. void doTeamStartSequentialScript(const AsciiString& teamName, const AsciiString& scriptName, Int loopVal);
  276. void doTeamStopSequentialScript(const AsciiString& teamName);
  277. void doUnitGuardForFramecount(const AsciiString& unitName, Int framecount);
  278. void doUnitIdleForFramecount(const AsciiString& unitName, Int framecount);
  279. void doTeamGuardForFramecount(const AsciiString& teamName, Int framecount);
  280. void doTeamIdleForFramecount(const AsciiString& teamName, Int framecount);
  281. void doWaterChangeHeight(const AsciiString& waterName, Real newHeight);
  282. void doWaterChangeHeightOverTime( const AsciiString& waterName, Real newHeight, Real time, Real damage );
  283. void doBorderSwitch(Int borderToUse);
  284. void doForceObjectSelection(const AsciiString& teamName, const AsciiString& objectType, Bool centerInView, const AsciiString& audioToPlay);
  285. void doDestroyAllContained(const AsciiString& unitName, Int damageType);
  286. void doRadarForceEnable(void);
  287. void doRadarRevertNormal(void);
  288. void doScreenShake( UnsignedInt intensity );
  289. void doModifyBuildableStatus( const AsciiString& objectType, Int buildableStatus );
  290. void doSetWarehouseValue( const AsciiString& warehouseName, Int cashValue );
  291. void doSetCaveIndex( const AsciiString& caveName, Int caveIndex );
  292. void doObjectRadarCreateEvent( const AsciiString& unitName, Int eventType );
  293. void doTeamRadarCreateEvent( const AsciiString& teamName, Int eventType );
  294. void doSoundEnableType( const AsciiString& soundEventName, Bool enable );
  295. void doSoundRemoveType( const AsciiString& soundEventName );
  296. void doSoundRemoveAllDisabled();
  297. void doSoundOverrideVolume( const AsciiString& soundEventName, Real newVolume );
  298. void doInGamePopupMessage( const AsciiString& message, Int x, Int y, Int width, Bool pause );
  299. void doSetToppleDirection( const AsciiString& unitName, const Coord3D* direction);
  300. void doMoveUnitTowardsNearest( const AsciiString& unitName, const AsciiString& objectType, AsciiString triggerName);
  301. void doMoveTeamTowardsNearest( const AsciiString& teamName, const AsciiString& objectType, AsciiString triggerName);
  302. void doUnitReceiveUpgrade( const AsciiString& unitName, const AsciiString& upgradeName );
  303. void doSkirmishAttackNearestGroupWithValue( const AsciiString& teamName, Int comparison, Int value );
  304. void doSkirmishCommandButtonOnMostValuable( const AsciiString& teamName, const AsciiString& commandButton, Real range, Bool allTeamMembers);
  305. void doTeamSpinForFramecount( const AsciiString& teamName, Int waitForFrames );
  306. void doTeamUseCommandButtonOnNamed( const AsciiString& teamName, const AsciiString& commandAbility, const AsciiString& unitName );
  307. void doTeamUseCommandButtonOnNearestEnemy( const AsciiString& teamName, const AsciiString& commandAbility );
  308. void doTeamUseCommandButtonOnNearestGarrisonedBuilding( const AsciiString& teamName, const AsciiString& commandAbility );
  309. void doTeamUseCommandButtonOnNearestKindof( const AsciiString& teamName, const AsciiString& commandAbility, Int kindofBit );
  310. void doTeamUseCommandButtonOnNearestBuilding( const AsciiString& teamName, const AsciiString& commandAbility );
  311. void doTeamUseCommandButtonOnNearestBuildingClass( const AsciiString& teamName, const AsciiString& commandAbility, Int kindofBit );
  312. void doTeamUseCommandButtonOnNearestObjectType( const AsciiString& teamName, const AsciiString& commandAbility, const AsciiString& objectType );
  313. void doTeamPartialUseCommandButton( Real percentage, const AsciiString& teamName, const AsciiString& commandAbility );
  314. void doTeamCaptureNearestUnownedFactionUnit( const AsciiString& teamName );
  315. void doCreateTeamFromCapturedUnits( const AsciiString& playerName, const AsciiString& teamName );
  316. void doPlayerAddSkillPoints(const AsciiString& playerName, Int delta);
  317. void doPlayerAddRankLevels(const AsciiString& playerName, Int delta);
  318. void doPlayerSetRankLevel(const AsciiString& playerName, Int level);
  319. void doMapSetRankLevelLimit(Int level);
  320. void doPlayerGrantScience(const AsciiString& playerName, const AsciiString& scienceName);
  321. void doPlayerPurchaseScience(const AsciiString& playerName, const AsciiString& scienceName);
  322. void doPlayerSetScienceAvailability( const AsciiString& playerName, const AsciiString& scienceName, const AsciiString& scienceAvailability );
  323. void doTeamEmoticon(const AsciiString& teamName, const AsciiString& emoticonName, Real duration);
  324. void doNamedEmoticon(const AsciiString& unitName, const AsciiString& emoticonName, Real duration);
  325. void doObjectTypeListMaintenance(const AsciiString& objectList, const AsciiString& objectType, Bool addObject);
  326. void doRevealMapAtWaypointPermanent(const AsciiString& waypointName, Real radiusToReveal, const AsciiString& playerName, const AsciiString& lookName);
  327. void doUndoRevealMapAtWaypointPermanent(const AsciiString& lookName);
  328. void doEvaEnabledDisabled(Bool setEnabled);
  329. void doSetOcclusionMode(Bool setEnabled);
  330. void doC3CameraEnableSlaveMode( const AsciiString &thingTemplateName, const AsciiString &boneName );
  331. void doSetDrawIconUIMode(Bool setEnabled);
  332. void doC3CameraDisableSlaveMode( void );
  333. void doSetDynamicLODMode(Bool setEnabled);
  334. void doAffectObjectPanelFlagsUnit(const AsciiString& unitName, const AsciiString& flagName, Bool enable);
  335. void doAffectObjectPanelFlagsTeam(const AsciiString& teamName, const AsciiString& flagName, Bool enable);
  336. void doGuardSupplyCenter(const AsciiString& teamName, Int supplies);
  337. void doTeamGuardInTunnelNetwork(const AsciiString& teamName);
  338. void doAffectPlayerSkillset(const AsciiString& playerName, Int skillset);
  339. void doC3CameraShake( const AsciiString &waypointName, Real amplitude, Real duration_seconds, Real radius );
  340. void doOverrideHulkLifetime( Real seconds );
  341. void doNamedFaceNamed( const AsciiString &unitName, const AsciiString &faceUnitName );
  342. void doNamedFaceWaypoint( const AsciiString &unitName, const AsciiString &faceWaypointName );
  343. void doTeamFaceNamed( const AsciiString &teamName, const AsciiString &faceUnitName );
  344. void doTeamFaceWaypoint( const AsciiString &teamName, const AsciiString &faceWaypointName );
  345. void doRemoveCommandBarButton(const AsciiString& commandBarButton, const AsciiString& objectType);
  346. void doAddCommandBarButton(const AsciiString& commandBarButton, const AsciiString& objectType, Int slotNum);
  347. void doAffectSkillPointsModifier(const AsciiString& playerName, Real newModifier);
  348. void doResizeViewGuardband(const Real gbx, const Real gby );
  349. void deleteAllUnmanned();
  350. void doNamedSetTrainHeld( const AsciiString &locoName, const Bool set );
  351. void doEnableObjectSound(const AsciiString& objectName, Bool enable);
  352. }; // end class ScriptActions
  353. #endif // end __SCRIPTACTIONS_H_