UID11438
阅读权限90
威望 点
积分10672
注册时间2012-2-5
最后登录1970-1-1
听众
收听
升级
0%
|
本帖最后由 一生一叹一痕沙 于 2012-5-31 14:54 编辑
圣十字审判的设定是,发动者发动技能后会自身会扣一次血,然后会反射攻击对象受到的一半伤害回来,每次反射的伤害可以被天使波利卡片抵消,但最开始的那次不会被抵消
找不到这第一次受到的伤害是怎么判断的,在battle.c找到一处和输出有关的
if( skill_num == CR_GRANDCROSS || skill_num == NPC_GRANDDARKNESS )
{ //Apply the physical part of the skill's damage. [Skotlex]
struct Damage wd = battle_calc_weapon_attack(src,target,skill_num,skill_lv,mflag);
ad.damage = battle_attr_fix(src, target, wd.damage + wd.damage, s_ele, tstatus->def_ele, tstatus->ele_lv) * (100 + 40*skill_lv)/100;
// 20120505 圣十字审判每次命中后发动者受到的伤害
if( src == target )
{
if( src->type == BL_PC )
ad.damage = ad.damage/6;
else
ad.damage = 0;
}
}
红色部分是发动技能后给敌人的伤害公式,然后蓝色是反射给自己的伤害
在skill.c里也试着改过,有几个看注释知道起什么作用,但有些概念就模模糊糊了
看到int skill_counter_additional_effect这部分时,上面的注释翻译下来,攻击后惩罚的概念,觉得有点像,但把那部分相关的删了,还是一样
实在没头绪了,求指条路,如果要修改的地方太多就算了
删~~~~~
原来那个伤害是发动技能时的条件,即需要消耗SP和HP才可发动 |
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。
|