Project1

标题: 会心一击、普通攻击、以及人物能力…… [打印本页]

作者: 白玉楼的台阶    时间: 2014-11-23 12:10
标题: 会心一击、普通攻击、以及人物能力……
有不少问题,属于那种“加了这个功能最好不加也不影响制作”的,所以之前都记下来跳过去,不知不觉囤积了好多……

1.关于会心一击倍率
最好的情况是能够修正特定角色的暴击倍率为指定变量的百分之一,
其他修改倍率的也可以参考一下……

2.普通攻击
VA的普攻好像是个很神奇的东西……
我试过设定一个敌人【属性抗性 物理 * 0%】【属性抗性 圣 * 200%】,最终成功是普通攻击无伤害,而装备附加【圣】属性武器攻击的时候造成正常伤害的两倍
【属性抗性 物理 * 20%】【属性抗性 圣 * 200%】,【圣】加上【物理】双属性武器,依然是双倍伤害
VA对于复合属性攻击和抗性到底是怎么计算了?加?乘?取最高值覆盖?

另外,普通攻击这个技能有个【附加状态 普通攻击 100%】,是不是只要能附加这个状态的技能都可以视作普通攻击,获得武器和人物的攻击特效和属性?
从我的测试结果来看,一个新技能,【附加状态 普通攻击 50%】,装备【攻击施毒】特效武器,确实是有几率造成中毒效果,
但是装备【圣】属性武器,【附加状态 普通攻击 100%】的物理技能不能对【圣】弱点敌人造成双倍伤害

………………总之好像很复杂的样子,不知道有没有对普通攻击进行说明的文档或是深入研究的帖子?

3.人物能力
虽然可以很容易的增减攻防血量,但是人物特殊能力,比如【回避】【必杀】【属性抗性】【生命值恢复】这一类的,好像只能通过装备和被动技能脚本进行修改?
有没有可以让我在某个事件之后,给特定人物增加【必杀概率+5%】,【生命值自动回复5%】一类的属性?
作者: taroxd    时间: 2014-11-23 12:18
本帖最后由 taroxd 于 2014-11-23 13:51 编辑

1. 见4L
2. 1) 取最大值
    2)【攻击附加状态】就是附加【状态】。设置属性的话可以在【伤害公式】的【属性】中设置为【普通攻击】
3. 被动技能不可以么?你可以专门设置一个技能类型“被动技能”,这个技能类型不要给任何一个角色添加。这样被动技能就不可见了。
作者: chd114    时间: 2014-11-23 12:35
会心一击、痛恨一击就是网游所说的暴击(必杀),所以要改暴击概率改的就是必杀概率

无法战斗状态的抗性为0%并不是免疫该状态,你想杀还是可以通过攻击减少hp到0杀死的,
只是不能通过诸如“攻击时附带状态、使用技能时附加状态”之类的手段来秒杀,
真正杀不死的是免疫无法战斗状态。

所以由上可得属性抗性0%也不是免疫该属性···


其实也不难理解,《疯狂的多塔》里面关于某个神灵武士的狂战士之血能力就有做解释,一般dota中神灵武士的狂战士之血是血越少魔抗越高,但魔抗到100%只是一般情况下不受到魔法伤害、妖术、枷锁之类的效果还是会有一瞬的,而那个里面的神灵武士是血少到一定程度魔免,这样子就等于对他扔不无视魔免的魔法无效化了···
作者: 三途亚梦    时间: 2014-11-23 13:46
我觉得你们是在集体卖萌不看清楚LZ第一问的意思……

暴击的倍率什么时候和暴击的概率是一个概念了!

倍率可以做到你需要的修改,只要到Game_Battler
的  def apply_critical(damage)
里面加上新的判断条件就可以根据需要赋予不同暴击倍率。



作者: 白玉楼的台阶    时间: 2014-11-23 15:31
taroxd 发表于 2014-11-23 12:18
1. 见4L
2. 1) 取最大值
    2)【攻击附加状态】就是附加【状态】。设置属性的话可以在【伤害公式】的【属 ...

2.那有没有简洁点的方法,能够实现……嗯,比方说我给主角两个装备,一个抗火50%,冰伤害加倍,一个抗冰冰50%,土伤害加倍,然后冰属性打主角实际伤害为一倍,土伤害两倍,火伤害减半……这样像口袋妖怪一样累乘计算抗性呢累加也可以啊,火属性增加30%,火属性减少50%,最后变成减少20%……覆盖的话很多东西不好做

