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 ,我们会及时删除。 
 
 
 |