赞 | 0 |
VIP | 77 |
好人卡 | 306 |
积分 | 1 |
经验 | 85662 |
最后登录 | 2023-11-23 |
在线时间 | 1782 小时 |
Lv1.梦旅人 虱子
- 梦石
- 0
- 星屑
- 121
- 在线时间
- 1782 小时
- 注册时间
- 2010-6-19
- 帖子
- 3597
|
- def get_damage_louse(attacker,targer,miss=false)
- louse_damage = 0
- hit_result = (rand(100) < attacker.hit)
- hit_result = false unless miss
- if hit_result == true
- atk = [attacker.atk - targer.pdef / 2, 0].max
- louse_damage = atk * (20 + attacker.str) / 20
- louse_damage *= elements_correct(attacker.element_set)
- louse_damage /= 100
- if louse_damage > 0
- if targer.guarding?
- louse_damage *= 100
- louse_damage /= rand(100)+150
- end
- end
- if louse_damage.abs > 0
- amp = [louse_damage.abs * 15 / 100, 1].max
- louse_damage += rand(amp+1) + rand(amp+1) - amp
- end
- eva = 8 * targer.agi / attacker.dex + targer.eva
- hit = louse_damage < 0 ? 100 : 100 - eva
- hit = targer.cant_evade? ? 100 : hit
- hit_result = (rand(100) < hit)
- hit_result = false unless miss
- end
- unless hit_result
- louse_damage = 0
- end
- return louse_damage
- end
复制代码 调用方法:
事件中使用脚本- 计算闪避(如果闪避返回0)
- get_damage_louse(攻击方,被攻击方,是否计算闪避)
- 不计算闪避:
- get_damage_louse(攻击方,被攻击方)
复制代码 注意:
括号中一定要用半角的逗号(,)而不能全角
示例:- 1号角色攻击3号敌人:
- get_damage_louse($game_actors[1],$data_enemies[3])
- 2号角色攻击6号敌人:
- get_damage_louse($game_actors[2],$data_enemies[6])
- 1号敌人攻击2号角色:
- get_damage_louse($data_enemies[1],$game_actors[2])
复制代码 |
|