Project1

标题: 怎么让某个变量影响攻击效果? [打印本页]

作者: 大米稀饭    时间: 2007-7-30 22:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 大米稀饭    时间: 2007-7-30 22:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 金圭子    时间: 2007-7-31 18:05
参考力量等等的影响一样啊……
就换成$game_variables[?]就可以了。
作者: baggiochan    时间: 2007-7-31 21:10
1. 先要替武器加上類型 (錯了些東西, 改過)

module RPG

class Weapon

    def name
      name = @name.split(/@/)[0]
      return name != nil ? name : ''
    end
   
    def sk_exp_name
      name = @name.split(/@/)[1]
      return name != nil ? name : ''
    end
            
  end
end

你的武器名設定如下:
后羿弓@弓弩
AK47@槍

2. 在def attack_effect(attacker)及def skill_effect 的 power 判定時加上user weapon 的類型判定, 如果是弓弩, 就用弓弩的power 計算方法,
原本計算方法是:
power = skill.power + user.atk * skill.atk_f / 100
假設你弓弩熟练度的代號是arrow_exp, 那你可以把計算方法改成:
power = skill.power + user.atk * skill.atk_f / 100 * arrow_exp/100 #弓弩熟练度


作者: 大米稀饭    时间: 2007-8-2 06:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: baggiochan    时间: 2007-8-2 08:43
比較簡單的方法.
1. 在element 設定近战技、弓弩熟、火器 3個element
2. 給你的特技選上對應的element;
3. 在def skill_effect(user, skill) 加入如此設定:

if user.is_a?(Game_Actor) and skill.element_set.include?(1) #近战技
      skill_exp = user.punch # 你近战技能熟练度的名字
#把计算倍率改成
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      #
      rate *= skill_exp/100




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