Объявления

Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

ПАТЧ ТЕ!

Обсуждаем, делимся впечатлениями, новой информацией
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 17 июн 2022, 19:53

Цитата:
Может, :)
- Запас хода сбежавших и откупившихся героев соответствует остатку на момент сбегания, откупа.
- Запас хода погибших и уволенных героев обнуляется до наступления следующего игрового дня.

С сохранением остатка MP есть ещё и технический момент. Необходимо его помнить для каждого сбежавшего и т.п. героя. В течение одной игровой сессии проблем не будет: эту информацию спокойно можно держать в памяти плагина. Однако что делать с сейвами? В структуре героя попросту нет места для этой информации. Здесь два пути: либо пытаться ужать какое-то поле и засовывать туда остаток MP, либо менять формат сейва, а этого очень не хотелось бы. Так что, казалось бы, простая задача требует изменения целого формата сейвов. Реализовать, конечно, можно. Всё равно нет особого смысла играть сейвы TE на оригинале и наоборот. Однако, я понимаю, что рано или поздно возникнет задача (как, например, в случае с новыми заклинаниями для Тройки), которую нельзя будет решить без изменения формата сейвов.

Хотя... Выкрутиться всегда можно. Например, как-то помечать героя (одним битом), что он сбежал и не обновлять его текущий и максимальный запас хода при найме. Костыль, но работать будет.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 17 июн 2022, 21:50

Для нового объекта под кодовым названием "Крепость Паладинов" сделал такой бой:

Изображение

Почему мы справа? Задумка такая, что мы стучимся в ворота крепости, тишина, никто не открывает. Игроку предлагается сломать ворота. Если он соглашается, внезапно появляются Паладины и расценивают сей акт как нарушение права частной собственности :smile1: Если у Вас есть литературный талант, то можете помочь. Нужны четыре текста для событий:

1) текст при посещении объекта в первый раз (Вы видите ... крепость ... мост опущен (у объекта он действительно опущен) ... никто не открывает ... желаете сломать ворота?
2) при нажатии на кнопку OK: тишина обрывается ... яростные паладины идут в атаку;
3) при нажатии на кнопку CANCEL: Вы чувствуете, что поступили правильно и отправляетесь дальше;
4) при посещении "разграбленного" объекта: можно описать сцену после битвы и упомянуть, что крепость оставлена хозяевами.

* * *
Логика полностью готова. Осталось придумать тексты и награду. В версии 1.05 будут стоковые тексты (если кто-нибудь, конечно, не успеет написать литературные) и простенькая награда (с новым героем придётся заморочиться, что отложит релиз). А вот уже в версии 1.1 всё может быть. Графический баг с лодками и рамкой, видимо, придётся оставить на потом. Много нюансов. Например, если Вы попробуете покататься на лодке у самой верхней границы карты, то заметите, что её верх прячется за границу, но спустя несколько секунд всплывает. Разработчики точно боролись с этим, но так и не побороли. Вот и я не буду спешить, пока полностью не разберусь с тем, что происходит. Думаю зарелизить 1.05 сегодня или в воскресенье, т.к. всё остальное уже давно готово.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 18 июн 2022, 05:17

Код такой получился:

