Users browsing this thread: 1 Guest(s)
Antinomia: FF6

#61
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
(11-20-2022, 08:53 PM)C-Dude Wrote: Someone in Tzen (or perhaps it was Albrook) does mention that 'on that day' there was a vortex that sucked everything into the center of the continent.  The presence of Magitek Factory elements and Imperial Palace suggests that Vector was crushed by this debris and became part of Kefka's Tower.

Just keep an eye out for strings that mention that if you're removing that element from the Empire's fall.

Code:
[caption #2232]

On THAT day, debris from all over the world floated eerily to the center of this land mass, and formed that tower_
The string's relative position suggests WoR Albrook.

Right, I meant that aside from like a line or two in passing, the Empire being gone has, like, zero effect on anyone.  Even Celes never mentions it.  And since that line is from Albrook, which was skipped, I wanted to pull that info here instead and repurpose Albrook for something else.

Quote:EDIT: As for places to reintroduce Leo... hmm...
WoR Albrook doesn't have any recruits in WoR and you said you passed it, so that might be a good place to put Leo.

Like that.  XD

Yeah, my current thought is to have Leo in Albrook, since he's got ties to that town and it's the only town that doesn't have any other character event tied to it.  My main problem is having too many ideas for him and needing to pare it down into a workable, cohesive event.

I also want to add more character-specific events for other characters, too, since WoR originally felt a bit too "same-y" with how things played out regardless of who was in the party.
  Find
Quote  

#62
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
As expected, I didn't do much different with the Setzer re-recruitment event beyond re-translating a couple of lines and giving some of the dialogue to Terra since she's now mandatory to be there.

So, now that we've got airship again, we can basically go anywhere, but naturally I want to head to the place that's the whole point of this mod in the first place... finally recruiting Leo as a full-time party member.

... Provided you didn't leave him behind on the Floating Continent, that is.

And unlike if you left Shadow behind, I do want there to be some closure in the scenario where you didn't wait for Leo.  I haven't decided yet whether that means he was crippled in the fall and you come upon him bedridden and he refuses to be healed this time, or if he's still generally physically sound but emotionally damaged enough that he won't join you.  Either way, I don't want him to just be "gone" like Shadow was, but he still won't be recruitable.

But then that means there's more branching routes that I have to consider, as well as writing an entirely new recruitment event for him for the happy path where you did wait for him and he will agree to join you.

Hopefully this time it won't take me a year like Terra's new WoR intro event did, but I was also hindered by having another project come up in the meantime in that case, and hopefully that won't happen again here.  So with that said... *cracks knuckles* ... let's do this.

(also updated my avatar to show how excited Leo is about all these traumatic things I'm contemplating inflicting on him)
  Find
Quote  

#63
Posts: 606
Threads: 49
Thanks Received: 276
Thanks Given: 161
Joined: Feb 2017
Reputation: 25
Status
None
In Divergent Paths, I actually put Leo in Cyan's place, and repurposed Cyan's dreams for the WoR recruitment scenario. Leo's thing for the past year has been writing letters on behalf of all of the soldiers that died following him, which I thought fit Leo much better than Cyan. You're welcome to borrow any of it that works for you, including Leo's theme music, which we have already ready to drop into a rom. Here's a video going over that section of the game.






I think that Albrook could be a great place for Leo too. Leo's hometown is never specified in-game, so it may as well be Albrook. If it were, it would make sense that he returned home to try to help rebuild the town. He could also be trying to find information on the 3 Statues and the Atma Weapon, which shield Kefka. I seem to remember a random Albrook NPC knowing far more about those things than he should.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#64
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
Thanks.  I do like your idea and agree that it makes more sense for Leo to be the one to bring closure to the Mobliz soldier and Lola story than Cyan.  I do think I at least want to acknowledge Leo's connection to the soldier, but other than that I still want my recruitment event for him to be entirely original.

My current thought on the scenario is this: He's been adrift at sea on the Magitek transport ship that was docked at Albrook (which means I need to do a map edit to remove the ship from the harbor x_X), and has been picking up and dropping off wayward people and supplies, but never stays in one spot.  With the Empire gone, he has no "anchor" anymore; nowhere to go home to, no one specific to serve (this is kind of mirroring his depiction in Dissidia Opera Omnia when he first gets summoned). And since he blames his poor decision-making for Kefka being able to get as far as he did, he's also reluctant to have anyone depend on him.  So, after some activities to get the ship to spawn at Albrook, the party finds him alone on the ship.  He's elated to find that Celes and Terra survived, but still feels he doesn't deserve a place on the team after all the things he let happen. That is until he learns about Terra's struggles with the Mobliz children, and realizes that by choosing to do nothing, he's still making the same choice he did when he abandoned Terra to her fate originally.  So he offers the use of the cargo ship to run supplies to Mobliz to feed them and help them rebuild.  And when they arrive, Leo gets what he didn't realize he needed: One of the children thanks him for bringing their "Mama" back home. All his life, the only reason he'd go to someone's house and meet their family was to inform them that a loved one was gone. He'd long wished to send his soldiers back to their families, but never could. And now he was able to do it for the person he'd most regretted failing. This gives him the resolve he needs to finally agree to join the fight.
  Find
Quote  

#65
Posts: 11
Threads: 0
Thanks Received: 1
Thanks Given: 4
Joined: Jan 2021
Reputation: 0
Status
None
I love this idea and I'm very excited to play this when it's ready.
  Find
Quote  

#66
Posts: 606
Threads: 49
Thanks Received: 276
Thanks Given: 161
Joined: Feb 2017
Reputation: 25
Status
None
That does sound like a great idea.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#67
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
Part 1 (of 3) of the Leo re-recruitment is done!  This covers just finding him initially and then being assigned a chore (which will be part 2 of the event).  But, since this is a fairly long event, I wanted to post my progress to prove I'm still actually working on it.

[Image: pmln2fe.png]
Now that Albrook is no longer the starting town and the stuff that the NPCs tell you is revealed elsewhere, they can all be repurposed to drop hints about a new quest.

[Image: UaTu6zF.png]
Quest 1 (on my part): Event-based map update code to delete the ship from the Albrook dock.

[Image: Ju4YN4M.png]
Several NPCs mention that a ship comes at night, or when they're asleep, so hopefully that's enough of a clue of what to do to initiate the event that gets it to spawn.

[Image: B0d9fRa.png]
Because the new Terra event tried my sanity with conditional statements, how about some more?!  Leo has 14 different possible reactions upon meeting the party depending on who the party leader is.

[Image: 4NlVcoU.png]
Leo survives whether you leave him behind on the Floating Continent or not, so this event is available either way.  However, some lines of dialogue, like this one, are different depending on whether he made it to the airship or not.  Part 3 of this event is where things will go in a more noteworthy different direction depending on whether or not you waited.

[Image: atn48H4.png]
Celes gives Leo her standard pitch, but he's not buying what she's selling.

[Image: I4VFCWi.png]
So she tries a different tactic: Emotional blackmail! If Gestahl and Kefka can take advantage of his bleeding heart to get him to fall in line, so can she.

[Image: RfkH6FR.png]
Works like a charm.

[Image: Sh7FXYa.png]
And this initiates part 2: a barter event.  Where you're going to need to make a sequence of trades of either inventory items or key items in order to get the items you need to proceed.  To do this I had to modify the code for general event $81, since the original code just removed one item from your inventory without giving any feedback as to whether it was successful or not, and $81 is never actually used in the game code itself.  So, I had to modify it to behave like $85 (take X gil from party) to set an event flag in the case where you don't have the item in your inventory.

So you know what that means?  BRING ON THE STACKED CONDITIONAL STATEMENTS AGAIN, WOO!
  Find
Quote  
[-] The following 1 user says Thank You to Fast Moon for this post:
  • rhonryderz (01-17-2023)

#68
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
Well, that was easier than I was expecting. Part 2 of 3 of the Leo re-recruitment event is complete, which is a bartering event in order to get the specific key items you need.

[Image: EnvnuCv.png]
Some of the trades are initiated with regular inventory items, all of which are ones that are available for purchase in Albrook if you don't have them.

[Image: MwqmXkW.png]
So now it's just a matter of figuring out who wants what and who gives what

[Image: 6cznAgY.png]
Also, because the Humbaba section was changed, you no longer get the Fenrir esper in Mobliz.  It's been moved here as an optional trade.

Not many images to show for this part since it's mostly running around buying and selling stuff to different people.  But once you have everything you need, it's off to part 3 to deliver your goods!
  Find
Quote  

#69
Posts: 58
Threads: 6
Thanks Received: 34
Thanks Given: 4
Joined: Jul 2020
Reputation: 6
Status
None
Still working on part 3 (which ended up being part 3.1 and 3.2, with 3.1 now being done) of the Leo re-recruitment, but I wanted to share the code for the two custom event commands I ended up needing to write for this.

The first is a re-write of event $81, which is never actually used by the game at all.  This is the "take item X from inventory" event.  The problem is that all it did was scan your inventory for the specified item, and if it found it, decremented its quantity by 1.  Unlike the "take X GP from party" event, it did NOT flag that the specified item was not found.  So if you wanted to do an event where a character was, like, "Give me a potion", there was no way to determine whether you could actually give him a potion or not.  This new version uses the unused event flag $1BD to flag that the item in question is not in your inventory so you can use it to branch.  This code is longer than the original $81 code so I had to relocate it.  The usage would be 81 XX where XX is the item ID, and then check the $1BD flag, and if it's clear, you can branch to a "thanks for the item!" dialog, and if it's set you can branch to a "you don't have that item" dialog or something.

Code:
AD B7 1E    LDA $1EB7    (Load event byte $1EB7 into A)
29 DF        AND #$DF    (Mask with 1101 1111 to clear bit 5. $1EB7:5 = $1BD)
8D B7 1E    STA $1EB7    (Store the new value)
A6 00         LDX $00        (Zero out X)
BD 69 18     LDA $1869,X    (Load item at offset X from inventory list starting at $1869)
C5 EB         CMP $EB        (Compare that item ID with the item ID given as parameter 1 in $EB)
F0 10         BEQ #$10    (If it's the same, item is in inventory, skip to the decrement function below)
E8         INX        (Otherwise, increment X by 1)
E0 00 01     CPX $#0100    (Is X > 255? If so, we've reached the end of the inventory list)
D0 F3         BNE $#F3    (If it's not, jump back to the load item X and try again)
AD B7 1E     LDA $1EB7    (If we have reached the end of the list without finding our item, load $1EB7 again)
09 20         ORA #$20    (Mask it with 0010 0000 to set bit 5, i.e. set $1BD)
8D B7 1E     STA $1EB7    (And store it)
80 0D         BRA $#0D    (Jump to the end of the function)
DE 69 19     DEC $1969,X    (Decrement the quantity of the item at index X)
BD 69 19     LDA $1969,X    (Load the new quantity of this item)
D0 05         BNE #$05    (If it's not zero, jump to the end of the function)
A9 FF         LDA $#FF    (Otherwise create an "empty" item)
9D 69 18     STA $1869,X    (And store it at that index in the item list)
A9 02         LDA $#02    (This function used up 2 event queue bytes)
4C 5C 9B    JMP $9B5C    (Return to event queue)

The other function that I made was more home-brewed, and involves being able to permanently increase a given character's base stats through an event.  I assigned it to $76, but it can be any of the dozen or so unused event codes.  This takes two parameters: Character ID $00-$0F, and stat ID $00-$03, where the stat IDs are:
$00 = Vigor
$01 = Speed
$02 = Stamina
$03 = Magic Power
The command increases the given base stat for the given character by 1.  So, using my assigned event code as an example, 76 06 03 would increase Celes's Magic Power by 1 inside of an event.  The intent is to call it in a $B0 loop if you want to increase it by more than 1, so B0 05 76 06 03 B1 would increase Celes's Magic Power by 5.  This only takes absolute character IDs, not the $31-$34 party character IDs.  It limits the stats to 127 because some calculations use stat*2 which makes the stat overflow and become terrible above that value.  This code does not otherwise error-check that you gave it a valid character ID or stat ID, so use wisely.

Code:
A5EB    LDA $EB     (load parameter, character ID)
8D0242    STA $4202     (store as multiplier)
A925    LDA #$25    (set to 37 bytes of char data each)
8D0342    STA $4203    (store as multiplier)
A5EC    LDA $EC        (load parameter, stat offset)
C221    REP #$21    (set A to 16 bits, clear carry)
EA    NOP        (2-cycle NOP to allow multiplication to complete)
6D1642    ADC $4216    (add 37*ID + $EC offset)
AA    TAX        (put this value in X)
7B    TDC        (clear A)
E220    SEP #20        (set A to 8 bits)
BD1A16    LDA $161A,X    (load current stat, offset by X)
C97F    CMP #$7F    (check if already 127)
F004    BEQ #$04    (skip next two commands if it is)
1A    INC         (increment the value by 1)
9D1A16    STA $161A,X    (store new stat value
A903    LDA #$03    (This command was 3 bytes)
4C5C9B    JMP $9B5C    (Return to event queue)
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite