/*-------------------------------------------------------------------------------------
DefCond.h : Conditions definitions
Author : Olivier Couvreur 21/08/97
--------------------------------------------------------------------------------------*/
 
#if !defined(M_DEFINE_CONDITION)
#error You should define M_DEFINE_CONDITION accordingly before including this file !
#endif
 
/* 6 parameters to define a condition : enum , editor name, script name, function pointers in Cond.c, in params ,ultra-able */
 
/************************************************************************************************
* le #ifdef suivant permet d'exclure les fonctions inutilisées
* Merci
*	Marc
************************************************************************************************/
#if defined(_AI_EXCLUDE_NEVER_USED_)          /* MT {*/
	#define NU_M_DEFINE_CONDITION(a,b,english,c,d,e,f)
#else
	#define NU_M_DEFINE_CONDITION		M_DEFINE_CONDITION
#endif /* _AI_EXCLUDE_NEVER_USED_ }*/
 
/**********************************************************************************************************************************************************************************************************************************************************/
/* Boolean conditions */
M_DEFINE_CONDITION(eCond_Et		    							,"Et"   		,"And"      ,"Cond_And"					,fn_p_stBooleanCondition,USE_2_BOOLEANS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_Ou										,"Ou"			,"Or"       ,"Cond_Or"					,fn_p_stBooleanCondition,USE_2_BOOLEANS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_Not									,"Non"			,"Not"      ,"Cond_Not"					,fn_p_stBooleanCondition,USE_BOOLEAN_PARAM,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_XOr									,"OuExclusif"	,"XOr"      ,"Cond_XOr"					,fn_p_stBooleanCondition,USE_2_BOOLEANS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* Comparison conditions */
M_DEFINE_CONDITION(eCond_Equal									,"="            ,"="		,"Cond_Equal"					,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_Different								,"<>"           ,"<>"		,"Cond_Different"				,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_Lesser									,"<"            ,"<"		,"Cond_Lesser"					,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_Greater								,">"	        ,">"		,"Cond_Greater"					,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_LesserOrEqual							,"<="           ,"<="		,"Cond_LesserOrEqual"			,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_GreaterOrEqual							,">="			,">="		,"Cond_GreaterOrEqual"			,fn_p_stComparisonCondition,USE_2_REALS_PARAM,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* ZDD conditions */
M_DEFINE_CONDITION(eCond_CollidePersoZDDNoWithPerso				,"Col_CollisionZDDPersoAvecPerso"				,"COL_CollidePersoZDDWithPerso"             ,"Cond_CollidePersoZDDWithPerso"           ,fn_p_stZDDCondition,USE_PERSO_ZDD_PERSO_PARAM  USE_PERSO_PARAM           ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDDNoWithPerso			,"Col_CollisionZDDModuleAvecPerso"				,"COL_CollideModuleZDDWithPerso"            ,"Cond_CollideModuleZDDWithPerso"          ,fn_p_stZDDCondition,USE_PERSO_ZDD_MODULE_PARAM USE_PERSO_PARAM           ,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollidePersoAllZDDWithPerso			,"Col_CollisionPersoTouteZDDAvecPerso"			,"COL_CollidePersoAllZDDWithPersoAllZDD"    ,"Cond_CollidePersoAllZDDWithPersoAllZDD"  ,fn_p_stZDDCondition,USE_2_PERSOS_PARAM                                   ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollidePersoZDDWithAnyPerso			,"Col_CollisionZDDPersoAvecNimporteQuelPerso"   ,"COL_CollidePersoZDDWithAnyPErso"          ,"Cond_CollidePersoZDDWithAnyPErso"		   ,fn_p_stZDDCondition,USE_PERSO_ZDD_PERSO_PARAM							 ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDDWithAnyPerso		,"Col_CollisionZDDModuleAvecNimporteQuelPerso"  ,"COL_CollideModuleZDDWithAnyPerso"         ,"Cond_CollideModuleZDDWithAnyPerso"	   ,fn_p_stZDDCondition,USE_PERSO_ZDD_MODULE_PARAM                          ,/**/ NOT_ULTRA_ABLE /**/)
/* ZDE conditions */
M_DEFINE_CONDITION(eCond_CollidePersoZDENoWithPersoZDENo		,"Col_CollisionZDEPersoAvecZDEPerso"			,"COL_CollidePersoZDEWithPersoZDE"          ,"Cond_CollidePersoZDEWithPersoZDE"        ,fn_p_stZDECondition,USE_PERSO_ZDE_PERSO_PARAM  USE_PERSO_ZDE_PERSO_PARAM ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDENoWithPersoZDENo	,"Col_CollisionZDEModuleAvecZDEPerso"			,"COL_CollideModuleZDEWithPersoZDE"         ,"Cond_CollideModuleZDEWithPersoZDE"       ,fn_p_stZDECondition,USE_PERSO_ZDE_MODULE_PARAM USE_PERSO_ZDE_PERSO_PARAM ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollidePersoZDENoWithModuleZDENo	,"Col_CollisionZDEPersoAvecZDEModule"			,"COL_CollidePersoZDEWithModuleZDE"         ,"Cond_CollidePersoZDEWithModuleZDE"       ,fn_p_stZDECondition,USE_PERSO_ZDE_PERSO_PARAM  USE_PERSO_ZDE_MODULE_PARAM,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDENoWithModuleZDENo	,"Col_CollisionZDEModuleAvecZDEModule"			,"COL_CollideModuleZDEWithModuleZDE"        ,"Cond_CollideModuleZDEWithModuleZDE"      ,fn_p_stZDECondition,USE_PERSO_ZDE_MODULE_PARAM USE_PERSO_ZDE_MODULE_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollidePersoZDENoWithPersoTypeZDE		,"Col_CollisionZDEPersoAvecPersoTypeZDE"		,"COL_CollidePersoZDEWithPersoTypeZDE"      ,"Cond_CollidePersoZDEWithPersoTypeZDE"    ,fn_p_stZDECondition,USE_PERSO_ZDE_PERSO_PARAM  USE_PERSO_MASK_PARAM      ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDENoWithPersoTypeZDE	,"Col_CollisionZDEModuleAvecPersoTypeZDE"		,"COL_CollideModuleZDEWithPersoTypeZDE"     ,"Cond_CollideModuleZDEWithPersoTypeZDE"   ,fn_p_stZDECondition,USE_PERSO_ZDE_MODULE_PARAM USE_PERSO_MASK_PARAM      ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollidePersoTypeZDEWithPersoTypeZDE	,"Col_CollisionPersoTypeZDEAvecPersoTypeZDE"	,"COL_CollidePersoTypeZDEWithPersoTypeZDE"  ,"Cond_CollidePersoTypeZDEWithPersoTypeZDE",fn_p_stZDECondition,USE_PERSO_MASK_PARAM       USE_PERSO_MASK_PARAM      ,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollidePersoAllZDEWithPersoAllZDE	,"Col_CollisionPersoTouteZDEAvecPersoTouteZDE"	,"COL_CollidePersoAllZDEWithPersoAllZDE"    ,"Cond_CollidePersoAllZDEWithPersoAllZDE"  ,fn_p_stZDECondition,USE_2_PERSOS_PARAM                                   ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollidePersoTypeZDEWithPersoAllZDE	,"Col_CollisionPersoTypeZDEAvecPersoTouteZDE"	,"COL_CollidePersoTypeZDEWithPersoAllZDE"   ,"Cond_CollidePersoTypeZDEWithPersoAllZDE" ,fn_p_stZDECondition,USE_PERSO_MASK_PARAM       USE_PERSO_PARAM           ,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollidePersoAllZDEWithPersoTypeZDE		,"Col_CollisionPersoTouteZDEAvecPersoTypeZDE"	,"COL_CollidePersoAllZDEWithPersoTypeZDE"   ,"Cond_CollidePersoAllZDEWithPersoTypeZDE" ,fn_p_stZDECondition,USE_PERSO_PARAM            USE_PERSO_MASK_PARAM      ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollidePersoZDENoWithTypeZDE			,"Col_CollisionPersoZDEAvecTypeZDE"				,"COL_CollidePersoZDENoWithTypeZDE"         ,"Cond_CollidePersoZDENoWithTypeZDE"	   ,fn_p_stZDECondition,USE_PERSO_ZDE_PERSO_PARAM  USE_MASK_PARAM			   ,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_CollideModuleZDENoWithTypeZDE		,"Col_CollisionModuleZDEAvecTypeZDE"			,"COL_CollideModuleZDENoWithTypeZDE"        ,"Cond_CollideModuleZDENoWithTypeZDE"      ,fn_p_stZDECondition,USE_PERSO_ZDE_MODULE_PARAM USE_MASK_PARAM			   ,/**/ NOT_ULTRA_ABLE /**/)
/* ZDM Collision Test */
/*	M_DEFINE_CONDITION(eCond_CollideMovingZDM					,"Col_CollisionAvecZDMDeplacee"					,"Cond_CollideMovingZDM",fn_p_stCollisionTestCondition, USE_ZDM_PERSO_VECTOR_PARAM,/*   NOT_ULTRA_ABLE /*  )*/
/* Collision conditions : ULTRA */
M_DEFINE_CONDITION(eCond_CollideWithGround						,"Col_CollisionAvecSol"         ,"COL_CollideWithGround"    ,"Cond_CollideWithGround" ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollideWithWall						,"Col_CollisionAvecMur"			,"COL_CollideWithWall"      ,"Cond_CollideWithWall"   ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollideWithNothing						,"Col_PasDeCollision"			,"COL_CollideWithNothing"   ,"Cond_CollideWithNothing",fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollideWithCeiling						,"Col_CollisionAvecPlafond"		,"COL_CollideWithCeiling"   ,"Cond_CollideWithCeiling",fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollideWithPerso						,"Col_CollisionAvecPerso"		,"COL_CollideWithPerso"     ,"Cond_CollideWithPerso"  ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_CollideWithWater						,"Col_CollisionAvecEau"			,"COL_CollideWithWater"     ,"Cond_CollideWithWater"  ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
 
M_DEFINE_CONDITION(eCond_CollideWithThisPerso					,"Col_CollisionAvecCePerso"	,"COL_CollideWithThisPerso"     ,"Cond_CollideWithThisPerso"  ,fn_p_stReportThisPerso, USE_PERSO_PARAM,/**/ ULTRA_ABLE /**/)
 
 /*ANNECY BBB*/
/*M_DEFINE_CONDITION(eCond_CollideWithTrap						,"Col_CollisionAvecTrappe"		        		,"Cond_CollideWithTrap"  ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/*   ULTRA_ABLE /*  )*/
/*M_DEFINE_CONDITION(eCond_CollideWithSlope						,"Col_CollisionAvecPente"						,"Cond_CollideWithSlope"  ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/*   ULTRA_ABLE /*  )*/
/*M_DEFINE_CONDITION(eCond_CollideWithAttic						,"Col_CollisionAvecMansarde"					,"Cond_CollideWithAttic"  ,fn_p_stReportOnSurfaceCondition, USE_NO_PARAM,/*   ULTRA_ABLE /*  )*/
 
/* ZDM Collision conditions : ULTRA */
M_DEFINE_CONDITION(eCond_ZDMCollideWithGround					,"Col_ZDMCollisionAvecSol"		,"COL_ZDMCollideWithGround"    ,"Cond_ZDMCollideWithGround" ,fn_p_stReportOnZDMSurfaceCondition,USE_MASK_PARAM,/**/ ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_ZDMCollideWithWall					,"Col_ZDMCollisionAvecMur"		,"COL_ZDMCollideWithWall"      ,"Cond_ZDMCollideWithWall"   ,fn_p_stReportOnZDMSurfaceCondition,USE_MASK_PARAM,/**/ ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_ZDMCollideWithNothing				,"Col_ZDMPasDeCollision"		,"COL_ZDMCollideWithNothing"   ,"Cond_ZDMCollideWithNothing",fn_p_stReportOnZDMSurfaceCondition, USE_MASK_PARAM,/**/ ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_ZDMCollideWithCeiling				,"Col_ZDMCollisionAvecPlafond"	,"COL_ZDMCollideWithCeiling"   ,"Cond_ZDMCollideWithCeiling",fn_p_stReportOnZDMSurfaceCondition, USE_MASK_PARAM,/**/ ULTRA_ABLE /**/)
 
/*M_DEFINE_CONDITION(eCond_ZDMCollideWithSlope					,"Col_ZDMCollisionAvecPente"					,"Cond_ZDMCollideWithSlope"  ,fn_p_stReportOnZDMSurfaceCondition, USE_MASK_PARAM,/*   ULTRA_ABLE /*  )*/
/*M_DEFINE_CONDITION(eCond_ZDMCollideWithAttic					,"Col_ZDMCollisionAvecMansarde"					,"Cond_ZDMCollideWithAttic"  ,fn_p_stReportOnZDMSurfaceCondition, USE_MASK_PARAM,/*   ULTRA_ABLE /*  )*/
/**********************************************************************************************************************************************************************************************************************************************************/
/* List conditions */
M_DEFINE_CONDITION(eCond_IsPersoInList							,"LST_PersoExisteDansListe"		,"LST_IsPersoInList"    ,"Cond_IsPersoInList"	,fn_p_stListCondition,USE_DSGVARIDLIST_PERSO_PARAM,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsModelInList							,"LST_ModeleExisteDansListe"	,"LST_IsModelInList"    ,"Cond_IsModelInList"	,fn_p_stListCondition,USE_DSGVARIDLIST_MODEL_PARAM,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsFamilyInList							,"LST_FamilleExisteDansListe"	,"LST_IsFamilyInList"   ,"Cond_IsFamilyInList"	,fn_p_stListCondition,USE_DSGVARIDLIST_FAMILY_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_ListEmptyTest							,"LST_ListeVide"				,"LST_ListEmptyTest"    ,"Cond_ListEmptyTest"	,fn_p_stListCondition,USE_DSGVARIDLIST_PARAM,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* UserEvent */
M_DEFINE_CONDITION(eCond_UserEvent_IsSet						,"UserEvent_IsSet"		,"UserEvent_IsSet"      ,"Cond_UserEvent_IsSet"	,fn_p_st_UserEvent_IsSet, USE_CONSTANT_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_UserEvent_IsSet2						,"UserEvent_IsSet2"		,"UserEvent_IsSet2"     ,"Cond_UserEvent_IsSet2",fn_p_st_UserEvent_IsSet, USE_CONSTANT_PARAM USE_ADDR_VECTOR_PARAM,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* NO FAMILY */
M_DEFINE_CONDITION(eCond_PressedBut								,"BoutonAppuye"			,"BUT_PressedBut"       ,"Cond_PressedBut"		,fn_p_stButtonCondition,USE_BUTTON_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_JustPressedBut							,"BoutonJusteAppuye"    ,"BUT_JustPressedBut"   ,"Cond_JustPressedBut"	,fn_p_stButtonCondition,USE_BUTTON_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_ReleasedBut							,"BoutonRelache"		,"BUT_ReleasedBut"      ,"Cond_ReleasedBut"		,fn_p_stButtonCondition,USE_BUTTON_PARAM,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_JustReleasedBut						,"BoutonJusteRelache"	,"BUT_JustReleasedBut"  ,"Cond_JustReleasedBut"	,fn_p_stButtonCondition,USE_BUTTON_PARAM,/**/ NOT_ULTRA_ABLE /**/)
 
/**********************************************************************************************************************************************************************************************************************************************************/
/* Time conditions */
M_DEFINE_CONDITION(eCond_IsTimeElapsed							,"TempsDepasse"			,"TIME_IsTimeElapsed"   ,"Cond_IsTimeElapsed"	,fn_p_stTimeCondition,USE_CONSTANT_PARAM USE_CONSTANT_PARAM,/**/ NOT_ULTRA_ABLE /**/)
 
/**********************************************************************************************************************************************************************************************************************************************************/
/* Validity condition */
M_DEFINE_CONDITION(eCond_IsValidObject							,"ObjetValide"				,"SPO_IsValidObject"    ,"Cond_IsValidObject"   ,fn_p_stValidityCondition,USE_PERSO_PARAM		,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_IsValidWayPoint						,"Reseau_WayPointValide"	,"NET_IsValidWayPoint"  ,"Cond_IsValidWayPoint" ,fn_p_stValidityCondition,USE_WAYPOINT_PARAM	,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsValidGMT							,"GMTValide"				,"GMT_IsValidGMT"       ,"Cond_IsValidGMT"		,fn_p_stValidityCondition,USE_GMT_PARAM		,/**/ NOT_ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsValidAction						,"ActionValide"				,"ACT_IsValidAction"    ,"Cond_IsValidAction"   ,fn_p_stValidityCondition,USE_ACTION_PARAM	,/**/ NOT_ULTRA_ABLE /**/)
M_DEFINE_CONDITION(eCond_IsValidText							,"TexteValide"				,"TEXT_IsValidText"     ,"Cond_IsValidText"   ,fn_p_stValidityCondition,USE_TEXT_PARAM	,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* Lips_Synchro : ULTRA */
#ifdef D_USE_LIPSYNC
NU_M_DEFINE_CONDITION(eCond_IsSpeechOver						,"DiscoursTermine"			,"SPEEK_IsSpeechOver"    ,"Cond_IsSpeechOver"	,fn_p_stLipsSynchroCondition,USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
#endif /*  D_USE_LIPSYNC*/
/**********************************************************************************************************************************************************************************************************************************************************/
/* Sector : ULTRA for eCond_SeePerso */
M_DEFINE_CONDITION(eCond_SeePerso								,"VoitPerso"				,"ACT_SeePerso"         ,"Cond_SeePerso"		,fn_p_stSectorCondition,USE_PERSO_PARAM,/**/ ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* activation */
M_DEFINE_CONDITION(eCond_IsActivable							,"EstActivable"				,"ACT_IsActivable"     ,"Cond_IsActivable"		,fn_p_st_ActivationCondition,USE_NO_PARAM,/**/ ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* traitement */
M_DEFINE_CONDITION(eCond_IsAlreadyHandled						,"ACT_EstDejaTraite"		,"ACT_IsAlreadyHandled","Cond_IsAlreadyHandled"		,fn_p_st_HandledCondition,USE_PERSO_PARAM,/**/ NOT_ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* Always condition */
M_DEFINE_CONDITION(eCond_Alw_IsMine								,"Alw_EstAMoi"				,"ALW_IsMain"      ,"Cond_Alw_IsMain"		,fn_p_stAlw_IsMine,USE_PERSO_PARAM,/**/ ULTRA_ABLE /**/)
/**********************************************************************************************************************************************************************************************************************************************************/
/* Lights */
NU_M_DEFINE_CONDITION(eCond_IsPersoLightOn						,"LumierePersoAllumee"			    ,"LIGHT_IsPersoLightOn"          ,"Cond_IsPersoLightOn"			,fn_p_stLightCondition,USE_NO_PARAM, /**/ ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsPersoLightPulseOn					,"PulseLumierePersoAllumee"			,"LIGHT_IsPersoLightPulseOn"     ,"Cond_IsPersoLightPulseOn"		,fn_p_stLightCondition,USE_NO_PARAM, /**/ ULTRA_ABLE /**/)
NU_M_DEFINE_CONDITION(eCond_IsPersoLightGyroPhareOn				,"GyroPhareLumierePersoAllumee"		,"LIGHT_IsPersoLightGyroPhareOn" ,"Cond_IsPersoLightGyroPhareOn"	,fn_p_stLightCondition,USE_NO_PARAM, /**/ ULTRA_ABLE /**/)

/**********************************************************************************************************************************************************************************************************************************************************/
//KWN : Add a New AI Function
M_DEFINE_CONDITION(eCond_StyletJustPressed			,"DS_StyletJustPressed"					,"DS_StyletJustPressed"			,"Cond_DS_StyletJustPressed"		,fn_p_stStyletCondition		,USE_NO_PARAM	,NOT_ULTRA_ABLE)
M_DEFINE_CONDITION(eCond_StyletPressed				,"DS_StyletPressed"						,"DS_StyletPressed"				,"Cond_DS_StyletPressed"			,fn_p_stStyletCondition		,USE_NO_PARAM	,NOT_ULTRA_ABLE)
M_DEFINE_CONDITION(eCond_StyletJustReleased			,"DS_StyletJustReleased"				,"DS_StyletJustReleased"		,"Cond_DS_StyletJustReleased"		,fn_p_stStyletCondition		,USE_NO_PARAM	,NOT_ULTRA_ABLE)
M_DEFINE_CONDITION(eCond_StyletSlice				,"DS_StyletSlice"						,"DS_StyletSlice"				,"Cond_DS_StyletSlice"				,fn_p_stStyletSlice			,USE_2_VECTORS_PARAM ,NOT_ULTRA_ABLE)
M_DEFINE_CONDITION(eCond_StyletRotation				,"DS_CheckStyletRotation"				,"CheckStyletRotation"			,"Cond_DS_CheckStyletRotation"		,fn_p_stCheckStyletRotation	,USE_VECTOR_PARAM USE_CONSTANT_PARAM USE_BOOLEAN_PARAM ,NOT_ULTRA_ABLE)
M_DEFINE_CONDITION(eCond_StyletGratter				,"DS_CheckStyletGratter"				,"CheckStyletGratter"			,"Cond_DS_CheckStyletGratter"		,fn_p_stCheckStyletGratter	,USE_2_VECTORS_PARAM USE_CONSTANT_PARAM,NOT_ULTRA_ABLE)
/**********************************************************************************************************************************************************************************************************************************************************/

#include "DefCond1.h"
#include "DefConCa.h"
 
#if defined(M_DEFINE_CONDITION)
#undef M_DEFINE_CONDITION
#endif
