alias apply_guard_without_state apply_guard
def apply_guard(value)
value = apply_guard_without_state(value)
if state?(50) && value > 0 # 50 号状态
v = $game_variables
if v[30] >= value # 30 号变量
v[30] -= value
0
else
value -= v[30]
v[30] = 0
remove_state(50)
value
end
else
value
end
end
end[/pre]
[pre lang="ruby" line="1"]class Game_Actor
alias apply_guard_without_state apply_guard
def apply_guard(value)
value = apply_guard_without_state(value)
var_id = @actor_id + 30 # 变量[30 + 角色ID]
if state?(50) && value > 0 # 50 号状态
v = $game_variables
if v[var_id] >= value
v[var_id] -= value
0
else
value -= v[var_id]
v[var_id] = 0
remove_state(50)
value
end
else
value
end
end
end[/pre]
alias apply_guard_without_state apply_guard
def apply_guard(value)
value = apply_guard_without_state(value)
if state?(50) && value > 0 # 50 号状态
v = $game_variables
if v[30] >= value # 30 号变量
v[30] -= value
0
else
value -= v[30]
v[30] = 0
$game_party.members.each {|actor| actor.remove_state(50) }
value
end
else
value
end
end
end[/pre]