Sign in to follow this  
Athris

[Trinity] Problem with new skills (forbidden race/class combination)

Hello!

I use a Trinity Core 3.3.5a (fresh release) and i create only a single class (class id = 1 warrior). This class has every weapon skill (for example sword, bow, wand, etc.), but if i log in my core create this error message:
Player::_LoadSkills: Player '%s' (%s, Race: %u, Class: %u) has forbidden skill %u for his race/class combination

 

This message appears when the core load the skill 163 (Wand). Is it possible to add the skills to the class? Do you know where?

Share this post


Link to post
Share on other sites

ID: New id in the DBC

SkillLine: Id of the skill line (i also like the name skill family for it) in the SkillLine.dbc

ChrRaces: -1 (Allow for every race)

ChrClasses: 1 (Allow for warrior)

Flags: Check what other weapons skill have, probably 0

RequLvl: 1 (Level requirement)

SkillTierId: Id of the skill tier in the SkillTiers.dbc

SkillCostId: Id of the skill cost in the SkillCostsData.dbc

 

Sadly it's not as easy as "give class X skill id Y on creation" anymore when using DBC files.

Share this post


Link to post
Share on other sites
On 12. 10. 2016 at 7:31 AM, Athris said:

But i dont understand the dbc: https://wowdev.wiki/DB/SkillRaceClassInfo

Where i say: "This skill number 12345 is allow to race -1 and class 1"?

It really is in this DBC though.:
 

3  - ChrClasses -  iRefMask  - Bitmask to ChrClasses.dbc

 

Field 1 (when 0-based) is an ID of skill. So, find rows which have wand skill skillID. There may be multiple such rows (however, in this case its just a one row - 144).

Row 144 says that skill 228 is for all races (-1) and for 256+128+16 classes (5, 8 and 9 - priest, mage and warlock) learnable from level 0. The only one thing you need to do is include warriors into mask of classes which can learn this skill. Warrior's class ID is 1. So his value for mas is 2^0=1. So you need to change mask from 400 to 400+1=401. As simple as that. Thats all you need to do.

 

Note that some skills can have multiple rows in this DBC and some of them can be there to include race/class combinations into list of combinations which can acquire this skill, some can do the opposite - exclude race/class combinations from list of combinations which can acquire this skill, or place some special restrictions to them. 

  • Like 2

Share this post


Link to post
Share on other sites

Okay i understand but how do you know the connection between the skill id in log and the skill id in dbc?

Trinity write in log that skill with id 163 is not possible for this race/class combination, but you look for skill id 144. How?

Share this post


Link to post
Share on other sites

Nah, have you even opened SkillRaceClassInfor.dbc and took a look at its 144 row :P? Well, if you did, you likely just missed thats there's a 1st when 0-based, 2nd when 1-based field which contains (on that row 144) value 228. Thats an ID of wands skill (at least as far as I know, my Skill* DBCs are edited and translated and stuff like that a lot). Its even written here as well:
https://wowdev.wiki/DB/SkillRaceClassInfo

1  - SkillLine -  iRefID -  Ref to SkillLine.dbc

SkillLine.dbc contains main definitions of skills, and its IDs are used to identify skills in all other DBCs, DB tables, logs... So don't confuse IDs of skills with IDs of rows in DBC which just reffers to skill IDs. Btw, if that DBC was using IDs of skills as IDs of its rows, it wouldn't be able to contain multiple rows for the same skill.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this