</tr>
<tr>
<td><button id="switch_to_study">study mode</button></td>
- <td><button id="toggle_map_mode">toggle terrain/annotations/control view</button>
+ <td><button id="toggle_map_mode">toggle everything/terrain/annotations view</button>
</tr>
<tr>
<td><button id="switch_to_play">play mode</button></td>
<li><input id="key_switch_to_control_tile_type" type="text" value="Q" />
<li><input id="key_switch_to_annotate" type="text" value="M" />
<li><input id="key_switch_to_portal" type="text" value="T" />
-<li>toggle terrain/annotations/control view: <input id="key_toggle_map_mode" type="text" value="M" />
+<li>toggle everything/terrain/annotations view: <input id="key_toggle_map_mode" type="text" value="M" />
</ul>
</div>
<script>
this.mode_admin.available_modes = ["control_pw_type",
"control_tile_type", "chat",
"study", "play", "edit"]
- this.mode_control_tile_draw.available_modes = ["admin"]
+ this.mode_control_tile_draw.available_modes = ["admin_enter"]
this.mode_edit.available_modes = ["write", "annotate", "portal",
"password", "chat", "study", "play",
"admin_enter"]
},
switch_mode: function(mode_name) {
this.inputEl.focus();
- this.map_mode = 'terrain';
+ this.map_mode = 'all';
if (mode_name == 'admin_enter' && this.is_admin) {
mode_name = 'admin';
};
draw_map: function() {
let map_lines_split = [];
let line = [];
- let map_content = game.map;
- if (this.map_mode == 'control') {
- map_content = game.map_control;
- }
for (let i = 0, j = 0; i < game.map.length; i++, j++) {
if (j == game.map_size[1]) {
map_lines_split.push(line);
line = [];
j = 0;
};
- line.push(map_content[i] + ' ');
+ if (['edit', 'write', 'control_tile_draw',
+ 'control_tile_type'].includes(this.mode.name)) {
+ line.push(game.map[i] + game.map_control[i]);
+ } else {
+ line.push(game.map[i] + ' ');
+ }
};
map_lines_split.push(line);
if (this.map_mode == 'annotations') {
for (const coordinate of explorer.info_hints) {
map_lines_split[coordinate[0]][coordinate[1]] = 'A ';
}
- } else if (this.map_mode == 'terrain') {
+ } else if (this.map_mode == 'all') {
for (const p in game.portals) {
let coordinate = p.split(',')
let original = map_lines_split[coordinate[0]][coordinate[1]];
if (tui.map_mode == 'terrain') {
tui.map_mode = 'annotations';
} else if (tui.map_mode == 'annotations') {
- tui.map_mode = 'control';
+ tui.map_mode = 'all';
} else {
tui.map_mode = 'terrain';
}
if (tui.map_mode == 'terrain') {
tui.map_mode = 'annotations';
} else if (tui.map_mode == 'annotations') {
- tui.map_mode = 'control';
+ tui.map_mode = 'all';
} else {
tui.map_mode = 'terrain';
}
self.mode_admin.available_modes = ["control_pw_type",
"control_tile_type", "chat",
"study", "play", "edit"]
- self.mode_control_tile_draw.available_modes = ["admin"]
+ self.mode_control_tile_draw.available_modes = ["admin_enter"]
self.mode_edit.available_modes = ["write", "annotate", "portal",
"password", "chat", "study", "play",
"admin_enter"]
self.do_refresh = True
self.queue = queue.Queue()
self.login_name = None
- self.map_mode = 'terrain'
+ self.map_mode = 'all'
self.password = 'foo'
self.switch_mode('waiting_for_server')
self.keys = {
(self.explorer, quote(self.tile_control_char)))
def switch_mode(self, mode_name):
- self.map_mode = 'terrain'
+ self.map_mode = 'all'
if mode_name == 'admin_enter' and self.is_admin:
mode_name = 'admin'
self.mode = getattr(self, 'mode_' + mode_name)
if not self.game.turn_complete:
return
map_lines_split = []
- map_content = self.game.map_content
- if self.map_mode == 'control':
- map_content = self.game.map_control_content
for y in range(self.game.map_geometry.size.y):
start = self.game.map_geometry.size.x * y
end = start + self.game.map_geometry.size.x
- map_lines_split += [[c + ' ' for c in map_content[start:end]]]
+ if self.mode.name in {'edit', 'write', 'control_tile_draw',
+ 'control_tile_type'}:
+ line = []
+ for i in range(start, end):
+ line += [self.game.map_content[i]
+ + self.game.map_control_content[i]]
+ map_lines_split += [line]
+ else:
+ map_lines_split += [[c + ' ' for c
+ in self.game.map_content[start:end]]]
if self.map_mode == 'annotations':
for p in self.game.info_hints:
map_lines_split[p.y][p.x] = 'A '
- elif self.map_mode == 'terrain':
+ elif self.map_mode == 'all':
for p in self.game.portals.keys():
original = map_lines_split[p.y][p.x]
map_lines_split[p.y][p.x] = original[0] + 'P'
elif self.mode.name == 'study':
content += 'Available actions:\n'
content += '[%s] – move question mark\n' % ','.join(self.movement_keys)
- content += '[%s] – toggle view between terrain, annotations, and password protection areas\n' % self.keys['toggle_map_mode']
+ content += '[%s] – toggle view between anything, terrain, and annotations\n' % self.keys['toggle_map_mode']
content += '\n'
elif self.mode.name == 'edit':
content += "Available actions:\n"
if self.map_mode == 'terrain':
self.map_mode = 'annotations'
elif self.map_mode == 'annotations':
- self.map_mode = 'control'
+ self.map_mode = 'all'
else:
self.map_mode = 'terrain'
elif key in self.movement_keys: