Thread Tools Display Modes
10/05/16, 10:39 PM   #1
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
[outdated] IsSmithingPatternStyleKnown

When you want to know if you have the knowledge of a specific style, you can use :

  • IsItemLinkBookKnown(itemLink) : But you have to provide itemLink.

  • IsSmithingStyleKnown(styleItemIndex, patternIndex) : But you need to interact with a crafting station and be on the good mode. (weapons / armors).

  • GetLoreBookInfo(categoryIndex, collectionIndex, bookIndex) : But collectionIndex changes at each DLC.

  • GetAchievementCriterion(achievementId, criterionIndex) : But you need an achievement.


The last method, GetAchievementCriterion worked fine since the Dwemer introduction in 2014 because each style was linked to its achievement.



But the last DLC will introduce in its future event Grim Harlequin style, which have no achievement.
This one is ITEMSTYLE_UNUSED21 or styleItemIndex = 59 and is already available on live craft UI.

So I'll really like a

IsSmithingPatternStyleKnown(styleItemIndex, styleChapterIndex) with styleChapterIndex being an ItemStyleChapter constant.

Without this, we are unable to track style knownledge.


PS: Another answer would be that because this style will be Crown Store only, there will be no chapters.
So you could use IsSmithingStyleKnown(59, 1), but I'm not totally satisfied with this answer because collectionIndex 54 of Eidetic Memory list the 14 styles books of this style.

PPS: We'll have same issue with Stahlrim Frostcaster style incoming after u13, which have no achievement.
This one is ITEMSTYLE_UNUSED16 or styleItemIndex = 54 and is already available on live craft UI.

Thank you.

Last edited by Ayantir : 10/05/16 at 11:02 PM.
 
10/06/16, 07:35 AM   #2
AssemblerManiac
AddOn Author - Click to view addons
Join Date: Jun 2014
Posts: 51
Instead of IsSmithingStyleKnown(59, 1), how about IsSmithingStyleKnown(59, nil), so you can test if the whole style is known before testing individual pieces?
 
10/06/16, 11:31 AM   #3
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Just looking quickly at the code I don't immediately see the reason why IsSmithingStyleKnown would only work at a crafting station. It seems to be initialized on entering the world.
 
10/06/16, 05:35 PM   #4
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
Okay, so let's make a test.

I have a char which know 1 chapter of assassin's league (style 47). The belt.

d(tostring(IsSmithingStyleKnown(47, 1))) -> 47, 14 =



Now, I go to the clothing craft station :

/script d(tostring(IsSmithingStyleKnown(47, 8))) = true because I know the light belt and this is the 8th pattern on clothing craft station
/script d(tostring(IsSmithingStyleKnown(47, 15))) = true because I know the medium belt and this is the 15th pattern on clothing craft station

Now, I go to the smithing craft station :

/script d(tostring(IsSmithingStyleKnown(47, 14))) = true, because I know the heavy belt and this is the 14th pattern on smithing craft station. (please note the patternIndex = 8 / 15 now returns false). 14th pattern because weapons = 1-7 and armors = 8-14


What I would like is a function which just accept a ItemStyleChapter as parameter, not influenced by the interaction with a craft station.

and for my case :

/script d(tostring(IsSmithingPatternStyleKnown(47, ITEM_STYLE_CHAPTER_BELTS))) = true


Thank you.
 

ESOUI » Developer Discussions » Wish List » [outdated] IsSmithingPatternStyleKnown

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off