Project1

标题: [难以理解的脚本]计算旅馆费用 [打印本页]

作者: timiesea    时间: 2015-6-26 00:12
标题: [难以理解的脚本]计算旅馆费用
本帖最后由 timiesea 于 2015-6-26 00:58 编辑

#encoding:utf-8
#==============================================================================
# ■ Game_Timiesea
#------------------------------------------------------------------------------
#   管理一些需要即时计算的类。
#   本类的实例请参考 $game_tim 。
#==============================================================================
class Game_Timiesea
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
  end
  
  #--------------------------------------------------------------------------
  # ● 在事件中,使用$game_tim.getINN获取旅馆住宿的费用
  # 包含未上场队友,每损失1点生命值按照游戏难度需要支付金币
  # 如果处于不可战斗状态,则需要的金币数量翻倍
  # 魔法值的回复费用是生命值的一半。旅店休息强制驱散所有状态
  # 费用列表:0.5(简单),1(普通),2(困难)
  #--------------------------------------------------------------------------
  def getINN
    gold = 0;#最终的计算结果,这里进行初始化
    xInn = 0.5;#倍率初始化
    xInn = $game_variables[13] * 0.5;#倍率和难度有关
    if xInn == 1.5 then#困难难度的倍率是2而不是1.5
      xInn = 2;
    end
    actors = $game_party.all_members;
    actors.each{#遍历队伍的所有成员,包含未出战
      |actor|
      xhp = actor.mhp - actor.hp;#计算出每一个角色所损失的生命值
      xmp = (actor.mmp - actor.mp) / 2;#计算出每一个角色所损失的魔力值
      x = xhp + xmp;#将计算的结果进行累加,作为一个角色的费用
      if actor.state?(1) then#如果拥有战斗不能的状态则费用翻倍
        x = x * 2;
      end
      gold = gold + x;
    }
    gold = (gold * xInn).to_i;
    return gold;
  end
end




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