X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fai.h;h=966edd5d8e66b31078bb7aadc80031be17d4eba5;hb=9aa27a13f9cc3368e81ff348f6a8b992f1a98a99;hp=7e5a145fc1df71f6d6d194e1994843e8df81531a;hpb=dd9d65ee727ac7e95801da0f8b5bae7009811802;p=plomrogue diff --git a/src/server/ai.h b/src/server/ai.h index 7e5a145..966edd5 100644 --- a/src/server/ai.h +++ b/src/server/ai.h @@ -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. */ @@ -6,17 +10,20 @@ #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);