Page 1 of 1

class_skill vs. mastery_skill

Posted: Wed Aug 20, 2008 7:22 pm
by paulgh
John,
In another thread, you were talking with LE about changing the size of class_skill because it wouldn't accept ordination's value. That got me wondering, shouldn't that be going in the mastery_skill, and something like conjurations (for Conjuror) go in class_skill. It's probably not a big deal, as changing the code to use one or the other would be easy (I think). Mastery_skill is the one that shows up in the spell examine box though.

Posted: Thu Aug 21, 2008 7:04 am
by John Adams
When I asked weeks ago, [Ref. spell structs post] there was not a clear definition of the difference between field `class_skill` and `mastery_skill` - so I took a crap shoot and went with class. If this is wrong, it can easily be changed. And to me, if the guy writing the server hasn't decided what the fields are for, there is no real concrete solution yet. So we're working with what we got.
Review the EQ2Emu DB's `skills` table, and you tell me if every skill listed there is clearly a class skill or a mastery skill, so we can determine which list to pick from when building our spells/arts.
Let me know what you find.
Thanks,
-J

Posted: Thu Aug 21, 2008 8:20 pm
by paulgh
After going through all my characters' spells and searching my logfile, I've come to the conclusion that only 5 skills are used as mastery_skills.
Aggression
Disruption
Ministration
Ordination
Subjugation
The class_skills are all the ones that have an archetype, class, or subclass in the 'name' field. If all members of an archetype use a spell, use the archetype skill, etc.
In actuality, I don't think the class_skills are used anymore.
As an aside, I noticed that when 'tier' is 1, the spell examine display shows the level of the spell like it should. When 'tier' is any other value, it doesn't.

Posted: Fri Aug 22, 2008 11:40 am
by John Adams
Thanks for looking those over. There is currently no support to "check" the class/master skills regardless, but this info will help when it comes time to sort out that functionality.
I could have sworn I had a bug in to display the "Tier" in the mouse-over/examine, but I cannot seem to find it.

Posted: Fri Aug 22, 2008 3:12 pm
by Arremis
Aren't the mastery skills where you get like Skeleton Master's Strike from completing Lore & Legend quests?

Posted: Fri Aug 22, 2008 3:15 pm
by John Adams
That's what I thought too. But, I am not the master of all spells/arts, so that's why I have you guys. :D

Posted: Fri Aug 22, 2008 3:40 pm
by ZexisStryfe
This may be a stupid question, but is Mastery_skill looking for an integer value or is it just a yes/no (0/1) flag? If it is just a flag I would say that it is for the Legend and Lore master spells and probably has something to do with the fact that all the master spells were consolidated into one spell which can effect multiple races.

Posted: Fri Aug 22, 2008 3:51 pm
by John Adams
Right now in the SpellData struct, mastery_skill is declared as an int32, so it's not necessarily a 0 or 1 - but still, the code does not use this value at all yet so I'm sure it's usage will be revisited.
There is another "mystery" field in spells - `type`. I don't think we know what that is for either. For all we know, this could be the value for Normal or L&L or friendly etc.

Posted: Fri Aug 22, 2008 7:55 pm
by John Adams
Ok here's the deal. paulgh is on the money, yet again (nice work!)
After seeing some of the output in the spells packets, the `class_skill` is exactly that - character class (Defiler, Paladin, Wizard, etc).
The `mastery_skill` appears to be the specialized skill needed to use the ability.
Though this list is a bit off, I believe - here's an example:
Mastery Skills:

Code: Select all

Ministration	This is how well you use spells that heal and cure.
Disruption	This reduces your target's resistance to your Disruption spells.
Aggression	This is how well your taunts will affect monsters.
Subjugation	This is how well you use spells to command pets and control monsters.
Tinkering	This allows you to make Gadgets, Gizmos, and Doohickeys
Geocraft	Technique used by geomancers.
Woodcraft	Technique used by timbercrafters.
Scout	This allows you to use scout combat arts.
Tailoring	This is how well you create items made of cloth.
Chemistry	This is how well you create trade skill items by using chemistry.
Binding	Technique used by weavers.
Bruiser	This allows you to use bruiser combat arts.
Fletching	Used by tradesman to create arrows, shields, staves etc
Artificing	This is how well you create magic items by using trade skills.
Ordination	This is how well you use spells that augment your friends and weaken your enemies.
Metalworking	This is how well you create items made of metal.
Class Skills:

