Users browsing this thread: 1 Guest(s)
Is there a way to give Edgar Magitek but only after u get him in the world of ruin ?
03-09-2014, 10:11 PM
I would also like to do the same thing with Cyan with the shock command . They would just be to broken if they have them in the wob
03-09-2014, 10:40 PM
Please elaborate a little more.
Do you to have an item that changes SwdTech into Shock and Tools into Magitek?
If so, please refer to this Thread:https://www.ff6hacking.com/forums/showth...ion+Armlet
Do you to have an item that changes SwdTech into Shock and Tools into Magitek?
If so, please refer to this Thread:https://www.ff6hacking.com/forums/showth...ion+Armlet
03-10-2014, 04:22 PM
MrChocobo is right, the easiest way to achieve this is through an item which alters the menu options. I am unsure if you can alter a character's menu skills after the character has joined the party without just changing their actor (which is fraught with tonnes of other problems and is a terrible solution.)
Don't take my word on it as I have never looked into changing skills, but it seems like it would be far more trouble than it would be worth when the easy way is just to make a couple items.
Don't take my word on it as I have never looked into changing skills, but it seems like it would be far more trouble than it would be worth when the easy way is just to make a couple items.
03-10-2014, 04:51 PM
Aaaaactually, there may be a way to do this with a custom event; the character's abilities are part of their RAM/SRAM block, after all, so it shouldn't be a hard event to write. I've got a meeting in an hour, but I may take a look at this later on tonight to see if I can get it working.
03-10-2014, 08:57 PM
(This post was last modified: 03-10-2014, 08:59 PM by GrayShadows.)
Okay, so this isn't tested yet, but at a glance this code should work. I've used 6D, which looks to be one of several unused general event commands (there are a number that point to C0/B91A, which is just an RTS), and it takes two parameters: first, the character ID, and second, the ID of the command you want to give the character. It just straight-up replaces the second command in the character's list, since in a normal game you're probably not wanting to mess with Fight/Magic/Item.
So, if you wanted to give Edgar the Magitek ability, you'd use: 6D 04 1D, where 6D is the event command, 04 is Edgar's character ID, and 1D is Magitek's command ID.
I haven't checked this against any free-space allocations, so if you're using other patches, or if you've got other code already added in, you may need to change the location of the new code (and subsequently where the 6D pointer points to).
So, if you wanted to give Edgar the Magitek ability, you'd use: 6D 04 1D, where 6D is the event command, 04 is Edgar's character ID, and 1D is Magitek's command ID.
Code:
org $C09934 ; General action 6D
DW $D613 ; New action is being placed at C0/D613
org $C0D613
LDA $EB ; Grab first parameter (character ID)
STA $4202 ;
LDA #$25 ; Multiply by length of character block (37/#25 bytes)
STA $4203 ;
LDA $4216 ; Load result...
TAX ; ...and transfer to X
LDA $EC ; Grab second parameter (Command ID)
STA $1617,X ; Character's second command is at byte 23/#17 of the block
LDA $03 ; Set accumulator to number of bytes to advance event queue
JMP $9B5C ; ...and jump and advance.
I haven't checked this against any free-space allocations, so if you're using other patches, or if you've got other code already added in, you may need to change the location of the new code (and subsequently where the 6D pointer points to).
03-11-2014, 07:36 PM
What I want to do is example
Edgar wob
Fight
Tools
nothing
Items
then when u get him in the wor
Fight
Tools
Magictek
Item .
Edgar wob
Fight
Tools
nothing
Items
then when u get him in the wor
Fight
Tools
Magictek
Item .
03-11-2014, 09:09 PM
If you don't want to alter GrayShadows' code, you could always just make the order:
WoB:
Fight
Nothing
Tools
Item
WoR:
Fight
Magitek
Tools
Item
WoB:
Fight
Nothing
Tools
Item
WoR:
Fight
Magitek
Tools
Item
Moogles FTW
03-12-2014, 01:53 AM
(This post was last modified: 03-12-2014, 01:57 AM by GrayShadows.)
Okay, leaving everything else the same (so the two events can't be used in the same game), you'd use this code instead. The only change is to the third line from the bottom; you're storing the result in $1618,X instead of $1617,X. Everything else works exactly as before.
ETA: I will be working on a patch with a set of custom ability-related events (teaching dances/blitzes/lores/swdtech through events, for example); if I have the space (which I should do), I'll include a modified version of this code so that each of a character's four command slots can be changed.
Code:
org $C09934 ; General action 6D
DW $D613 ; New action is being placed at C0/D613
org $C0D613
LDA $EB ; Grab first parameter (character ID)
STA $4202 ;
LDA #$25 ; Multiply by length of character block (37/#25 bytes)
STA $4203 ;
LDA $4216 ; Load result...
TAX ; ...and transfer to X
LDA $EC ; Grab second parameter (Command ID)
STA $1618,X ; Character's third command is at byte 24/#18 of the block
LDA $03 ; Set accumulator to number of bytes to advance event queue
JMP $9B5C ; ...and jump and advance.
ETA: I will be working on a patch with a set of custom ability-related events (teaching dances/blitzes/lores/swdtech through events, for example); if I have the space (which I should do), I'll include a modified version of this code so that each of a character's four command slots can be changed.
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)