Сундуки с сокровищами

Начал реализовывать сбор вещей из сундуков, для начала нарисовал сундук в двух вариантах: закрытый и открытый
сундуки с сокровищами, открытый сундук, закрытый сундук, лабиринты зыби - 7maze.ru

Думаю как реализовывать сундуки, есть два варианта:

  • как объект
  • как существо
  • Если делать сундук объектом - то в прорисовке ничего сложного, подобным образом реализована рапаппила, просто рисуем два объекта - закрытый и открытый, при открытии заменяем объект закрытый сундук на объект открытый сундук.

    Его содержимое занести в структуру TMazeObject, сейчас там int data[6], но в принципе никто не запрещает нам сделать скажем 6x4=24, чтобы в сундуке можно было хранить 24 вещи.
    Сделать функцию - открыть сундук - получаем с сервера содержимое, затем если игрок что-то берет, вызываем функцию достать из сундука, в качестве идентификатора сундука используем его координаты.
    Сложность в том, что нужно будет отдельно реализовывать выбор сундука, на данный объект нельзя зайти (как например на куст рапаппилы) - а значит нельзя использовать стандартное решение - меню действий персонажа.

    С другой стороны если сделать сундук - существом (который само-собой не ходит и не убивается, а храним вещи в unsigned int inventory), то можно сразу реализовать и обмен с персонажами в игровом режиме.

    Например для реализации квестов - находим ключника, берем ключ - открываем решетку, достаем яблоко - отдаем старцу - получаем меч :)

    Пока думаю