Code: Select all

Paladin	This allows you to use paladin spells.
Dirge	This allows you to use dirge spells.
Tinkering	This allows you to make Gadgets, Gizmos, and Doohickeys
Warden	This allows you to use warden spells.
Guardian	This allows you to use guardian combat arts.
Bard	This allows you to use bard spells.
Ranger	This allows you to use ranger combat arts.
Fighter	This allows you to use fighter combat arts.
Berserker	This allows you to use berserker arts.
Tracking	This is how well you find monsters or creatures within a zone.
Brigand	This allows you to use brigand combat arts.
Fury	This allows you to use fury spells.
Woodworking	This is how well you create items made of wood.
Timbercraft	This allows you to refine items into lumber and paper.  It also allows you to work these refines into other components.
Inquistor	This allows you to use inquistor spells.
Scout	This allows you to use scout combat arts.
Transmuting	This allows you to break down items into components.
Conjuror	This allows you to use conjuror spells.
Priest	This allows you to use priest spells.
Runecraft	This allows you to make magical augmentations that can be placed in many different items.
Weaving	This allows you to refine items into leather, thread, and yarn.  It also allows you to work these refines into other components.
Sorcery	Knowledge used to cast Sorcery spells.
Templar	This allows you to use templar spells.
Wizard	This allows you to use wizard spells.
Swashbuckler	This allows you to use swashbuckler combat arts.
Light Armoring	Tradeskill knowledge used by outfitters and weaponsmiths
Assassin	This allows you to use assassin combat arts.
Shadowknight	This allows you to use shadowknight spells.
Geomancy	This allows you to refine items into gems, metal bars, and precious metal bars.  It also allows you to work these refines into other components.
Alchemy	This allows you to make potions and poisons.
Coercer	This allows you to use coercer spells.
Bruiser	This allows you to use bruiser combat arts.
Predator	This allows you to use predator combat arts.
Defiler	This allows you to use defiler spells.
Cleric	This allows you to use cleric spells.
Shaman	This allows you to cast Shaman spells
Weaponry	This allows you to craft weapons.
Mystic	This allows you to use mystic spells.
Crusader	This allows you to use crusader spells.
Mage	This allows you to use mage spells.
Brawler	This allows you to use brawler combat arts.
As I said, some appear to be mixed up, but this is my first time inspecting this data so we'll get it straightened out soon enough.
Thanks for the tip, paulgh!

Posted: Fri Aug 22, 2008 8:39 pm
by paulgh
Scout and Bruiser belong in class_skill (probably just a cut and paste error).
The 'type' field tells the client whether this is a spell, combat art, or ability.
0 - spell
1 - combat art
2 - ability
3 - also ability, but mastery: changes to technique:
4 - also spell, but marked passive
All higher numbers I tested (up to 50) were spell.

Posted: Fri Aug 22, 2008 8:52 pm
by John Adams
Actually, `spell_book_type` is for spell, art, or ability etc. "Type" is still unknown.
Edit: Hmm, well now I am confused. `type` 0,1,2,3,4 do seem to have some value relating to this... so honestly, I don't know what spell_book_type is, except that I think this is the field the server uses at the moment. Maybe it should be using `type`?
Here's what I see looking at the raw data:
0 = spell
1 = combat art
2 = ability
3 = crafting
4 = trait
I do not have any value types > 4 currently.

Posted: Fri Aug 22, 2008 9:30 pm
by paulgh
Actually, spell_book_type just tells what section to place the icon under in the knowledge book. Type affects the title bar in the examine spell window, and also makes small changes in type 3 and 4 as noted above.

Posted: Fri Aug 22, 2008 9:32 pm
by John Adams
Snuck an edit in on you ;)
And that makes sense... we do still have to tell the client where to stuff the icons.
Man, so much to this one single system... sigh.