Modcraft - The community dedicated to quality WoW modding!
Wrath of the Lich King Modding => Serverside Modding => Topic started by: Serifaz on August 22, 2011, 04:32:09 am
-
Got the core compiled just trying the new spec system now
-
Could be a bitmask.
1-1
2-2
3-4
4-8
5-16
6-32
7-64
8-128
9-256
10-512
11-1024
12-2048 etc
so 1024 could be 11.
Whats his for. You can store different references in ne colum
et say calss 8 and 11
1024 + 128 = 1152
-
As written on the wiki, its indeed a bitmask, referencing ChrClasses.dbc.
http://pxr.dk/wowdev/wiki/index.php?title=TalentTab.dbc (http://pxr.dk/wowdev/wiki/index.php?title=TalentTab.dbc" onclick="window.open(this.href);return false;)
-
Oh i dont take a look at the wiki because i though he did it befor :)
-
I did look at it before, but I don't know what bitmask means sorry, still learning X)
also, I think I wasn't clear on this, but how do I specify a new class number for the dbc?
basically I'm trying to work out the specs for the battlemage... I need to specify what class is getting the talents, how do I do that?
:Edit, sorry didn't notice that the numbers are x2 each time, so does that meen I can just double it over again and make the doubled number the class bitmask.?
so to make class 12 would be 1024x1024 =2048?
-
Just double it every step
1024
2048
4096
etc. And to set it for different classes you must sum them
1 = 1
4 = 8
12 = 2048
1 + 8 + 2048 = 2057 = 1 & 4 & 12 in one integer.
-
O.k. I got the base for the talents setup, but for some reason when I try to make the class in game my world server crashes,
here is a screen shot of what the world server says when the world crashes.
(http://i104.photobucket.com/albums/m185/Serifas/Untitled-17.jpg)
I have the class setup in the database, dbc's,
and the core has been compiled to support the new classes / races.
could this result from not having the talents complete?
-
What the log say. You call somewhere a class 13 that did not exist.
-
sorry I'm a little confused,.. how is it that it doesn't exist, is it the core or the dbcs. or something else
-
most likely the core.
-
O.k. I think I got the core mostly worked out, but when I try to make the character it tells me class 13 race 23 level info not found... is this dbc or a core problem?
maybe both?
-
Search the error message inside the source. Then you will find the place where it is generated and can take a look what the problem is direct inside the code.
-
All I can find is the objectmgr.cpp and .h and I have no idea how they are assigning the levelinfo X)
-
The manager provide this function to check if ther is the combination of race and class
LevelInfo* ObjectMgr::GetLevelInfo(uint32 Race, uint32 Class, uint32 Level)
It will return NULL if the combination do not exist.
This Function search the Object mLevelInfo if ther is an entry for your race.
This gets filled in the function
void ObjectMgr::GenerateLevelUpInfo()
And there you see that the races are hardcoded so if you want to use naga(13) you need to change all parts.
for(uint32 Race = RACE_HUMAN; Race <= RACE_DRAENEI; ++Race )
RACE_HUMAN = 1
RACE_DRAENE =11
So 12 and 13 never get loaded even if they exist.
And at the bottom of the function you found:
// Now that our level map is full, let's create the class/race pair
pair<uint32, uint32> p;
p.first = Race;
p.second = Class;
// Insert back into the main map.
mLevelInfo.insert( LevelInfoMap::value_type( p, lMap ) );
This part will not fill in them into the object that hold the combinations.
-
O.k, I got the core compiled and the races and classes are both working, but how would I go about making it so I can add more identifiers in the talent section of player.h?
I have set up the talent tabs in the dbc's but I just need to add two lines in the TalentTreesPerClass section
this is what mine looks like.
[spoiler:2p34a6cd]/**
TalentTree table
mage - arcane - 81
mage - fire - 41
mage - frost - 61
rogue - assassination - 182
rogue - combat - 181
rogue - subelty - 183
warlock - affliction - 302
warlock - demonology - 303
warlock - destruction - 301
warrior - arms - 161
warrior - fury - 163
warrior - protection - 164
shaman - elemental - 261
shaman - enchantment - 263
shaman - restoration - 262
paladin - holy - 382
paladin - protection - 383
paladin - retribution - 381
death knight - blood - 398
death knight - frost - 399
death knight - unholy - 400
priest - discipline - 201
priest - holy - 202
priest - shadow - 203
hunter - beast - 361
hunter - marksmanship - 363
hunter - survival - 362
druid - balance - 283
druid - feral combat - 281
druid - restoration - 282
battleMage - illusion - 401
battlemage - defense - 402
battlemage - force - 403
brewmaster - stability - 404
brewmaster - recklessness -405
brewmaster - potency - 406
*/
static const uint32 TalentTreesPerClass[DRUID + 1][3] =
{
{ 0, 0, 0 }, // NONE
{ 161, 163, 164 }, // WARRIOR
{ 382, 383, 381 }, // PALADIN
{ 361, 363, 362 }, // HUNTER
{ 182, 181, 183 }, // ROGUE
{ 201, 202, 203 }, // PRIEST
{ 398, 399, 400 }, // DEATH KNIGHT
{ 261, 263, 262 }, // SHAMAN
{ 81, 41, 61 }, // MAGE
{ 302, 303, 301 }, // WARLOCK
{ 0, 0, 0 }, // NONE
{ 283, 281, 282 }, // DRUID
{ 401, 402, 403 }, // BATTLEMAGE
{ 404, 405, 406 }, // BREWMASTER[/spoiler:2p34a6cd]
I am trying to make a tutorial on how to make custom class talents but I can't get the talent trees to compile