What is the most efficient way of doing this? Editing anything in the troop events is not an option.
A small script can do it without touching any events. Open the Script Editor (F11), insert a new slot under ▼ Materials (above ▼ Main) and paste this:
class Game_Actor < Game_Battler
alias dead_graphic_character_name character_name
alias dead_graphic_character_index character_index
def dead_graphic
return nil unless dead?
return nil unless actor.note =~ /<dead graphic:\s*(.+?)\s*,\s*(\d+)\s*>/i
[$1, $2.to_i]
end
def character_name
graphic = dead_graphic
graphic ? graphic[0] : dead_graphic_character_name
end
def character_index
graphic = dead_graphic
graphic ? graphic[1] : dead_graphic_character_index
end
end
class Game_Player < Game_Character
alias dead_graphic_update update
def update
dead_graphic_update
dead_list = $game_party.battle_members.map {|member| member.dead? }
refresh if dead_list != @dead_graphic_list
@dead_graphic_list = dead_list
end
end
Then add a tag like this to the Note box of each actor in the database, using the file name from Graphics/Characters and the character’s index on that sheet:
<dead graphic: Coffin, 0>
On a regular sheet the index runs 0 to 3 across the top row and 4 to 7 across the bottom. A $ sheet with one character is just 0. While an actor is knocked out, the player or follower shows that graphic, and it switches back on its own when they’re revived. Actors without the tag keep their normal graphic.
Oh my god you went the full nine yards. Thank you so much.