dosinabox / g2nr_unofficial_update

Исходники скриптов, релизы, хотфиксы и тестовые версии неофициального обновления для игры "Готика 2: Ночь Ворона".
https://worldofplayers.ru/threads/36817
The Unlicense
15 stars 2 forks source link

Вступление в Наемники. Голоса Наемников #86

Open Kor-Angar opened 5 years ago

Kor-Angar commented 5 years ago

у Торлофа стоит проверка на то выполнен квеста Корда. При этом не учитывается вариант кода герой сам выполнил квест(Румболд и Рик) + выполнил квест Корда(Декстер). такой вариант надо проработать так как сейчас герой теряет голоса.

if((MIS_Torlof_HolPachtVonSekob != LOG_SUCCESS) && (MIS_Torlof_BengarMilizKlatschen != LOG_SUCCESS))
    {
        AI_Output(self,other,"DIA_Torlof_RUF_01_23");   //Большинство из них просто ждет, пройдешь ли ты испытание.
    }
    else
    {
        AI_Output(self,other,"DIA_Torlof_RUF_01_24");   //Ты убедил большинство из них, пройдя испытание.
        if(Cord_RangerHelp_TorlofsProbe == TRUE)
        {
            AI_Output(self,other,"DIA_Addon_Torlof_RUF_01_00"); //(усмехается) Пусть Корд в этом и поучаствовал...
            Points_Sld += 4;
        }
        else if(MIS_Torlof_HolPachtVonSekob == LOG_SUCCESS)
        {
            AI_Output(self,other,"DIA_Torlof_RUF_01_25");   //Хотя многие считают, что заставить фермера заплатить ренту было слишком легко, чтобы считать это испытанием.
            Points_Sld += 3;
        }
        else
        {
            Points_Sld += 5;
        };
        AI_Output(self,other,"DIA_Torlof_RUF_01_26");   //В любом случае, ты можешь рассчитывать на мой голос.
        if(GotTorlofVote == FALSE)
        {
            if(Torlof_GenugStimmen == FALSE)
            {
                Log_CreateTopic(TOPIC_SLDRespekt,LOG_MISSION);
                Log_SetTopicStatus(TOPIC_SLDRespekt,LOG_Running);
            };
            B_LogEntry(TOPIC_SLDRespekt,"Торлоф считает, что я могу выполнять обязанности наемника.");
            GotTorlofVote = TRUE;
        };
        Points_Sld += 1;
    };

возможно(?) вот так правильнее


if(MIS_Torlof_BengarMilizKlatschen == LOG_SUCCESS)
{
Points_Sld += 5;
}
else if(MIS_Torlof_HolPachtVonSekob == LOG_SUCCESS)
{
AI_Output(self,other,"DIA_Torlof_RUF_01_25");   //Хотя многие считают, что заставить фермера заплатить ренту было слишком легко, чтобы считать это испытанием.
Points_Sld += 3;
}
else if(Cord_RangerHelp_TorlofsProbe == TRUE)
{
AI_Output(self,other,"DIA_Addon_Torlof_RUF_01_00"); //(усмехается) Пусть Корд в этом и поучаствовал...
Points_Sld += 4;
};

_Originally posted by @Kor-Angar in https://github.com/dosinabox/g2nr_unofficial_update/issues/83#issuecomment-532607214_

dosinabox commented 5 years ago

Мы это уже обсуждали, добавлю Impertor в переписку на WoP. Да?

Kor-Angar commented 5 years ago

добавь. мы обсуждали это в целом. а это частность от целого :-)

Kor-Angar commented 5 years ago

т.е. сейчас можно сделать так: 1) взять у Торлофа квест Бенгара. Взять задание у Корда. Выполнить квест Бенгара. Сдать задание Торлофу(MIS_Torlof_BengarMilizKlatschen = LOG_SUCCESS). Поговорить с Торлофом и это будет +5 голосов. Сдать задание Корда(Cord_RangerHelp_TorlofsProbe = TRUE). 2) взять у Торлофа квест Бенгара. Взять задание у Корда. Выполнить квест Бенгара. Сдать задание Торлофу(MIS_Torlof_BengarMilizKlatschen = LOG_SUCCESS). Сдать задание Корда(Cord_RangerHelp_TorlofsProbe = TRUE). Поговорить с Торлофом +4 голоса. 3) взять у Торлофа квест Бенгара. Взять задание у Корда. Выполнить квест Бенгара. Сдать задание Торлофу(MIS_Torlof_BengarMilizKlatschen = LOG_SUCCESS). Поговорить с Торлофом и это будет +5 голосов. Сдать задание Корда(Cord_RangerHelp_TorlofsProbe = TRUE). Повторно поговорить с Торлофом +4 голоса(по сути -1 голос).

