Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
        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)
Beispiel #4
0
        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)
Beispiel #5
0
        def enter(user, reply):
            msg = ('*Ахххр-гр!*\n')

            reply(msg)

            boss = bossmanager.current()

            user.set_room_temp('boss_id', boss['id'])
Beispiel #6
0
		def enter(user, reply):
			msg = (
				'*Ахххр-гр!*\n'
			)

			reply(msg)

			boss = bossmanager.current()

			user.set_room_temp('boss_id', boss['id'])
Beispiel #7
0
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))
Beispiel #8
0
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))
Beispiel #9
0
        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)
Beispiel #10
0
		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)
Beispiel #11
0
		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)