Project1

标题: 我想问下 这些超类 是怎么调用的 [打印本页]

作者: z2z4    时间: 2015-9-19 09:22
标题: 我想问下 这些超类 是怎么调用的
  我在 这个超类里 建了个备注方法 RPG::BaseItem 我要怎么把这个方法调出来  用在class Game_Enemy的类里
作者: taroxd    时间: 2015-9-19 09:52
本帖最后由 taroxd 于 2015-9-19 09:59 编辑

Game_Enemy#enemy 方法可以获得数据库的信息(RPG::Enemy 的实例),然后就可以通过这个实例调用了(可以参考 F1 的实践篇)

另外 RPG::BaseItem 与 Game_Enemy 并没有 is_a 这种直接的继承关系
作者: z2z4    时间: 2015-9-19 10:07
taroxd 发表于 2015-9-19 09:52
Game_Enemy#enemy 方法可以获得数据库的信息(RPG::Enemy 的实例),然后就可以通过这个实例调用了(可以参 ...
  1. class RPG::BaseItem   这个备注写在装备里的  装备后可以获取这个数字
  2.   def 装备_获取_倍率   
  3.     return 0 unless @note
  4.     @note.match(/<装备倍率\s?(\d+)\s?>/)
  5.     return 0 unless $1
  6.     return $1.to_i   
  7.   end
  8. end

  9. class Game_Enemy < Game_Battler

  10.   alias 获取_怪物_经验 exp
  11.   def exp
  12.    a = 获取_怪物_经验
  13.    a *= 2 if $game_info.max_suffer_damage < 2
  14.    a *= 装备_获取_倍率  我不知道怎么调用这个方法
  15.   return a.to_i
  16. end
复制代码

作者: 喵呜喵5    时间: 2015-9-19 10:13
一般来说不是在角色类调用装备数据么,为什么要在敌人类调用?
作者: z2z4    时间: 2015-9-19 10:33
taroxd 发表于 2015-9-19 09:52
Game_Enemy#enemy 方法可以获得数据库的信息(RPG::Enemy 的实例),然后就可以通过这个实例调用了(可以参 ...

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ◇ 获取 等级
  #--------------------------------------------------------------------------
  def level
    enemy.level
  end  
  #--------------------------------------------------------------------------
  # ● 获取 普通能力 基础值
  #--------------------------------------------------------------------------
  alias 获取_怪物_普通_能力_基础值 param_base
  def param_base(param_id)
    v = 获取_怪物_普通_能力_基础值(param_id)
    v *= $game_huobi.倍率
    v *= S管理::S敌人难度::S精英_加成 if 是否_精英?
    v *= S管理::S敌人难度::Sboss_加成 if 是否_boss?
    return v.to_i
  end
  #--------------------------------------------------------------------------
  # ● 获取 经验值
  #--------------------------------------------------------------------------
  alias 获取_怪物_经验 exp
  def exp
    a = 获取_怪物_经验
    v = $game_huobi.倍率  
    v += S管理::S敌人难度::S精英_加成 if 是否_精英?
    v += S管理::S敌人难度::Sboss_加成 if 是否_boss?
    v += $game_huobi.扫塔加成 if @扫塔模式  
    v += $game_variables[582]  # 会员加成
    v += 2 if $game_info.max_suffer_damage < 2
    v += 2 if $game_info.最大_造成_伤害 >= 500
    v += 2 if $game_system.战斗_士气 <= 1
    a *= v
    return a.to_i
  end   
  #--------------------------------------------------------------------------
  # ● 获取 金钱
  #--------------------------------------------------------------------------
  alias 获取_怪物_金币 gold
  def gold
    a = 获取_怪物_金币
    v = $game_huobi.倍率
    v += S管理::S敌人难度::S精英_加成 if 是否_精英?
    v += S管理::S敌人难度::Sboss_加成 if 是否_boss?
    v += $game_huobi.扫塔加成 if 扫塔模式
    v += $game_variables[582] # 会员加成
    v += 2 if $game_info.max_suffer_damage < 2
    v += 2 if $game_info.最大_造成_伤害 >= 500
    v += 2 if $game_system.战斗_士气 <= 1
    a *= v
    return a.to_i
  end   
  #--------------------------------------------------------------------------
  # ● 获取 物品掉下 倍率
  #--------------------------------------------------------------------------
  def drop_item_rate
    a = $game_party.drop_item_double? ? 2 : 1
    v = $game_huobi.倍率
    v += S管理::S敌人难度::S精英_加成 if 是否_精英?
    v += S管理::S敌人难度::Sboss_加成 if 是否_boss?  
    v += $game_variables[582] # 会员加成
    a *= v
    return a.to_i
  end   
  #--------------------------------------------------------------------------
  # ◇ 获取 装备 经验
  #--------------------------------------------------------------------------
  def equip_exp
    a = enemy.equip_exp
    v = $game_huobi.倍率
    v += S管理::S敌人难度::S精英_加成 if 是否_精英?
    v += S管理::S敌人难度::Sboss_加成 if 是否_boss?   
    v += $game_huobi.扫塔加成 if @扫塔模式
    v += $game_variables[582] # 会员加成
    a *= v
    return a.to_i
  end
  #--------------------------------------------------------------------------
  # ☆ 获取 分配点
  #--------------------------------------------------------------------------
  def status_exp
    a = enemy.status_exp
    v = $game_huobi.倍率
    v += S管理::S敌人难度::S精英_加成 if 是否_精英?
    v += S管理::S敌人难度::Sboss_加成 if 是否_boss?
    v += $game_huobi.扫塔加成 if @扫塔模式
    v += $game_variables[582] # 会员加成
    a *= v
    return a.to_i   
  end
  #--------------------------------------------------------------------------
  # ☆ 获取 技能点
  #--------------------------------------------------------------------------
  def skill_exp
    enemy.skill_exp
  end  
  #--------------------------------------------------------------------------
  # ☆ 获取 AP
  #--------------------------------------------------------------------------
  def ability_exp
    enemy.ability_exp
  end  
end
作者: z2z4    时间: 2015-9-19 10:39
taroxd 发表于 2015-9-19 09:52
Game_Enemy#enemy 方法可以获得数据库的信息(RPG::Enemy 的实例),然后就可以通过这个实例调用了(可以参 ...


作者: tseyik    时间: 2015-9-19 10:52
參考
特定のスキルで経験値変動


特定のスキルで経験値変動





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