#------------------人物死亡时改变角色的行走图-----------------------------#
# 行走图文件路径:[游戏目录]\Graphics\Characters\Coffin.png #
#-------------------------------------------------------------------------#
class Game_Interpreter
#--------------------------------------------------------------------------
# * 角色状态变更 @params[2]:状态编号。
# @params[0]:角色 ID,如果是 0,则表示对所有角色执行此命令。
# @params[1]:状态 ID,如果是 0,则表示添加状态,如果是 1,则表示移除状态。
#--------------------------------------------------------------------------
def command_313
iterate_actor_id(@params[0]) do |actor| # 遍历指定的角色,并执行给定的代码块
if @params[1] == 0 # 如果 @params[1] 是 0,
actor.add_state(@params[2]) # 那么它将调用 add_state 方法来添加状态
actor.set_death_graphic if @params[2] == 1 # 如果添加的角色状态是1(死亡),调用game_actor的方法变更死亡行走图
actor.perform_collapse
else # 如果是 1,
actor.remove_state(@params[2]) # 移除角色状态
actor.set_normal_graphic if @params[2] == 1 # 如果移除的角色状态是1(死亡),调用game_actor的方法变更正常行走图
end
end
return true
end
#--------------------------------------------------------------------------
# * 全部恢复
#--------------------------------------------------------------------------
def command_314
iterate_actor_id(@params[0]) do |actor|
actor.recover_all
actor.set_normal_graphic # 调用game_actor的方法变更正常行走图
end
return true
end
end
#--------------------------------------------------------------------------
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * 角色死亡状态的行走图
#--------------------------------------------------------------------------
def set_death_graphic
@character_name = "Coffin" # 死亡行走图的文件名
@character_index = 0 # 设置 索引为 0 (行走图左上角)
$game_player.refresh # 刷新队伍首位角色的行走图
end
#--------------------------------------------------------------------------
# * 角色正常状态的行走图
#--------------------------------------------------------------------------
def set_normal_graphic
@character_name = actor.character_name
@character_index = actor.character_index
$game_player.refresh # 刷新队伍首位角色的行走图
end
#--------------------------------------------------------------------------
# * 重构父类的hp=(hp)方法
#--------------------------------------------------------------------------
def hp=(hp)
super # 继承父类的方法用于判断角色生命值和状态。
if @hp <= 0 && state?(1)
set_death_graphic
else
set_normal_graphic
end
end
end