Project1

标题: 增加攻击力防御力(非百分比)的技能怎么做。 [打印本页]

作者: he11120    时间: 2012-4-4 01:34
标题: 增加攻击力防御力(非百分比)的技能怎么做。
如题,特技使用者的魔力越高,加得越高,怎么实现?dsu_plus_rewardpost_czw
作者: fonky    时间: 2012-4-4 15:53
虽然不能完全实现,但是可以这样做:
设置一个技能为:防御上升,威力设为-1,对象自己定。
然后设置一个公共事件,第三页左边一列有一个增减能力值,可以增减能力,但是不能随着魔力大小增减能力大小,如果需要随着魔力大小增加,那就自己去实验吧。
作者: kangxi0109    时间: 2012-4-4 18:10
本帖最后由 kangxi0109 于 2012-4-4 18:57 编辑

这个特技是加状态提升攻防的还是其他什么的,比如按攻防损伤之类?
=================================
应用状态的办法:
1.设置状态X,编号为1,除了名字之外不设置其他属性变化。当然了,动画、限制、能否抵抗、持续失血、定量、持续时间什么的自由设置。
2.还是在Game_Battler 3改,老地方了:
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用通常攻击效果
  3.   #     attacker : 攻击者 (battler)
  4.   #--------------------------------------------------------------------------
  5.   def attack_effect(attacker)
  6.     # 清除会心一击标志
  7.     self.critical = false
  8.     # 第一命中判定
  9.     hit_result = (rand(100) < attacker.hit)
  10.     # 命中的情况下
  11.     if hit_result == true
  12.       # 计算基本伤害
  13. =================================
  14.       if attacker.states.include?(1)#攻击方状态为1号的场合
  15.       atk = [attacker.atk *(100+attacker.int/10)/100- self.pdef / 2, 0].max#这里的攻击力提升率为魔力(int)除以1000
  16.       elsif self.states.include?(1)#被攻击方状态为1号的场合
  17.            atk = [attacker.atk - self.pdef*(100+self.int/10)/100 / 2, 0].max#这里的物理防御提升率为魔力(int)除以1000
  18.       else
  19.            atk = [attacker.atk - self.pdef / 2, 0].max
  20.       end
  21. =================================
  22.       self.damage = atk * (20 + attacker.str) / 20
复制代码
注意:这个方法提升的攻防只在战斗的那一瞬间得到提升,平时在状态栏是看不见的。而且,攻防的提升是按照得到状态的那个人的魔力进行提升的,与施法者无关...当然,如果这个状态是自己加给自己的话,请无视这段话。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1