Код: Выделить всё
int __stdcall processObjectVisit(LoHook* h, HookContext* c)
{
   eObjects object = *(eObjects*)(c->ebp - 0x30);
   
   if (object == eObjectMegalith)
   {
      char* msg = "Are you sure you want to enter?";
      showMessageWnd(msg, 2, -1, -1, -1, 0, -1, 0, -1);

      THero* hero = *(THero**)(c->ebp - 0x10);
   
      if (gpWndManager->result == 0x7805)
      {
         TTile* tile = *(TTile**)(c->ebp + 8);
                           
         if (!tile->object_info)
         {
            int x = *(int*)(c->ebp + 0xC);
            int y = *(int*)(c->ebp + 0x10);

            if (gpAdvManager->DoBattle(hero, eCreaturePaladin, 10, tile, x, y, 1, x, y) == 0)
            {
               hero = *(THero**)(c->ebp - 0x10);

               if (hero->armyGroup.CanAddArmy(eCreatureGhost))
               {
                  hero->armyGroup.AddArmy(eCreatureGhost, 10, -1);
                  updateWindow(true);
                  char* msg = "You've defeated the paladins and freed the evil ghosts they were guarding." \
                     "  Strangely, they've silently joined your cause...";
                  showMessageWnd(msg, 1, -1, -1, -1, 0, -1, 0, -1);
                  tile->object_info = 1;
               }
               else
               {
                  char* msg = "You've defeated the paladins and freed the evil ghosts they were guarding." \
                     "  Strangely, they wish to join your cause if you'll find a room for them in your army...";
                  showMessageWnd(msg, 1, -1, -1, -1, 0, -1, 0, -1);
                  tile->object_info = 2;
               }
            }
         }
         else
         {
            if (tile->object_info == 2)
            {
               if (hero->armyGroup.CanAddArmy(eCreatureGhost))
               {
                  hero->armyGroup.AddArmy(eCreatureGhost, 10, -1);
                  updateWindow(true);
                  char* msg = "Ghosts silently join your cause...";
                  showMessageWnd(msg, 1, -1, -1, -1, 0, -1, 0, -1);
                  tile->object_info = 1;
               }
               else
               {
                  char* msg = "Ghosts are still waiting to join your cause, but you don't have a room for them in your army...";
                  showMessageWnd(msg, 1, -1, -1, -1, 0, -1, 0, -1);
               }
            }
            else
            {
               char* msg = "Nobody's home...";
               showMessageWnd(msg, 1, -1, -1, -1, 0, -1, 0, -1);
            }
         }
      }
   }

   return EXEC_DEFAULT;
}

Не знаю, нужны ли здесь артикли the. Вроде речь идёт о конкретных Паладинах и Призраках, а как-то звучит не очень. Короче, логика вот такая. И нужны тексты вместо тех, что выше.

Ещё нужно запоминать игрока, победившего Паладинов. А при посещении Paladin Stronghold другим игроком выводить уникальное сообщение о том, что место заброшено, но героя не отпускает чувство, что кто-то наблюдает за ним из темноты. А вот когда первый игрок забрал Призраков, то можно уже писать, что место просто заброшено. Призраки ради фана. В обычной игре их нельзя получить. К версии 1.1 придумаю что-нибудь менее имбовое.

Вот так делаются новые объекты :smile20:

Изображение

Потом можно будет добавить в редактор карт, но сперва с ним нужно разобраться, и будет полноценный объект, причём "родной".
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 18 июн 2022, 16:56

Залил новую версию.

1. Исправлены оригинальные баги походных заклинаний View Mines и View All.
2. Добавлено отображение здоровья, потенциального урона и количества потерь в статусной строке. Доступны три стиля статусной строки: TE-style, Classic+ и Classic (поменять можно в EnglishTexts.ini).
3. Добавлена информация об уроне для ударных заклинаний и кол-ве восстанавливаемых очков здоровья для заклинания Resurrect.
4. Эльфы делают только один выстрел, если у них осталась одна стрела.
5. Возвращено оригинальное сообщение "No Shots Left!" при наведении курсора на вражеский отряд, который находится вне досягаемости отряда стрелков, у которого не осталось выстрелов.
6. Исправлен оригинальный баг, приводящий к остановке анимации и частичному затиранию обводки активного отряда после выстрела катапульты при игре в оконном режиме.
7. Реализовано быстрое сохранение (F5) и быстрая загрузка (F9).
8. Исправлен оригинальный баг, из-за которого в определённых случаях игрок не мог построить корабль, даже когда число кораблей на карте было меньше 32 и клетка с выходом к океану не была занята (100% этот баг можно повторить на карте Around the Bay в северо-восточном замке).
9. Теперь порядок отображения отрядов в нижнем правом окошке на карте приключений совпадает с порядком отрядов в армии героя.
10. Количество воинов в отрядах в бою отображается в сокращённом виде (например, 1k) при значениях 1000+.
11. Количество воинов в отрядах и количество ресурсов в нижнем правом окошке на карте приключений отображается в сокращённом виде (например, 100k, 1m) при очень больших значениях.
12. Добавлены три режима чит-кодов: 0 (без читов), 1 (классический чит), 2 (TE читы). Задать режим работы чит-кодов можно в TE.ini.
13. Исправлен оригинальный баг, из-за которого закрывалось окно магической гильдии после просмотра информации о левом нижнем заклинании.
14. Добавлено отображение посещения объектов по правому клику.
15. AI больше не будет направлять заклинания Bless и Curse на отряды с отсутствием разброса урона (в оригинальной игре это только Крестьяне).
16. Добавлен экспериментальный режим "SlightlyHarderAI" (включить можно в TE.ini). В данном режиме AI будет играть немного агрессивнее за счёт увеличения радиуса анализа карты, улучшения логистики (убран штраф за посещение объектов) и логики покупки существ. В данной версии этот режим предназначен исключительно для тестирования.
17. Добавлен тестовый сейв с новым объектом Paladin Stronghold. Работает пока только для игрока-человека.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 19 июн 2022, 18:25

