在腳本Game_Battler的附加狀態內插入內容如下:
#--------------------------------------------------------------------------
# ● 附加狀態
#--------------------------------------------------------------------------
def add_state(state_id)
if state_addable?(state_id)
add_new_state(state_id) unless state?(state_id)
reset_state_counts(state_id)
#==================================================
if state_id == 56 # 該狀態編號
@result.shield = self.hp # 記住目前生命值
self.hp += self.mhp*20/100 # 獲得的生命值
end
#==================================================
@result.added_states.push(state_id).uniq!
end
end
同腳本解除狀態插入內容如下:
#--------------------------------------------------------------------------
# ● 解除狀態
#--------------------------------------------------------------------------
def remove_state(state_id)
if state?(state_id)
revive if state_id == death_state_id
erase_state(state_id)
refresh
@result.removed_states.push(state_id).uniq!
#==================================================
if state_id == 56 # 該狀態編號
if self.hp > @result.shield #如果目前生命大於記憶生命
self.hp = @result.shield #就返回記憶生命
end
end
#==================================================
end
end
在腳本應用“恢復 HP”效果插入內容如下:
#--------------------------------------------------------------------------
# ● 應用“恢復 HP”效果
#--------------------------------------------------------------------------
def item_effect_recover_hp(user, item, effect)
value = (mhp * effect.value1 + effect.value2) * rec
value *= user.pha if item.is_a?(RPG::Item)
value = value.to_i
@result.hp_damage -= value
@result.success = true
self.hp += value
#=========================================
@result.shield += value # 補血的時候,記憶生命也要往上加(不是補在護盾上)
#=========================================
end