X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fserver%2Fmap_object_actions.h;h=7b5283fc9cff33f4254626ca79c3b686cb9c2dab;hb=784a54c9ef27aa2bf0754b2761aee06cbbde270e;hp=983f1aabc35efaa9af04ac3705f17abc204620c8;hpb=6052be616897d692fc57ab15b56266b4b3f4668b;p=plomrogue
diff --git a/src/server/map_object_actions.h b/src/server/map_object_actions.h
index 983f1aa..7b5283f 100644
--- a/src/server/map_object_actions.h
+++ b/src/server/map_object_actions.h
@@ -8,24 +8,29 @@
#ifndef MAP_OBJECT_ACTIONS_H
#define MAP_OBJECT_ACTIONS_H
-#include /* uint8_t */
+#include /* uint8_t, uint23_t */
+#include /* FILE */
struct MapObj;
+struct EntrySkeleton;
struct MapObjAct
{
+ uint8_t id; /* unique id of map object action; must be >0 */
struct MapObjAct * next;
void (* func) (struct MapObj *); /* function called after .effort turns */
- char * name; /* human-readable identifier */
- uint8_t id; /* unique id of map object action */
- uint8_t effort; /* how many turns the action takes */
+ char * name; /* human-readable identifier */
+ uint8_t effort; /* how many turns the action takes */
};
-/* Init MapObjAct chain at world.map_obj_acts. */
-extern void init_map_object_actions();
+/* 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);
@@ -37,7 +42,7 @@ extern uint8_t get_moa_id_by_name(char * name);
extern void actor_wait(struct MapObj * mo);
/* Actor "mo" tries to move one step in direction described by char mo->arg
- * (where east is 'E', north 'N') etc. Move either succeeds, or another actor is
+ * (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.
*/
@@ -46,12 +51,11 @@ extern void actor_move(struct MapObj * mo);
/* Actor "mo" tries to drop from inventory object indexed by number mo->args. */
extern void actor_drop(struct MapObj * mo);
-/* Actor "mo" tries to pick up object from ground into its inventory. */
+/* Actor "mo" tries to pick up topmost object from ground into its inventory. */
extern void actor_pick(struct MapObj * mo);
/* Actor "mo" tries to use inventory object indexed by number mo->args.
- * (Currently the only valid use is consuming an item named "MAGIC MEAT",
- * which increments the actors lifepoints.)
+ * (Currently the only valid use is consuming items defined as consumable.)
*/
extern void actor_use(struct MapObj * mo);