The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 895 - File: showthread.php PHP 7.3.33 (Linux)
File Line Function
/showthread.php 895 errorHandler->error




Users browsing this thread: 1 Guest(s)
Event editing: Invisible NPC like in Narshe?

#1
Posts: 26
Threads: 6
Thanks Received: 0
Thanks Given: 0
Joined: Feb 2020
Reputation: 3
Status
None
Greetings, this is my first time on this forum. I've been a life-long Final Fantasy fan, with 6 being one of my favourites. I've spent the last few days carefully studying most of your documentation and tutorials on event hacking, including the Event Script dump, Event Commands txt, Event bits txt, and the video tutorials. First I'd like to thank all of you for the awesome work you've done with that, it was really helpful to me! Right now, though, I've got a problem on hand that I hope you can help me with.


I'm trying to create an additional dungeon which shall be unlocked after defeating the 8 dragons, and as long as they aren't defeated, the entrance door to that dungeon shall remain locked.


It should be kinda like a mini-version of the Dragon's Den if you want, but without all the extra stuff from the Advance version, since I know from a few other Dragon's Den threads here that it'll be nigh impossible to implement it all due to various limitations. I don't need the additional espers, equipment, enemies, or even a 3-party-dungeon, because that would require replacing other maps as there is only so little room to work with in the maps section, sadly. So I lowered my aspiration to something a little more... realistic. A smaller dungeon with Czar Dragon at the end will be totally sufficient for me. Ok, here's what I did so far:


First I used FF6LE to edit the World of Ruin map a little bit to create a new cave entrance leading to one of the unused maps (it's map 002D, in case that's important). On this map I've created a short corridor leading to a door, and I want this door to remain locked until the condition of defeating all 8 dragons has been fulfilled.


Next, I modified the event that is triggered after defeating the last dragon and gaining Crusader. This event is originally at offset C201D (no header). Since I needed more room, I used a jump with B2 to move the entire Crusader event to some empty space of an expanded ROM, currently at offset 300490, using B2 90 04 26.


Then I inserted two more things at the end of it:
  1. activating an unused event bit (I chose bit 149 like in your site's tutorial). For convenience, I'll just call it the 'Crusader bit' from now on.
  2. adding an additional dialogue to inform the player about the Dragon's Den now being accessible.

My new Crusader event looks like this, with the bold bytes being new:


EB 06 01 00 C0 A0 01 B3 5E 00 4B E1 C5 EA 06 01 00 94 F4 86 58 F6 B0 03 B2 E0 9A 02 92 B1 92 58 F4 92 4B E2 C5 F4 8D 86 45 D2 49 4B 7D C6 3A FE


I tested it, and it worked fine. Alright, so far, so good.


Next, about the locked door at the dungeon's entrance. For this, I took a look at how Narshe handles its locked doors in the World of Ruin. It turns out they use invisible NPCs in the exact same spots as the doors which block your path until Locke is in your party, then they disappear.


I tried to use the Narshe doors event as a blue print for my new custom event. Since I moved the entire Crusader event to empty space, I've got a bit of room in its original place for a B2 jump to my new custom command.


I copied the event from the Narshe doors, but used the 'Crusader bit' check instead of the 'Locke in your party' check, and instead of the party members coming out and standing there, I added some light blue screen flashing, just the same as the one used when Terra meets Tritorch in the World of Balance. Lastly, I also set another unused event bit (bit 14A) at the end to prevent repeated triggers (let's call this one the 'door opening bit'). My custom event currently looks like this:


C0 49 01 00 05 26 C0 4A 81 B3 5E 00 B0 14 50 27 B1 59 08 5C 92 4B 84 06 42 10 D2 4A FE


What this event is supposed to do is: first check if the Crusader bit is clear, if yes branch to this code:


4B 7E 06 FE (a simple dialogue telling the player that the door is sealed by a mysterious force).


Next, it checks if the 'door opening bit' is set (that is, if the door has been opened already), if yes simply branch to the return function.


If the Crusader bit is set but the door opening bit is clear, the rest of the event shall be executed, with the screen flashing, the invisible NPC being removed, and another dialogue box.


Finally, I added an NPC to my custom map right on the door tile via FF6LE, and gave it all the same properties that the Narshe NPCs have.


And this is where I got stuck... my invisible NPC doesn't seem to be working. I can always walk right through it, no matter whether I had already defeated all the dragons or not. I've read somewhere that NPCs first have to be initiated via the map's entrance event, but the strange thing is: the Narshe map doesn't seem to be doing this with its invisible NPCs either. For reference, Narshe's entrance event is shown as 236BD in FF6LE (which is actually C36BD in the hex editor) and looks like this:


D4 A0 B0 1F 51 9F 05 07 B1 B0 02 51 3F 07 07 B1 B0 03 51 3F 06 06 B1 B0 04 51 3F 05 05 B1 FE


All that's going on here is some repeating commands, probably the smoke from the chimneys and the wind blowing, not sure, but there is no NP C initiation here (unless I'm blind?). So... if it's not the missing NPC initiation that's causing my problem, then what else am I missing here?


Also, does my custom event need to be assigned to this new NPC, or can it also be triggered via an event when stepping on the tile before the door? Or are both possible options?


I'm grateful for any help, and sorry for the long post. Oh, and just to let you know, I'm not a programmer, and I know absolutely nothing about assembly, just merely a long-time FF fan. My so far limited knowledge about hacking comes only from reading documentations and a few trial and error attempts, so please keep your answers simple enough for a non-programmer like me to understand.
  Find
Quote  



Messages In This Thread
Event editing: Invisible NPC like in Narshe? - by Gestahl - 02-23-2020, 02:50 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite