先看/feature/skill.c文件中的一段
varargs int query_skill(string skill, int raw) { if( !raw ) { int s , level; s = query_temp("apply/" + skill); if( mapp(skills) ) { s += skills[skill] / 2; if( mapp(skill_map) ) { if( skill_map[skill]) level = (int) (SKILL_D(skill_map[skill])->effective_level()) ; else level = 0; s += skills[skill_map[skill]] * level / 10 ; } } return s; } if( mapp(skills) && !undefinedp(skills[skill]) ) return skills[skill]; return 0; }
以上写明了s += skills[skill_map[skill]] * level / 10 ;这里调用到了有效系数
然后看combatd.c文件,大多与战斗有关的都可以在这文件中找到.
varargs int skill_power(object ob, string skill, int usage) { .... .... level = ob->query_skill(skill);
这里的level就是刚才的s的返回值,值越大,level越大,往下看会发觉power调用了level的值,而power是值技能伤害.
文章评分1次,平均分5.0:★★★★★
C?计划几年后我一定要学习学习C。。。
排版一下格式是非常有必要的
恩,这是篇老文章,当初用的是code引用,没用pre样式有点错位。
skill调用有效系数好像学过,复习一下了