• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

Готика 2: НВ Неофициальное обновление для Г2 НВ

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.224
Благодарности
3.454
Баллы
485
  • Первое сообщение
  • #1
Неофициальное обновление для игры "Готика 2: Ночь Ворона" представляет собой модификацию, направленную на исправление многочисленных ошибок и недоработок игры различной степени критичности. Данное обновление не включает новые квесты или глобальные изменения баланса и рекомендуется всем, кто хочет играть в Г2НВ без багов.
Разработка обновления ведется с 2005 года и по сегодняшний день. Камрад Efectivo (aka Нефариус) русифицировал патч от Fizzban и внес несколько дополнительных исправлений (так что получилась не русификация, а самостоятельный продукт на его основе).
В неофициальном обновлении камрад Dimus значительно расширил список исправлений и добавил некоторые улучшения. Дальнейшая работа над обновлением продолжена силами D36.
Также в данную сборку включены исправленные миры от Kvincius (Рудниковая долина, Яркендар, Хоринис и Ирдорат), исправленные шрифты от N1kX, неофициальное исправление русской озвучки от Dimus и полезные плагины для Union от Slavemaster (zBugFixes, zMiscUtils, zPicklockAnis, zTorchControl и другие).

Текущая версия:
30 от 02.09.2024

Ссылки:
Установщик модификации (76.9 МБ);
Версия для Мастерской Steam;
Исходники скриптов и архив релизов.

Установка:
Запустить установщик обновления, указать каталог с установленной игрой и выбрать набор устанавливаемых компонентов.
Внимание: Для того, чтобы все изменения вступили в силу, после установки обновления нужно начать новую игру!

Загрузка текста...

Удаление:
Удалить данное обновление можно через раздел "Программы и компоненты" в панели управления или запустив исполняемый файл G2a_NR_ScriptPatch_v30_uninstall.exe в каталоге с установленной игрой.

Примечания:
1. Для предотвращения возможных конфликтов с различными модами обновление устанавливается в формате модификации, поэтому для её работы необходимо наличие мод-стартера Player Kit. Также настоятельно рекомендуется установить последнюю версию Union;
2. Каждая версия неофициального обновления запускается через GothicStarter.exe отдельно и использует собственные папки сохранений. Удаление разных версий из панели управления также происходит раздельно;
3. Для установки игры не рекомендуется использовать папку Program Files, так как в ней может быть заблокирована работа стартера модов;
3. При возникновении проблем с запуском встроенных плагинов рекомендуется скачать и установить этот набор vcredist.

Начало новой игры обязательно. Не поддерживаются сохранения, сделанные в оригинале, в любом другом моде или в любой предшествующей версии неофициального обновления. Игнорирование данного предупреждения может привести к непредсказуемым последствиям: от невозможности продвижения по сюжету до вылетов.
Для тестирования доступна рабочая сборка очередной версии обновления с дополнительными исправлениями. Подробности здесь.
 
Последнее редактирование:

Ксардас 2000

Участник форума
Регистрация
24 Фев 2018
Сообщения
510
Благодарности
207
Баллы
205
Мне кажется, стоило бы "убрать" из игры "Слёзы Инноса" и упоминание о них в прохождении за наёмника. Они абсолютно бесполезны и только вносят ненужную путаницу.
Нет не нужно убирать из игры кусок истории только потому что он не даёт никаких технических преимуществ. Игра это не только цифры, статы и лут.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
Мне кажется, стоило бы "убрать" из игры "Слёзы Инноса" и упоминание о них в прохождении за наёмника. Они абсолютно бесполезны и только вносят ненужную путаницу.
Убирать не стоит. Если бы это был полноценный мод, я бы предложил сделать наемникам возможность сдать слезы Инноса Пирокару, но для этого нужны новые диалоги, значит для данного патч-мода такое не подойдет, т.к. эти диалоги не будут озвучены. Так что пусть остается так, как есть.
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Они абсолютно бесполезны и только вносят ненужную путаницу.
сейчас при игре за Наёмника их можно использовать для ритуального самоубийства при прохождение игры "Без Смертей";-)

можно какое нибудь зелье придумать на основе слёз Инноса: перегнать их на алхимическим столе с чем нибудь, что бы давали бонус к чему нибудь:)
 

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
Всё правильно, потому что "рискованно" означает разброс по требованию к ловкости от 50 до 69
Откуда инфа про "означает"? Обычно требование к ловкости не превышает "Pickpocket_xx"
Daedalus:
DAI_DJG_713_Biff.d:                    description = Pickpocket_100;
DAI_DJG_713_Biff.d:                    return C_Beklauen(92,320);

dia_bau_902_gunnar.d:                  description = Pickpocket_40;
dia_bau_902_gunnar.d:                  return C_Beklauen(45,70);

dia_bau_903_bodo.d:                    description = Pickpocket_40;
dia_bau_903_bodo.d:                    return C_Beklauen(30,60);

dia_bau_907_wasili.d:                  description = Pickpocket_60;
dia_bau_907_wasili.d:                  return C_Beklauen(55,90);

dia_bau_908_hodges.d:                  description = Pickpocket_20;
dia_bau_908_hodges.d:                  return C_Beklauen(15,10);

dia_bau_910_maria.d:                   description = Pickpocket_60_Female;
dia_bau_910_maria.d:                   return C_Beklauen(60,110);

dia_bau_911_elena.d:                   description = Pickpocket_40_Female;
dia_bau_911_elena.d:                   return C_Beklauen(30,35);

dia_bau_912_pepe.d:                    description = Pickpocket_20;
dia_bau_912_pepe.d:                    return C_Beklauen(15,25);

dia_bau_913_thekla.d:                  description = Pickpocket_60_Female;
dia_bau_913_thekla.d:                  return C_Beklauen(53,60);

dia_bau_930_sekob.d:                   description = Pickpocket_80;
dia_bau_930_sekob.d:                   return C_Beklauen(75,230);

dia_bau_931_till.d:                    description = Pickpocket_40;
dia_bau_931_till.d:                    return C_Beklauen(36,40);

dia_bau_932_balthasar.d:               description = Pickpocket_20;
dia_bau_932_balthasar.d:               return C_Beklauen(10,10);

dia_bau_933_rega.d:                    description = Pickpocket_40_Female;
dia_bau_933_rega.d:                    return C_Beklauen(25,40);

dia_bau_934_babera.d:                  description = Pickpocket_20_Female;
dia_bau_934_babera.d:                  return C_Beklauen(20,30);

dia_bau_935_bronko.d:                  description = Pickpocket_60;
dia_bau_935_bronko.d:                  return C_Beklauen(54,80);

dia_bau_936_rosi.d:                    description = Pickpocket_40_Female;
dia_bau_936_rosi.d:                    return C_Beklauen(30,75);

dia_bau_940_akil.d:                    description = Pickpocket_40;
dia_bau_940_akil.d:                    return C_Beklauen(37,30);

dia_bau_941_kati.d:                    description = Pickpocket_20_Female;
dia_bau_941_kati.d:                    return C_Beklauen(13,15);

dia_bau_942_randolph.d:                description = Pickpocket_60;
dia_bau_942_randolph.d:                return C_Beklauen(58,2);

dia_bau_944_ehnim.d:                   description = Pickpocket_80;
dia_bau_944_ehnim.d:                   return C_Beklauen(76,35);

dia_bau_945_egill.d:                   description = Pickpocket_60;
dia_bau_945_egill.d:                   return C_Beklauen(45,24);

dia_bau_950_lobart.d:                  description = Pickpocket_80;
dia_bau_950_lobart.d:                  return C_Beklauen(65,80);

dia_bau_951_hilda.d:                   description = Pickpocket_40_Female;
dia_bau_951_hilda.d:                   return C_Beklauen(26,35);

dia_bau_952_vino.d:                    description = Pickpocket_40;
dia_bau_952_vino.d:                    return C_Beklauen(34,60);

dia_bau_954_maleth.d:                  description = Pickpocket_20;
dia_bau_954_maleth.d:                  return C_Beklauen(10,10);

dia_bau_960_bengar.d:                  description = Pickpocket_40;
dia_bau_960_bengar.d:                  return C_Beklauen(28,50);

dia_bau_961_gaan.d:                    description = Pickpocket_40;
dia_bau_961_gaan.d:                    return C_Beklauen(23,35);

dia_bau_963_malak.d:                   description = Pickpocket_60;
dia_bau_963_malak.d:                   return C_Beklauen(43,40);

dia_bau_970_orlan.d:                   description = Pickpocket_100;
dia_bau_970_orlan.d:                   return C_Beklauen(89,260);

dia_bau_973_rukhar.d:                  description = Pickpocket_40;
dia_bau_973_rukhar.d:                  return C_Beklauen(26,30);

dia_bau_980_sagitta.d:                 description = Pickpocket_120_Female;
dia_bau_980_sagitta.d:                 return C_Beklauen(103,360);

dia_bau_981_grom.d:                    description = Pickpocket_80;
dia_bau_981_grom.d:                    return C_Beklauen(75,40);

dia_bau_982_grimbald.d:                description = Pickpocket_100;
dia_bau_982_grimbald.d:                return C_Beklauen(85,250);

