Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Baal Namib sells Novice's Armor too late #23

Merged
merged 2 commits into from Mar 31, 2021
Merged

Baal Namib sells Novice's Armor too late #23

merged 2 commits into from Mar 31, 2021

Conversation

szapp
Copy link
Collaborator

@szapp szapp commented Mar 29, 2021

Describe the bug
Baal Namib doesn't sell the Novice's Armor until chapter 3, but the player can already become a Templar in chapter 2.

Expected behavior
Baal Namib now sells the Novice's Armor in chapter 2 already, if the Minecrawler Queen quest is running or completed.

@catalinstoian
Copy link

catalinstoian commented Jan 16, 2021

FUNC void GUR_1204_BaalNamib_ARMOR_Info()
{
AI_Output (hero,self,"GUR_1204_BaalNamib_ARMOR_Info_15_01");//I'd like to have better armor.
if (Kapitel < 3)
{
AI_Output (self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_02");//The time has not yet come for you to wear the heavy armor of a novice.
}
else if (Npc_HasItems (hero, ItMinugget) < VALUE_NOV_ARMOR_H )
{
AI_Output (self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_03");//Come back as soon as you have enough ore.
}
else
{
AI_Output (self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_04");//This armor protects your body, like the Sleeper protects your spirit!
CreateInvItem (self,NOV_ARMOR_H);
B_GiveInvItems (self, hero, NOV_ARMOR_H, 1);
B_GiveInvItems (hero, self, ItMinugget,VALUE_NOV_ARMOR_H);
};
};

changed to

FUNC void  GUR_1204_BaalNamib_ARMOR_Info()
{
    AI_Output (hero,self,"GUR_1204_BaalNamib_ARMOR_Info_15_01");//I'd like to have better armor.

    if ((Kapitel >= 2) && (CorKalom_BringMCQBalls == LOG_RUNNING)) 
    {
        if (Npc_HasItems (hero,ItMiNugget) < VALUE_NOV_ARMOR_H)
        {
            AI_Output(self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_03");//Come back as soon as you have enough ore.
        }
        else
        {
            AI_Output (self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_04");//This armor protects your body, like the Sleeper protects your spirit!
            CreateInvItem (self,NOV_ARMOR_H);
            B_GiveInvItems (self, hero, NOV_ARMOR_H, 1);
            B_GiveInvItems (hero, self, ItMinugget,VALUE_NOV_ARMOR_H);
        }
    }
    else
    {
        AI_Output(self,other,"GUR_1204_BaalNamib_ARMOR_Info_02_02");//The time has not yet come for you to wear the heavy armor of a novice.
    };
}; 

@AmProsius AmProsius added this to To Do in v1.0.0 Jan 18, 2021
@szapp szapp added type: session fix The fix for this issues is persistent across a session. compatibility: difficult This issue is difficult to make compatible. labels Jan 24, 2021
@AmProsius
Copy link
Owner Author

AmProsius commented Feb 4, 2021

I would change

if ((Kapitel >= 2) && (CorKalom_BringMCQBalls == LOG_RUNNING)

to

if (Kapitel >= 2 && (CorKalom_BringMCQBalls == LOG_RUNNING || CorKalom_BringMCQBalls == LOG_SUCCESS)

so the player can still buy the Novice's Armor after chapter 2 if he didn't become a Templar till then.

@AmProsius AmProsius changed the title Player gets the Heavy Novice Robe too late Player gets Novice's Armor too late Feb 4, 2021
@AmProsius AmProsius changed the title Player gets Novice's Armor too late Baal Namib sells Novice's Armor too late Feb 4, 2021
@AmProsius AmProsius removed this from To Do in v1.0.0 Feb 9, 2021
@AmProsius AmProsius added provided fix This issue has a fix provided in the comments. opinionated This issue or this issues' fix is opinionated and not predefined by the scripts. labels Feb 11, 2021
@AmProsius AmProsius added the validation: validated This issue is still present even with Systempack/Union. label Feb 20, 2021
@szapp szapp mentioned this pull request Feb 20, 2021
@AmProsius
Copy link
Owner Author

AmProsius commented Feb 28, 2021

We can also think about just changing

to

if (Kapitel < 2)

I don't know why the minecrawler quest was added as a condition anyway. The number might just have been a typo and adding the quest to the condition seems too opinionated for my taste.

@AmProsius AmProsius added this to To Do in v1.1.0 via automation Mar 5, 2021
@AmProsius AmProsius added this to the v1.1.0 milestone Mar 5, 2021
@szapp szapp added this to Dialog: Info function in Fix templates Mar 17, 2021
@szapp szapp added the impl: modify/analyze script func This issue requires analyzing and/or modifying the bytecode of script functions. label Mar 17, 2021
@szapp szapp self-assigned this Mar 17, 2021
@szapp
Copy link
Collaborator

szapp commented Mar 29, 2021

We can also think about just changing

to

if (Kapitel < 2)

I don't know why the minecrawler quest was added as a condition anyway. The number might just have been a typo and adding the quest to the condition seems too opinionated for my taste.

I think that should be correct. The heavy armor of the corresponding other guild have no limiting factor (not even the chapter). But since there are three novice's armor types (light, medium, heavy), the chapter 2 restriction makes sense. Let's go for that.

@szapp szapp removed their assignment Mar 29, 2021
@szapp szapp requested a review from AmProsius March 29, 2021 19:03
@szapp szapp moved this from To Do to In Progress in v1.1.0 Mar 29, 2021
@szapp
Copy link
Collaborator

szapp commented Mar 29, 2021

This is an automatic test for a change. The only restrictions for obtain the armor is now:

  • Does not have the armor (unchanged)
  • Guild is novice (unchanged)
  • Enough ore (unchanged)
  • Chapter >= 2 (new)

@AmProsius AmProsius merged commit 5a8f933 into master Mar 31, 2021
v1.1.0 automation moved this from In Progress to Done Mar 31, 2021
@AmProsius AmProsius deleted the bug023 branch March 31, 2021 10:15
AmProsius added a commit that referenced this pull request Apr 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility: difficult This issue is difficult to make compatible. impl: modify/analyze script func This issue requires analyzing and/or modifying the bytecode of script functions. opinionated This issue or this issues' fix is opinionated and not predefined by the scripts. provided fix This issue has a fix provided in the comments. type: session fix The fix for this issues is persistent across a session. validation: validated This issue is still present even with Systempack/Union.
Projects
Fix templates
Modify dialog function
v1.1.0
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants