diff --git a/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java b/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java index 41e8646c..b774193d 100644 --- a/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java +++ b/Universal FE Randomizer/src/random/gba/randomizer/RecruitmentRandomizer.java @@ -452,6 +452,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()); @@ -879,7 +882,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);