dia_bau_983_dragomir.d:                description = Pickpocket_60;
dia_bau_983_dragomir.d:                return C_Beklauen(47,70);

dia_bau_984_niclas.d:                  description = Pickpocket_40;
dia_bau_984_niclas.d:                  return C_Beklauen(27,20);

dia_bdt_10004_addon_finn.d:            description = Pickpocket_40;
dia_bdt_10004_addon_finn.d:            return C_Beklauen(35,50);

dia_bdt_10005_addon_wache_02.d:        description = Pickpocket_40;
dia_bdt_10005_addon_wache_02.d:        return C_Beklauen(38,101);

dia_bdt_10008_addon_bandit.d:          description = Pickpocket_60;
dia_bdt_10008_addon_bandit.d:          return C_Beklauen(55,99);

dia_bdt_10015_addon_emilio.d:          description = Pickpocket_80;
dia_bdt_10015_addon_emilio.d:          return C_Beklauen(76,112);

dia_bdt_10017_addon_juan.d:            description = Pickpocket_60;
dia_bdt_10017_addon_juan.d:            return C_Beklauen(65,73);

dia_bdt_10022_addon_miguel.d:          description = Pickpocket_40;
dia_bdt_10022_addon_miguel.d:          return C_Beklauen(40,48);

dia_bdt_10024_addon_garaz.d:           description = Pickpocket_60;
dia_bdt_10024_addon_garaz.d:           return C_Beklauen(66,80);

dia_bdt_1030_morgahard.d:              description = Pickpocket_80;
dia_bdt_1030_morgahard.d:              return C_Beklauen(73,45);

dia_bdt_1060_dexter.d:                 description = Pickpocket_100;
dia_bdt_1060_dexter.d:                 return C_Beklauen(96,370);

dia_bdt_1070_addon_paul.d:             description = Pickpocket_20;
dia_bdt_1070_addon_paul.d:             return C_Beklauen(22,19);

dia_bdt_1072_addon_logan.d:            description = Pickpocket_60;
dia_bdt_1072_addon_logan.d:            return C_Beklauen(59,50);

dia_bdt_1073_addon_sancho.d:           description = Pickpocket_40;
dia_bdt_1073_addon_sancho.d:           return C_Beklauen(50,40);

dia_bdt_1074_addon_edgor.d:            description = Pickpocket_20;
dia_bdt_1074_addon_edgor.d:            return C_Beklauen(10,7);

dia_bdt_1075_addon_fortuno.d:          description = Pickpocket_20;
dia_bdt_1075_addon_fortuno.d:          return C_Beklauen(10,25);

dia_bdt_1079_addon_carlos.d:           description = Pickpocket_60;
dia_bdt_1079_addon_carlos.d:           return C_Beklauen(71,85);

dia_bdt_1080_addon_tom.d:              description = Pickpocket_40;
dia_bdt_1080_addon_tom.d:              return C_Beklauen(40,52);

dia_bdt_1081_addon_wache_01.d:         description = Pickpocket_40;
dia_bdt_1081_addon_wache_01.d:         return C_Beklauen(38,99);

dia_bdt_1082_addon_skinner.d:          description = Pickpocket_100;
dia_bdt_1082_addon_skinner.d:          return C_Beklauen(100,200);

dia_bdt_1083_addon_esteban.d:          description = Pickpocket_100;
dia_bdt_1083_addon_esteban.d:          return C_Beklauen(105,500);

dia_bdt_1084_addon_senyan.d:           description = Pickpocket_40;
dia_bdt_1084_addon_senyan.d:           return C_Beklauen(45,88);

dia_bdt_1085_addon_bloodwyn.d:         description = Pickpocket_100;
dia_bdt_1085_addon_bloodwyn.d:         return C_Beklauen(90,250);

dia_bdt_1086_addon_scatty.d:           description = Pickpocket_60;
dia_bdt_1086_addon_scatty.d:           return C_Beklauen(60,90);

dia_bdt_1091_addon_lucia.d:            description = Pickpocket_80_Female;
dia_bdt_1091_addon_lucia.d:            return C_Beklauen(80,100);

dia_bdt_1095_addon_crimson.d:          description = Pickpocket_60;
dia_bdt_1095_addon_crimson.d:          return C_Beklauen(66,66);

dia_bdt_1096_addon_lennar.d:           description = Pickpocket_60;
dia_bdt_1096_addon_lennar.d:           return C_Beklauen(65,100);

dia_bdt_1097_addon_fisk.d:             description = Pickpocket_120;
dia_bdt_1097_addon_fisk.d:             return C_Beklauen(118,300);

dia_bdt_1098_addon_snaf.d:             description = Pickpocket_40;
dia_bdt_1098_addon_snaf.d:             return C_Beklauen(49,56);

dia_bdt_1099_addon_huno.d:             description = Pickpocket_80;
dia_bdt_1099_addon_huno.d:             return C_Beklauen(85,102);

dia_djg_700_sylvio.d:                  description = Pickpocket_100;
dia_djg_700_sylvio.d:                  return C_Beklauen(78,560);

dia_djg_701_bullco.d:                  description = Pickpocket_40;
dia_djg_701_bullco.d:                  return C_Beklauen(34,65);

dia_djg_702_rod.d:                     description = Pickpocket_20;
dia_djg_702_rod.d:                     return C_Beklauen(16,320);

dia_djg_703_cipher.d:                  description = Pickpocket_80;
dia_djg_703_cipher.d:                  return C_Beklauen(79,220);

dia_djg_705_angar.d:                   description = Pickpocket_60;
dia_djg_705_angar.d:                   return C_Beklauen(47,55);

dia_djg_705_angar_di.d:                description = Pickpocket_60;
dia_djg_705_angar_di.d:                return C_Beklauen(47,45);

dia_djg_705_angar_nw.d:                description = Pickpocket_60;
dia_djg_705_angar_nw.d:                return C_Beklauen(47,34);

dia_djg_708_kurgan.d:                  description = Pickpocket_40;
dia_djg_708_kurgan.d:                  return C_Beklauen(34,120);

dia_djg_709_rethon.d:                  description = Pickpocket_80;
dia_djg_709_rethon.d:                  return C_Beklauen(78,230);

dia_djg_710_kjorn.d:                   description = Pickpocket_60;
dia_djg_710_kjorn.d:                   return C_Beklauen(47,75);

dia_djg_711_godar.d:                   description = Pickpocket_20;
dia_djg_711_godar.d:                   return C_Beklauen(16,160);

dia_djg_712_hokurn.d:                  description = Pickpocket_80;
dia_djg_712_hokurn.d:                  return C_Beklauen(69,210);

dia_djg_713_biff_di.d:                 description = Pickpocket_100;
dia_djg_713_biff_di.d:                 return C_Beklauen(92,450);

dia_djg_713_biff_nw.d:                 description = Pickpocket_100;
dia_djg_713_biff_nw.d:                 return C_Beklauen(92,250);

dia_djg_714_jan.d:                     description = Pickpocket_40;
dia_djg_714_jan.d:                     return C_Beklauen(37,95);

dia_djg_715_ferros.d:                  description = Pickpocket_60;
dia_djg_715_ferros.d:                  return C_Beklauen(56,75);

dia_kdf_500_pyrokar.d:                 description = Pickpocket_120;
dia_kdf_500_pyrokar.d:                 return C_Beklauen(108,550);

dia_kdf_501_serpentes.d:               description = Pickpocket_100;
dia_kdf_501_serpentes.d:               return C_Beklauen(86,380);

dia_kdf_502_ulthar.d:                  description = Pickpocket_80;
dia_kdf_502_ulthar.d:                  return C_Beklauen(74,320);

dia_kdf_503_karras.d:                  description = Pickpocket_60;
dia_kdf_503_karras.d:                  return C_Beklauen(49,35);

dia_kdf_505_marduk.d:                  description = Pickpocket_40;
dia_kdf_505_marduk.d:                  return C_Beklauen(36,40);

dia_kdf_506_neoras.d:                  description = Pickpocket_80;
dia_kdf_506_neoras.d:                  return C_Beklauen(72,140);

dia_kdf_507_talamon.d:                 description = Pickpocket_100;
dia_kdf_507_talamon.d:                 return C_Beklauen(87,140);

dia_kdf_509_isgaroth.d:                description = Pickpocket_60;
dia_kdf_509_isgaroth.d:                return C_Beklauen(48,50);

dia_kdf_510_hyglas.d:                  description = Pickpocket_80;
dia_kdf_510_hyglas.d:                  return C_Beklauen(73,200);

DIA_KDF_511_Daron.d:                   description = Pickpocket_60;
DIA_KDF_511_Daron.d:                   return C_Beklauen(47,80);

dia_mil_312_wulfgar.d:                 description = Pickpocket_60;
dia_mil_312_wulfgar.d:                 return C_Beklauen(58,80);

dia_mil_314_mortis.d:                  description = Pickpocket_40;
dia_mil_314_mortis.d:                  return C_Beklauen(38,60);

dia_mil_335_rumbold.d:                 description = Pickpocket_40;
dia_mil_335_rumbold.d:                 return C_Beklauen(24,45);

