The Battle for Wesnoth  1.19.2+dev
Classes | Namespaces
aspect.hpp File Reference
#include "ai/composite/property_handler.hpp"
#include "ai/composite/value_translator.hpp"
#include "ai/lua/lua_object.hpp"
#include "ai/lua/core.hpp"
#include "scripting/game_lua_kernel.hpp"
#include "utils/ranges.hpp"
#include "log.hpp"
#include <functional>
Include dependency graph for aspect.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  ai::aspect
class  ai::typesafe_aspect< T >
class  ai::known_aspect
class  ai::typesafe_known_aspect< T >
class  ai::composite_aspect< T >
class  ai::standard_aspect< T >
class  ai::lua_aspect_visitor
class  ai::lua_aspect< T >
class  ai::aspect_factory
class  ai::register_aspect_factory< ASPECT >
class  ai::lua_aspect_factory
class  ai::register_lua_aspect_factory< ASPECT >


 A small explanation about what's going on here: Each action has access to two game_info objects First is 'info' - real information Second is 'subjective info' - AIs perception of what's going on So, when we check_before action, we use 'subjective info' and don't touch real 'info' at all.