PAUSE_TIMEOUT = 30 # [sec]
SILENT_TIME = 15 # [sec]
# script modes
- BROWSE_MODE = 1
- SELECT_MODE = 2
- PAUSE_MODE = 3
- WAIT_MODE = 4
+ BROWSE_MODE = 1
+ SELECT_MODE = 2
+ PAUSE_MODE = 3
+ WAIT_MODE = 4
+ PAUSE_NOCLEAR_MODE = 5
# script origins
FROM_SSTP_CLIENT = 1
FROM_GHOST = 2
return self.__running
def is_paused(self):
- return self.script_mode == self.PAUSE_MODE
+ return self.script_mode in {self.PAUSE_MODE, self.PAUSE_NOCLEAR_MODE}
def is_talking(self):
return int(bool(self.processed_script or self.processed_text))
self.balloon.clear_text_all()
self.balloon.hide_all()
self.script_side = 0
+ elif self.script_mode == self.PAUSE_NOCLEAR_MODE:
+ self.script_mode = self.BROWSE_MODE
elif button == 1 and click == 1:
self.raise_all()
if self.vanished:
self.old_otherghostname = otherghostname
if not self.__running:
pass
- elif self.script_mode == self.PAUSE_MODE:
+ elif self.script_mode in {self.PAUSE_MODE, self.PAUSE_NOCLEAR_MODE}:
##if idle > self.PAUSE_TIMEOUT:
## self.script_mode = self.BROWSE_MODE
pass
def __yen_x(self, args):
if self.script_mode == self.BROWSE_MODE:
- self.script_mode = self.PAUSE_MODE
+ if len(args) > 0 and self.expand_meta(args[0]) == 'noclear':
+ self.script_mode = self.PAUSE_NOCLEAR_MODE
+ else:
+ self.script_mode = self.PAUSE_MODE
def __yen_a(self, args):
self.start_script(self.getaistringrandom())
self.script.append((SCRIPT_TEXT, tuple(text), self.column))
text = []
if lexeme in ['\\a', '\\c', '\\e', '\\t', '\\_e',
- '\\v', '\\x', '\\y', '\\z', '\\_q',
+ '\\v', '\\y', '\\z', '\\_q',
'\\4', '\\5', '\\6', '\\7',
'\\2', '\\*', '\\-', '\\+', '\\_+',
'\\_n', '\\_V', '\\__c', '\\__t',
'\\3', '\\8', '\\9']:
argument = self.read_sbra_text()
self.script.append((SCRIPT_TAG, lexeme, argument, self.column))
- elif lexeme in ['\\n']:
+ elif lexeme in ['\\n', '\\x']:
if self.tokens and self.tokens[0][0] == TOKEN_OPENED_SBRA:
argument = self.read_sbra_text()
self.script.append((SCRIPT_TAG, lexeme, argument,