dia_mil_336_rick.d:                    description = Pickpocket_20;
dia_mil_336_rick.d:                    return C_Beklauen(10,45);

dia_mil_337_mika.d:                    description = Pickpocket_80;
dia_mil_337_mika.d:                    return C_Beklauen(65,75);

dia_mil_350_addon_martin.d:            description = Pickpocket_60;
dia_mil_350_addon_martin.d:            return C_Beklauen(65,77);

dia_none_101_mario.d:                  description = Pickpocket_80;
dia_none_101_mario.d:                  return C_Beklauen(71,220);

dia_none_101_mario_di.d:               description = Pickpocket_80;
dia_none_101_mario_di.d:               return C_Beklauen(71,110);

dia_nov_600_pedro.d:                   description = Pickpocket_60;
dia_nov_600_pedro.d:                   return C_Beklauen(45,60);

dia_nov_602_ulf.d:                     description = Pickpocket_40;
dia_nov_602_ulf.d:                     return C_Beklauen(34,50);

dia_nov_603_agon.d:                    description = Pickpocket_40;
dia_nov_603_agon.d:                    return C_Beklauen(23,12);

dia_nov_604_dyrian.d:                  description = Pickpocket_20;
dia_nov_604_dyrian.d:                  return C_Beklauen(10,15);

dia_nov_605_opolos.d:                  description = Pickpocket_60;
dia_nov_605_opolos.d:                  return C_Beklauen(54,70);

dia_nov_608_garwig.d:                  description = Pickpocket_60;
dia_nov_608_garwig.d:                  return C_Beklauen(52,80);

dia_nov_612_babo.d:                    description = Pickpocket_20;
dia_nov_612_babo.d:                    return C_Beklauen(17,25);

dia_pal_202_albrecht.d:                description = Pickpocket_60;
dia_pal_202_albrecht.d:                return C_Beklauen(41,160);

dia_pal_203_lothar.d:                  description = Pickpocket_60;
dia_pal_203_lothar.d:                  return C_Beklauen(56,95);

dia_pal_207_girion.d:                  description = Pickpocket_80;
dia_pal_207_girion.d:                  return C_Beklauen(73,280);

dia_pal_207_girion_di.d:               description = Pickpocket_80;
dia_pal_207_girion_di.d:               return C_Beklauen(71,260);

dia_pal_216_cedric.d:                  description = Pickpocket_40;
dia_pal_216_cedric.d:                  return C_Beklauen(37,55);

dia_pal_217_marcos.d:                  description = Pickpocket_80;
dia_pal_217_marcos.d:                  return C_Beklauen(65,380);

dia_pal_252_parcival.d:                description = Pickpocket_100;
dia_pal_252_parcival.d:                return C_Beklauen(84,460);

dia_pal_258_keroloth.d:                description = Pickpocket_40;
dia_pal_258_keroloth.d:                return C_Beklauen(25,45);

dia_pal_260_tandor.d:                  description = Pickpocket_60;
dia_pal_260_tandor.d:                  return C_Beklauen(47,90);

dia_pal_261_gerold.d:                  description = Pickpocket_80;
dia_pal_261_gerold.d:                  return C_Beklauen(71,170);

dia_pal_267_sengrath.d:                description = Pickpocket_40;
dia_pal_267_sengrath.d:                return C_Beklauen(32,35);

dia_pal_268_udar.d:                    description = Pickpocket_20;
dia_pal_268_udar.d:                    return C_Beklauen(20,15);

dia_pal_280_tengron.d:                 description = Pickpocket_40;
dia_pal_280_tengron.d:                 return C_Beklauen(32,50);

DIA_PAL_281_Fajeth.d:                  description = Pickpocket_60;
DIA_PAL_281_Fajeth.d:                  return C_Beklauen(56,95);

dia_pal_299_sergio.d:                  description = Pickpocket_80;
dia_pal_299_sergio.d:                  return C_Beklauen(78,85);

dia_pc_fighter_di.d:                   description = Pickpocket_20;
dia_pc_fighter_di.d:                   return C_Beklauen(10,45);

dia_pc_fighter_djg.d:                  description = Pickpocket_20;
dia_pc_fighter_djg.d:                  return C_Beklauen(10,35);

dia_pc_fighter_nw_nach_djg.d:          description = Pickpocket_20;
dia_pc_fighter_nw_nach_djg.d:          return C_Beklauen(10,25);

dia_pc_mage_di.d:                      description = Pickpocket_60;
dia_pc_mage_di.d:                      return C_Beklauen(45,120);

dia_pc_mage_nw.d:                      description = Pickpocket_60;
dia_pc_mage_nw.d:                      return C_Beklauen(56,75);

dia_pc_psionic.d:                      description = Pickpocket_80;
dia_pc_psionic.d:                      return C_Beklauen(76,20);

dia_pc_psionic_di.d:                   description = Pickpocket_60;
dia_pc_psionic_di.d:                   return C_Beklauen(56,25);

dia_pc_thief_di.d:                     description = Pickpocket_120;
dia_pc_thief_di.d:                     return C_Beklauen(120,600);

dia_pc_thief_nw.d:                     description = Pickpocket_120;
dia_pc_thief_nw.d:                     return C_Beklauen(120,600);

dia_pc_thiefow.d:                      description = Pickpocket_120;
dia_pc_thiefow.d:                      return C_Beklauen(120,600);

dia_pir_1320_addon_greg.d:             description = Pickpocket_120;
dia_pir_1320_addon_greg.d:             return C_Beklauen(111,666);

dia_pir_1352_addon_alligatorjack.d:    description = Pickpocket_100;
dia_pir_1352_addon_alligatorjack.d:    return C_Beklauen(100,333);

dia_pir_1353_addon_morgan.d:           description = Pickpocket_20;
dia_pir_1353_addon_morgan.d:           return C_Beklauen(20,43);

dia_pir_1354_addon_henry.d:            description = Pickpocket_40;
dia_pir_1354_addon_henry.d:            return C_Beklauen(40,60);

dia_pir_1355_addon_skip.d:             description = Pickpocket_20;
dia_pir_1355_addon_skip.d:             return C_Beklauen(20,43);

dia_pir_1356_addon_bill.d:             description = Pickpocket_80;
dia_pir_1356_addon_bill.d:             return C_Beklauen(80,205);

dia_pir_1357_addon_garett.d:           description = Pickpocket_40;
dia_pir_1357_addon_garett.d:           return C_Beklauen(36,55);

dia_pir_1362_addon_bones.d:            description = Pickpocket_80;
dia_pir_1362_addon_bones.d:            return C_Beklauen(75,104);

dia_pir_1365_addon_matt.d:             description = Pickpocket_60;
dia_pir_1365_addon_matt.d:             return C_Beklauen(55,91);

dia_pir_1367_addon_owen.d:             description = Pickpocket_20;
dia_pir_1367_addon_owen.d:             return C_Beklauen(20,30);

dia_pir_1368_addon_malcom.d:           description = Pickpocket_20;
dia_pir_1368_addon_malcom.d:           return C_Beklauen(20,30);

dia_sld_800_lee_di.d:                  description = Pickpocket_120;
dia_sld_800_lee_di.d:                  return C_Beklauen(110,570);

dia_sld_801_torlof.d:                  description = Pickpocket_80;
dia_sld_801_torlof.d:                  return C_Beklauen(76,120);

dia_sld_801_torlof_di.d:               description = Pickpocket_80;
dia_sld_801_torlof_di.d:               return C_Beklauen(76,120);

dia_sld_802_buster.d:                  description = Pickpocket_40;
dia_sld_802_buster.d:                  return C_Beklauen(34,60);

dia_sld_803_cipher.d:                  description = Pickpocket_60;
dia_sld_803_cipher.d:                  return C_Beklauen(65,65);

dia_sld_804_rod.d:                     description = Pickpocket_20;
dia_sld_804_rod.d:                     return C_Beklauen(15,35);

dia_sld_805_cord.d:                    description = Pickpocket_80;
dia_sld_805_cord.d:                    return C_Beklauen(65,75);

dia_sld_806_sylvio.d:                  description = Pickpocket_80;
dia_sld_806_sylvio.d:                  return C_Beklauen(80,210);

dia_sld_807_bullco.d:                  description = Pickpocket_60;
dia_sld_807_bullco.d:                  return C_Beklauen(56,35);

dia_sld_808_jarvis.d:                  description = Pickpocket_60;
dia_sld_808_jarvis.d:                  return C_Beklauen(41,55);

dia_sld_809_bennet.d:                  description = Pickpocket_40;
dia_sld_809_bennet.d:                  return C_Beklauen(35,45);

dia_sld_809_bennet_di.d:               description = Pickpocket_40;
dia_sld_809_bennet_di.d:               return C_Beklauen(35,65);

dia_sld_810_dar.d:                     description = Pickpocket_80;
dia_sld_810_dar.d:                     return C_Beklauen(67,35);

dia_sld_811_wolf.d:                    description = Pickpocket_40;
dia_sld_811_wolf.d:                    return C_Beklauen(32,35);