должно быть: если квест выполнил ГГ - 5 голосов, если квест выполнил Корд - 4 голоса.

dosinabox commented 5 years ago

добавь. мы обсуждали это в целом. а это частность от целого :-)

Что-то непонятно, как добавить кого-нибудь.

Kor-Angar commented 5 years ago

Что-то непонятно, как добавить кого-нибудь.

Надо кого нибудь убрать. Тогда можно будет добавить

dosinabox commented 5 years ago

А я и убрать не могу. Видимо, это всё только для автора переписки (там это mud).

Kor-Angar commented 5 years ago

Видимо. Ну так я в целом помню, что мы обсуждали в т.ч. начисление голосов за Корда и решили не трогать.

А тут я пишу ппо ошибку которая происходит🙂

dosinabox commented 5 years ago

А такая логика не подходит?

прогнать ополчение у Бенгара: +5 очков собрать ренту у Секоба: +4 очка помощь Корда: -1 очко

Kor-Angar commented 5 years ago

Тогда получится что помощь Корда будет иметь голоса в "динамике", Торлоф будет говорить, что я знаю что тебе помог Корд, но при этом давать разное кол-во голосов

Kor-Angar commented 5 years ago

закинь сюда код из оригинальной Готике 2, что бы лучше понимать

dosinabox commented 5 years ago

Г2: прогнать ополчение у Бенгара: +5 очков собрать ренту у Секоба: +3 очка

Г2НВ: прогнать ополчение у Бенгара: +5 очков собрать ренту у Секоба: +3 очка любая помощь Корда: +4 очка

dosinabox commented 5 years ago

То есть ГГ получает больше очков, если просит Корда помочь со сбором ренты. Почему-то выгоднее и почетнее просить его, а не делать это самому. Мне кажется, что это неправильно.

dosinabox commented 5 years ago

прогнать ополчение у Бенгара: +5 очков собрать ренту у Секоба: +4 очка помощь Корда: -1 очко

Вот такая логика самая правильная, как по мне. Больше очков если делаешь сам (твое предложение), больше за решение проблемы с ополчением (что логично), меньше если просишь о помощи Корда (мое предложение).

Kor-Angar commented 5 years ago

То есть ГГ получает больше очков, если просит Корда помочь со сбором ренты. Почему-то выгоднее и почетнее просить его, а не делать это самому. Мне кажется, что это неправильно.

мы про это переписывались и не сошлись во мнение.

опять же ты не учитываешь важный момент: Корд это помощь ГГ по линии КВ при вступление в Наёмнике. ты же предлагаешь сделать это антипомощью.

Kor-Angar commented 5 years ago

Больше очков если делаешь сам (твое предложение)

у меня такого не было;-) я говорю об ошибке в подсчёте. с точки зрение работы скрипта(первый пост).

я не предлагаю менять имеющийся баланс. он мне понятен ясен и логичен. я писал там в переписке об том что его мнение(мнение Корда) авторитетно в коллективе, поэтом дело не в том какой он(Корд) вопрос решил, а в том что он вписался за ГГ.

Kor-Angar commented 5 years ago

и кстати, ты значительно упростила квест про прогнать ополчение Бенгара. теперь этот квест стал даже проще чем Рента

dosinabox commented 5 years ago

прогнать ополчение у Бенгара без помощи Корда: +5 очков (твое предложение) прогнать ополчение у Бенгара с помощью Корда: +4 очка (как в оригинале) собрать ренту у Секоба без помощи Корда: +4 очка (на одно очко больше чем в оригинале) собрать ренту у Секоба с помощью Корда: +3 очка (на одно очко меньше чем в оригинале)

опять же ты не учитываешь важный момент: Корд это помощь ГГ по линии КВ при вступление в Наёмнике. ты же предлагаешь сделать это антипомощью.

Помощь заключается не в дополнительных очках у Торлофа, а в том, что ГГ не нужно иметь дела с ополчением и Секобом: не нужно ни с кем драться. Торлоф оценивает "респект", который выражается ГГ на ферме другими наемниками: "Корд в этом поучаствовал" - минус респект, "собрать ренту несложно" - минус респект. Я это так воспринимаю.