3.被动技能的问题在于,我用了技能cp制的脚本,就是每个技能都占用一定cp,总cp不能超过某个数值,总能装备的技能总数也有限
之前就因为被动技能只要学习了就生效,无论装备与否,所以还麻烦你修改过一次脚本,被动技能只有装备了才生效,光学习没用……
举个具体的例子吧,某角色,有两个技能栏,会四个减伤技能,地风火水伤害减半,玩家要根据地图来取舍,选择其中两个。但是游戏中段,获得一个祝福,火伤害减半,如果这个祝福制作成一个被动技能,就要占据一个技能栏了…………

或者修改下之前的脚本,在技能备注增加一个ture和false的开关,ture的技能学习就生效,false的技能要装备才生效?
作者: taroxd    时间: 2014-11-23 15:44
白玉楼的台阶 发表于 2014-11-23 15:31
2.那有没有简洁点的方法,能够实现……嗯,比方说我给主角两个装备,一个抗火50%,冰伤害加倍,一个抗冰 ...


2. 未测试
RUBY 代码复制
  1. class Game_Battler
  2.   def element_max_rate(elements)
  3.     elements.inject(1.0) {|r, i| r * element_rate(i) }
  4.   end
  5. end


3. 用状态呢?更换职业呢?
作者: 白玉楼的台阶    时间: 2014-11-23 16:10
taroxd 发表于 2014-11-23 15:44
2. 未测试
class Game_Battler
  def element_max_rate(elements)

状态是个好想法,我明天下班回去试试看,不知道状态有没有数量上限?
还有,关于4L说的会心一击,能不能给个示范?“1号角色的暴击倍率为100号变量,2号角色为101号”这样的……敌人也能用更好
作者: taroxd    时间: 2014-11-23 16:22
白玉楼的台阶 发表于 2014-11-23 16:10
状态是个好想法,我明天下班回去试试看,不知道状态有没有数量上限?
还有,关于4L说的会心一击,能不能 ...

这就是修改的例子。不要直接使用哦,不然保证冲突死你= =

RUBY 代码复制
  1. class Game_Battler
  2.   def make_damage_value(user, item)
  3.     value = item.damage.eval(user, self, $game_variables)
  4.     value *= item_element_rate(user, item)
  5.     value *= pdr if item.physical?
  6.     value *= mdr if item.magical?
  7.     value *= rec if item.damage.recover?
  8.     # HIGHLIGHT
  9.     if @result.critical
  10.       if user.actor?
  11.         value *= $game_variables[user.id + 99]
  12.       else
  13.         value = apply_critical(value)
  14.       end
  15.     end
  16.     # HIGHLIGHT
  17.     value = apply_variance(value, item.damage.variance)
  18.     value = apply_guard(value)
  19.     @result.make_damage(value.to_i, item)
  20.   end
  21. end

作者: 上贺茂润    时间: 2014-11-24 12:21
本帖最后由 上贺茂润 于 2014-11-24 12:22 编辑

         在暴击公式里加入一个复数变量来控制整个输出:                 
    elsif damage > 0                              
      @critical = (rand(100) < attacker.cri)        # 会心一击判断
      @critical = false if prevent_critical         # 防止会心一击判断
       damage *= (1.50 +X可以是变量) if @critical
       damage =(damage).round
      # 会心一击校正
    end
你如果更有脑洞 可以把X和武器的参数绑在一起 当然你需要一个读取备注脚本
二次拓展
把两件武器加在一个数组里,然后满足条件赋值给这个变量,就能达到套装增强的特效

作者: 企鹅达达    时间: 2014-11-25 09:11
本帖最后由 企鹅达达 于 2014-11-25 09:15 编辑

http://victorscripts.wordpress.c ... cripts/element-set/
http://victorscripts.wordpress.c ... tical-hits-effects/
前者是设定多属性叠加以及叠加时伤害公式的脚本
后者是暴击几率和暴击伤害设定的脚本,可以在角色、技能、敌人、状态备注上设定暴击伤害加百分之几。
两个脚本都需要前置脚本,自己在网页里找吧
需要挂代理
作者: 白玉楼的台阶    时间: 2014-11-25 11:12
企鹅达达 发表于 2014-11-25 09:11
http://victorscripts.wordpress.com/rpg-maker-vx-ace/gameplay-scripts/element-set/
http://victorscrip ...

虽然能翻出去,但是adf.ly好诡异,下不下来……




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