From d4a2c9f6c6ea46d0278f953e375269bd55895bd9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-CCP6C7T\\Lu" Date: Sat, 7 Mar 2020 14:10:10 -0800 Subject: [PATCH] Fixed an issue where Creature Campaign characters in FE8 could not have their recruitment randomized. --- .../src/random/gba/randomizer/RecruitmentRandomizer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java b/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java index cfaecfd3..575b2b2e 100644 --- a/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java +++ b/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java @@ -450,6 +450,9 @@ private static void fillSlot(RecruitmentOptions options, ItemAssignmentOptions i GBAFECharacterData[] linkedSlots = characterData.linkedCharactersForCharacter(slotReference); for (GBAFECharacterData linkedSlot : linkedSlots) { + // Do not modify if they happen to have a different class. + if (linkedSlot.getClassID() != slotReference.getClassID()) { continue; } + // First, replace the description, and face // The name is unnecessary because there's a text find/replace that we apply later. linkedSlot.setDescriptionIndex(fill.getDescriptionIndex()); @@ -838,7 +841,8 @@ public int compare(Integer o1, Integer o2) { } private static void setSlotClass(ItemAssignmentOptions inventoryOptions, GBAFECharacterData slot, GBAFEClassData targetClass, CharacterDataLoader characterData, ClassDataLoader classData, ItemDataLoader itemData, TextLoader textData, ChapterLoader chapterData, Random rng) { - GBAFEClassData originalClass = classData.classForID(slot.getClassID()); + int oldClassID = slot.getClassID(); + GBAFEClassData originalClass = classData.classForID(oldClassID); slot.setClassID(targetClass.getID()); transferWeaponRanks(slot, originalClass, targetClass, itemData, rng);