В пользу того, что модификатор Морали Battle Cowardice изначально был, говорит тот факт, что у функции, снимающей временные бонусы:

Код: Выделить всё
void __thiscall THero::RemoveTempBonuses(THero *this)
{
  if ( (this->properties & eGraveyardVisited) != 0 )
  {
    ++this->moraleBonus;
    this->properties -= eGraveyardVisited;
  }
  if ( (this->properties & eShipwreckVisited) != 0 )
  {
    ++this->moraleBonus;
    this->properties -= eShipwreckVisited;
  }
  if ( (this->properties & eBuoyVisited) != 0 )
  {
    --this->moraleBonus;
    this->properties -= eBuoyVisited;
  }
  if ( (this->properties & eOasisVisited) != 0 )
  {
    --this->moraleBonus;
    this->properties -= eOasisVisited;
  }
  if ( (this->properties & eStatueVisited) != 0 )
  {
    this->moraleBonus -= 2;
    this->properties -= eStatueVisited;
  }
  if ( (this->properties & eFaerieRingVisited) != 0 )
  {
    --this->luckBonus;
    this->properties -= eFaerieRingVisited;
  }
  if ( (this->properties & eFountainVisited) != 0 )
  {
    --this->luckBonus;
    this->properties -= eFountainVisited;
  }
}

есть функция-обёртка для проигравшего героя и в релизной версии всё, что она делает, - вызывает функцию, забирающую обратно временные бонусы. Логично предположить, что эта функция делала что-то ещё, а именно добавляла -1 к счётчику Battle Cowardice. Так что, я думаю, будет правильным вернуть этот модификатор Морали.

Ещё я научу AI сдаваться. Т.е. будет так: когда герой компа собирается бежать, он предлагает герою игрока-человека откупиться. Если тот соглашается, игрок-человек получает золото, а герой компа отправляется в Таверну без модификатора Battle Cowardice. Если же игрок-человек отказывается, то комп сбегает и получает -1 к Battle Cowardice. Аналогично для героев игрока-человека: откупился - без модификатора Battle Cowardice ушёл, сбежал - получи пенальти. Думаю, логично будет.

В рамках SlightlyHarderAI научу AI быть осторожнее при оценке угрозы нейтралов/героев, а особенно - замков. Игроки AI теряют очень много золота, не говоря уже о боеспособности их армий, сливаясь на первых порах на нейтралах. Да, когда они окрепнут, они уже пробивают нейтралов, как танки. Но в самом начале слишком много сливов, которых можно было бы избежать.

* * *
Анонс Патча 1. До перерыва на лето выйдет Патч 1. Много идей, но нужно сделать паузу. В Патч 1 включу вот это:

Цитата:
Ещё я научу AI сдаваться. Т.е. будет так: когда герой компа собирается бежать, он предлагает герою игрока-человека откупиться. Если тот соглашается, игрок-человек получает золото, а герой компа отправляется в Таверну без модификатора Battle Cowardice. Если же игрок-человек отказывается, то комп сбегает и получает -1 к Battle Cowardice. Аналогично для героев игрока-человека: откупился - без модификатора Battle Cowardice ушёл, сбежал - получи пенальти. Думаю, логично будет.

