def enter(user, reply): reply('Кто-кто?..') number = databasemanager.get_variable('doctor_num', 1) name = databasemanager.get_variable('doctor_killer') user.set_room_temp('hp_max', hp) reply('Я — _{0}_й Доктор!'.format(number), photo=DOCTOR_WHO_STICKER) if name is not None: t = time.time() - databasemanager.get_variable('doctor_kill_time', time.time()+1000) reply('Я реинкарнация после убийства доктора от руки игрока {0}'.format(name)) if t > 0: reply('Моя новая реинкарнация длится уже {0:.2f} минут!'.format(t / 60))
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 current(): boss = databasemanager.get_variable('boss') if boss is None: return create() if need_to_reborn(boss): return create(boss) return migration(boss)
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 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 == actions[0]: if user.get_damage() > 100: reply('Ты слишком силен для всего этого, я не могу пустить тебя к ним.') elif databasemanager.get_variable('ces', def_val=False) is False: reply('На сегодня запись закрыта. Приходите завтра.') else: reply('Тебе сообщат о начале турнира.') if tornamentmanager.add_to_list('cesar', user.uid) < 0: reply('Подожди-ка... Ты уже в списках') else: reply('Так и быть. Ступай') user.leave(reply)
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 get_perma_variables_dict(self): return databasemanager.get_variable(str(self.uid) + '_vars', def_val={})
def get_tornament(tid): def_val = get_tornament_dict(tid, [ ]) return databasemanager.get_variable(tid, def_val=def_val)
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 last_opened(): last_o = databasemanager.get_variable(LAST_OPENED, def_val=0) return time.time() - last_o
def cesar(bot, update): v = databasemanager.get_variable('ces', def_val=True) databasemanager.set_variable('ces', not v)
def on_room(user, reply, room): name = databasemanager.get_variable('doctor_killer') if user.name != name: reply('Кажется не ты настоящий Убийца Доктора.') user.remove_item('laser_screwdriver')
def get_tornament(tid): def_val = get_tornament_dict(tid, []) return databasemanager.get_variable(tid, def_val=def_val, table=databasemanager.TORNAMENTS_TABLE)
def enter(user, reply): reply('Кто-кто?..') number = databasemanager.get_variable('doctor_num', 11) reply('Я — _{0}_й Доктор!'.format(number))
from constants import * import time import databasemanager name = 'Доктор кто' hp = 25 * 1.01 ** (databasemanager.get_variable('doctor_num', 1) - 1) damage_range = ( 0, 50 ) coins = 0 loot = [ 'fez', 'laser_screwdriver' ] def can_open(user, reply): return not user.has_tag(DEVIL) def open_failure(user, reply): reply('Здесь не рады проклятым!') def enter(user, reply): reply('Кто-кто?..') number = databasemanager.get_variable('doctor_num', 1) name = databasemanager.get_variable('doctor_killer') user.set_room_temp('hp_max', hp) reply('Я — _{0}_й Доктор!'.format(number), photo=DOCTOR_WHO_STICKER) if name is not None: t = time.time() - databasemanager.get_variable('doctor_kill_time', time.time()+1000)