#ifndef SCRIPTS_H #define SCRIPTS_H #include "buysell.h" #include "dispatchers.h" #include "galaxy.h" #include class ScriptTerror : public Dispatch { private: MoveDispatch * md; std::shared_ptr move; InputDispatch * id; std::shared_ptr input; TraderDispatch * td; std::shared_ptr trader; std::string old_trade_end_empty; public: ScriptTerror(Director &); ~ScriptTerror(); int loops; int max_loops; port_pair_type ppt; void init(void); void activate(void) override; void deactivate(void) override; void input_notify(void); void move_notify(void); void trade_notify(void); void server_prompt(const std::string &prompt) override; }; class ScriptVoyager : public Dispatch { private: MoveDispatch * md; std::shared_ptr move; InputDispatch * id; std::shared_ptr input; void next(void); public: ScriptVoyager(Director &); ~ScriptVoyager(); int loops; void init(void); void activate(void) override; void deactivate(void) override; void input_notify(void); void move_notify(void); void server_prompt(const std::string &prompt) override; }; class ScriptExplore : public Dispatch { private: MoveDispatch * md; std::shared_ptr move; InputDispatch * id; std::shared_ptr input; void next(void); std::shared_ptr us; public: ScriptExplore(Director &); ~ScriptExplore(); int loops; bool infinite; bool prefer_ports; int state; std::stack unknown_warps; void init(void); void activate(void) override; void deactivate(void) override; void input_notify(void); void move_notify(void); bool safe_sector(density d); void server_prompt(const std::string &prompt) override; }; #endif