с небольшим сюрпризом :smile2: SlightlyHarderAI - отдельная тема, много работы, поэтому отложу пока. Также с Патчем 1 не нужно будет редактировать реестр, чтобы воспроизводилось CD аудио. Кроме того, в TE.ini будет добавлена опция <LosslessAudio>, которая будет проигрывать треки в формате flac (http://handbookhmm.ru/download/Heroes_of_Might_and_Magic_Soundtracks.zip) из папки Audio без необходимости переименования. Т.е. установил игру от "Буки", накатил TE-патч, скопировал в папку с игрой папку Tracks с диска, а при желании в папку Audio треки из архива выше, запустил - и всё работает.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 20 июн 2022, 16:38

Устранил редкий, но, тем не менее, не дававший покоя баг:

Изображение

Ура :smile11:
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 20 июн 2022, 18:29

Когда в игре уже есть код для Battle Cowardice :smile4:

Код: Выделить всё
if ( hero::HasArtifact(hero, eArtifactMedalOfValor) )
    ShowMessage(&o_TextBuffer, off_4931F0);
  if ( hero::HasArtifact(hero, eArtifactMedalOfCourage) )
    ShowMessage(&o_TextBuffer, off_4931F4);
  if ( hero::HasArtifact(hero, eArtifactMedalOfHonor) )
    ShowMessage(&o_TextBuffer, off_4931F8);
  if ( hero::HasArtifact(hero, eArtifactMedalOfDistinction) )
    ShowMessage(&o_TextBuffer, off_4931FC);
  if ( (hero->properties & eBuoyVisited) != 0 )
    ShowMessage(&o_TextBuffer, off_493204);
  if ( (hero->properties & eOasisVisited) != 0 )
    ShowMessage(&o_TextBuffer, off_493208);
  if ( (hero->properties & eStatueVisited) != 0 )
    ShowMessage(&o_TextBuffer, off_49320C);
  if ( (hero->properties & eGraveyardVisited) != 0 )
    ShowMessage(&o_TextBuffer, off_493210);
  if ( (hero->properties & eShipwreckVisited) != 0 )
    ShowMessage(&o_TextBuffer, off_493214);
  if ( hero->battleCowardice )
  {
    vsprintf(v4, off_493218, hero->battleCowardice);
    ShowMessage(&o_TextBuffer, v4);
  }
  if ( v6 == strlen(&o_TextBuffer) )
    ShowMessage(&o_TextBuffer, off_49321C);
  ShowMessageWnd(&o_TextBuffer, a2, -1, -1, -1, 0, -1, 0, -1);

ты знаешь, что делаешь всё правильно :smile20: Мне даже код для отображения Battle Cowardice не нужно писать, и поле в структуре героя сохранилось в целости. И даже порядок отображения есть. Возрадуйтесь, инструкции, которые не выполнялись более 25 лет :smile16:

После 3-х побегов с поля боя:

Изображение
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 22 июн 2022, 05:13

Итак, готов Патч 1. Полный список изменений:

1. Игра больше не требует оригинального CD или образа и не конфликтует с оригинальной версией, так как все настройки сохраняются в отдельную ветку реестра.
2. Игра не показывает вступительные и заключительные «видеоролики», что сокращает время перезапуска.
3. Запас хода сбежавших, откупившихся, погибших и уволенных героев обнуляется до наступления следующего игрового дня.
4. При передаче герою более медленных войск запас его хода больше не уменьшается после выхода из окна героя.
5. Изменена анимация заклинания «Воскрешение» на предполагаемую оригинальную.
6. Артефакт «Символ неудачи» теперь снижает удачу, а не мораль, на 3 единицы. Таким образом в игру возвращена «Неудача».
7. Теперь нельзя покинуть игровую зону с помощью заклинания «Портал».
8. Устранены баги с таверной: исключено появление одинаковых героев в одной таверне или в тавернах у разных игроков.
9. Устранены баги, связанные с неверным определением количества остающихся после боя однотипных cуществ, если одна из сторон проигрывала, сбегала или сдавалась. Так, например, раньше можно было 9 драконов превратить в 5 путём нападения и последующего отступления четырьмя героями. Теперь остаток войск после боя определяется корректно.
10. Исправлен баг, позволявший «сливать» (разбивать) сильного героя компьютерного игрока о нейтралов, другого компьютерного игрока, артефакт и т.п. Теперь герой компьютерного игрока выигрывает битву без потерь, если коэффициент победы, зависящий от соотношения сил сторон и определённый самой игрой, оказывается более 0,75. Слив компов в остальных случаях не ограничен, так как является, по сути, «фишкой» Первых Героев.
11. Исправлен баг с обелисками. Теперь карта-загадка открывается корректно.
12. Исправлен баг со сливом сверхсильных компов из-за переполнения при подсчёте мю-силы.
13. Исправлен баг с одновременным сливом.
14. Исправлен баг с призраками (число призраков в стеке увеличивалось на удвоенное количество убитых ими врагов при ответной атаке).
15. Исправлен баг с вылетом игры после сбегания (откупа) героя с призраками, если их число на момент сбегания (откупа) превышало начальное.
16. Исправлен баг с кораблекрушением. В оригинале игроку-человеку при посещении этого объекта всегда предлагалось сразиться с максимальной охраной (50 призраков) за 2000 золотых + случайный артефакт, независимо от реальной «начинки». Для героев компьютерного игрока данный объект работал корректно.
17. Теперь кораблекрушения, пещеры демонов, кладбища и скелеты с артефактом дают фиксированный (на конкретном сейве) артефакт 1-3 уровня (т.е. любой), тип которого зависит от координат объекта и некоторого случайного числа.
18. Запас хода героев в первый день теперь зависит от состава армии и артефактов.
19. Все герои приходят с 0 опыта;
20. Параметры уволенных и погибших героев сбрасываются на исходные (арты, содержимое книги и т.п.).
21. Теперь можно увидеть остаток здоровья «верхнего» воина в стеке (как во всех остальных частях HoMM) и запас хода любого героя в окне с его характеристиками (по правому клику).
22. На карте приключений ограничен рост привидений числом 127.
23. В окно «О Героях Меча и Магии» возвращён оригинальный значок и прописана версия H1 TE 1.04.
24. Исправлен баг оригинала, приводящий к вылету или повреждению памяти процесса, если в бою у героя компьютерного игрока в книге заклинаний присутствует Огненный Шар и/или Звездопад.
25. Исправлен баг оригинала. После посещения некоторого количества обелисков героями компьютерного игрока вероятность определить координаты могущественного артефакта становилась отрицательной, поэтому компьютерный игрок никогда не копал в поисках клада, если открывал более 42 фрагментов карты-загадки.
26. Исправлен баг оригинала. ID героя, приобретающего магическую книгу, замещало ID первой лодки с героем, что приводило к возникновению различных багов.
27. Возвращены цветные курсоры, как в DOS версии.
28. Исправлен баг оригинальной игры, связанный с "бесконечной" покупкой кораблей игроками AI при достаточном количестве ресурсов.
29. Исправлены оригинальные баги походных заклинаний View Mines и View All.
30. Добавлено отображение здоровья, потенциального урона и количества потерь в статусной строке. Доступны три стиля статусной строки: TE-style, Classic+ и Classic (поменять можно в EnglishTexts.ini).
31. Добавлена информация об уроне для ударных заклинаний и количестве восстанавливаемых очков здоровья для заклинания Resurrect.
32. Эльфы делают только один выстрел, если у них осталась одна стрела.
33. Возвращено оригинальное сообщение "No Shots Left!" при наведении курсора на вражеский отряд, который находится вне досягаемости отряда стрелков, у которого не осталось выстрелов.
34. Исправлен оригинальный баг, приводящий к остановке анимации и частичному затиранию обводки активного отряда после выстрела катапульты при игре в оконном режиме.
35. Реализовано быстрое сохранение (F5) и быстрая загрузка (F9).
36. Исправлен оригинальный баг, из-за которого в определённых случаях игрок не мог построить корабль, даже когда число кораблей на карте было меньше 32 и клетка с выходом к океану не была занята (100% этот баг можно повторить на карте Around the Bay в северо-восточном замке).
37. Теперь порядок отображения отрядов в нижнем правом окошке на карте приключений совпадает с порядком отрядов в армии героя.
38. Количество воинов в отрядах в бою отображается в сокращённом виде (например, 1k) при значениях 1000+.
39. Количество воинов в отрядах и количество ресурсов в нижнем правом окошке на карте приключений отображается в сокращённом виде (например, 100k, 1m) при очень больших значениях.
40. Добавлены три режима чит-кодов: 0 (без читов), 1 (классический чит), 2 (TE читы). Задать режим работы чит-кодов можно в TE.ini.
41. Исправлен оригинальный баг, из-за которого после просмотра информации о левом нижнем заклинании закрывалось окно магической гильдии.
42. Добавлено отображение посещения объектов по правому клику.
43. AI больше не будет направлять заклинания Bless и Curse на отряды с отсутствием разброса урона (в оригинальной игре это только Крестьяне).
44. Добавлен экспериментальный режим "SlightlyHarderAI" (включить можно в TE.ini). В данном режиме AI будет играть немного агрессивнее за счёт увеличения радиуса анализа карты, улучшения логистики (убран штраф за посещение объектов) и логики покупки существ. Кроме того, в режиме "SlightlyHarderAI" герои компьютерных игроков ведут себя осторожнее, что позволяет избежать ненужных потерь и сохранить боеспособность их армий.
45. Добавлен тестовый сейв с новым объектом Paladin Stronghold. Работает пока только для игрока-человека.
46. Теперь при наличии достаточного количества золота герои компьютерных игроков будут предлагать игроку-человеку капитуляцию ("откуп") перед побегом с поля боя (при отказе герой компьютерного игрока сбегает).
47. В игру возвращён модификатор Морали "Battle cowardice", который даёт герою -1 к Морали за каждый побег с поля боя.
48. Теперь при старте новой карты игра автоматически исправляет некорректные тайлы городов/замков (в оригинальной игре на некоторых картах правый клик на определённых клетках города/замка предоставлял информацию о другом случайном городе/замке).
49. Больше не требуется правка реестра для воспроизведения музыки CD-аудио (достаточно просто скопировать папку Tracks с диска/образа в папку с установленной игрой). Также игра позволяет проигрывать треки в формате flac: для этого нужно создать папку Audio в корневой папке игры, скопировать в неё треки в формате flac и в конфигурационном файле TE.ini установить ключ <LosslessAudio> в 1.
50. Исправлен баг оригинала, из-за которого после битвы двух героев компьютерных игроков в случае победы защищающегося героя он получал опыт за самого себя.

50-й баг, кстати, успешно перекочевал в Герои 2 (я о нём как-то писал с примерами). Решил проверить, вот, и в Героях 1. И действительно, ноги-то из Единички растут :smile2:
Вернуться к началу

offlineАватара пользователя
VDV_forever  
имя: Дмитрий
Администратор
 
Сообщения: 3860
Зарегистрирован: 22 мар 2009, 12:36
Пол: Мужчина
Поблагодарили: 983 раз.

Re: ПАТЧ ТЕ!

Сообщение VDV_forever » 22 июн 2022, 14:46

Ничего себе сколько тут всего было сделано и реализовано! :smile8: :smile11:
Александр, респектище! :smile11:
Пойду новость запилю на главной :smile1:

А можно самую главную хотелку :smile14:
Реализовать героев 1 на своем движке, с патчем ТЕ и с возможной онлайн игрой по сети, с работой через смартфон? :smile21:
Вот это была бы революция в игровой индустрии героев. Особенно если скачивать можно было бы через гугл плэй :smile21:
http://www.handbookhmm.ru- Познай все тонкости игры!
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2162 раз.

Re: ПАТЧ ТЕ!

Сообщение AlexSpl » 22 июн 2022, 14:49

До порта на мобильные устройства очень далеко. В отсутствие исходного кода порт возможен только при переписывании игры с нуля.
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron