git » fp-git.git » commit 3e00e7e

coded MapNotBack

author ecalot
2005-02-23 22:20:59 UTC
committer ecalot
2005-02-23 22:20:59 UTC
parent d9df0e6cd4aaf37a2afa9a5e5d9a1b6287bfbd44

coded MapNotBack

FP/src/include/states.h +1 -1
FP/src/ker/states.c +3 -0

diff --git a/FP/src/include/states.h b/FP/src/include/states.h
index fe04ead..f669ba2 100644
--- a/FP/src/include/states.h
+++ b/FP/src/include/states.h
@@ -6,7 +6,7 @@
 #include "types.h" /* tMap */
 #include "input.h" /* tKey */
 
-typedef enum {esLast=0,esKeyUp,esKeyDown,esKeyForward,esKeyBack,esKeyShift,esMapUp,esMapUpForward,esMapDown,esMapForward,esMapBack,esMapOn,esForwardTileNearerThan,esForwardTileFartherThan,esScreenUp,esScreenDown,esScreenLeft,esScreenRight,esInScreen,esInLevel,esForwardChangeToScreen,esInFloorTop,esInfloorMiddle,esInfloorBottom,esMapNotOn}tsConditionType;
+typedef enum {esLast=0,esKeyUp,esKeyDown,esKeyForward,esKeyBack,esKeyShift,esMapUp,esMapUpForward,esMapDown,esMapForward,esMapBack,esMapOn,esForwardTileNearerThan,esForwardTileFartherThan,esScreenUp,esScreenDown,esScreenLeft,esScreenRight,esInScreen,esInLevel,esForwardChangeToScreen,esInFloorTop,esInfloorMiddle,esInfloorBottom,esMapNotOn,esMapNotBack}tsConditionType;
 
 								
 typedef enum {esDangerous,esNone,esWalk,esPotion,esSword,esMirror,esNotApplicable=0}tsTileType;
diff --git a/FP/src/ker/states.c b/FP/src/ker/states.c
index 21d6c82..0144f7b 100644
--- a/FP/src/ker/states.c
+++ b/FP/src/ker/states.c
@@ -155,6 +155,9 @@ int evaluateCondition(int condition,tKey* key, tObject* kid, tRoom* room) {
 	case esMapBack:
 		DefaultFalse(room);
 		statesCondRet(isIn(statesTile(-kidDirection,0),c.argument));
+	case esMapNotBack:
+		DefaultFalse(room);
+		statesCondRet(!isIn(statesTile(-kidDirection,0),c.argument));
 	case esMapOn:
 		DefaultFalse(room);
 		statesCondRet(isIn(statesTile(0,0),c.argument));