renamed King Crimson to Star Platinum: The World, fixed bug where dragons may generate under PC
This commit is contained in:
@ -10,7 +10,7 @@ static const int INF = 0x3F3F3F3F;
|
||||
|
||||
enum result : int {NOTHING, DIED, GO_DOWN, GO_UP, HIT, MOVED,
|
||||
MISS, TERMINATE, APPLIED, APPLIED_NOTHING,
|
||||
TOGGLE_THE_WORLD, TOGGLE_KING_CRIMSON, RESTART_GAME,
|
||||
TOGGLE_THE_WORLD, TOGGLE_STAR_PLATINUM, RESTART_GAME,
|
||||
UNKNOWN, INVENTORY, THROWN
|
||||
};
|
||||
|
||||
@ -35,7 +35,7 @@ enum game_command : int {GAME_COMMAND_TERMINATE = 0,
|
||||
ATTACK_NORTHEAST, ATTACK_NORTHWEST,
|
||||
ATTACK_SOUTHEAST, ATTACK_SOUTHWEST,
|
||||
UP_STAIRS, DOWN_STAIRS,
|
||||
THE_WORLD, KING_CRIMSON, GAME_RESTART,
|
||||
THE_WORLD, STAR_PLATINUM, GAME_RESTART,
|
||||
GAME_COMMAND_PASS, GAME_COMMAND_PANIC,
|
||||
ENTER, TOGGLE_INVENTORY,
|
||||
THROW_NORTH, THROW_SOUTH, THROW_EAST, THROW_WEST,
|
||||
|
14
src/game.cc
14
src/game.cc
@ -14,7 +14,7 @@ game::game(const enum race starting_race,
|
||||
curr_turn{0} {
|
||||
const position nil{0, 0};
|
||||
the_world = false;
|
||||
king_crimson = false;
|
||||
star_platinum = false;
|
||||
|
||||
// TODO: add the other races
|
||||
player = init_player(rng, enabled_features, starting_race);
|
||||
@ -81,7 +81,7 @@ character *game::move_enemies() {
|
||||
}
|
||||
}
|
||||
|
||||
if (king_crimson)
|
||||
if (star_platinum)
|
||||
return nullptr;
|
||||
|
||||
for (auto ch : enemies) {
|
||||
@ -165,15 +165,15 @@ game_result game::run() {
|
||||
the_world = !the_world;
|
||||
player->start_turn();
|
||||
|
||||
if (king_crimson) {
|
||||
msg += "King Crimson is automatically turned off. ";
|
||||
king_crimson = false;
|
||||
if (star_platinum) {
|
||||
msg += "Star Platinum is automatically turned off. ";
|
||||
star_platinum = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case result::TOGGLE_KING_CRIMSON:
|
||||
king_crimson = !king_crimson;
|
||||
case result::TOGGLE_STAR_PLATINUM:
|
||||
star_platinum = !star_platinum;
|
||||
player->start_turn();
|
||||
|
||||
if (the_world) {
|
||||
|
@ -36,7 +36,7 @@ private:
|
||||
size_t curr_level;
|
||||
|
||||
bool the_world;
|
||||
bool king_crimson;
|
||||
bool star_platinum;
|
||||
bool hostile_merchants;
|
||||
|
||||
// shrink if over 300
|
||||
|
@ -19,7 +19,7 @@ game_command console_input::get_command() {
|
||||
else if (cmd == "f")
|
||||
return THE_WORLD;
|
||||
else if (cmd == "d")
|
||||
return KING_CRIMSON;
|
||||
return STAR_PLATINUM;
|
||||
else if (cmd == "r")
|
||||
return GAME_RESTART;
|
||||
else if (cmd == "u" || cmd == "a" || cmd == "T") {
|
||||
|
@ -50,7 +50,7 @@ game_command curses_input::get_command() {
|
||||
return game_command::THE_WORLD;
|
||||
|
||||
case 'd':
|
||||
return game_command::KING_CRIMSON;
|
||||
return game_command::STAR_PLATINUM;
|
||||
|
||||
case 'r':
|
||||
return GAME_RESTART;
|
||||
|
@ -19,7 +19,7 @@ game_command file_input::get_command() {
|
||||
else if (cmd == "f")
|
||||
return THE_WORLD;
|
||||
else if (cmd == "d")
|
||||
return KING_CRIMSON;
|
||||
return STAR_PLATINUM;
|
||||
else if (cmd == "r")
|
||||
return GAME_RESTART;
|
||||
else if (cmd == "u" || cmd == "a" || cmd == "T") {
|
||||
|
@ -122,7 +122,7 @@ void level::gen_enemies(const level_data &lvl, RNG *rng,
|
||||
for (int dir = 0; dir < DIRECTION_CNT; ++dir) {
|
||||
position tmp = dhoard[i].get_pos() + MOVE[dir];
|
||||
|
||||
if (map.which_room(tmp) != -1)
|
||||
if (map.which_room(tmp) != -1 && tmp != player->get_pos())
|
||||
spots.push_back(dhoard[i].get_pos() + MOVE[dir]);
|
||||
}
|
||||
|
||||
|
@ -268,8 +268,9 @@ long_result player_base::interpret_command(level *lvl, game_command cmd) {
|
||||
"PC tried to dig through the floor. "};
|
||||
} else if (cmd == THE_WORLD) {
|
||||
return {TOGGLE_THE_WORLD, "PC toggled Stand: The World! "};
|
||||
} else if (cmd == KING_CRIMSON) {
|
||||
return {TOGGLE_KING_CRIMSON, "PC toggled Stand: King Crimson! "};
|
||||
} else if (cmd == STAR_PLATINUM) {
|
||||
return {TOGGLE_STAR_PLATINUM,
|
||||
"PC toggled Stand: Star Platinum: The World! "};
|
||||
} else if (cmd == GAME_RESTART) {
|
||||
return {RESTART_GAME, ""};
|
||||
} else if (cmd == GAME_COMMAND_PASS) {
|
||||
|
Reference in New Issue
Block a user