дело не в том какой он(Корд) вопрос решил, а в том что он вписался за ГГ.

Так для этого отдельная опция диалога с ним есть. Просишь проголосовать - проголосует. Можно попросить и проголосовать, и помочь с испытанием: насколько хватит наглости у игрока)

и кстати, ты значительно упростила квест про прогнать ополчение Бенгара. теперь этот квест стал даже проще чем Рента

Чем упростила и почему теперь проще?

у меня такого не было;-) я говорю об ошибке в подсчёте. с точки зрение работы скрипта(первый пост).

Ну да. Если я правильно понимаю, то твое предложение это "не терять очко респекта Торлофа, если ГГ взял помощь Корда, но всё равно выполнил испытание сам". Правильно?

Kor-Angar commented 5 years ago

Ну да. Если я правильно понимаю, то твое предложение это "не терять очко респекта Торлофа, если ГГ взял помощь Корда, но всё равно выполнил испытание сам". Правильно?

грубо говоря да.

прогнать ополчение у Бенгара без помощи Корда: +5 очков (твое предложение)

так же и было в оригинале. почему мое предложение?:-)

Помощь заключается не в дополнительных очках у Торлофа, а в том, что ГГ не нужно иметь дела с ополчением и Секобом: не нужно ни с кем драться. Торлоф оценивает "респект", который выражается ГГ на ферме другими наемниками: "Корд в этом поучаствовал" - минус респект, "собрать ренту несложно" - минус респект. Я это так воспринимаю.

а почему "минус" то респект? если за новичка вписался старший товарищ это всегда "плюс" в таком(мужском) коллективе и интонация как об этом говорит Торлоф имеет значение, это во первых. во вторых есть три "быстрых" вступления:

ты предлагаешь изменить логику упрощенного(быстрого) вступления в наёмники сделав его более сложным. в твоем варианте если ГГ воспользуется помощью Корда он потеряет голос наёмника и ему придётся делать еще что то дополнительное что бы получить голоса. например кого то отдубасить, а любой Наёмник в плане битвы сложнее Секоба. т.е. фактически усложнишь процесс вступления в Наёмники.

Чем упростила и почему теперь проще?

тем что теперь от ментов можно откупится за 65 золотых. и получить за это 5(!) голосов.

прогнать ополчение у Бенгара без помощи Корда: +5 очков (твое предложение) прогнать ополчение у Бенгара с помощью Корда: +4 очка (как в оригинале) собрать ренту у Секоба без помощи Корда: +4 очка (на одно очко больше чем в оригинале) собрать ренту у Секоба с помощью Корда: +3 очка (на одно очко меньше чем в оригинале)

мы это видим(воспринимаем) по разному. я это вижу иначе

Kor-Angar commented 5 years ago

тем что теперь от ментов можно откупится за 65 золотых. и получить за это 5(!) голосов.

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

в диалоге Бенгар благодарит ГГ за то что он даже попытался откупится от ментов и даёт за это дополнительный опыт.

так было в оригинале.

ты это дело поправило и теперь можно за 65 золотых выполнить квест на вступление.

dosinabox commented 5 years ago

тем что теперь от ментов можно откупится за 65 золотых.

Нельзя. Они окончательно уходят с фермы только если ГГ - наемник. Если ГГ - нейтрал, то они просто отходят и стоят неподалеку:

AI_Output(other,self,"DIA_Rumbold_HALLO_geld_ok_15_00");    //Вот деньги. А теперь проваливайте.
    B_GiveInvItems(other,self,ItMi_Gold,65);
    AI_Output(self,other,"DIA_Rumbold_HALLO_geld_ok_10_01");    //Меня не волнует, кто платит за Бенгара. Удачи. (себе под нос) Кретин!
    AI_StopProcessInfos(self);
    Rumbold_Bezahlt = TRUE;
    if(other.guild == GIL_NONE)
    {
        Npc_ExchangeRoutine(self,"Start");
        B_StartOtherRoutine(Rick,"Start");
    }
    else
    {
        Npc_ExchangeRoutine(self,"Flucht3");
        B_StartOtherRoutine(Rick,"Flucht3");
        Miliz_Flucht = TRUE;
    };
    if(Hlp_IsValidNpc(Bengar) && !Npc_IsDead(Bengar))
    {
        B_StartOtherRoutine(Bengar,"Start");
    };

