X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fai.h;h=966edd5d8e66b31078bb7aadc80031be17d4eba5;hb=bf396f111317663bba3950e57968af19f2f56a44;hp=4b9b776c9dfa1b8465d96b6ccddc8965a7e4c36b;hpb=e430e9baabcde0c5ee373928ffb363bb452f6bb7;p=plomrogue diff --git a/src/server/ai.h b/src/server/ai.h index 4b9b776..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,15 +10,20 @@ #ifndef AI_H #define AI_H -struct MapObj; +struct Thing; -/* Determine next non-player actor command / arguments by the actor's AI. It's - * pretty dumb so far. Actors will try to move towards their path-wise nearest - * neighbor. If no one else is found in the neighborhood, they will simply wait. +/* 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 ai(struct MapObj * mo); +extern void ai(struct Thing * t);