Users browsing this thread: 1 Guest(s)
Relic that CAUSES Imp status?
Is it possible to enable permanent imp status via a relic? I always thought it was possible to do this already, but I do not see the option in FF3usME. I ask this question, because I was going to create a new relic that grants the jump ability, magic/attack status gains, and more while also causing Imp status. The point would be for someone to use it alongside the Imp gear. Without permanent Imp status, the relic would just be another generic relic usable by any character, and I actually don't want this to be the case. It would also be a nice benefit that monsters cannot revert you back to normal status by casting Imp on the character you want to be an Imp.
02-22-2021, 02:15 AM
You'd have to hardcore this and disable imp status healing/switching via green cheery in both menu and battle when the relic is equiped.
(02-22-2021, 02:15 AM)madsiur Wrote: You'd have to hardcore this and disable imp status healing/switching via green cheery in both menu and battle when the relic is equiped.
Hmm, sounds like a lot of work. I might just have the imp relic inflict status ailments (muddle, seizure, sleep, etc.), and have other pieces of imp equipment cure those same status ailments (like a ribbon negating a cursed shield). This makes a fully equipped imp immune to those few status ailments as well as give them other benefits - like the jump command, increased magic/fight damage, hp boost, etc. Basically, I am just trying to make an Imp more appealing, especially since I have replaced the Imp sprite with something else in my hack!
If you aren't using the Critical->Reflect effect, you could change that to Critical->Imp. It's unusual and kinda goes for what you're seeking.
Note that if the character has protection from Imp status (from another piece of gear) the spell will likely miss (I haven't tested that). If it doesn't, then the imping will be permanent because the protection is there. You may wish to play with this a bit.
EDIT: Actually, even if you are using Wall on Low HP, that equipment byte has two unused bits.
Here's some code I used to add extra relic functions, tweaked to your situation.
Give it a try if you like.
Code:
C2/0A86: A9 24 LDA #$24 (Reflect spell ID)
Change to A9 23 so that it casts Imp, provided you haven't moved the Imp spell
Note that if the character has protection from Imp status (from another piece of gear) the spell will likely miss (I haven't tested that). If it doesn't, then the imping will be permanent because the protection is there. You may wish to play with this a bit.
EDIT: Actually, even if you are using Wall on Low HP, that equipment byte has two unused bits.
Here's some code I used to add extra relic functions, tweaked to your situation.
Code:
C2/0A82: [Replace original code for Wall on Low HP]
22 8C FF C0 JSL $C0FF8C [Subroutine checks extra equipment bits]
60 RTS
EA EA EA EA EA EA EA EA EA NOP out remaining original code
C2/64CC: [Some original code for Wall on Low HP, in a subroutine to set up an auto spell. Must be in C2 bank]
85 B8 LDA $B8
A9 26 LDA #$26
20 91 4E JSR $4E91
6B RTL
C0/FF8C: [Checks extra bits on the equipment, sets spells]
4A LSR [Check third bit (Wall on Low HP in FF3USME)]
90 08 BCC
48 PHA
A9 EE LDA #$24 [Load Reflect]
22 CC 64 C2 JSL setUpSpell ***If you move C2/64CC code somewhere else, update this line***
68 PLA
4A 4A 4A LSR x3 [Check sixth bit (First ? after Double Gold Pts in FF3USME)]
90 08 BCC
48
A9 1D LDA #$1F [Load Haste]
22 CC 64 C2 JSL setUpSpell ***If you move C2/64CC code somewhere else, update this line***
68 PLA
4A LSR [Check seventh bit (Last ? after Double Gold Pts in FF3USME)]
90 08 BCC
48 PHA
A9 2C LDA #$23 [Load Imp]
22 CC 64 C2 JSL setUpSpell ***If you move C2/64CC code somewhere else, update this line***
68 PLA
6B RTL
02-22-2021, 02:48 PM
(02-22-2021, 01:00 PM)C-Dude Wrote: EDIT: Actually, even if you are using Wall on Low HP, that equipment byte has two unused bits.
Just be aware that those 2 bits are used in the Full Roster hack for "Spec Active When Imp" and "Equippable with Merit Award", so that the original 2 flags for those can be used for characters 15 & 16. It appears that 2 of the other equipment bytes have open slots though.
Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
Per Lightning's request in Discord, I've produced the following code that will make Relic Effect 4's bit 7 (the second ? mark) trigger the Imp spell as a reaction on anyone who is not imp'd currently and not immune to Imp.
As PowerPanda stated, because this uses bit 7 it will be incompatible with the Full Roster hack. There is a note in the disassembly that explains what would need to be changed to make it instead use Critical->Wall as the triggering byte.
As PowerPanda stated, because this uses bit 7 it will be incompatible with the Full Roster hack. There is a note in the disassembly that explains what would need to be changed to make it instead use Critical->Wall as the triggering byte.
Code:
===================================
Working version of Imp-form Relic
===================================
C2/0A4A
4C 7B 64 JMP $647B [Go to new code that handles the Imp Relic]
C2/647B
BD A0 3A LDA $3AA0,X
89 10 BIT #$10 [This was the vanilla code, it checks that the character isn't dead or unable to act]
F0 03 BNE SkipNextLine [Continue if its not the case]
4C 90 0A JMP $0A90 [Exit]
BD 60 3E LDA $3E60,X [Status 1 byte]
89 20 BIT #$20 [Check for Imp status on this character. This is the Quasi-status bit for counterattacks]
F0 03 BNE SkipNextLine [Continue if Imp status is present]
4C 51 0A JMP $0A51 [Move on to the near fatal checks (Vanilla code)]
BD 1C 33 LDA $331C,X [Immunity 1 byte]
89 20 BIT #$20 [Check for Imp immunity]
D0 03 BEQ SkipNextLine [If not immune to Imp, continue]
4C 51 0A JMP $0A51 [Move on to the near fatal checks (Vanilla code)]
BD 59 3C LDA $3C59,X [Load Equipment special byte 4]
0A 0A ASL Ax2 [Shift byte 7 into the carry] {If you want it to use Wall on Low HP, this needs to change to 4A 4A 4A LSRx3}
90 13 BCC SkipImp [If it isn't present, move on to the near fatal checks]
48 PHA
A9 23 LDA #$23 [Load the Imp Spell]
85 B8 STA $B8 [Save it in the spell to cast]
A9 26 LDA #$26 [Load the reaction cast command]
20 91 4E JSR $4E91 [Add it to the counter queue]
68 PLA
BD 60 3E LDA $3E60,X [Load the Quasi-status byte 1]
09 20 ORA #$20 [Set the Imp bit]
9D 60 3E STA $3E60,X [Save the Quasi-status byte 1]
4C 51 0A JMP $0A51 [Move on to the near fatal checks (Vanilla code)]
Raw Hex
At 20A4A
4C 7B 64
At 2647B
BD A0 3A 89 10 F0 03 4C 90 0A BD 60 3E 89 20 F0 03 4C 51 0A BD 1C 33 89 20 D0 03 4C 51 0A BD 59 3C 0A 0A 90 13 48 A9 23 85 B8 A9 26 20 91 4E 68 BD 60 3E 09 20 9D 60 3E 4C 51 0A
Thanks C-Dude. So far so good! I even managed to revert a character to normal status as the condemned counter ran out, and the character turned back into an imp whilst dead. I think there is no better test than that...
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)