def action_pass_throw_fog(user, reply, text): if text == actions_pass_throw_fog[0]: msg = ( 'Пройдя сквозь туман ты увидел множество людей таких как ты и ...\n' '...\n' '...\n' '...' ) reply(msg) boss = bossmanager.current() user.open_room(reply, 'boss', boss['name']) else: random_number = random.random() if random_number < 0.2: msg = ( 'Когда ты убегал из комнаты, ты вовремя заметил лежащий камень на земле и успел увернуться.' ) reply(msg) else: msg = ( 'Ты убегал настолько быстро, что не заметил лежащий на земле камень и споткнулся об него.' ) reply(msg) user.make_damage(10, 15, reply, death=False) user.leave(reply)
def action_try_to_see(user, reply, text): if text == actions_try_to_see[0]: boss = bossmanager.current() if boss['alive']: msg = ( 'Ты подошел ближе к туману, но ничего не увидел.\n' 'Однако ты услышал рыки злобного чудища и крики людей.\n' ) reply(msg) user.set_room_temp('question', 'pass_throw_fog') else: msg = ( 'Подойдя ближе, туман рассеялся, и за ним ты увидел гору трупов.\n' 'Может быть к счастью?' ) reply(msg) user.leave(reply) else: msg = ( 'Ты так и не узнал что находится за туманом и ушел.' ) reply(msg) user.leave(reply)
def action(user, reply, text): if text == 'Уйти': boss = bossmanager.current() user_boss_id = user.get_room_temp('boss_id') if boss.get('id') is not user_boss_id: user.leave(reply) else: if boss.get('alive'): msg = ('Густой туман не дает тебе выйти.\n' 'У боса осталось {} HP'.format(boss['hp'])) reply(msg) else: if user.get_room_temp('was_received_reward', def_val=False) is False: msg = ( 'Ты ушел, но на мгновение тебе показалось, что ты не забрал свой трофей.\n' ' - Да не, бред какой-то, - и ты продолжил свой путь к коридору.' ) reply(msg) user.leave(reply) else: user.fight_action(reply, text)
def make_damage(user, reply, dmg): boss = bossmanager.current() user_boss_id = user.get_room_temp('boss_id') user_damage = user.get_room_temp('user_damage', def_val=0) if boss['id'] == user_boss_id: if boss['hp'] > 0: boss['hp'] -= dmg user.set_room_temp('user_damage', user_damage + dmg) if boss['hp'] <= 0: bossmanager.die(boss) give_reward(user, reply, boss) else: msg = ('У босса осталось {} HP'.format(boss['hp'])) reply(msg) bossmanager.save(boss) else: msg = ('Ты ударил мертвую тушу и ничего не произошло.\n' 'Так же ты заметил, что туман позади тебя исчез.\n') reply(msg) give_reward(user, reply, boss) else: msg = ('Ты ударил в пустоту, но зачем?') reply(msg)
def enter(user, reply): msg = ('*Ахххр-гр!*\n') reply(msg) boss = bossmanager.current() user.set_room_temp('boss_id', boss['id'])
def enter(user, reply): msg = ( '*Ахххр-гр!*\n' ) reply(msg) boss = bossmanager.current() user.set_room_temp('boss_id', boss['id'])
def fight_answer(self, reply): room = roomloader.load_room(self.room[1], self.room[0]) if room.code_name == 'tornament': return room_type, room_name = self.room if room_type == 'boss': boss = bossmanager.current() user_boss_id = self.get_room_temp('boss_id', def_val=0) if boss.get('alive') is False or boss.get('id') is not user_boss_id: return a, b = room.damage_range dmg = self.make_damage(a, b, reply, name=room.name) if not self.dead and dmg > 0.2: reply(locale_manager.get('USER_DAMAGED').format(dmg))
def fight_answer(self, reply): room = roomloader.load_room(self.room[1], self.room[0], self) if room.code_name == 'tornament': return room_type, room_name = self.room if room_type == 'boss': boss = bossmanager.current() user_boss_id = self.get_room_temp('boss_id', def_val=0) if boss.get('alive') is False or boss.get('id') is not user_boss_id: return a, b = room.damage_range dmg = self.make_damage(a, b, reply, name=room.name) if not self.dead and dmg > 0.2: reply(locale_manager.get('USER_DAMAGED').format(dmg))
def action(user, reply, text): boss = bossmanager.current() user_boss_id = user.get_room_temp('boss_id') if text == 'Уйти': if boss.get('id') is not user_boss_id: user.leave(reply) else: if boss.get('alive'): msg = ('Густой туман не дает тебе выйти.\n' 'У босса осталось {} HP.'.format(boss['hp'])) reply(msg) else: if user.get_room_temp('was_received_reward', def_val=False) is False: msg = ( 'Ты ушел, но на мгновение тебе показалось, что ты не забрал свой трофей.\n' ' — Да не, бред какой-то, — и ты продолжил свой путь к коридору.' ) reply(msg) user.leave(reply) else: user_damage = user.get_room_temp('user_damage', def_val=0) user.fight_action(reply, text) if user_damage > 0 and boss.get('alive') and boss.get( 'id' ) is user_boss_id and boss.get('max_hp') // user_damage < 10: skill_damage = room.skill(user, reply, boss) if skill_damage > 0: user.make_damage(skill_damage, skill_damage, reply, defence=False, name=room.name)
def action(user, reply, text): boss = bossmanager.current() user_boss_id = user.get_room_temp('boss_id') if text == 'Уйти': if boss.get('id') is not user_boss_id: user.leave(reply) else: if boss.get('alive'): msg = ( 'Густой туман не дает тебе выйти.\n' 'У босса осталось {} HP.'.format(boss['hp']) ) reply(msg) else: if user.get_room_temp('was_received_reward', def_val=False) is False: msg = ( 'Ты ушел, но на мгновение тебе показалось, что ты не забрал свой трофей.\n' ' — Да не, бред какой-то, — и ты продолжил свой путь к коридору.' ) reply(msg) user.leave(reply) else: user_damage = user.get_room_temp('user_damage', def_val=0) user.fight_action(reply, text) if user.state == 'room': if user_damage > 0 and boss.get('alive') and boss.get('id') is user_boss_id and boss.get('max_hp') // user_damage < 10: skill_damage = room.skill(user, reply, boss) if skill_damage > 0: user.make_damage(skill_damage, skill_damage, reply, defence=False, name=room.name)
def make_damage(user, reply, dmg): boss = bossmanager.current() user_boss_id = user.get_room_temp('boss_id') user_damage = user.get_room_temp('user_damage', def_val=0) if boss['id'] == user_boss_id: if boss['hp'] > 0: boss['hp'] -= dmg user.set_room_temp('user_damage', user_damage + dmg) if boss['hp'] <= 0: bossmanager.die(boss) give_reward(user, reply, boss) else: msg = ( 'У босса осталось {} HP.'.format(boss['hp']) ) reply(msg) bossmanager.save(boss) else: msg = ( 'Ты ударил мертвую тушу и ничего не произошло.\n' 'Так же ты заметил, что туман позади тебя исчез.\n' ) reply(msg) give_reward(user, reply, boss) else: msg = ( 'Ты ударил в пустоту, но зачем?' ) reply(msg)