假设现在要实现以上光环效果,
第一步:在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