dia_sld_811_wolf_di.d:                 description = Pickpocket_40;
dia_sld_811_wolf_di.d:                 return C_Beklauen(32,45);

dia_sld_814_sentenza.d:                description = Pickpocket_60;
dia_sld_814_sentenza.d:                return C_Beklauen(56,65);

dia_sld_816_fester.d:                  description = Pickpocket_40;
dia_sld_816_fester.d:                  return C_Beklauen(27,45);

dia_sld_822_raoul.d:                   description = Pickpocket_60;
dia_sld_822_raoul.d:                   return C_Beklauen(45,85);

dia_sld_823_khaled.d:                  description = Pickpocket_80;
dia_sld_823_khaled.d:                  return C_Beklauen(78,85);

dia_sld_840_alvares.d:                 description = Pickpocket_20;
dia_sld_840_alvares.d:                 return C_Beklauen(20,15);

dia_sld_841_engardo.d:                 description = Pickpocket_40;
dia_sld_841_engardo.d:                 return C_Beklauen(34,45);

dia_strf_1106_fed.d:                   description = Pickpocket_40;
dia_strf_1106_fed.d:                   return C_Beklauen(32,8);

dia_strf_1115_geppert.d:               description = Pickpocket_60;
dia_strf_1115_geppert.d:               return C_Beklauen(56,5);

dia_strf_1116_kervo.d:                 description = Pickpocket_40;
dia_strf_1116_kervo.d:                 return C_Beklauen(34,10);

dia_strf_1123_addon_patrick_nw.d:      description = Pickpocket_40;
dia_strf_1123_addon_patrick_nw.d:      return C_Beklauen(35,50);

dia_strf_1124_addon_monty_nw.d:        description = Pickpocket_60;
dia_strf_1124_addon_monty_nw.d:        return C_Beklauen(60,60);

dia_strf_1125_addon_tonak_nw.d:        description = Pickpocket_80;
dia_strf_1125_addon_tonak_nw.d:        return C_Beklauen(80,160);

dia_strf_1126_addon_telbor_nw.d:       description = Pickpocket_60;
dia_strf_1126_addon_telbor_nw.d:       return C_Beklauen(60,55);

dia_strf_1127_addon_pardos_nw.d:       description = Pickpocket_80;
dia_strf_1127_addon_pardos_nw.d:       return C_Beklauen(85,10);

dia_vlk_400_larius.d:                  description = Pickpocket_40;
dia_vlk_400_larius.d:                  return C_Beklauen(35,120);

dia_vlk_404_lutero.d:                  description = Pickpocket_60;
dia_vlk_404_lutero.d:                  return C_Beklauen(58,65);

dia_vlk_407_hakon.d:                   description = Pickpocket_60;
dia_vlk_407_hakon.d:                   return C_Beklauen(45,65);

dia_vlk_408_jora.d:                    description = Pickpocket_40;
dia_vlk_408_jora.d:                    return C_Beklauen(31,45);

dia_vlk_4100_brutus.d:                 description = Pickpocket_20;
dia_vlk_4100_brutus.d:                 return C_Beklauen(14,35);

dia_vlk_4107_parlaf.d:                 description = Pickpocket_40;
dia_vlk_4107_parlaf.d:                 return C_Beklauen(34,12);

dia_vlk_410_baltram.d:                 description = Pickpocket_80;
dia_vlk_410_baltram.d:                 return C_Beklauen(76,175);

dia_vlk_4110_jergan.d:                 description = Pickpocket_100;
dia_vlk_4110_jergan.d:                 return C_Beklauen(84,110);

dia_vlk_4111_grimes.d:                 description = Pickpocket_60;
dia_vlk_4111_grimes.d:                 return C_Beklauen(43,21);

dia_vlk_411_gaertner.d:                description = Pickpocket_40;
dia_vlk_411_gaertner.d:                return C_Beklauen(40,50);

dia_vlk_4120_bilgot.d:                 description = Pickpocket_20;
dia_vlk_4120_bilgot.d:                 return C_Beklauen(20,30);

dia_vlk_412_harad.d:                   description = Pickpocket_20;
dia_vlk_412_harad.d:                   return C_Beklauen(14,35);

dia_vlk_4130_talbin.d:                 description = Pickpocket_40;
dia_vlk_4130_talbin.d:                 return C_Beklauen(40,25);

dia_vlk_4131_engrom.d:                 description = Pickpocket_20;
dia_vlk_4131_engrom.d:                 return C_Beklauen(10,5);

dia_vlk_413_bosper.d:                  description = Pickpocket_80;
dia_vlk_413_bosper.d:                  return C_Beklauen(67,120);

dia_vlk_4148_gestath.d:                description = Pickpocket_100;
dia_vlk_4148_gestath.d:                return C_Beklauen(81,350);

dia_vlk_414_hanna.d:                   description = Pickpocket_60_Female;
dia_vlk_414_hanna.d:                   return C_Beklauen(45,25);

dia_vlk_415_meldor.d:                  description = Pickpocket_40;
dia_vlk_415_meldor.d:                  return C_Beklauen(34,55);

dia_vlk_416_matteo.d:                  description = Pickpocket_80;
dia_vlk_416_matteo.d:                  return C_Beklauen(80,150);

dia_vlk_417_constantino.d:             description = Pickpocket_60;
dia_vlk_417_constantino.d:             return C_Beklauen(59,90);

dia_vlk_418_gritta.d:                  description = Pickpocket_20_Female;
dia_vlk_418_gritta.d:                  return C_Beklauen(20,20);

dia_vlk_4201_wirt.d:                   description = Pickpocket_60;
dia_vlk_4201_wirt.d:                   return C_Beklauen(60,65);

dia_vlk_420_coragon.d:                 description = Pickpocket_40;
dia_vlk_420_coragon.d:                 return C_Beklauen(40,45);

dia_vlk_424_alwin.d:                   description = Pickpocket_20;
dia_vlk_424_alwin.d:                   return C_Beklauen(20,10);

dia_vlk_4250_jorgen.d:                 description = Pickpocket_60;
dia_vlk_4250_jorgen.d:                 return C_Beklauen(59,70);

dia_vlk_425_regis.d:                   description = Pickpocket_40;
dia_vlk_425_regis.d:                   return C_Beklauen(40,35);

dia_vlk_4301_addon_farim.d:            description = Pickpocket_20;
dia_vlk_4301_addon_farim.d:            return C_Beklauen(20,11);

dia_vlk_4302_addon_elvrich.d:          description = Pickpocket_60;
dia_vlk_4302_addon_elvrich.d:          return C_Beklauen(62,110);

dia_vlk_4303_addon_erol.d:             description = Pickpocket_40;
dia_vlk_4303_addon_erol.d:             return C_Beklauen(43,42);

dia_vlk_431_kardif.d:                  description = Pickpocket_60;
dia_vlk_431_kardif.d:                  return C_Beklauen(55,85);

dia_vlk_432_moe.d:                     description = Pickpocket_40;
dia_vlk_432_moe.d:                     return C_Beklauen(25,30);

dia_vlk_434_borka.d:                   description = Pickpocket_80;
dia_vlk_434_borka.d:                   return C_Beklauen(80,120);

dia_vlk_435_nadja.d:                   description = Pickpocket_40_Female;
dia_vlk_435_nadja.d:                   return C_Beklauen(40,40);

dia_vlk_436_sonja.d:                   description = Pickpocket_60_Female;
dia_vlk_436_sonja.d:                   return C_Beklauen(58,70);

DIA_VLK_437_Brahim.d:                  description = Pickpocket_20;
DIA_VLK_437_Brahim.d:                  return C_Beklauen(15,15);

dia_vlk_438_alrik.d:                   description = Pickpocket_60;
dia_vlk_438_alrik.d:                   return C_Beklauen(55,50);

dia_vlk_439_vatras.d:                  description = Pickpocket_100;
dia_vlk_439_vatras.d:                  return C_Beklauen(91,250);

dia_vlk_444_jack.d:                    description = Pickpocket_60;
dia_vlk_444_jack.d:                    return C_Beklauen(50,100);

dia_vlk_445_ramirez.d:                 description = Pickpocket_100;
dia_vlk_445_ramirez.d:                 return C_Beklauen(90,300);

dia_vlk_446_jesper.d:                  description = Pickpocket_80;
dia_vlk_446_jesper.d:                  return C_Beklauen(80,180);

dia_vlk_447_cassia.d:                  description = Pickpocket_100_Female;
dia_vlk_447_cassia.d:                  return C_Beklauen(100,400);

dia_vlk_448_joe.d:                     description = Pickpocket_40;
dia_vlk_448_joe.d:                     return C_Beklauen(25,25);

dia_vlk_449_lares.d:                   description = Pickpocket_100;
dia_vlk_449_lares.d:                   return C_Beklauen(95,350);

dia_vlk_456_abuyin.d:                  description = Pickpocket_80;
dia_vlk_456_abuyin.d:                  return C_Beklauen(75,200);

dia_vlk_457_brian.d:                   description = Pickpocket_60;
dia_vlk_457_brian.d:                   return C_Beklauen(55,100);

dia_vlk_458_rupert.d:                  description = Pickpocket_20;
dia_vlk_458_rupert.d:                  return C_Beklauen(18,10);

