AmProsius / gothic-1-community-patch

Gothic 1 Community Patch
Other
49 stars 4 forks source link

Baal Taran in Old Camp has obselete dialog about assess to the castle #312

Open pawbuj1981 opened 2 years ago

pawbuj1981 commented 2 years ago

We can talk win Baal Taran after we selected a Camp and he has still obsolete dialog option about to help us to get inside a castle. It should be impossible after we choose a camp! FUNC int DIA_BaalTaran_IntoCastle_Condition() { if (Npc_KnowsInfo(hero, DIA_BaalTaran_Greet)) && ( Npc_GetTrueGuild (hero)== GIL_NONE ) { return 1; }; }; To be honest his other dialog options should be only avalaible in Chapter 1 , In another chapters they are not logic as it focus to make decision for camp sellection..

AmProsius commented 2 years ago

https://github.com/AmProsius/gothic-1-community-patch/blob/39e050914ae56e2cc0d6c63a3f3bb204dfa34372/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_NOV_1331_BaaTaran.d#L251-L257

changed to

FUNC int  DIA_BaalTaran_IntoCastle_Condition()
{
    if (Npc_KnowsInfo(hero, DIA_BaalTaran_Greet))
    && (Npc_GetTrueGuild(hero) == GIL_NONE)
    {
        return 1;
    };
};
AmProsius commented 2 years ago

Similar to #17/#65.

pawbuj1981 commented 2 years ago

I would really do extra conditions to his other dialog options, they are only logic in first Chapter.

Another example- this dialog should be started if hero has never been in Swamp Camp. For example if he has never talk to Lester,,,,,

FUNC int  DIA_BaalTaran_Bruderschaft_Condition()
{
    if (Npc_KnowsInfo(hero, DIA_BaalTaran_Greet))
    {
        return 1;
    };
};

FUNC VOID  DIA_BaalTaran_Bruderschaft_Info()
{
    AI_Output (other, self,"DIA_BaalTaran_Bruderschaft_15_00"); //Bractwo Śniącego? A cóż to takiego?
    AI_Output (self, other,"DIA_BaalTaran_Bruderschaft_05_01"); //Jesteśmy wspólnotą wyznawców nowej wiary.
    AI_Output (self, other,"DIA_BaalTaran_Bruderschaft_05_02"); //Nasz obóz znajduje się na wschód stąd, na bagnie. Przyszedłem tutaj, by nauczać niewiernych takich jak ty słów Śniącego.
};
pawbuj1981 commented 2 years ago

Second non logic dialog with Taran- should be fully depended` if he has never talk to Lester..

instance  DIA_BaalTaran_WayToST (C_INFO)
{
    npc         = NOV_1331_BaalTaran;
    nr          = 1;
    condition   = DIA_BaalTaran_WayToST_Condition;
    information = DIA_BaalTaran_WayToST_Info;
    permanent   = 0;
    description = "Jak mogę dotrzeć do obozu Bractwa?";
};                       

FUNC int  DIA_BaalTaran_WayToST_Condition()
{
    if (Npc_KnowsInfo(hero, DIA_BaalTaran_Bruderschaft))
    {
        return 1;
    };
};

FUNC VOID  DIA_BaalTaran_WayToST_Info()
{
    AI_Output (other, self,"DIA_BaalTaran_WayToST_15_00"); //Jak mogę dotrzeć do obozu Bractwa?
    AI_Output (self, other,"DIA_BaalTaran_WayToST_05_01"); //Jestem teraz zajęty, ale Baal Parvez powinien przebywać jeszcze w tym obozie.
    AI_Output (self, other,"DIA_BaalTaran_WayToST_05_02"); //Znajdziesz go gdzieś w pobliżu targowiska, po drugiej stronie zamku. Zdaję się, że ma tam nawet własną chatę!

    if (Npc_GetTrueGuild(hero) == GIL_NONE)
    {
        Log_CreateTopic     (CH1_JoinPsi, LOG_MISSION);
        Log_SetTopicStatus  (CH1_JoinPsi, LOG_RUNNING);
    };
    B_LogEntry              (CH1_JoinPsi,"Nowicjusz imieniem Baal Parvez może mnie zaprowadzić do obozu na bagnie. Znajdę go na targowisku, za zamkiem Starego Obozu.");
};
AmProsius commented 2 years ago

I agree, but these aren't technically bugs in my opinion, but merely inconsistencies. The castle dialog is different, because it is related to a specific quest.