求助一下:增加角色会心率
66rpg吧
全部回复
仅看楼主
level 1
xiezhen6805 楼主
就是更改某个角色的会心率数值,但是其他角色和怪不受影响的方法,求大神帮忙。。
改成这样的话所有角色和怪会心率都会变掉:
# 会心一击修正
           if rand(100) < $game_variables[1]
           self.damage *= 2
           self.critical = true
         end
2011年05月12日 06点05分 1
level 5
判断一下攻击方是否是主角
2011年06月16日 03点06分 2
level 1
用一个变量B记录某角色A的会心率,顺便给你一个方法用一个变量C改变该角色的会心倍率(比如倍率改为2.5倍则变量C设为25,因为变量必须为整型)。
# 会心一击修正
if attacker.id == A
attacker.cri = $game_variables[B]
end
@critical = (rand(100) < attacker.cri)
@critical = false if prevent_critical
damage *= $game_variables[C] if @critical
damage /= 10 if @critical
@hp_damage = damage
这样就搞定了。
当然也可以在Game_Actor里改变会心率的计算公式,不用变量存储定值,下面是我做的游戏里的,会心率和敏捷、等级挂钩。
def cri
   n = 8
   n += 12 if actor.critical_bonus
   n += ($game_actors[@actor_id].agi-25)/@level/Math.log(@level+1)/0.106
   return n
end
这里8是基础会心率(共用),12是点了“频发暴击”的角色的会心率,后面一部分是敏捷和等级修正。这样上面的前三行可以去掉。
2011年06月16日 15点06分 3
level 1
xiezhen6805 楼主
谢谢你了,已经解决了,辛苦了。。
2011年06月18日 11点06分 4
1