Users browsing this thread: 1 Guest(s)
Replace Moogle Suit with Shadow Suit

#1
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
So I've got a request for any hackers/coders out there who want to help. For all who don't know, my hack is based on General Leo edition, which replaces Shadow with General Leo as a playable character.  However, I was tinkering with the idea of having Shadow's armor replace the Moogle suit, which would basically allow any character to "become" Shadow if they so desire. I already figured out how to replace the Moogle graphic in-battle with Shadow (that part was easy).  However,  I have two other requests that would improve this concept:

1. I am rubbish at adding events, and was wondering if someone out there could help me add a basic event in which a little blue star graphic appears at Thamasa WOR at the grave site that gives you Shadow's armor along with a message.

2. C-Dude recently made a patch called Imp's Mapping that allows the Imp sprite to appear on the world map.  I was wondering if anyone knows a way to have the game check if a character is wearing the Moogle Suit/Shadow Armor and replace the world map sprite with Shadow in a similar manner (bonus points if the portrait could also change, although I imagine this is impossible).

Thanks, you guys are awesome!
  Find
Quote  

#2
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
Did somebody say event code?! I can finally help!  Laugh You'll want to edit the event that's already in place to show the tombstone text.

Code:
Original Event
C1 B4 01 B0 01 B3 5E 00 - If you're not facing up and pressing A, do nothing.
4B 45 88 - Display dialogue "Here lies Shadow" (Assuming this is unchanged in General Leo Edition)

Added Stuff
C0 A4 00 B3 5E 00 - If you're not in the World of Ruin, end event here.
C0 YY 8X B3 5E 00 - If you've already seen this event (Event bit $XYY), end here.*
80 9F - Add "Moogle Suit" to your inventory
4B YY 8X - Display dialogue $XYY (whichever one you choose to use, in hex).
FE - End Event


*So for event bits, you have to use one here. Otherwise the player could get infinite shadow suits. You can get a list of event bits from the documents section. Find one that is unused. Best way to see if it's unused is to add it to this event, load a completed game file, and then try to play this scene. If you get a Shadow Suit, then it was free.

On second thought, you could place a treasure tile on top of the flowers in front of the grave, or on the tombstone itself. This will accomplish the same purpose, and is much, much simpler.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  
[-] The following 1 user says Thank You to PowerPanda for this post:
  • Lightning (03-03-2021)

#3
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
Well, it looks like an event bit to obtain the armor is out of the question since every level editor seems to corrupt my hack (or crashes)... So, the armor is now obtainable via the Colosseum instead. That being said, it would still be awesome if a hacker out there could make Shadow appear in the world map as well as in-battle if someone knows a way!
  Find
Quote  

#4
Posts: 377
Threads: 34
Thanks Received: 10
Thanks Given: 7
Joined: Dec 2018
Reputation: 18
Status
Moog
Well, the RAM value to check is $11C9,Y. You want to compare it against #$9F, which is the item ID of the moogle suit.

Hypothetically this comparison would be made the same way that we check if the character is a moogle. But there's a problem...

Y is being incremented by steps of 40. But the ram block that contains $11C9 goes up by counts of 37. So if you check it in the same place and same manner as I checked for Imp, the check will fail for everyone except Actor Index $00 (Terra). I don't know how to set up another running counter to do indexed loads like that. I suppose that's what scratchpad RAM is for, but I've yet to have a success with that. I guess it would be something along the lines of "Load Scratch A, Push X, Transfer A into X, Load <value> relative to X, store in DIFFERENT scratch value, Load Scratch A again, Add <37> with Carry, Store Scratch A, pull X, and load the second scratch with our result", but again, I've yet to have success with techniques like that.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite