Может то что я опишу ниже поможет тому человеку, который будет править этот баг.
Как я вижу правку охотника и его питомцев
[ATTACH=CONFIG]71396[/ATTACH]
http://firepic.org/images/2015-01/26/iaodt6rnwmjn.jpg
Итак. К параметрам объекта "охотник" добавляем параметр "количество питомцев". Это нужно для того, чтобы не приручить лишнего либо ввести ограничение на суммарное количество питомцев у охотника.
Объект "Питомец". Параметр 0 означает что питомец - фантом, призванный с помощью http://db.pandawow.me?spell=121818 (понадобится дальше) . 1-55 - порядковый номер питомца который назначается ему при приручении. Этот номер нужен будет для правильного приручения и отпускания питомца на волю. Номер питомца в списке призыва и номер питомца у смотрителя стоил нужны чтобы не было клонов списке призыва и у смотрителя, а также оба параметра 0 указывают на то, что питомец фантом.
Посмотри на пример.
Каждому питомцу скрипт формирует id.
Питомец "Кошка" id 1_1_0 это означает, что 1 -это первый питомец у охотника, 1 - питомец в списке призыва под номером 1, 0 - питомца нету у смотрителя стоил.
Питомец "Паук" id 12_0_2.1 это означает, что питомец у охотника 12, 0 - его нету в списке призыва, 2.1 - питомец находится у смотрителя стоил во втором листе первый в списке.
Питомец "Волк" id 14_0_0 что питомец - фантом, призванный с помощью http://db.pandawow.me?spell=121818 прототипом которого стал питомец охотника под номером 14. Ноли в остальных параметрах означают, что питомец не принадлежит ни к списку питомцев ни к смотрителю стоил и после действия http://db.pandawow.me?spell=121818 он исчезнет не испортив структуры питомцев охотника.
Т.е. когда охотник использует http://db.pandawow.me?spell=121818 скрипт должен выдать ему фантомов (копий) из текущего списка призыва охотника.
"_" - этот символ как разделитель параметров в id, для удобства работы скрипта с id.
Теперь, случай когда охотник отпускает на волю своего питомца. Ну тут я вижу два варианта.
Вариант 1. Отпуская питомца на волю скрипт резервирует в бд место под будущего питомца. Т.е. на месте записи параметров о питомце скрипт пишет символы, дающие ему понимание что под этим номером у охотника нету питомца и сюда можно будет записать параметры будущего питомца, которого охотник приручит. При этом нумерация питомцев не нарушается, а параметр "количество питомцев" у охотника пересчитывается по общему (список призыва и смотритель стоил) количеству оставшихся питомцев. Пример такой записи id 12_x_x
Вариант 2. Отпуская питомца на волю скрипт меняет параметр "№ у охотника" на параметр=значение -1. Т.е отпуская на волю питомца под номером 12 скрипт меняет "№ у охотника" у всех питомцев с значением этого параметра больше 12, отнимая единицу. Так же скрипт меняет параметр "количество питомцев" у объекта охотник, пересчитывая его по общему остатку у охотника. В таком случае никаких резервных ячеек нету и новый питомец, которого приручит охотник будет иметь "№ у охотника" = "количество питомцев" + 1.
Какой из вариантов будет проще для бд - дело практики.
Я надеюсь моё предположение фикса бага питомцев поможет администрации сервера скорее наладить эту игровую механику. Успехов в реализации.