1 #pragma once 2 3 #include <string> 4 #include <vector> 5 6 #include "game-type.h" 7 #include "item-prop-enum.h" 8 #include "job-type.h" 9 #include "species-type.h" 10 11 using std::string; 12 using std::vector; 13 14 // Either a character definition, with real species, job, and 15 // weapon, book, wand as appropriate. 16 // Or a character choice, with possibly random/viable entries. 17 struct newgame_def 18 { 19 string name; 20 game_type type; 21 string filename; 22 uint64_t seed; 23 bool pregenerate; 24 25 // map name for sprint (or others in the future) 26 // XXX: "random" means a random eligible map 27 string map; 28 29 string arena_teams; 30 31 vector<string> allowed_combos; 32 vector<species_type> allowed_species; 33 vector<job_type> allowed_jobs; 34 vector<weapon_type> allowed_weapons; 35 36 species_type species; 37 job_type job; 38 39 weapon_type weapon; 40 41 // Only relevant for character choice, where the entire 42 // character was randomly picked in one step. 43 // If this is true, the species field encodes whether 44 // the choice was for a viable character or not. 45 bool fully_random; 46 47 newgame_def(); 48 void clear_character(); 49 }; 50