git » fp-git.git » commit b146b55

coded MapNotDownBack

author ecalot
2005-02-26 07:00:00 UTC
committer ecalot
2005-02-26 07:00:00 UTC
parent c86e86fc50bf3d958cec30b4e61c1365dda12b0b

coded MapNotDownBack

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 e43e067..8765b85 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,esMapNotBack,esMapDownBack}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,esMapDownBack,esMapNotDownBack}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 dd8c118..720283e 100644
--- a/FP/src/ker/states.c
+++ b/FP/src/ker/states.c
@@ -161,6 +161,9 @@ int evaluateCondition(int condition,tKey* key, tObject* kid, tRoom* room) {
 	case esMapDownBack:
 		DefaultFalse(room);
 		statesCondRet(isIn(statesTile(-kidDirection,1),c.argument));
+	case esMapNotDownBack:
+		DefaultFalse(room);
+		statesCondRet(!isIn(statesTile(-kidDirection,1),c.argument));
 	case esMapOn:
 		DefaultFalse(room);
 		statesCondRet(isIn(statesTile(0,0),c.argument));