A fix if anyone wants it. In the following script:
LonaRPG\Data\Scripts\Editables\480_EventCharacterBatch.rb
There is a function called:
def victimBasicMove
replace it with the following code:
def victimBasicMove(tmpRegion=50,tier="HostageSavedRich") #self.basicMove
tmpRange = self.report_range($game_player)
if @follower[1] == 1 && self.region_id == tmpRegion
set_this_event_follower_remove
if tier && !@hostage_saved
$story_stats["HostageSaved"] = Hash.new(0) if $story_stats["HostageSaved"] == 0
$story_stats["HostageSaved"][tier] += 1
@hostage_saved = true
prp "Hostage saved: #{tier}, #{$story_stats["HostageSaved"][tier]}"
end
fadeout_delete_region(7, tmpRegion)
elsif tmpRange < 17 && @follower[1] == 1
if [true,false].sample
@wait_count = rand(15)
elsif tmpRange == 2 && self.x != $game_player.x && self.y != $game_player.y
move_goto_xy($game_player.x,$game_player.y)
else
companion_chase_character_back($game_player)
end
end
end
A note for the dev:
victimBasicMove is called a lot of times before the hostage instance is removed, making the story_stats["HostageSaved"][tier] being pumped up about a few dozen times for each hostage. I just added a boolean check. It seems to work fine.