dia_vlk_461_carl.d:                    description = Pickpocket_40;
dia_vlk_461_carl.d:                    return C_Beklauen(34,40);

dia_vlk_462_thorben.d:                 description = Pickpocket_40;
dia_vlk_462_thorben.d:                 return C_Beklauen(30,28);

dia_vlk_468_canthar.d:                 description = Pickpocket_20;
dia_vlk_468_canthar.d:                 return C_Beklauen(20,25);

dia_vlk_469_halvor.d:                  description = Pickpocket_80;
dia_vlk_469_halvor.d:                  return C_Beklauen(78,150);

dia_vlk_470_sarah.d:                   description = Pickpocket_60_Female;
dia_vlk_470_sarah.d:                   return C_Beklauen(57,60);

dia_vlk_476_fenia.d:                   description = Pickpocket_60_Female;
dia_vlk_476_fenia.d:                   return C_Beklauen(50,75);

dia_vlk_480_fellan.d:                  description = Pickpocket_40;
dia_vlk_480_fellan.d:                  return C_Beklauen(40,40);

dia_vlk_491_vanja.d:                   description = Pickpocket_20_Female;
dia_vlk_491_vanja.d:                   return C_Beklauen(20,10);

dia_vlk_492_rengaru.d:                 description = Pickpocket_20;
dia_vlk_492_rengaru.d:                 return C_Beklauen(20,5);

dia_vlk_493_nagur.d:                   description = Pickpocket_80;
dia_vlk_493_nagur.d:                   return C_Beklauen(75,150);

dia_vlk_494_attila.d:                  description = Pickpocket_60;
dia_vlk_494_attila.d:                  return C_Beklauen(55,100);

dia_vlk_498_ignaz.d:                   description = Pickpocket_40;
dia_vlk_498_ignaz.d:                   return C_Beklauen(38,50);

У Мартина Pickpocket_60, т.е максимум 60, но фактически надо 65
 
Последнее редактирование:

Диккен

Участник форума
Регистрация
12 Июн 2004
Сообщения
469
Благодарности
127
Баллы
210
Так получается сейчас если ГГ занет алхимию, но не является учеником кого-либо из мастеров, то у Константино нет строчки об обучении? :oops:
Если да, то понятно, почему у меня было иначе.
Всё верно.
Пост автоматически объединён:

Может быть Константино будет давать золото за травы, что бы была возможность выкупить их назад?
Этого не нужно делать, у тебя есть выбор и он очевиден - сохранить траву или отдать ему ради 100 ед. опыта, мало того я ему еще и черные грибы стираю из инвентаря.

Код:
func void DIA_Constantino_MushroomsRunning_Sell()
{
    var int Dunkelpilz_dabei;
    Dunkelpilz_dabei = FALSE;
    if(Npc_HasItems(other,ItPl_Mushroom_01) > 0)
    {
        AI_Output(other,self,"DIA_Constantino_MushroomsRunning_Sell_15_00");    //Я принес несколько черных грибов...
        AI_Output(self,other,"DIA_Constantino_MushroomsRunning_Sell_10_01");    //Ах! Это лучшие грибы! Отлично! Вот твое золото!
        Dunkelpilz_dabei = TRUE;
        Constantino_DunkelpilzCounter = Constantino_DunkelpilzCounter + Npc_HasItems(other,ItPl_Mushroom_01);
        B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItPl_Mushroom_01) * 3);    //Value_Mushroom_01);
        B_GiveInvItems(other,self,ItPl_Mushroom_01,Npc_HasItems(other,ItPl_Mushroom_01));
   
        Npc_RemoveInvItems(self,ItPl_Mushroom_01,Npc_HasItems(self,ItPl_Mushroom_01));
    };
    if(Npc_HasItems(other,ItPl_Mushroom_02) > 0)
    {
        if(Dunkelpilz_dabei == TRUE)
        {
            AI_Output(other,self,"DIA_Constantino_MushroomsRunning_Sell_15_02");    //А вот еще другие...
        }
        else
        {
            AI_Output(other,self,"DIA_Constantino_MushroomsRunning_Sell_15_03");    //У меня здесь несколько грибов!
        };
        AI_Output(self,other,"DIA_Constantino_MushroomsRunning_Sell_10_04");    //Эти не так хороши, как черные грибы, но я все равно возьму их.
        B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItPl_Mushroom_02) * 3);    //Value_Mushroom_02);
        B_GiveInvItems(other,self,ItPl_Mushroom_02,Npc_HasItems(other,ItPl_Mushroom_02));
   
        Npc_RemoveInvItems(self,ItPl_Mushroom_02,Npc_HasItems(self,ItPl_Mushroom_02));
    };
    Info_ClearChoices(DIA_Constantino_MushroomsRunning);
};
Пост автоматически объединён:

а также эта идея со стиранием мне пришла от Боспера, когда я сдаю ему шкуры получается вот такой код, в котором я сначало отдаю ему все шкупы, а оплата в самом конце обмена... мне это нравиться больше, чем стандартный подход, еще ему можно приделать паузу, как-будто он оценивает их перед покупкой в виде кода AI_Wait(self,3);

Код:
func void DIA_Bosper_SellFur_Info()
{
    var int goldcount;
    goldcount = 0;
    AI_Output(other,self,"DIA_Bosper_SellFur_15_00");    //Я принес несколько шкур для тебя...
    if((Npc_HasItems(other,ItAt_SheepFur) > 0) || (Npc_HasItems(other,ItAt_WolfFur) > 0) || (Npc_HasItems(other,ItAt_WargFur) > 0) || (Npc_HasItems(other,ItAt_ShadowFur) > 0) || (Npc_HasItems(other,ItAt_TrollFur) > 0) || (Npc_HasItems(other,ItAt_TrollBlackFur) > 0) || (Npc_HasItems(other,ItAt_Addon_KeilerFur) > 0))
    {
        if(Npc_HasItems(other,ItAt_Addon_KeilerFur) > 0)
        {
            AI_Wait(self,3);
            goldcount += Npc_HasItems(other,ItAt_Addon_KeilerFur) * Value_Keilerfur;
            //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_Addon_KeilerFur) * Value_Keilerfur);
            B_GiveInvItems(other,self,ItAt_Addon_KeilerFur,Npc_HasItems(other,ItAt_Addon_KeilerFur));
            Npc_RemoveInvItems(self,ItAt_Addon_KeilerFur,Npc_HasItems(self,ItAt_Addon_KeilerFur));
        };
        if(Npc_HasItems(other,ItAt_SheepFur) > 0)
        {
            AI_Output(self,other,"DIA_Bosper_SellFur_11_01");    //Овечьи шкуры? Ты ведь не убивал овец фермеров на пастбищах, нет?
            AI_Output(other,self,"DIA_Bosper_SellFur_15_02");    //Я даже и не думал заниматься этим...
            //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_SheepFur) * Value_SheepFur);
            goldcount += Npc_HasItems(other,ItAt_SheepFur) * Value_SheepFur;
            B_GiveInvItems(other,self,ItAt_SheepFur,Npc_HasItems(other,ItAt_SheepFur));
            Npc_RemoveInvItems(self,ItAt_SheepFur,Npc_HasItems(self,ItAt_SheepFur));
        };
        if(Npc_HasItems(other,ItAt_WolfFur) > 0)
        {
            AI_Output(self,other,"DIA_Bosper_SellFur_11_03");    //Волчьи шкуры это хорошо...
            //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_WolfFur) * Value_WolfFur);
            //goldcount += (Npc_HasItems(other,ItAt_WolfFur) * Value_WolfFur);
            if(Player_IsApprentice == APP_Bosper)
            {
                goldcount += (Npc_HasItems(other,ItAt_WolfFur) * Value_WolfFur);
            }
            else
            {
                goldcount += (Npc_HasItems(other,ItAt_WolfFur) * Value_WolfFur);
            };
            B_GiveInvItems(other,self,ItAt_WolfFur,Npc_HasItems(other,ItAt_WolfFur));
            Npc_RemoveInvItems(self,ItAt_WolfFur,Npc_HasItems(self,ItAt_WolfFur));
        };
        if(Npc_HasItems(other,ItAt_WargFur) > 0)
        {
            AI_Output(self,other,"DIA_Bosper_SellFur_11_04");    //Шкура варга? Это опасные звери...
            //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_WargFur) * Value_WargFur);
            goldcount += (Npc_HasItems(other,ItAt_WargFur) * Value_WargFur);
            B_GiveInvItems(other,self,ItAt_WargFur,Npc_HasItems(other,ItAt_WargFur));
            Npc_RemoveInvItems(self,ItAt_WargFur,Npc_HasItems(self,ItAt_WargFur));
        };
        if(Npc_HasItems(other,ItAt_ShadowFur) > 0)
        {
            AI_Output(self,other,"DIA_Bosper_SellFur_11_05");    //Ах, и даже шкура мракориса - она дорогого стоит.
            //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_ShadowFur) * Value_ShadowFur);
            goldcount += Npc_HasItems(other,ItAt_ShadowFur) * Value_ShadowFur;
            B_GiveInvItems(other,self,ItAt_ShadowFur,Npc_HasItems(other,ItAt_ShadowFur));
            Npc_RemoveInvItems(self,ItAt_ShadowFur,Npc_HasItems(self,ItAt_ShadowFur));
        };
        if((Npc_HasItems(other,ItAt_TrollFur) > 0) || (Npc_HasItems(other,ItAt_TrollBlackFur) > 0))
        {
            if(Bosper_TrollFurSold == FALSE)
            {
                AI_Output(self,other,"DIA_Bosper_SellFur_11_06");    //А это что за шкура, черт побери?
                AI_Output(other,self,"DIA_Bosper_SellFur_15_07");    //Я снял ее с тролля.
                AI_Output(self,other,"DIA_Bosper_SellFur_11_08");    //Это... она стоит целое состояние.
                Bosper_TrollFurSold = TRUE;
            }
            else
            {
                AI_Output(self,other,"DIA_Bosper_SellFur_11_09");    //Еще одна шкура огромного тролля... ты что, охотишься на них?
                AI_Output(other,self,"DIA_Bosper_SellFur_15_10");    //Когда я натыкаюсь на одного из них, я не упускаю такой возможности...
            };
            if(Npc_HasItems(other,ItAt_TrollFur) > 0)
            {
                //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_TrollFur) * Value_TrollFur);
                goldcount += Npc_HasItems(other,ItAt_TrollFur) * Value_TrollFur;
                B_GiveInvItems(other,self,ItAt_TrollFur,Npc_HasItems(other,ItAt_TrollFur));
                Npc_RemoveInvItems(self,ItAt_TrollFur,Npc_HasItems(self,ItAt_TrollFur));
            };
            if(Npc_HasItems(other,ItAt_TrollBlackFur) > 0)
            {
                AI_Output(self,other,"DIA_Bosper_SellFur_11_11");    //И шкура черного тролля, надо же!
                //B_GiveInvItems(self,other,ItMi_Gold,Npc_HasItems(other,ItAt_TrollBlackFur) * Value_TrollBlackFur);
                goldcount += Npc_HasItems(other,ItAt_TrollBlackFur) * Value_TrollBlackFur;
                B_GiveInvItems(other,self,ItAt_TrollBlackFur,Npc_HasItems(other,ItAt_TrollBlackFur));
                Npc_RemoveInvItems(self,ItAt_TrollBlackFur,Npc_HasItems(self,ItAt_TrollBlackFur));
            };
        };
        goldcount = goldcount / 2;
        B_GiveInvItems(self,other,ItMi_Gold,goldcount);
        AI_Output(self,other,"DIA_Bosper_SellFur_11_12");    //Отличная работа. Заходи ко мне еще, когда у тебя будут шкуры...
    }
    else
    {
        AI_Output(self,other,"DIA_Bosper_SellFur_11_13");    //Но, знаешь - меня интересуют только шкуры волков, мракорисов и им подобные...
    };
};
Пост автоматически объединён:

А вот что я сделал с мотлитвами перед алтарями Инноса, теперь не нужно спать перед молитвами, 1й раз шанс 100% для бонуса, а все последующие равны за ним дают бонус с шансом *уровень_героя*%, стало намного удобнее. Хотя это на любителя, но я кажется нашел свою золотую середину. если вам интересно я выложу в скриптах полный вариант в виде файлика. :) Удобство заключается в том, что во время молитвы не нужно делать выбор, а просто зажать Ентер и пока все не сработают не отпускать, может быть пригодится вам. :)

Код:
func void PC_PrayShrine_Pray_Info()
{
    if(ShrineIsObsessed == TRUE)
    {
        SC_IsObsessed = TRUE;
        PrintScreen(PRINT_SCIsObsessed,-1,-1,FONT_Screen,2);
        Snd_Play("DEM_Die");
    }
    else
    {
        Info_ClearChoices(PC_PrayShrine_Pray);
        Info_AddChoice(PC_PrayShrine_Pray,Dialog_Back,PC_PrayShrine_Pray_Back);
        if(Npc_HasItems(hero,ItMi_Gold) >= (hero.level * 10)) // && (PrayDay != Wld_GetDay()))
        {
            Info_AddChoice(PC_PrayShrine_Pray,"Я хочу помолиться и попросить благословения Инноса.",PC_PrayShrine_Pray_BigPayPlus);
        }
        else if((Npc_HasItems(hero,ItMi_Gold) >= 300) && (PrayDay != Wld_GetDay()))
        {
            Info_AddChoice(PC_PrayShrine_Pray,"Я хочу помолиться и попросить благословения Инноса.",PC_PrayShrine_Pray_BigPay);
        }
        else if((Npc_HasItems(hero,ItMi_Gold) >= 200) && (PrayDay != Wld_GetDay()))
        {
            Info_AddChoice(PC_PrayShrine_Pray,"Я хочу помолиться и попросить благословения Инноса.",PC_PrayShrine_Pray_MediumPay);
        }
        else if((Npc_HasItems(hero,ItMi_Gold) >= 100) && (PrayDay != Wld_GetDay()))
        {
            Info_AddChoice(PC_PrayShrine_Pray,"Я хочу помолиться и попросить благословения Инноса.",PC_PrayShrine_Pray_SmallPay);
        }
        else
        {
            Info_AddChoice(PC_PrayShrine_Pray,"Я хочу помолиться и пожертвовать 0 золотых монет.",PC_PrayShrine_Pray_NoPay);
        };
    };
};

Код:
func void PC_PrayShrine_Pray_BigPayPlus()
{
    var int zufall;
    var int goldpay;
    zufall = Hlp_Random(100);
    goldpay = hero.level * 10;
    if(((PrayDay == Wld_GetDay()) && (PrayDay != 0)) || ((Wld_GetDay() == 0) && (PRAYDAYONE_100 == TRUE)))
    {
        PrayDay = 0;
        /*if(PRAYDAYONE_50 < hero.level) && (zufall < 50))
        {
            PRAYDAYONE_50 += 1;
            PC_PrayShrine_Pray_MediumPay();
        }
        else if(PRAYDAYONE_10 < hero.level) && (zufall >= 50))
        {
            PRAYDAYONE_10 += 1;
            PC_PrayShrine_Pray_SmallPay();
        }*/
        if(zufall < hero.level)
        {
            PrintScreen(Print_BlessNone,-1,-1,FONT_Screen,2);
            Info_ClearChoices(PC_PrayShrine_Pray);
            return;
        }
        else
        {
            PC_PrayShrine_Pray_NoPay();
        };
    }
    else if(((Shrine_STR_Bonus <= Shrine_DEX_Bonus) && (Shrine_STR_Bonus + Shrine_DEX_Bonus) < (hero.level)) && (hero.guild != GIL_KDF) && (hero.guild != GIL_NOV)) //&& (zufall < 50))
    {
        Npc_RemoveInvItems(hero,ItMi_Gold,goldpay);
        B_BlessAttribute(hero,ATR_STRENGTH,1);
        Shrine_STR_Bonus += 1;
    }
    else if(((Shrine_STR_Bonus >= Shrine_DEX_Bonus) && (Shrine_STR_Bonus + Shrine_DEX_Bonus) < (hero.level)) && (hero.guild != GIL_KDF) && (hero.guild != GIL_NOV)) //&& (zufall >= 50))
    {
        Npc_RemoveInvItems(hero,ItMi_Gold,goldpay);
        B_BlessAttribute(hero,ATR_DEXTERITY,1);
        Shrine_DEX_Bonus += 1;
    }
    else if((Shrine_MANA_Bonus == 10) && (hero.guild != GIL_SLD) && (hero.guild != GIL_DJG))
    {
        B_BlessAttribute(hero,ATR_MANA_MAX,1);
        Shrine_MANA_Bonus = 0;
    }
    else if((hero.attribute[ATR_MANA] != hero.attribute[ATR_MANA_MAX]) && (hero.guild != GIL_SLD) && (hero.guild != GIL_DJG))
    {
        B_BlessAttribute(hero,ATR_MANA,1);
        Shrine_MANA_Bonus += 1;
    }
    else
    {
        //B_BlessAttribute(hero,ATR_HITPOINTS,1);
        PC_PrayShrine_Pray_NoPay();
    };
    PrayDay = Wld_GetDay();
    if(PrayDay == 0)
    {
        PRAYDAYONE_100 = TRUE;
    };
    Info_ClearChoices(PC_PrayShrine_Pray);
 
Последнее редактирование:

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Может всем НПС привести в порядок описание воровства?
Если будем считать следующие диапазоны
0-20, 21-40, 41-60, 61-80, 81-100, 101-120
Тогда надо поправить у следующих НПС
DIA_Addon_Erol_PICKPOCKET
Daedalus:
instance DIA_Addon_Erol_PICKPOCKET(C_Info)
{
    npc = VLK_4303_Addon_Erol;
    nr = 900;
    condition = DIA_Addon_Erol_PICKPOCKET_Condition;
    information = DIA_Addon_Erol_PICKPOCKET_Info;
    permanent = TRUE;
    description = Pickpocket_40;
    //description = Pickpocket_60;
};

func int DIA_Addon_Erol_PICKPOCKET_Condition()
{
    return C_Beklauen(43,42);
};
DIA_Addon_Elvrich_PICKPOCKET
Daedalus:
instance DIA_Addon_Elvrich_PICKPOCKET(C_Info)
{
    npc = VLK_4302_Addon_Elvrich;
    nr = 900;
    condition = DIA_Addon_Elvrich_PICKPOCKET_Condition;
    information = DIA_Addon_Elvrich_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Elvrich_PICKPOCKET_Condition()
{
    return C_Beklauen(62,110);
};
DIA_Hanna_PICKPOCKET
Daedalus:
instance DIA_Hanna_PICKPOCKET(C_Info)
{
    npc = VLK_414_Hanna;
    nr = 900;
    condition = DIA_Hanna_PICKPOCKET_Condition;
    information = DIA_Hanna_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_40_Female;
    description = Pickpocket_60_Female;
};

func int DIA_Hanna_PICKPOCKET_Condition()
{
    return C_Beklauen(45,25);
};

instance DIA_Hanna_PICKPOCKET_Book(C_Info)
{
    npc = VLK_414_Hanna;
    nr = 700;
    condition = DIA_Hanna_PICKPOCKET_Book_Condition;
    information = DIA_Hanna_PICKPOCKET_Book_Info;
    permanent = TRUE;
    //description = "(украсть долговую книгу будет довольно просто)";
    description = "(украсть долговую книгу будет довольно рискованно)";
};

func int DIA_Hanna_PICKPOCKET_Book_Condition()
{
    if(Npc_HasItems(self,ItWr_Schuldenbuch) && Npc_GetTalentSkill(other,NPC_TALENT_PICKPOCKET) && (other.attribute[ATR_DEXTERITY] >= 35))
    {
        return TRUE;
    };
};

func void DIA_Hanna_PICKPOCKET_Book_Info()
{
    Info_ClearChoices(DIA_Hanna_PICKPOCKET_Book);
    Info_AddChoice(DIA_Hanna_PICKPOCKET_Book,Dialog_Back,DIA_Hanna_PICKPOCKET_Book_BACK);
    Info_AddChoice(DIA_Hanna_PICKPOCKET_Book,DIALOG_PICKPOCKET,DIA_Hanna_PICKPOCKET_Book_DoIt);
};

func void DIA_Hanna_PICKPOCKET_Book_DoIt()
{
    if(other.attribute[ATR_DEXTERITY] >= 45)
    {
        Npc_RemoveInvItem(self,ItWr_Schuldenbuch);
        CreateInvItem(other,ItWr_Schuldenbuch);
        AI_PrintScreen("Долговая книга получено",-1,YPOS_ItemTaken,FONT_ScreenSmall,2);
        B_GiveThiefXP();
        B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketSuccess));
    }
    else
    {
        B_ResetThiefLevel();
        B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketFailed));
        AI_StopProcessInfos(self);
        B_Attack(self,other,AR_Theft,1);
    };
    Info_ClearChoices(DIA_Hanna_PICKPOCKET_Book);
};
DIA_Addon_Pardos_NW_PICKPOCKET
Daedalus:
instance DIA_Addon_Pardos_NW_PICKPOCKET(C_Info)
{
    npc = STRF_1127_Addon_Pardos_NW;
    nr = 900;
    condition = DIA_Addon_Pardos_NW_PICKPOCKET_Condition;
    information = DIA_Addon_Pardos_NW_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_80;
    description = Pickpocket_100;
};

