dosinabox / g2nr_unofficial_update

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

4 Глава / Ангар и амулет #298

Open Kor-Angar opened 3 years ago

Kor-Angar commented 3 years ago

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

dosinabox commented 3 years ago

на какое?

dosinabox commented 3 years ago

и какого дракона?

Kor-Angar commented 3 years ago

тут добавить что нибудь. типа

var int KorAngar_OC_TO_MAGE;
...
func void DIA_Angar_FOUNDAMULETT_nun()
{
    AI_Output(other,self,"DIA_Angar_FOUNDAMULETT_nun_15_00");   //Что ты планируешь делать теперь?
    AI_Output(self,other,"DIA_Angar_FOUNDAMULETT_nun_04_01");   //Выбираться из этой проклятой долины.
    AI_Output(self,other,"DIA_Angar_FOUNDAMULETT_nun_04_02");   //Может быть, мы еще встретимся. Прощай.
    AI_StopProcessInfos(self);
    if((Npc_GetDistToWP(self,"OC_TO_MAGE") < 1000) == FALSE)
    {
        Npc_ExchangeRoutine(self,"LeavingOW");
    }
    else
    {
        KorAngar_OC_TO_MAGE = true;
    };
};

и потом в диалоге c Драконом делать проверку

if(KorAngar_OC_TO_MAGE == true)
    {
        AI_Teleport(DJG_Angar,"OW_CAVALORN_01");
        B_StartOtherRoutine(DJG_Angar,"LeavingOW");
                KorAngar_OC_TO_MAGE = false;
    };

а при зарядке Глаза Инноса будет работать?

dosinabox commented 3 years ago

тут добавить что нибудь. типа

Всё равно не понимаю зачем и какую проблему это решает. И разве Ангар может вернуться в замок после его квеста? Или имеется в виду ситуация, когда ГГ сам нашел амулет и принес его Ангару в замке?

if((Npc_GetDistToWP(self,"OC_TO_MAGE") < 1000) == FALSE)

if(Npc_GetDistToWP(self,"OC_TO_MAGE") >= 1000)

а при зарядке Глаза Инноса будет работать?

Нужно делать проверку текущего мира, потому что DJG_Angar существует только в Минентале:

if(CurrentLevel == OLDWORLD_ZEN)
Kor-Angar commented 3 years ago

if((Npc_GetDistToWP(self,"OC_TO_MAGE") < 1000) == FALSE) это оригинальная проверка ;-)

Или имеется в виду ситуация, когда ГГ сам нашел амулет и принес его Ангару в замке?

да. доработка ситуации, если герой принёс амулет Ангару, когда Ангар в замке.


я у себя сделаю более глобальные изменения: буду нежить вставлять в 4 главе, что бы не складывалась ситуация когда нежить вырезается до 4 главы. но такой сценарий надо крепко продумать :-)

Kor-Angar commented 3 years ago

Нужно делать проверку текущего мира, потому что DJG_Angar существует только в Минентале

так?

        if(KorAngar_OC_TO_MAGE == true && CurrentLevel == OLDWORLD_ZEN)
        {
            AI_Teleport(DJG_Angar,"OW_CAVALORN_01");
            B_StartOtherRoutine(DJG_Angar,"LeavingOW");
            KorAngar_OC_TO_MAGE = false;
        };
        Npc_RemoveInvItems(self,ItMi_InnosEye_Discharged_Mis,1);
        CreateInvItems(self,ItMi_InnosEye_MIS,1);
        AI_PrintScreen(PRINT_AlchemySuccessInnoseye,-1,YPOS_GoldGiven,FONT_ScreenSmall,1);
dosinabox commented 3 years ago

сделаю у себя и отпишусь

dosinabox commented 3 years ago

доработка ситуации, если герой принёс амулет Ангару, когда Ангар в замке.

На этот случай делается проверка у Гаронда:

func void DIA_Garond_BACKINKAP4_Info()
{
    AI_Output(other,self,"DIA_Garond_BACKINKAP4_15_00");    //Я вернулся.
    AI_Output(self,other,"DIA_Garond_BACKINKAP4_10_01");    //Я сам это вижу. А что насчет подкрепления?
    ...
    if(DJG_AngarGotAmulett == TRUE)
    {
        AI_Teleport(DJG_Angar,"OW_CAVALORN_01");
        B_StartOtherRoutine(DJG_Angar,"LeavingOW");
    }
    else
    {
        AI_Teleport(DJG_Angar,"OW_DJG_WATCH_STONEHENGE_01");
        B_StartOtherRoutine(DJG_Angar,"Start");
        DJG_Angar_SentToStones = TRUE;
    };

Её мало?

Kor-Angar commented 3 years ago

Да.

Kor-Angar commented 3 years ago

хотя.. может код поменялся. у меня Ангар при каком то сценарии оставался в замке.

Kor-Angar commented 3 years ago

вообщем я заглянул во внутрь сознания и вспомнил. у меня тогда ещё и ОнД неуходили со старта и ты мне подсказала как решить эту "проблему" доложив Гаронту о "прибытие". Таким образом Кор Ангар навёл меня на хорошую мысль :-) https://github.com/dosinabox/g2nr_unofficial_update/issues/299