00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __ACTIONS_H__
00029 #define __ACTIONS_H__
00030
00032
00033
00034
00035
00036
00037 enum _diplomacy_ {
00038 DiplomacyAllied,
00039 DiplomacyNeutral,
00040 DiplomacyEnemy,
00041 DiplomacyCrazy,
00042 };
00043
00044 class CUnit;
00045 class CUnitType;
00046 class SpellType;
00047 class COrder;
00048 class CAnimation;
00049
00050
00051
00052
00053
00054 extern unsigned SyncHash;
00055
00056
00057
00058
00059
00060
00061
00062
00063
00069
00070 extern void CommandQuit(int player);
00072 extern void CommandStopUnit(CUnit *unit);
00074 extern void CommandStandGround(CUnit *unit, int flush);
00076 extern void CommandFollow(CUnit *unit, CUnit *dest,
00077 int flush);
00079 extern void CommandMove(CUnit *unit, int x, int y, int flush);
00081 extern void CommandRepair(CUnit *unit, int x, int y,
00082 CUnit *dest, int flush);
00084 extern void CommandAutoRepair(CUnit *unit, int on);
00086 extern void CommandAttack(CUnit *unit, int x, int y,
00087 CUnit *dest, int flush);
00089 extern void CommandAttackGround(CUnit *unit, int x, int y, int flush);
00091 extern void CommandPatrolUnit(CUnit *unit, int x, int y, int flush);
00093 extern void CommandBoard(CUnit *unit, CUnit *dest, int flush);
00095 extern void CommandUnload(CUnit *unit, int x, int y,
00096 CUnit *what, int flush);
00098 extern void CommandBuildBuilding(CUnit *, int x, int y,
00099 CUnitType *, int);
00101 extern void CommandDismiss(CUnit *unit);
00103 extern void CommandResource(CUnit *unit, CUnit *dest,
00104 int flush);
00106 extern void CommandTrainUnit(CUnit *unit, CUnitType *what,
00107 int flush);
00109 extern void CommandCancelTraining(CUnit *unit, int slot,
00110 const CUnitType *type);
00112 extern void CommandSpellCast(CUnit *unit, int x, int y,
00113 CUnit *dest, SpellType *spell, int flush);
00115 extern void CommandAutoSpellCast(CUnit *unit, int spellid, int on);
00117 extern void CommandDiplomacy(int player, int state, int opponent);
00119 extern void CommandSharedVision(int player, bool state, int opponent);
00121 extern void CommandAnyOrder(CUnit *unit, COrder *order, int flush);
00123 extern void CommandMoveOrder(CUnit *unit, int src, int dst);
00124
00125
00126
00127
00128
00130 extern void ActionStillGeneric(CUnit *unit, bool stand_ground);
00132 extern void HandleActionStill(CUnit *unit);
00134 extern void HandleActionStandGround(CUnit *unit);
00136 extern void HandleActionFollow(CUnit *unit);
00138 extern int DoActionMove(CUnit *unit);
00140 extern void HandleActionMove(CUnit *unit);
00142 extern void HandleActionRepair(CUnit *unit);
00144 extern void HandleActionPatrol(CUnit *unit);
00146 extern void AnimateActionAttack(CUnit *unit);
00148 extern void HandleActionAttack(CUnit *unit);
00150 extern void HandleActionBoard(CUnit *unit);
00152 extern void HandleActionUnload(CUnit *unit);
00154 extern void HandleActionResource(CUnit *unit);
00156 extern void HandleActionDie(CUnit *unit);
00158 extern void HandleActionBuild(CUnit *unit);
00160 extern void HandleActionBuilt(CUnit *unit);
00162 extern void HandleActionTrain(CUnit *unit);
00164 extern void HandleActionSpellCast(CUnit *unit);
00165
00166
00167
00168
00169
00171 extern int UnitShowAnimationScaled(CUnit *unit, const CAnimation *anim, int scale);
00173 extern int UnitShowAnimation(CUnit *unit, const CAnimation *anim);
00175 extern void UnitActions(void);
00177 extern int UnloadUnit(CUnit *unit);
00179
00180 #endif // !__ACTIONS_H__