1 /**********************************************************************
2  Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License as published by
5    the Free Software Foundation; either version 2, or (at your option)
6    any later version.
7 
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12 ***********************************************************************/
13 
14 #ifdef HAVE_CONFIG_H
15 #include <fc_config.h>
16 #endif
17 
18 /* common */
19 #include "fc_types.h"
20 #include "game.h"
21 #include "player.h"
22 
23 #include "mood.h"
24 
25 /**************************************************************************
26   What is the player mood?
27 **************************************************************************/
player_mood(struct player * pplayer)28 enum mood_type player_mood(struct player *pplayer)
29 {
30   if (pplayer->last_war_action >= 0 && pplayer->last_war_action + 10 >= game.info.turn) {
31     players_iterate(other) {
32       struct player_diplstate *us, *them;
33 
34       us = player_diplstate_get(pplayer, other);
35       them = player_diplstate_get(other, pplayer);
36 
37       if (us->type == DS_WAR
38           || us->has_reason_to_cancel > 0
39           || them->has_reason_to_cancel > 0) {
40         return MOOD_COMBAT;
41       }
42     } players_iterate_end;
43   }
44 
45   return MOOD_PEACEFUL;
46 }
47