Хук поставлен правильно.
Code:
// Замки
// 6971F0 (18h*9[число типов городов])
// 6A60B0 ()
// 
// + 24h dw * 8  = количество доступных для найма монстров
// +150h dd + dd = постройки
// 0 01 -  0 Гильдия магов ур 1
//   02 -  1 2
//   04 -  2 3
//   08 -  3 4
//   10 -  4 5,?(6,7)
//   20 -  5 таверна
//   40 -  6 верфь(0,4,7,8),?(1,2,3,5,6) 
//   80 -  7 форт (+ слева картинка)
// 1 01 -  8 цитадель (+)
//   02 -  9 замок (+)
//   04 - 10 управа (+)
//   08 - 11 префектура (+)
//   10 - 12 муниципалитет (+)
//   20 - 13 капитолий (+)
//   40 - 14 рынок
//   80 - 15 хранилище ресурсов
// 2 01 - 16 кузница
//   02 - 17 маяк(0),таинств.пруд(1),торг.арт.(2,5,8),?(3),вуаль тьмы(4),
//           чер.ход(6),кл.бог.войны(7)
//   04 - 18 баст.гриф.(0-3),гильд горн.(1-2),крылья воятеля(2-2),инкуб(3-1),
//           взрыт.мог.(4-1),гриб.кольца(5-1),стол(6-1),кв.капитана(7-1),сад жизни(8-1)
//   08 - 19 баст.гриф.+(0-3+),гильд горн.(1-2+),крылья воятеля(2-2+),инкуб(3-1+),
//           взрыт.мог.(4-1+),гриб.кольца(5-1+),стол(6-1+),кв.капитана(7-1+),сад жизни(8-1+)
//   10 - 20 ?(0,1,2,3,4,5,6,7,8)
//   20 - 21 конюшни(0),фонтан уд(1),см.башня(2),сер.тучи(3),ус.ч.магии(4),
//           водов.маны(5),гил.н.раб(6),знаки страха(7),ун.магии(8)
//   40 - 22 бр.меча(0),сокровищ(1),библ(2),врата замка(3),преобр.ск(4),
//           портал выз(5),дв.балист(6),обелиск крови(7),?(8)
//   80 - 23 ?(0,1,4,7,8),стена зн.(2),орден огня(3),ак.б.иск(5),храм волх(6)
// 3 01 - 24 ?(0,2,4,5,6,7,8),мол.дендр(1-5),клетки(3-3)
//   02 - 25 ?(0,2,4,5,6,7,8),мол.дендр(1-5+),клетки(3-3+)
//   04 - 26 грааль
//   08 - 27 ?(x)
//   10 - 28 ?(x)
//   20 - 29 ?(x)
//   40 - 30 жил 1  (x-1)
//   80 - 31 жил 2  (x-2)
// 4 01 - 32 жил 3  (x-3)
//   02 - 33 жил 4  (x-4)
//   04 - 34 жил 5  (x-5)
//   08 - 35 жил 6  (x-6)
//   10 - 36 жил 7  (x-7)
//   20 - 37 жил 1+ (x-1+)
//   40 - 38 жил 2+ (x-2+)
//   80 - 39 жил 3+ (x-3+)
// 5 01 - 40 жил 4+ (x-4+)
//   02 - 41 жил 5+ (x-5+)
//   04 - 42 жил 6+ (x-6+)
//   08 - 43 жил 7+ (x-7+)
// +158h dd + dd = модификаторы и производители существ
// теже жилища
// 0 80 - форт слева картинка 
// 2 08 - "Инкубатор"
// 3 40 - "Бесы" карт
//   80 - "Гоги"
// 4 01 - "Адские Гончие"
//   02 - "Демоны"
//   04 - "Порождение Зла"
//   08 - "Эфриты"
//   10 - "Дьяволы"
//   20 - + "Черти" ("Бесы")
//   40 - + "Магоги" ("Гоги")
//   80 - + "Церберы" ("Адские Гончие")
// 5 01 - + "Рогатые Демоны" ("Демоны")
//   02 - + "Адские Отродья" ("Порождение Зла")
//   04 - + "Султаны Эфритов" ("Эфриты")
//   08 - + "Архидьяволы" ("Дьяволы")
struct _CastleSetup_{
  Byte   Number;        //* +0 0,1,2,...
  char   Owner;         //*O +1 0,...
  char   BuiltThisTurn; // +2 - уже строили в этот турн (0-нет, 1-да, 2-не наш город)
  Byte  _u2;            //* +3 0
  Byte   Type;          //*T +4 0,1...,8
  Byte   x;             //* +5
  Byte   y;             //* +6
  Byte   l;             //* +7
  Byte   Pos2PlaceBoatX;//* +8 помещать лодку при покупки в Shipyard
  Byte   Pos2PlaceBoatY;//* +9
  Byte  _uAa[2];        // +0A
  int    IHero;         //* +0Ch = номер героя внутри города (-1 - никого нет)
  int    VHero;         //* +10h = номер героя снаружи города (-1 - никого нет)
  char   MagLevel;      //*G +14h = уровень магической гильдии в городе (исп. AI для постройки)
  Byte  _u15;
  Word   Monsters[2][7];//*M- +16h ко-лво простых и апгрейднутых
  char  _u32;           //*- +32 = ?
  char  _u33;           //* +33 = 1
  char  _u34;           //* +34 = 0
  Byte  _u35a[3];
  int   _u38;           //* +38 = -1
  int   _u3C;           //* +3C = -1
  short _u40;           //*- +40
  Word  _u42;           //  +42
  int    Spels[5][6];   //*G- +44 сами заклинания
  char   MagicHild[5];  //*G- +BCh = колво заклинаний в уровне гильдии
  Byte  _uC1[3];
  char  _uC4;           //* +C4 = 0
  Byte  _uC5[3];
  _AMes_ Name;          //*N +C8 -> Имя города
  int   _u8[3];         //* +D4 = 0
  Dword  GuardsT[7];    //*M +E0 = охрана замка
  Dword  GuardsN[7];    //*M +FC = кол-во охраны
  Dword  GuardsT0[7];   //*M- +118 = охрана замка
  Dword  GuardsN0[7];   //*M- +134 = кол-во охраны
  Byte   Built[8];      //*B +150h = уже построенные здания (0400)
  Byte   Bonus[8];      //*B +158h = бонус на существ, ресурсы и т.п., вызванный строениями
  Dword  BMask[2];      //*B- +160h = маска доступных для строения строений
};