Бенгар замечает это и не принимает квест, пока ГГ не вернется к ним и не завершит дело:

AI_Output(self,other,"DIA_Bengar_MILIZWEG_10_01");  //Ты с ума сошел? Да ты знаешь, что они сделают со мной, когда ты уйдешь?
AI_Output(self,other,"DIA_Bengar_MILIZWEG_10_02");  //Они все еще стоят вон там. Скажи им, чтобы они исчезли, СОВСЕМ!

ввязавшись в драку:

AI_Output(other,self,"DIA_Rumbold_StillThere_15_00");   //Вы еще здесь?!
AI_Output(self,other,"DIA_Rumbold_StillThere_10_01");   //Сейчас ты у меня попляшешь!

Таким образом, Рик и Румболд просто разводят нейтрала на 65 золотых (однако, Бенгар упоминает это и дает дополнительный опыт), а мирное решение проблемы возможно только для наемника (или применив свиток страха).

Kor-Angar commented 5 years ago

Стало понятнее. квест с защитой Бенгара различается для Нейтрала и Наемника.

Kor-Angar commented 5 years ago

А с Торлофом то что? Ты хочешь все таки менять систему начисления голосов? 🙂

dosinabox commented 5 years ago

Ты хочешь все таки менять систему начисления голосов?

Всё же нет. Но учту ситуацию, когда ГГ выполняет испытание сам, взяв помощь Корда. Нужно ещё посмотреть.

Kor-Angar commented 5 years ago

Отпишись если что, я проверю. В оригинальной игре в наемы можно вступить вообще без избиений и дуэлей ;—)

Kor-Angar commented 5 years ago

Сегодня вступал в Наемники. Брал задание про Секоба, безьпомощи Корда. Проблем не возникло.

Kor-Angar commented 3 years ago

проверь плиз голос Рода. по моему Торлоф его как то странно считает

    // ------ Rod ------
    if (Npc_IsDead(Rod))
    {
        Points_Sld = Points_Sld + 1;
    }
    else if (Npc_HasItems (Rod, ItMw_2h_Rod) == 0)
    {
        AI_Output   (self, other, "DIA_Torlof_RUF_01_10");  //Род просто хочет получить свой меч назад.
        //AI_Output (self, other, "DIA_Torlof_RUF_01_10"); //Rod will einfach nur sein Schwert wiederhaben.
    }
    else if (Rod.aivar[AIV_DefeatedByPlayer] == TRUE)
    ||      (Rod_WetteGewonnen == TRUE)
    {
        AI_Output   (self, other, "DIA_Torlof_RUF_01_11");  //Похоже, тебе удалось убедить Рода, что ты достаточно силен.
        //AI_Output (self, other, "DIA_Torlof_RUF_01_11"); //Rod hast du wohl ьberzeugt, dass du stark genug bist.
        if (Rod.aivar[AIV_DefeatedByPlayer] == FALSE)
        {
            Points_Sld = Points_Sld + 1; //### sonst Point bei Duell ###
        };
    }
    else if (Rod.aivar[AIV_TalkedToPlayer] == TRUE)
    {
        AI_Output(self,other,"DIA_Torlof_RUF_01_12");   //Род считает тебя слабаком.
        AI_Output (self, other, "DIA_Torlof_RUF_01_12"); //Rod hдlt dich fьr einen Schwдchling.
    };
dosinabox commented 3 years ago

проверь плиз голос Рода. по моему Торлоф его как то странно считает

Торлоф скажет "Похоже, тебе удалось убедить Рода, что ты достаточно силен" если ГГ избил Рода ИЛИ поднял его меч. Если ГГ поднял меч И не избил Рода, то следом дается +1 голос.

dosinabox commented 1 year ago

Неиспользуемый опыт:

const int XP_Torlof_GenugStimmen = 250;

Подходит сюда:

if(GotTorlofVote == FALSE)
{
    if(Torlof_GenugStimmen == FALSE)
    {
        Log_CreateTopic(TOPIC_SLDRespekt,LOG_MISSION);
        Log_SetTopicStatus(TOPIC_SLDRespekt,LOG_Running);
    };
    B_LogEntry(TOPIC_SLDRespekt,"Торлоф считает, что я могу выполнять обязанности наемника.");
    //B_GivePlayerXP(XP_Torlof_GenugStimmen);
    GotTorlofVote = TRUE;
};