Project1

标题: 傷害公式... [打印本页]

作者: asra6464    时间: 2009-3-16 07:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小湖    时间: 2009-3-16 07:10
Game_Battler 3
中的attack_effect(attacker)是处理普通攻击的
skill_effect(user, skill)是处理技能攻击的
作者: 天圣的马甲    时间: 2009-3-16 07:21
http://rpg.blue/web/htm/news35.htm
作者: asra6464    时间: 2009-3-16 07:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萧何    时间: 2009-3-16 07:29
呵呵,这个简单,在 Game_Battler 里面,可以搜索(Ctrl+Shift+F) ● 应用通常攻击效果,其中有这么2句:
      # 计算基本伤害
      atk = [attacker.atk - self.pdef / 2, 0].max
      self.damage = atk * (20 + attacker.str) / 20
把那两个公式删除改为:self.damage=attacker.str +attacker.atk -self.guarding
就可以了,其中attacker 是攻击者,self是被攻击者str是力量 atk是武器攻击 guarding是防御
下面的技能自己试着看看吧,终究还是的自己学会(不过我觉得你这个公式貌似不是很好~~~){/wx}
可以提供简单翻译:魔法使用者user 威力 power 魔力 int 灵巧dex 速度agi 力量str
被攻击者self  魔法防御mdef 物理防御guarding 等这些主要用语,如果还有不知道的用语问我就是

● 应用特技效果
作者: asra6464    时间: 2009-3-16 07:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2009-3-16 17:36
self.damage = (attacker.atk  - self.pdef + attacker.str)*2

#物理伤害 = (我攻击力+我力量-敌物理防御)*2

参看战斗计算式 和game_battler3 一一对比嘛

作者: asra6464    时间: 2009-3-16 18:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2009-3-16 18:34
  1. #法术伤害 = 技威力+我魔法*技能魔力+我灵巧*技能灵巧-敌魔力防御*技能魔防
  2. #当使用技能为10号时 攻击力为普通攻击的5倍伤害
  3. #2号或34号时,为1.5倍;3号或35号时为1.75倍 10号时5倍攻击



  4. power = skill.power + user.int * skill.int_f + user.dex * skill.dex_f
  5.       #法方-
  6.       if power > 0
  7.        # power -= self.pdef * skill.pdef_f / 200
  8.        # power -=  / 200
  9.         power = [power, 0].max
  10.       end
  11.       # 计算倍率
  12.       rate = self.mdef * skill.mdef_f
  13.       # 计算基本伤害
  14.       self.damage = power - rate
  15.       # 属性修正
  16.       self.damage *= elements_correct(skill.element_set)
  17.       self.damage /= 100
  18.       
  19.      
  20.       case skill.id
  21.       when 10
  22.         self.damage = (user.atk  - self.pdef + user.str)*10
  23.       when 2
  24.         self.damage = (user.atk  - self.pdef + user.str)*3
  25.        when 3
  26.         self.damage = (user.atk  - self.pdef + user.str)*3.5
  27.         self.damage = self.damage.round
  28.          when 34
  29.         self.damage = (user.atk  - self.pdef + user.str)*3
  30.        when 35
  31.         self.damage = (user.atk  - self.pdef + user.str)*3.5
  32.         self.damage = self.damage.round
  33.       end
  34.         
复制代码

作者: asra6464    时间: 2009-3-16 19:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2009-3-20 18:16
case skill.id
      when 10
        self.damage = (user.atk  - self.pdef + user.str)*10

当时十号技能时 是普通伤害的5倍 以下是普通伤害

self.damage = (attacker.atk  - self.pdef + attacker.str)*2

总的来说 还是先看F1 里的战斗计算式

结合默认脚本  一看就会恍然大悟

一味死扣要什么效果 反而误入歧途=。=
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~




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