#ifndef MAP_OBJECT_ACTIONS_H
#define MAP_OBJECT_ACTIONS_H
-#include <stdint.h> /* uint8_t, uint23_t */
-#include <stdio.h> /* FILE */
+#include <stdint.h> /* uint8_t */
struct MapObj;
-struct EntrySkeleton;
struct MapObjAct
{
- uint8_t id; /* unique id of map object action; must be >0 */
+ uint8_t id; /* identifies action in MapObj.command; therefore must be >0 */
struct MapObjAct * next;
void (* func) (struct MapObj *); /* function called after .effort turns */
char * name; /* human-readable identifier */
-/* Read-in to "entry" multi-line entry from MapObjAct config "file", using
- * pre-allocated "line", "linemax" and "context" as input for err_try_fgets().
- */
-extern void read_map_object_action(char * line, uint32_t linemax,char * context,
- struct EntrySkeleton * entry, FILE * file);
-
/* Free MapObjAct * chain starting at "moa". */
extern void free_map_object_actions(struct MapObjAct * moa);
extern void actor_wait(struct MapObj * mo);
/* Actor "mo" tries to move one step in direction described by char mo->arg
- * (where east is '6', north '8') etc. Move either succeeds, or another actor is
- * encountered and hit (which leads ot its lifepoint decreasing by one and
- * eventually death), or the move fails due to an impassable target square.
+ * (where noth-east is 'e', east 'd' etc.) Move either succeeds, or another
+ * actor is encountered and hit (which leads ot its lifepoint decreasing by one
+ * and eventually death), or the move fails due to an impassable target square.
+ * On success, update object's field of view map.
*/
extern void actor_move(struct MapObj * mo);