Removing/Hacking Away Roy's Forced Promotion in Binding Blade

I’m currently doing a playthrough of Binding Blade, and I changed Roy’s class to Mage instead of Lord. However, while I know how to change his class, I don’t know how to remove his forced promotion. I tried clearing Chapter 21, where his forced promotion takes place, and for some reason, the game crashes, and I can’t continue forward. If at all possible, if interested, could I send you a UPS patch of my ROM, and can you remove the forced promotion for me so I can continue the game without the game crashing on me?

Are you sure it actually froze? They pause the game for 20 seconds with a STAL command during the promotion.

For the self rando, I made it so if roy isn’t a lord, then he won’t promote, but it still waits those 20 seconds.

PUSH
ORG $6D0E6 // from 6D0E4
SHORT $46C0 
callHackNew(RoyPromoHook)
SHORT $46C0
POP

#include "AsmHooks.lyn.event" 
.thumb 
.macro blh to, reg=r3
  ldr \reg, =\to
  mov lr, \reg
  .short 0xf800
.endm
.global RoyPromoHook
.type RoyPromoHook, %function 
RoyPromoHook: 
push {r4-r6, lr} 
mov r6, r0 @ event engine 
mov r0, #1 @ Roy 
blh 0x8017ABC @ GetUnitByCharId 
mov r4, r0 

mov r5, #0xF @ binding blade default 
ldr r0, [r4, #4] @ class 
ldrb r1, [r0, #4] @ class id 
cmp r1, #1 
bne ExitRoyPromoHook 
@ldr r1, [r0, #0x24] @ attributes 
@mov r2, #1 
@lsl r2, #8 @ 0x100 promoted 
@tst r1, r2 
@bne ExitRoyPromoHook @ already promoted 
ldrb r0, [r0, #5] @ promotion class 
cmp r0, #0 
beq ExitRoyPromoHook 
mov r1, #0x26 
ldrb r0, [r4, r1] @ sword exp 
cmp r0, #0 
bne StartPromoNow 
mov r5, #0 @ no item equipped 
StartPromoNow: 
blh 0x8073324 @ prepare graphics 
mov r0, r4 @ unit 
mov r1, r5 @ equipped item 
blh 0x8027Db4 @ promotion 

@mov r1, #0x48 
@mov r0, #5 
@lsl r0, #8 @ 0x500 / 1280 frames 
@strh r0, [r6, r1] @ stal for this many frames 
@b SpecialExitRoy

ExitRoyPromoHook: 
pop {r4-r6} 
pop {r0} 
bx r0 
.ltorg 
SpecialExitRoy:
pop {r4-r6} 
pop {r0} 
pop {r0} 
pop {r7} 
pop {r1} 
mov r0, #2 
bx r1 
.ltorg 

It just hangs on this screen. Unable to save or move on

The game appears to violently explode if you can’t equip swords when this event happens, presumably because it is assuming that you have the Binding Blade equipped for the sake of the cutscene. Changing the promotion item (byte at 0x6D0F0) to e.g. an Iron Lance causes the same bug with Roy as a Lord. Changing the aforementioned byte to 0x00 will play the promotion out as if you are unarmed, and will work correctly in both the case of Roy being a Lord and a Mage. However, if Roy happens to have been promoted to a Sage by now, the promotion will revert Roy back to a Mage. This may not be what you intend to have happen. To address the original question posed in your post, to remove the forced promotion event altogether, it’s very simple in FEBuilder: open the End Event in chapter 0x15 (chapter 21 in-game) and chapter 0x26 (chapter 21x), scroll to the bottom, and just delete “Make hero Promotion”, then save the changes. You may also remove the following STAL command if you wish. See the attached image for what the block of events will look like when you open the End Event in FEBuilder:

Will try later tonight. If it works, appreciate the work around!

It worked! Thank you for the help!