赞 | 6 |
VIP | 20 |
好人卡 | 126 |
积分 | 28 |
经验 | 33282 |
最后登录 | 2024-11-25 |
在线时间 | 1605 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2774
- 在线时间
- 1605 小时
- 注册时间
- 2010-10-22
- 帖子
- 1059
|
本帖最后由 kangxi0109 于 2012-3-25 16:32 编辑
可以在Game_Battler 3里面修改:
1.反射普通伤害的部分(attacker指攻击者,self指目标):
- # 第二命中判定
- eva = 8 * self.agi / attacker.dex + self.eva
- hit = self.damage < 0 ? 100 : 100 - eva
- hit = self.cant_evade? ? 100 : hit
- hit_result = (rand(100) < hit)
- end
- # 命中的情况下
- if hit_result == true
- # 状态冲击解除
- remove_states_shock
- # HP 的伤害计算
- #===========================以下为修改的脚本
- if attacker.is_a?(Game_Enemy)#攻击方为敌方的场合
- if self.weapon_id == 1#装备的武器编号为1的场合
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor1_id == 1#装备的盾牌编号为1的场合
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor2_id == 2#装备的身体防具编号为2的场合
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor3_id == 3#装备的头部防具编号为3的场合
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor4_id == 4#装备的装饰品编号为4的场合
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- end
- #===========================以上为修改的脚本
- self.hp -= self.damage
复制代码 2.技能反射部分(user指技能使用者,self指目标):
- # 命中的情况下
- if hit_result == true
- # 威力 0 以外的物理攻击的情况下
- if skill.power != 0 and skill.atk_f > 0
- # 状态冲击解除
- remove_states_shock
- # 设置有效标志
- effective = true
- end
- # HP 的伤害减法运算
- last_hp = self.hp
- #===========================以下为修改的脚本
- if user.is_a?(Game_Enemy)#攻击方为敌方的场合
- if self.weapon_id == 1#装备的武器编号为1的场合
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor1_id == 1#装备的盾牌编号为1的场合
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor2_id == 2#装备的身体防具编号为2的场合
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor3_id == 3#装备的头部防具编号为3的场合
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- if self.armor4_id == 4#装备的装饰品编号为4的场合
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
- end
- end
- #===========================以上为修改的脚本
- self.hp -= self.damage
复制代码 注意:这些脚本都是现打的,你试试看有没有效果。里面的装备编号、伤害减免率可以自己改,两段脚本可以分开使用。
self.damage就是伤害值,另外,删除- self.damage -= self.damage / 10 #减免10%伤害
复制代码 可以只反射伤害但不减免被攻击者的伤害。
还有,这里的伤害减免都是叠加的,如果希望不叠加,将除第一、二个if以外的所有if换为elsif,并且去除倒数第三到第六个end即可。
‘‘──kangxi0109于2012-3-25 16:30补充以下内容
你注意到没有,增加的脚本都是在之前的?这段脚本就是目标伤害的脚本了,你可以掉个顺序试试...
当然,要把
- self.damage -= self.damage / 10 #减免10%伤害
复制代码 这段去掉,因为这段脚本在目标伤害后面就无效了。
我想反射伤害统一计算的(10%+10%+10%),而不是先减去10%,再减去90%的10%
首先在我的脚本前面加一段变量定义:然后将以下这些段
- attacker.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
复制代码 和
- user.hp -= self.damage / 10 #反射10%伤害
- self.damage -= self.damage / 10 #减免10%伤害
复制代码 换为再在我的脚本后面分别加上:
- attacker.hp -= self.damage / 10 *m#反射m*10%伤害
- self.damage -= self.damage / 10 *m#减免m*10%伤害
复制代码 和
- user.hp -= self.damage / 10 *m#反射m*10%伤害
- self.damage -= self.damage / 10 *m#减免m*10%伤害
复制代码
‘‘──kangxi0109于2012-3-25 16:36补充以下内容
能不能加个反弹伤害显示?(不要与其它伤害美化脚本有冲突的)。
这个嘛,还在研究中,因为我做的那些诸如吸血之类技能现在都没能显示吸收的血量,还在纠结呢...
’’ |
|