/* 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 simply wait.
*/
-extern void pretty_dumb_ai(struct MapObj * mo);
+extern void ai(struct Thing * t);