猎人在驯服某一种宠物后,该宠物有一系列的通用型/专属的宠物技能并可以随着等级的提升学会新的或者更高等级的技能,而这些在那里设置?
PS:其实术士的宠物也类似...
生物从属id --→ 相应的技能线id --→ 对应具体法术id
猎人驯服宠物后的宠物技能设置(以3.3.5为例);
1、根据驯服的“宠物id”在“creature_template 表”中查询“family”列的生物从属(宠物类生物)的id(对应creaturefamily.dbc)。
2、在“creaturefamily.dbc”中用“生物从属id”查询对应的“技能线/技能类”(技能系);
第[6]列:技能线a宠物的“专属的技能线id”(对应SkillLine.dbc)
第[7]列:技能线b宠物的“通用的技能线id”(对应SkillLine.dbc,如“270-猎人宠物”)
第[8]列:宠物食物分类(对应ItemPetFood.dbc的id.掩码)
第[9]列:宠物天赋类型(0=狂野、1=坚韧、2=狡诈;术士宠:-1(无天赋))
3、然后在“SkillLineAbility.dbc”中可以查询到某个“技能线id”所对应的技能有那些(即同一个“技能线”对应一系列的/多个的法术)
第[2]列是技能线id(对应SkillLine.dbc)
第[3]列是相应的法术id(对应Spell.dbc)
第[9]列是法术取代法术id(对应更高一级的法术id,需设置“spell_ranks 表”)
第[10]列是获取方法类型,一般为2(种族技能/宠物技能)或 0由天赋点出
4、如有法术取代的“技能链”技能,则还同时需要设置相应的“spell_ranks 表”
first_spell_id:技能链的第一个技能(等级最低/最基础的),对应spell.dbc;
spell_id:当前的技能id(中级过渡技能),对应spell.dbc;
rank:spell_id:字段中所示技能的等级(1~n 数字越大,技能等级越高/更高级的,低级技能被系统回收掉);
PS:技能链中至少需要2个等级;技能等级(参考spell.dbc的第[158]列)必须是连续的,中间不能有缺失;不能有重复等级