},
'control_pw_type': {
'short': 'change tiles control password',
- 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password!'
+ 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password.'
},
'control_pw_pw': {
'short': 'change tiles control password',
mode_study: new Mode('study', false, true),
mode_write: new Mode('write', false, false, false, true),
mode_edit: new Mode('edit'),
- mode_control_pw_type: new Mode('control_pw_type',
- false, false, false, true),
+ mode_control_pw_type: new Mode('control_pw_type', true),
mode_portal: new Mode('portal', true, true),
mode_password: new Mode('password', true),
mode_admin_enter: new Mode('admin_enter', true),
mode_admin: new Mode('admin'),
mode_control_pw_pw: new Mode('control_pw_pw', true),
- mode_control_tile_type: new Mode('control_tile_type',
- false, false, false, true),
+ mode_control_tile_type: new Mode('control_tile_type', true),
mode_control_tile_draw: new Mode('control_tile_draw'),
init: function() {
this.mode_play.available_modes = ["chat", "study", "edit", "admin_enter"]
} else if (this.mode.name == 'admin') {
document.getElementById("switch_to_control_pw_type").disabled = false;
document.getElementById("switch_to_control_tile_type").disabled = false;
- } else if (this.mode.name == 'control_tile_draw') {
- document.getElementById("toggle_tile_draw").disabled = false;
} else if (this.mode.name == 'study') {
document.getElementById("toggle_map_mode").disabled = false;
} else if (this.mode.is_single_char_entry) {
this.show_help = true;
} else if (this.mode.name == 'admin_enter') {
this.log_msg('@ enter admin password:')
+ } else if (this.mode.name == 'control_pw_type') {
+ this.log_msg('@ enter tile control character for which you want to change the password:')
+ } else if (this.mode.name == 'control_tile_type') {
+ this.log_msg('@ enter tile control character which you want to draw:')
} else if (this.mode.name == 'control_pw_pw') {
this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":');
- } else if (this.mode.name == 'control_pw_pw') {
- this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":');
+ } else if (this.mode.name == 'control_tile_draw') {
+ document.getElementById("toggle_tile_draw").disabled = false;
+ this.log_msg('@ can draw tile control character "' + this.tile_control_char + '", turn drawing on/off with [' + this.keys.toggle_tile_draw + '], finish with [' + this.keys.switch_to_admin_enter + '].')
}
this.full_refresh();
},
} else if (tui.mode.name == 'write' && tui.inputEl.value.length > 0) {
server.send(["TASK:WRITE", tui.inputEl.value[0], tui.password]);
tui.switch_mode('edit');
- } else if (tui.mode.name == 'control_pw_type' && tui.inputEl.value.length > 0) {
- tui.tile_control_char = tui.inputEl.value[0];
- tui.switch_mode('control_pw_pw');
- } else if (tui.mode.name == 'control_tile_type' && tui.inputEl.value.length > 0) {
- tui.tile_control_char = tui.inputEl.value[0];
- tui.switch_mode('control_tile_draw');
}
tui.full_refresh();
}, false);
} else if (tui.mode.name == 'admin_enter' && event.key == 'Enter') {
server.send(['BECOME_ADMIN', tui.inputEl.value]);
tui.switch_mode('play');
+ } else if (tui.mode.name == 'control_pw_type' && event.key == 'Enter') {
+ if (tui.inputEl.value.length != 1) {
+ tui.log_msg('@ entered non-single-char, therefore aborted');
+ tui.switch_mode('admin');
+ } else {
+ tui.tile_control_char = tui.inputEl.value[0];
+ tui.switch_mode('control_pw_pw');
+ }
+ } else if (tui.mode.name == 'control_tile_type' && event.key == 'Enter') {
+ if (tui.inputEl.value.length != 1) {
+ tui.log_msg('@ entered non-single-char, therefore aborted');
+ tui.switch_mode('admin');
+ } else {
+ tui.tile_control_char = tui.inputEl.value[0];
+ tui.switch_mode('control_tile_draw');
+ }
} else if (tui.mode.name == 'chat' && event.key == 'Enter') {
let tokens = parser.tokenize(tui.inputEl.value);
if (tokens.length > 0 && tokens[0].length > 0) {
},
'control_pw_type': {
'short': 'change tiles control password',
- 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password!'
+ 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password.'
},
'control_pw_pw': {
'short': 'change tiles control password',
mode_study = Mode('study', shows_info=True)
mode_write = Mode('write', is_single_char_entry=True)
mode_edit = Mode('edit')
- mode_control_pw_type = Mode('control_pw_type', is_single_char_entry=True)
+ mode_control_pw_type = Mode('control_pw_type', has_input_prompt=True)
mode_control_pw_pw = Mode('control_pw_pw', has_input_prompt=True)
- mode_control_tile_type = Mode('control_tile_type', is_single_char_entry=True)
+ mode_control_tile_type = Mode('control_tile_type', has_input_prompt=True)
mode_control_tile_draw = Mode('control_tile_draw')
mode_annotate = Mode('annotate', has_input_prompt=True, shows_info=True)
mode_portal = Mode('portal', has_input_prompt=True, shows_info=True)
self.log_msg('@ enter username')
elif self.mode.name == 'admin_enter':
self.log_msg('@ enter admin password:')
+ elif self.mode.name == 'control_pw_type':
+ self.log_msg('@ enter tile control character for which you want to change the password:')
+ elif self.mode.name == 'control_tile_type':
+ self.log_msg('@ enter tile control character which you want to draw:')
elif self.mode.name == 'control_pw_pw':
self.log_msg('@ enter tile control password for "%s":' % self.tile_control_char)
+ elif self.mode.name == 'control_tile_draw':
+ self.log_msg('@ can draw tile control character "%s", turn drawing on/off with [%s], finish with [%s].' % (self.tile_control_char, self.keys['toggle_tile_draw'], self.keys['switch_to_admin_enter']))
self.restore_input_values()
def loop(self, stdscr):
self.send('BECOME_ADMIN ' + quote(self.input_))
self.input_ = ""
self.switch_mode('play')
+ elif self.mode.name == 'control_pw_type' and key == '\n':
+ if len(self.input_) != 1:
+ self.log_msg('@ entered non-single-char, therefore aborted')
+ self.switch_mode('admin')
+ self.input_ = ""
+ else:
+ self.tile_control_char = self.input_
+ self.input_ = ""
+ self.switch_mode('control_pw_pw')
+ elif self.mode.name == 'control_tile_type' and key == '\n':
+ if len(self.input_) != 1:
+ self.log_msg('@ entered non-single-char, therefore aborted')
+ self.switch_mode('admin')
+ self.input_ = ""
+ else:
+ self.tile_control_char = self.input_
+ self.input_ = ""
+ self.switch_mode('control_tile_draw')
elif self.mode.name == 'chat' and key == '\n':
if self.input_ == '':
continue
elif self.mode.name == 'write':
self.send('TASK:WRITE %s %s' % (key, quote(self.password)))
self.switch_mode('edit')
- elif self.mode.name == 'control_pw_type':
- self.tile_control_char = key
- self.switch_mode('control_pw_pw')
- elif self.mode.name == 'control_tile_type':
- self.tile_control_char = key
- self.switch_mode('control_tile_draw')
elif self.mode.name == 'control_tile_draw':
if self.mode.mode_switch_on_key(self, key):
continue