Project1

标题: 装备光环效果的设置 [打印本页]

作者: crow2006    时间: 2015-4-18 21:53
标题: 装备光环效果的设置
本帖最后由 crow2006 于 2015-4-19 13:03 编辑


假设现在要实现以上光环效果,
第一步:在class Game_Actor < Game_Battler中设置新属性,
例如:
  #--------------------------------------------------------------------------
  # ● 生命光环
  #--------------------------------------------------------------------------
  def sx36
    return 0 if self.state?(1) #死亡后光环效果消失
    n = 0
    for e in equips.compact do n += e.sx36 if e.dur > 0 end   
    return n
  end
  #--------------------------------------------------------------------------
  # ● 嗜血光环
  #--------------------------------------------------------------------------
  def sx39
    return 0 if self.state?(1) #死亡后光环效果消失
    n = 0
    for e in equips.compact do n += e.sx39 if e.dur > 0 end   
    return n
  end
第二步,在class Game_Actor < Game_Battler中将新属性与旧属性挂钩,例如
  def base_maxhp  #最大生命值  
    n = base_parameter(0)
    equips.compact.each { |item| n += item.maxhp }  
    n += $game_party.sx36_total  
    return n
  end
  def sx14  #生命偷取  
    n = 0
    equips.compact.each { |item| n += item.sx14 }  
    n += $game_party.sx39_total  
    return n
  end
第三步,在class Game_Unit中定义
例如:
   #--------------------------------------------------------------------------
  # ● 生命光环 $game_party.sx36_total 生命值提升
  #--------------------------------------------------------------------------
  def sx36_total
    result = 0
    for member in members
      result += member.sx36
    end
    return result
  end
第四步,在module RPG  class Weapon < BaseItem
  class Armor < BaseItem
中设置装备带有的光环属性值
例如:
    #------------------------------------------------------------------------
    # 最大hp(合)
    #------------------------------------------------------------------------
    def maxhp
      n = 0
      case self.id
      when 129 #编号
        n += 14
      end      
      return n
    end
第五步:在class Game_Battler
def make_obj_damage_value(user, obj)中设置新属性效果
例如嗜血光环
if user.is_a?(Game_Actor) and self.is_a?(Game_Enemy) and obj.base_damage > 0 and user.hp > 0
  user.hp += user.sx14
  #user.force_damage -= user.sx14 #横版用显示数值
end
作者: chd114    时间: 2015-4-18 22:41
带光环的角色死亡后复活失效吧
作者: duchen5779    时间: 2015-4-21 13:53
这是……这是状态?还是可装备的“物品”?
作者: chd114    时间: 2015-4-22 21:38
duchen5779 发表于 2015-4-20 20:53
这是……这是状态?还是可装备的“物品”?

显然光环状态
作者: 怪蜀黍    时间: 2015-4-24 08:31
e.dur
是基于吾的复杂装备整合系统,并不是默认的属性,汝应该加以注明
def maxhp
这样设置就把吾原来的覆盖了喵?
还有关于“近战”汝是如何界定的?
请最好用这个系统做一个简单的范例以证明成功性~
作者: crow2006    时间: 2015-4-24 22:09
本帖最后由 crow2006 于 2015-4-24 22:15 编辑

事实是完全有效的,我花费了2个小时想做个范例,无奈脚本整合太多了,弄范例实在麻烦。
比如这件武器:

装备时4个人每回合回血依次是14、11、13、13.
现在取下这把武器。

4个人每回合依次回血12、9、11、11.
光环属性完全有效。





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