ScriptActions.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. /*
  2. ** Command & Conquer Generals(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);
  82. void doSetupCamera(const AsciiString& waypoint, Real zoom, Real pitch, const AsciiString& lookAtWaypoint);
  83. void doRotateCamera(Real rotations, Real sec);
  84. void doRotateCameraTowardObject(const AsciiString& unitName, Real sec, Real holdSec);
  85. void doRotateCameraTowardWaypoint(const AsciiString& unitName, Real sec);
  86. void doPitchCamera(Real pitch, Real sec);
  87. void doZoomCamera(Real zoom, Real sec);
  88. void doResetCamera(const AsciiString& waypoint, Real sec);
  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);
  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 doBuildUpgrade(const AsciiString& playerName, const AsciiString& upgrade);
  116. void doBuildBaseDefense(Bool flank);
  117. void doBuildBaseStructure(const AsciiString& buildingType, Bool flank);
  118. void createUnitOnTeamAt(const AsciiString& unitName, const AsciiString& objType, const AsciiString& teamName, const AsciiString& waypoint);
  119. void doNamedAttackArea(const AsciiString& unitName, const AsciiString& areaName);
  120. void doNamedAttackTeam(const AsciiString& unitName, const AsciiString& teamName);
  121. void doTeamAttackArea(const AsciiString& teamName, const AsciiString& areaName);
  122. void doTeamAttackNamed(const AsciiString& teamName, const AsciiString& unitName);
  123. void doNamedEnterNamed(const AsciiString& unitSrcName, const AsciiString& unitDestName);
  124. void doTeamEnterNamed(const AsciiString& teamName, const AsciiString& unitDestName);
  125. void doNamedExitAll(const AsciiString& unitName);
  126. void doTeamExitAll(const AsciiString& teamName);
  127. void doNamedFollowWaypoints(const AsciiString& unitName, const AsciiString& waypointName);
  128. void doTeamFollowWaypoints(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  129. void doTeamFollowWaypointsExact(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  130. void doNamedFollowWaypointsExact(const AsciiString& unitName, const AsciiString& waypointName);
  131. void doTeamFollowSkirmishApproachPath(const AsciiString& teamName, const AsciiString& waypointName, Bool asTeam);
  132. void doTeamMoveToSkirmishApproachPath(const AsciiString& teamName, const AsciiString& waypointName);
  133. void doNamedHunt(const AsciiString& unitName);
  134. void doTeamHunt(const AsciiString& teamName);
  135. void doTeamHuntWithCommandButton(const AsciiString& teamName, const AsciiString& commandButton);
  136. void doPlayerHunt(const AsciiString& playerName);
  137. void doNamedDelete(const AsciiString& unitName);
  138. void doTeamGarrisonSpecificBuilding(const AsciiString& teamName, const AsciiString& buildingName);
  139. void doTeamGarrisonNearestBuilding(const AsciiString& teamName);
  140. void doTeamExitAllBuildings(const AsciiString& teamName);
  141. void doExitSpecificBuilding(const AsciiString& buildingName);
  142. void doUnitGarrisonSpecificBuilding(const AsciiString& unitName, const AsciiString& buildingName);
  143. void doUnitGarrisonNearestBuilding(const AsciiString& unitName);
  144. void doUnitExitBuilding(const AsciiString& unitName);
  145. void doPlayerGarrisonAllBuildings(const AsciiString& playerName);
  146. void doPlayerExitAllBuildings(const AsciiString& playerName);
  147. void doLetterBoxMode(Bool startLetterbox); // if true, start it. If false, end it.
  148. void doBlackWhiteMode(Bool startBWMode, Int frames); // if true, start it. If false, end it.
  149. void doSkyBox(Bool showSkyBox); // if true, start it. If false, end it.
  150. void doFreezeTime( void );
  151. void doUnfreezeTime( void );
  152. void doMilitaryCaption(const AsciiString& briefing, Int duration);
  153. void doCameraSetAudibleDistance(Real audibleDistance);
  154. void doNamedSetHeld(const AsciiString& unit, Bool held);
  155. void doNamedSetStoppingDistance(const AsciiString& unit, Real stoppingDistance);
  156. void doSetStoppingDistance(const AsciiString& team, Real stoppingDistance);
  157. void doDisableSpecialPowerDisplay( void );
  158. void doEnableSpecialPowerDisplay( void );
  159. void doNamedHideSpecialPowerDisplay( const AsciiString& unit );
  160. void doNamedShowSpecialPowerDisplay( const AsciiString& unit );
  161. void doNamedStopSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Bool stop );
  162. void doNamedSetSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Int frames );
  163. void doNamedAddSpecialPowerCountdown( const AsciiString& unit, const AsciiString& specialPower, Int frames );
  164. void doNamedFireSpecialPowerAtWaypoint( const AsciiString& unit, const AsciiString& specialPower, const AsciiString& waypoint );
  165. void doNamedFireSpecialPowerAtNamed( const AsciiString& unit, const AsciiString& specialPower, const AsciiString& target );
  166. void doSkirmishFireSpecialPowerAtMostCost( const AsciiString& player, const AsciiString& specialPower );
  167. void doNamedFireWeaponFollowingWaypointPath( const AsciiString& unit, const AsciiString& waypointPath );
  168. void doNamedUseCommandButtonAbility( const AsciiString& unit, const AsciiString& ability );
  169. void doNamedUseCommandButtonAbilityOnNamed( const AsciiString& unit, const AsciiString& ability, const AsciiString& target );
  170. void doNamedUseCommandButtonAbilityAtWaypoint( const AsciiString& unit, const AsciiString& ability, const AsciiString& waypoint );
  171. void doTeamUseCommandButtonAbility( const AsciiString& team, const AsciiString& ability );
  172. void doTeamUseCommandButtonAbilityOnNamed( const AsciiString& team, const AsciiString& ability, const AsciiString& target );
  173. void doTeamUseCommandButtonAbilityAtWaypoint( const AsciiString& team, const AsciiString& ability, const AsciiString& waypoint );
  174. void doDisplayCountdownTimer(const AsciiString& timerName, const AsciiString& timerText);
  175. void doHideCountdownTimer(const AsciiString& timerName);
  176. void doDisableCountdownTimerDisplay(void);
  177. void doEnableCountdownTimerDisplay(void);
  178. void doDisplayCounter(const AsciiString& counterName, const AsciiString& counterText);
  179. void doHideCounter(const AsciiString& counterName);
  180. void doAudioSetVolume(AudioAffect whichToAffect, Real newVolumeLevel);
  181. void doTransferTeamToPlayer(const AsciiString& teamName, const AsciiString& playerName);
  182. void doSetMoney(const AsciiString& playerName, Int money); // Set a player's cash reserves to a specific value.
  183. void doGiveMoney(const AsciiString& playerName, Int money); // Add/subtract cash from a player's reserves.
  184. void updateNamedAttackPrioritySet(const AsciiString& unitName, const AsciiString& attackPrioritySet);
  185. void updateTeamAttackPrioritySet(const AsciiString& teamName, const AsciiString& attackPrioritySet);
  186. void updateBaseConstructionSpeed(const AsciiString& playerName, Int speed);
  187. void updateNamedSetAttitude(const AsciiString& unitName, Int attitude);
  188. void updateTeamSetAttitude(const AsciiString& teamName, Int attitude);
  189. void doNamedSetRepulsor(const AsciiString& unitName, Bool repulsor);
  190. void doTeamSetRepulsor(const AsciiString& teamName, Bool repulsor);
  191. void doLoadAllTransports(const AsciiString& teamName);
  192. void doNamedGuard(const AsciiString& unitName);
  193. void doTeamGuard(const AsciiString& teamName);
  194. void doTeamGuardPosition(const AsciiString& teamName, const AsciiString& waypointName);
  195. void doTeamGuardObject(const AsciiString& teamName, const AsciiString& unitName);
  196. void doTeamGuardArea(const AsciiString& teamName, const AsciiString& areaName);
  197. void doPlayerSellEverything(const AsciiString& playerName);
  198. void doPlayerDisableBaseConstruction(const AsciiString& playerName);
  199. void doPlayerDisableFactories(const AsciiString& playerName, const AsciiString& objectName);
  200. void doPlayerDisableUnitConstruction(const AsciiString& playerName);
  201. void doPlayerEnableBaseConstruction(const AsciiString& playerName);
  202. void doPlayerEnableFactories(const AsciiString& playerName, const AsciiString& objectName);
  203. void doPlayerRepairStructure(const AsciiString& playerName, const AsciiString& objectName);
  204. void doPlayerEnableUnitConstruction(const AsciiString& playerName);
  205. void doCameraMoveHome(void);
  206. void doBuildTeam(const AsciiString& teamName);
  207. void doRecruitTeam(const AsciiString& teamName, Real recrutiRadius);
  208. void doNamedDamage(const AsciiString& unitName, Int damageAmt);
  209. void doTeamDelete(const AsciiString& teamName, Bool ignoreDead);
  210. void doTeamIncreasePriority(const AsciiString& teamName);
  211. void doTeamDecreasePriority(const AsciiString& teamName);
  212. void doTeamWander(const AsciiString& teamName, const AsciiString& waypointName);
  213. void doTeamPanic(const AsciiString& teamName, const AsciiString& waypointName);
  214. void doTeamWanderInPlace(const AsciiString& teamName);
  215. void doNamedKill(const AsciiString& unitName);
  216. void doTeamKill(const AsciiString& teamName);
  217. void doPlayerKill(const AsciiString& playerName);
  218. void doDisplayText(const AsciiString& displayText);
  219. void doDisplayCinematicText(const AsciiString& displayText, const AsciiString& fontType, Int timeInSeconds);
  220. void doCameoFlash(const AsciiString& cameoFlash, Int timeInSeconds);
  221. void doNamedFlash(const AsciiString& unitName, Int timeInSeconds, const RGBColor *color);
  222. void doNamedCustomColor(const AsciiString& unitName, Color c);
  223. void doTeamFlash(const AsciiString& teamName, Int timeInSeconds, const RGBColor *color);
  224. void doMoviePlayFullScreen(const AsciiString& movieName);
  225. void doMoviePlayRadar(const AsciiString& movieName);
  226. void doSoundPlayFromNamed(const AsciiString& soundName, const AsciiString& unitName);
  227. void doSpeechPlay(const AsciiString& speechName, Bool allowOverlap);
  228. void doPlayerTransferAssetsToPlayer(const AsciiString& playerSrcName, const AsciiString& playerDstName);
  229. void doNamedTransferAssetsToPlayer(const AsciiString& unitName, const AsciiString& playerDstName);
  230. void excludePlayerFromScoreScreen(const AsciiString& playerName);
  231. void enableScoring(Bool score);
  232. void updatePlayerRelationTowardPlayer(const AsciiString& playerSrcName, Int relationType, const AsciiString& playerDestPlayer);
  233. void doRadarCreateEvent(Coord3D *pos, Int eventType);
  234. void doRadarDisable(void);
  235. void doRadarEnable(void);
  236. void doNamedEnableStealth(const AsciiString& unitName, Bool enabled);
  237. void doTeamEnableStealth(const AsciiString& unitName, Bool enabled);
  238. void doRevealMapAtWaypoint(const AsciiString& waypointName, Real radiusToReveal, const AsciiString& playerName);
  239. void doShroudMapAtWaypoint(const AsciiString& waypointName, Real radiusToShroud, const AsciiString& playerName);
  240. void doTeamAvailableForRecruitment(const AsciiString& teamName, Bool availability);
  241. void doCollectNearbyForTeam(const AsciiString& teamName);
  242. void doMergeTeamIntoTeam(const AsciiString& teamSrcName, const AsciiString& teamDestName);
  243. void doIdleAllPlayerUnits(const AsciiString& playerName);
  244. void doResumeSupplyTruckingForIdleUnits(const AsciiString& playerName);
  245. void doDisableInput();
  246. void doEnableInput();
  247. void doSetBorderShroud( Bool setting );
  248. void doAmbientSoundsPause(Bool pausing); // if true, then pause, if false then resume.
  249. void doMusicTrackChange(const AsciiString& newTrackName, Bool fadeout, Bool fadein);
  250. void doRevealMapEntire(const AsciiString& playerName);
  251. void doRevealMapEntirePermanently( Bool reveal, const AsciiString& playerName );
  252. void doShroudMapEntire(const AsciiString& playerName);
  253. void doCameraMotionBlur(Bool zoomIn, Bool saturate);
  254. void doCameraMotionBlurJump(const AsciiString& waypointName, Bool saturate);
  255. void doRadarRefresh( void );
  256. void doNamedStop(const AsciiString& unitName);
  257. void doTeamStop(const AsciiString& teamName, Bool shouldDisband);
  258. void doTeamSetOverrideRelationToTeam(const AsciiString& teamName, const AsciiString& otherTeam, Int relation);
  259. void doTeamRemoveOverrideRelationToTeam(const AsciiString& teamName, const AsciiString& otherTeam);
  260. void doTeamSetOverrideRelationToPlayer(const AsciiString& teamName, const AsciiString& otherPlayer, Int relation);
  261. void doTeamRemoveOverrideRelationToPlayer(const AsciiString& teamName, const AsciiString& otherPlayer);
  262. void doPlayerSetOverrideRelationToTeam(const AsciiString& playerName, const AsciiString& otherTeam, Int relation);
  263. void doPlayerRemoveOverrideRelationToTeam(const AsciiString& playerName, const AsciiString& otherTeam);
  264. void doTeamRemoveAllOverrideRelations(const AsciiString& teamName);
  265. void doUnitStartSequentialScript(const AsciiString& unitName, const AsciiString& scriptName, Int loopVal);
  266. void doUnitStopSequentialScript(const AsciiString& unitName);
  267. void doTeamStartSequentialScript(const AsciiString& teamName, const AsciiString& scriptName, Int loopVal);
  268. void doTeamStopSequentialScript(const AsciiString& teamName);
  269. void doUnitGuardForFramecount(const AsciiString& unitName, Int framecount);
  270. void doUnitIdleForFramecount(const AsciiString& unitName, Int framecount);
  271. void doTeamGuardForFramecount(const AsciiString& teamName, Int framecount);
  272. void doTeamIdleForFramecount(const AsciiString& teamName, Int framecount);
  273. void doWaterChangeHeight(const AsciiString& waterName, Real newHeight);
  274. void doWaterChangeHeightOverTime( const AsciiString& waterName, Real newHeight, Real time, Real damage );
  275. void doBorderSwitch(Int borderToUse);
  276. void doForceObjectSelection(const AsciiString& teamName, const AsciiString& objectType, Bool centerInView, const AsciiString& audioToPlay);
  277. void doDestroyAllContained(const AsciiString& unitName, Int damageType);
  278. void doRadarForceEnable(void);
  279. void doRadarRevertNormal(void);
  280. void doScreenShake( UnsignedInt intensity );
  281. void doModifyBuildableStatus( const AsciiString& objectType, Int buildableStatus );
  282. void doSetWarehouseValue( const AsciiString& warehouseName, Int cashValue );
  283. void doSetCaveIndex( const AsciiString& caveName, Int caveIndex );
  284. void doObjectRadarCreateEvent( const AsciiString& unitName, Int eventType );
  285. void doTeamRadarCreateEvent( const AsciiString& teamName, Int eventType );
  286. void doSoundEnableType( const AsciiString& soundEventName, Bool enable );
  287. void doSoundRemoveType( const AsciiString& soundEventName );
  288. void doSoundRemoveAllDisabled();
  289. void doSoundOverrideVolume( const AsciiString& soundEventName, Real newVolume );
  290. void doInGamePopupMessage( const AsciiString& message, Int x, Int y, Int width, Bool pause );
  291. void doSetToppleDirection( const AsciiString& unitName, const Coord3D* direction);
  292. void doMoveUnitTowardsNearest( const AsciiString& unitName, const AsciiString& objectType, AsciiString triggerName);
  293. void doMoveTeamTowardsNearest( const AsciiString& teamName, const AsciiString& objectType, AsciiString triggerName);
  294. void doUnitReceiveUpgrade( const AsciiString& unitName, const AsciiString& upgradeName );
  295. void doSkirmishAttackNearestGroupWithValue( const AsciiString& teamName, Int comparison, Int value );
  296. void doSkirmishCommandButtonOnMostValuable( const AsciiString& teamName, const AsciiString& commandButton, Real range, Bool allTeamMembers);
  297. void doTeamSpinForFramecount( const AsciiString& teamName, Int waitForFrames );
  298. void doTeamUseCommandButtonOnNamed( const AsciiString& teamName, const AsciiString& commandAbility, const AsciiString& unitName );
  299. void doTeamUseCommandButtonOnNearestEnemy( const AsciiString& teamName, const AsciiString& commandAbility );
  300. void doTeamUseCommandButtonOnNearestGarrisonedBuilding( const AsciiString& teamName, const AsciiString& commandAbility );
  301. void doTeamUseCommandButtonOnNearestKindof( const AsciiString& teamName, const AsciiString& commandAbility, Int kindofBit );
  302. void doTeamUseCommandButtonOnNearestBuilding( const AsciiString& teamName, const AsciiString& commandAbility );
  303. void doTeamUseCommandButtonOnNearestBuildingClass( const AsciiString& teamName, const AsciiString& commandAbility, Int kindofBit );
  304. void doTeamUseCommandButtonOnNearestObjectType( const AsciiString& teamName, const AsciiString& commandAbility, const AsciiString& objectType );
  305. void doTeamPartialUseCommandButton( Real percentage, const AsciiString& teamName, const AsciiString& commandAbility );
  306. void doTeamCaptureNearestUnownedFactionUnit( const AsciiString& teamName );
  307. void doCreateTeamFromCapturedUnits( const AsciiString& playerName, const AsciiString& teamName );
  308. void doPlayerAddSkillPoints(const AsciiString& playerName, Int delta);
  309. void doPlayerAddRankLevels(const AsciiString& playerName, Int delta);
  310. void doPlayerSetRankLevel(const AsciiString& playerName, Int level);
  311. void doMapSetRankLevelLimit(Int level);
  312. void doPlayerGrantScience(const AsciiString& playerName, const AsciiString& scienceName);
  313. void doPlayerPurchaseScience(const AsciiString& playerName, const AsciiString& scienceName);
  314. void doPlayerSetScienceAvailability( const AsciiString& playerName, const AsciiString& scienceName, const AsciiString& scienceAvailability );
  315. void doTeamEmoticon(const AsciiString& teamName, const AsciiString& emoticonName, Real duration);
  316. void doNamedEmoticon(const AsciiString& unitName, const AsciiString& emoticonName, Real duration);
  317. void doObjectTypeListMaintenance(const AsciiString& objectList, const AsciiString& objectType, Bool addObject);
  318. void doRevealMapAtWaypointPermanent(const AsciiString& waypointName, Real radiusToReveal, const AsciiString& playerName, const AsciiString& lookName);
  319. void doUndoRevealMapAtWaypointPermanent(const AsciiString& lookName);
  320. void doEvaEnabledDisabled(Bool setEnabled);
  321. void doSetOcclusionMode(Bool setEnabled);
  322. void doSetDrawIconUIMode(Bool setEnabled);
  323. void doSetDynamicLODMode(Bool setEnabled);
  324. void doAffectObjectPanelFlagsUnit(const AsciiString& unitName, const AsciiString& flagName, Bool enable);
  325. void doAffectObjectPanelFlagsTeam(const AsciiString& teamName, const AsciiString& flagName, Bool enable);
  326. void doGuardSupplyCenter(const AsciiString& teamName, Int supplies);
  327. void doTeamGuardInTunnelNetwork(const AsciiString& teamName);
  328. void doAffectPlayerSkillset(const AsciiString& playerName, Int skillset);
  329. void doOverrideHulkLifetime( Real seconds );
  330. void doNamedFaceNamed( const AsciiString &unitName, const AsciiString &faceUnitName );
  331. void doNamedFaceWaypoint( const AsciiString &unitName, const AsciiString &faceWaypointName );
  332. void doTeamFaceNamed( const AsciiString &teamName, const AsciiString &faceUnitName );
  333. void doTeamFaceWaypoint( const AsciiString &teamName, const AsciiString &faceWaypointName );
  334. void doRemoveCommandBarButton(const AsciiString& commandBarButton, const AsciiString& objectType);
  335. void doAddCommandBarButton(const AsciiString& commandBarButton, const AsciiString& objectType, Int slotNum);
  336. void doAffectSkillPointsModifier(const AsciiString& playerName, Real newModifier);
  337. void doResizeViewGuardband(const Real gbx, const Real gby );
  338. void deleteAllUnmanned();
  339. }; // end class ScriptActions
  340. #endif // end __SCRIPTACTIONS_H_