def action(user, reply, text): if text == 'Сдаться': reply('Доктор с ухмылкой сует Лазерную отвертку тебе в нос') user.leave(reply) else: user.fight_action(reply, text) number = databasemanager.get_variable('doctor_num', 1) databasemanager.set_variable('doctor_num', number + 1)
def make_damage(user, reply, dmg): hp = user.get_room_temp('hp', 0) hp -= max(1, dmg - user.rooms_count // 10) if hp <= 0: number = databasemanager.get_variable('doctor_num', 1) databasemanager.set_variable('doctor_num', number + 1) user.won(reply) else: user.set_room_temp('hp', hp)
def first(self, reply, text): reply(locale_manager.get('HELLO_MESSAGE')) mn = databasemanager.get_variable(str(self.uid) + '_gold') if mn is not None and mn: databasemanager.set_variable(str(self.uid) + '_gold', False) reply('Вы не помните даже кем вы были в той жизни, а вот мы замечательно помним, что получили от вас ровно тысячу. Да. Точно-точно. Нет, не развод.') self.give_gold(1000) self.open_corridor(reply)
def action(user, reply, text): if text == 'Отдать': if user.gold < 5000: reply('Малова-то будет. Даже на комиссию не потянет.') else: user.gold = 0 databasemanager.set_variable(str(user.uid) + '_gold', True) reply('С вами приятно иметь дело!') else: reply('Как знаешь.') user.leave(reply)
def action(user, reply, text): if text == 'Отдать': if user.gold < 5000: reply('Маловато будет. Даже на комиссию не потянет.') else: user.gold = 0 databasemanager.set_variable(str(user.uid) + '_gold', True) reply('С вами приятно иметь дело!') else: reply('Как знаешь.') user.leave(reply)
def first(self, reply, text): reply(locale_manager.get('HELLO_MESSAGE')) mn = databasemanager.get_variable(str(self.uid) + '_gold') if mn is not None and mn: databasemanager.set_variable(str(self.uid) + '_gold', False) reply( 'Вы не помните даже кем вы были в той жизни, а вот мы замечательно помним, что получили от вас ровно тысячу. Да. Точно-точно. Нет, не развод.' ) self.give_gold(1000) self.open_corridor(reply)
def enter(user): if not status()[0]: return False databasemanager.set_variable(STATE, 'busy') databasemanager.set_variable(LAST_OPENED, time.time()) databasemanager.set_variable(ENTERED_UID, user.uid) twi(get_phrase('enter', user))
def make_damage(user, reply, dmg): hp = user.get_room_temp('hp', 0) hp -= max(1, dmg) if hp <= 0: number = databasemanager.get_variable('doctor_num', 1) databasemanager.set_variable('doctor_num', number + 1) databasemanager.set_variable('doctor_killer', user.name) databasemanager.set_variable('doctor_kill_time', time.time()) databasemanager.add_to_leaderboard(user, user.get_room_temp('hp_max', 10 ** 5), databasemanager.DOCTOR_TABLE) user.won(reply) else: user.set_room_temp('hp', hp)
def set_perma_variables_dict(self, d): databasemanager.set_variable(str(self.uid) + '_vars', d)
table = db.table(leaderboard_name) res = table.all() res.sort(key=sort_by_score, reverse=True) return res[:count] import databasemanager #from pymongo import Connection #c = Connection() #c.drop_database('rogbot') print('Moving variables..') for variable in db.table(VAR_TABLE).all(): databasemanager.set_variable(variable['name'], variable['value']) print('\tMoved "{0}" = {1}.'.format(variable['name'], variable['value'])) print('We don\'t migrate lists..') new_leaderboards = databasemanager.Leaderboards for leaderboard_name in [ ROOMS_TABLE, KILLS_TABLE, GNOME_TABLE, ROULETTE_TABLE, RATE_TABLE, DOCTOR_TABLE ]: print('\tMigrating "{0}" leaderboard...'.format(leaderboard_name)) lst = db.table(leaderboard_name).all() len_lst = len(lst) for ind, res in enumerate(lst): print('\t\t{0}%'.format(100 * ind / len_lst))
def dead(user): twi(get_phrase('dead', user)) databasemanager.set_variable(ENTERED_UID, 0)
def save_tornament(tid, uids): val = get_tornament_dict(tid, uids) databasemanager.set_variable(tid, val)
def won(user): twi(get_phrase('won', user)) databasemanager.set_variable(ENTERED_UID, 0)
def save_tornament(tid, uids): val = get_tornament_dict(tid, uids) databasemanager.set_variable(tid, val, table=databasemanager.TORNAMENTS_TABLE)
def leave(user): if databasemanager.get_variable(ENTERED_UID, def_val=0) != 0: twi(get_phrase('leave', user)) databasemanager.set_variable(ENTERED_UID, 0) databasemanager.set_variable(STATE, 'sleeps')
def cesar(bot, update): v = databasemanager.get_variable('ces', def_val=True) databasemanager.set_variable('ces', not v)
table = db.table(leaderboard_name) res = table.all() res.sort(key=sort_by_score, reverse=True) return res[:count] import databasemanager #from pymongo import Connection #c = Connection() #c.drop_database('rogbot') print('Moving variables..') for variable in db.table(VAR_TABLE).all(): databasemanager.set_variable(variable['name'], variable['value']) print('\tMoved "{0}" = {1}.'.format(variable['name'], variable['value'])) print('We don\'t migrate lists..') new_leaderboards = databasemanager.Leaderboards for leaderboard_name in [ ROOMS_TABLE, KILLS_TABLE, GNOME_TABLE, ROULETTE_TABLE, RATE_TABLE, DOCTOR_TABLE ]: print('\tMigrating "{0}" leaderboard...'.format(leaderboard_name)) lst = db.table(leaderboard_name).all() len_lst = len(lst) for ind, res in enumerate(lst): print('\t\t{0}%'.format(100 * ind / len_lst)) res['leaderboard'] = leaderboard_name new_leaderboards.insert(res) print('\tDone!')
def save(boss): databasemanager.set_variable('boss', boss)