home · contact · privacy
Server/AI: Explore map for (long-time) unexplored cells.
[plomrogue] / src / server / ai.h
index 7e5a145fc1df71f6d6d194e1994843e8df81531a..966edd5d8e66b31078bb7aadc80031be17d4eba5 100644 (file)
@@ -1,4 +1,8 @@
 /* src/server/ai.h
+ *
+ * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
+ * or any later version. For details on its copyright, license, and warranties,
+ * see the file NOTICE in the root directory of the PlomRogue source package.
  *
  * Pseudo AI for actor movement.
  */
 #ifndef AI_H
 #define AI_H
 
-struct MapObj;
+struct Thing;
 
 
 
-/* Determine next non-player actor command / arguments by the actor's AI.
- *
- * The AI is pretty dumb so far. Actors basically try to move towards their
- * nearest neighbor in a straight line, easily getting stuck behind obstacles or
- * ending up in endless chase circles with each other.
+/* Determine next non-player actor command / arguments by the actor's AI. Actors
+ * will look for, and move towards, enemies (animate things not of their own
+ * type); if they see none, they will consume consumables in their inventory; if
+ * there are none, they will pick up any consumables they stand on; if they
+ * stand on none, they will move towards the next consumable they see or
+ * remember on the map; if they see or remember none, they'll explore parts of
+ * the map unseen since ever or for at least one turn; if there is nothing to
+ * explore, they will simply wait.
  */
-extern void pretty_dumb_ai(struct MapObj * mo);
+extern void ai(struct Thing * t);