func int DIA_Addon_Pardos_NW_PICKPOCKET_Condition()
{
    return C_Beklauen(85,10);
};
DIA_CipherSLD_PICKPOCKET
Daedalus:
instance DIA_CipherSLD_PICKPOCKET(C_Info)
{
    npc = SLD_803_Cipher;
    nr = 900;
    condition = DIA_CipherSLD_PICKPOCKET_Condition;
    information = DIA_CipherSLD_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_CipherSLD_PICKPOCKET_Condition()
{
    return C_Beklauen(65,65);
};
DIA_Oric_PICKPOCKET
Daedalus:
instance DIA_Oric_PICKPOCKET(C_Info)
{
    npc = PAL_251_Oric;
    nr = 900;
    condition = DIA_Oric_PICKPOCKET_Condition;
    information = DIA_Oric_PICKPOCKET_Info;
    permanent = TRUE;
    description = "(украсть этот свиток будет чертовски сложно)";
    //description = "(украсть этот свиток будет чертовски трудно)";
};

func int DIA_Oric_PICKPOCKET_Condition()
{
//    return C_StealItems(85,Hlp_GetInstanceID(ItSc_PalRepelEvil),1);
    if(Npc_HasItems(self,ItSc_PalRepelEvil))
    {
        return C_StealItem(85,Hlp_GetInstanceID(ItSc_PalRepelEvil));
    }
    else
    {
        return FALSE;
    };
};
DIA_Addon_Martin_PICKPOCKET
Daedalus:
instance DIA_Addon_Martin_PICKPOCKET(C_Info)
{
    npc = MIL_350_Addon_Martin;
    nr = 900;
    condition = DIA_Addon_Martin_PICKPOCKET_Condition;
    information = DIA_Addon_Martin_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Martin_PICKPOCKET_Condition()
{
    return C_Beklauen(65,77);
};
DIA_Addon_Huno_PICKPOCKET
Daedalus:
instance DIA_Addon_Huno_PICKPOCKET(C_Info)
{
    npc = BDT_1099_Addon_Huno;
    nr = 900;
    condition = DIA_Addon_Huno_PICKPOCKET_Condition;
    information = DIA_Addon_Huno_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_80;
    description = Pickpocket_100;
};

func int DIA_Addon_Huno_PICKPOCKET_Condition()
{
    return C_Beklauen(85,102);
};
DIA_Addon_Snaf_PICKPOCKET
Daedalus:
instance DIA_Addon_Snaf_PICKPOCKET(C_Info)
{
    npc = BDT_1098_Addon_Snaf;
    nr = 900;
    condition = DIA_Addon_Snaf_PICKPOCKET_Condition;
    information = DIA_Addon_Snaf_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_40;
    description = Pickpocket_60;
};

func int DIA_Addon_Snaf_PICKPOCKET_Condition()
{
    return C_Beklauen(49,56);
};
DIA_Addon_Lennar_PICKPOCKET
Daedalus:
instance DIA_Addon_Lennar_PICKPOCKET(C_Info)
{
    npc = BDT_1096_Addon_Lennar;
    nr = 900;
    condition = DIA_Addon_Lennar_PICKPOCKET_Condition;
    information = DIA_Addon_Lennar_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Lennar_PICKPOCKET_Condition()
{
    return C_Beklauen(65,100);
};
DIA_Addon_Crimson_PICKPOCKET
Daedalus:
instance DIA_Addon_Crimson_PICKPOCKET(C_Info)
{
    npc = BDT_1095_Addon_Crimson;
    nr = 900;
    condition = DIA_Addon_Crimson_PICKPOCKET_Condition;
    information = DIA_Addon_Crimson_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Crimson_PICKPOCKET_Condition()
{
    return C_Beklauen(66,66);
};
DIA_Addon_Senyan_PICKPOCKET
Daedalus:
instance DIA_Addon_Senyan_PICKPOCKET(C_Info)
{
    npc = BDT_1084_Addon_Senyan;
    nr = 900;
    condition = DIA_Addon_Senyan_PICKPOCKET_Condition;
    information = DIA_Addon_Senyan_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_40;
    description = Pickpocket_60;
};

func int DIA_Addon_Senyan_PICKPOCKET_Condition()
{
    return C_Beklauen(45,88);
};
DIA_Addon_Esteban_PICKPOCKET
Daedalus:
instance DIA_Addon_Esteban_PICKPOCKET(C_Info)
{
    npc = BDT_1083_Addon_Esteban;
    nr = 900;
    condition = DIA_Addon_Esteban_PICKPOCKET_Condition;
    information = DIA_Addon_Esteban_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_100;
    description = Pickpocket_120;
};

func int DIA_Addon_Esteban_PICKPOCKET_Condition()
{
    return C_Beklauen(105,500);
};
DIA_Addon_Sancho_PICKPOCKET
Daedalus:
instance DIA_Addon_Sancho_PICKPOCKET(C_Info)
{
    npc = BDT_1073_Addon_Sancho;
    nr = 900;
    condition = DIA_Addon_Sancho_PICKPOCKET_Condition;
    information = DIA_Addon_Sancho_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_40;
    description = Pickpocket_60;
};

func int DIA_Addon_Sancho_PICKPOCKET_Condition()
{
    return C_Beklauen(50,40);
};
DIA_Addon_Paul_PICKPOCKET
Daedalus:
instance DIA_Addon_Paul_PICKPOCKET(C_Info)
{
    npc = BDT_1070_Addon_Paul;
    nr = 900;
    condition = DIA_Addon_Paul_PICKPOCKET_Condition;
    information = DIA_Addon_Paul_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_20;
    description = Pickpocket_40;
};

func int DIA_Addon_Paul_PICKPOCKET_Condition()
{
    return C_Beklauen(22,19);
};
DIA_Addon_Garaz_PICKPOCKET
Daedalus:
instance DIA_Addon_Garaz_PICKPOCKET(C_Info)
{
    npc = BDT_10024_Addon_Garaz;
    nr = 900;
    condition = DIA_Addon_Garaz_PICKPOCKET_Condition;
    information = DIA_Addon_Garaz_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Garaz_PICKPOCKET_Condition()
{
    return C_Beklauen(66,80);
};
DIA_Addon_Juan_PICKPOCKET
Daedalus:
instance DIA_Addon_Juan_PICKPOCKET(C_Info)
{
    npc = BDT_10017_Addon_Juan;
    nr = 900;
    condition = DIA_Addon_Juan_PICKPOCKET_Condition;
    information = DIA_Addon_Juan_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_60;
    description = Pickpocket_80;
};

func int DIA_Addon_Juan_PICKPOCKET_Condition()
{
    return C_Beklauen(65,73);
};
DIA_Addon_Cavalorn_PICKPOCKET
Daedalus:
instance DIA_Addon_Cavalorn_PICKPOCKET(C_Info)
{
    npc = BAU_4300_Addon_Cavalorn;
    nr = 900;
    condition = DIA_Addon_Cavalorn_PICKPOCKET_Condition;
    information = DIA_Addon_Cavalorn_PICKPOCKET_Info;
    permanent = TRUE;
    //description = "(нет ничего проще, чем украсть его колчан стрел)";
    description ="(украсть его колчан стрел будет довольно просто)";
};

func int DIA_Addon_Cavalorn_PICKPOCKET_Condition()
{
//    return C_StealItems(25,Hlp_GetInstanceID(ItRw_Arrow),0);
    return C_StealItem(25,Hlp_GetInstanceID(ItRw_Arrow));
};
DIA_Gunnar_PICKPOCKET
Daedalus:
instance DIA_Gunnar_PICKPOCKET(C_Info)
{
    npc = BAU_902_Gunnar;
    nr = 900;
    condition = DIA_Gunnar_PICKPOCKET_Condition;
    information = DIA_Gunnar_PICKPOCKET_Info;
    permanent = TRUE;
    //description = Pickpocket_40;
    description = Pickpocket_60;
};

func int DIA_Gunnar_PICKPOCKET_Condition()
{
    return C_Beklauen(45,70);
};
У остальных НПС все в порядке.
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
Если будем считать следующие диапазоны
0-20, 21-40, 41-60, 61-80, 80-100, 81-100, 101-120
Один вопрос: тут нет лишнего диапазона? 80-100, а потом сразу 81-100? Думаю, из них верный только один:oops:
 

Коляныч

Участник форума
Регистрация
4 Янв 2018
Сообщения
379
Благодарности
118
Баллы
210
Уважаемая @D36, есть предложение переместить несколько монстров "подальше от греха"... В 1-й главе у кладбища за фермой Секоба скелеты гоблинов убивают полевого жука. Да как убивают... Стоит только на горизонте появиться - один удар и ему гаплык. Маркус в долине рудников зачищает всё вокруг хижины Кавалорна. Притом начинает (с криками: "Ещё одна гнусная тварь!") когда только приближаешься к стоянке Талбина (по другую сторону горы!), хотя по сюжету мы должны найти его по свеженьким трупам. Бродяги в пещере (где торчит орочий топор) с пары ударов убивают бегающих там крыс. Они с места срываются стоит только к пещере подбежать... Конечно можно всех этих монстров вставлять в игру
чит-кодами, что я успешно и делаю
, и никак не понимаю мазохистов, которые любят терять дорогостоящие очки на ровном месте.
 

Ксардас 2000

Участник форума
Регистрация
24 Фев 2018
Сообщения
510
Благодарности
207
Баллы
205
Уважаемая @D36, есть предложение переместить несколько монстров "подальше от греха"... В 1-й главе у кладбища за фермой Секоба скелеты гоблинов убивают полевого жука. Да как убивают... Стоит только на горизонте появиться - один удар и ему гаплык. Маркус в долине рудников зачищает всё вокруг хижины Кавалорна. Притом начинает (с криками: "Ещё одна гнусная тварь!") когда только приближаешься к стоянке Талбина (по другую сторону горы!), хотя по сюжету мы должны найти его по свеженьким трупам. Бродяги в пещере (где торчит орочий топор) с пары ударов убивают бегающих там крыс. Они с места срываются стоит только к пещере подбежать... Конечно можно всех этих монстров вставлять в игру
чит-кодами, что я успешно и делаю
, и никак не понимаю мазохистов, которые любят терять дорогостоящие очки на ровном месте.
Уже обсуждалось. В игру не просто так введена система взаимодействий между живностями. В ней нет смысла если монстры стоят статично дожидаясь когда именно ГГ их убьёт. Это часть живого мира Готика и править тут нечего. Эти аспекты игры даже прописаны в мануалах 1 и 2 части.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
Да, это обсуждалось. Только стоит различать случаи, когда игрок видит сражение монстров друг с другом или с НПЦ и может повлиять на исход, и когда он вынужден просто смотреть на то, как одни монстры/НПЦ убивают других, т.к. сам физически не может ни на что повлиять. Вот вторые ситуации исправлять стоит. Более того, они уже исправлялись в рамках данного патч-мода.
 

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
терять дорогостоящие очки
А так ли они дорогостоящи? Вероятность того что в конце игры тебе не хватит каких-то трёхсот очков до нового уровня, учитывая что там уже шестизначные числа, очень мала.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
А так ли они дорогостоящи? Вероятность того что в конце игры тебе не хватит каких-то трёхсот очков до нового уровня, учитывая что там уже шестизначные числа, очень мала.
Стоимость очков опыта и, как следствие, очков обучения надо оценивать не по концовке игры, а по первым 3 главам, когда осуществляется основная прокачка персонажа. Такая оценка будет более объективной.
 

Коляныч

Участник форума
Регистрация
4 Янв 2018
Сообщения
379
Благодарности
118
Баллы
210
Ребята, такое предложение... В разговоре с Корнелиусом по поводу Беннета единственно правильной фразой в прохождении за наёмника будет: "Наёмники жаждут познакомиться с тобой!" Хм, наёмник угрожает Корнелиусу другими наёмниками?.. А в прохождении за ополчение: "Сколько ты хочешь (денег)?" Городской ополченец пытается "купить" городского чиновника?.. Эт-то как то не логично... Мне кажется, стоило бы поменять эти диалоги местами.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
@Коляныч,
С учетом того, что наемники в большинстве своем вписываются за своих еще со времен колонии (тем более Беннет у них единственный толковый кузнец, а значит за него порвут любого) реплика угрозы другими наемниками вполне себе логична.
Что до подкупа, при отыгрыше за ополчение, то учитывая систему правосудия в городе по системе "заплати 500 золотых за убийство и гуляй на свободе", подкуп с целью получения улик не выглядит чем-то странным. К тому же вполне вероятно, что с помощью этой суммы Корнелиус рассчитывает покинуть остров (каким образом, это уже его дело).
Если бы ополченцы позиционировались как истинные блюстители порядка, то подкуп был бы нелогичен, согласен. Но именные ополченцы Хориниса - это в большинстве своем негодяи и проходимцы. Рангар - вор и пьяница, Вамбо - продажная шкура, Пек - любитель шлюх, Пабло - лентяй. Делами занимаются только Вульфгар, который обучает младших ополченцев, кузнец в казармах Мортис и Руга, который упражняется в стрельбе из арбалета. Есть еще нейтральный ополченец Мартин, он вроде как и продает налево товары паладинов, но при этом работает на кольцо воды :)
 

wordfes

Участник форума
Регистрация
14 Фев 2019
Сообщения
119
Благодарности
31
Баллы
190
Не понятно из каких соображений изучение создании руны Огненного шара стало стоить 5LP вместо 10LP - на мой взгляд нарушение баланса
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.188
Благодарности
7.614
Баллы
1.950
Не понятно из каких соображений изучение создании руны Огненного шара стало стоить 5LP вместо 10LP - на мой взгляд нарушение баланса
Он не столь мощный, чтобы стоить 10 LP. Вот и всё объяснение :)
 

wordfes

Участник форума
Регистрация
14 Фев 2019
Сообщения
119
Благодарности
31
Баллы
190
Огненный шар сильнее огненной стрелы в 3 раза, почему он должен стоит столько же очков обучения.

Поправили бы следующие 2 момента, аналогично мракорисам в 4-ой главе:
1) Полевой хищник конфликтует со скелетом-гоблином недалеко от бандитов под Драгомиром
2) В низине Лестера одна из гигантских крыс агрит на себя молодого волка и иногда сверху за ней падает на смерть ящер
 

Мастер Готики

Почетный форумчанин
Регистрация
16 Сен 2006
Сообщения
6.056
Благодарности
5.905
Баллы
730
и иногда сверху за ней падает на смерть ящер
Один раз этот ящер упал просто передо мной, причём жизни у него осталось совсем-совсем капелька. Один удар палкой - и шаровый опыт получен ))
 
Сверху Снизу