Users browsing this thread: 1 Guest(s)
Request: No items lost at Colosseum

#1
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
I was playing through my mod today, and I realized that every time I lose a match at the Colosseum, I merely reset the game and try again rather than lose my valuable item (and have done so for years with FF6). It got me thinking: does anyone EVER actually let themselves lose a valuable item, or do they just hit the reset button like I do?  I mean really, what is the point of losing an item when you just reset the game anyway?  In my opinion, it is especially annoying resetting the game on real hardware, since you have to watch the whole intro again, plus I don't actually like resetting old hardware over and over.

So, is it easy to hack the game so items are not lost when you lose a match?
  Find
Quote  

#2
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Basically you're looking into removing all the following code. The most efficient way to do this without too much trouble is writing a BRA $49C4 at $C2499E.

Code:
C2/499E: AD 97 3A     LDA $3A97
C2/49A1: F0 21        BEQ $49C4      (branch if not Colosseum brawl)
C2/49A3: AD 05 02     LDA $0205      (item wagered)
C2/49A6: C9 FF        CMP #$FF    
C2/49A8: F0 1A        BEQ $49C4      (branch if null)
C2/49AA: A2 FF 00     LDX #$00FF
C2/49AD: DD 69 18     CMP $1869,X    (is item wagered in this slot?)
C2/49B0: D0 0F        BNE $49C1      (branch if not)
C2/49B2: DE 69 19     DEC $1969,X    (if it was, decrement the item's count as
                                      a Colosseum fee)
C2/49B5: F0 02        BEQ $49B9      (if there's none of the item left, empty
                                      out its slot)
C2/49B7: 10 08        BPL $49C1      (if there's a nonzero and positive quantity
                                      of the item, don't empty out its slot)
C2/49B9: A9 FF        LDA #$FF
C2/49BB: 9D 69 18     STA $1869,X    (store Empty item)
C2/49BE: 9E 69 19     STZ $1969,X    (with a quantity of 0)
C2/49C1: CA           DEX            (move to next lowest item slot)
C2/49C2: 10 E9        BPL $49AD      (loop for all 256 item slots)
  Find
Quote  

#3
Posts: 617
Threads: 49
Thanks Received: 0
Thanks Given: 5
Joined: Feb 2017
Reputation: 25
Status
None
And if my math is right, the hex for that is simply "80 24", followed by 24 "EA"s. If that makes your cursor stop on C2/49C4, then it's correct.


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

#4
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(09-24-2018, 09:15 PM)PowerPanda Wrote: And if my math is right, the hex for that is simply "80 24", followed by 24 "EA"s. If that makes your cursor stop on C2/49C4, then it's correct.

Thanks I was too lazy to calculate, I always forget if you start counting on the BRA opcode, on its argument or after it...

I could have provided this too, the most useless ASM file:
Code:
hirom

org $C2499E
bra branch

org $C249C4
branch:
  Find
Quote  
[-] The following 1 user says Thank You to madsiur for this post:
  • Lightning (09-25-2018)

#5
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
Thanks, this is a good solution for now. In a perfect world, the Colosseum would have another system in place, like paying gold to bet items - maybe 1/4 the cost of the item being bet and 10,000 for all rare items (items costing 2 gold in FF3usME) - but i'm sure that would be extremely difficult to code. Maybe someday when someone has a lot of time to kill they can do it.

Edit: The gold system would actually be quite cool, because it would give the player something to do with all that money later in the game after all possible items are purchased. I can only dream!
  Find
Quote  

#6
Posts: 617
Threads: 49
Thanks Received: 0
Thanks Given: 5
Joined: Feb 2017
Reputation: 25
Status
None
Ah, but now you're talking OAM data, which is a pain in the Chocobo. I can't even get someone to take on an OAM task to finish off the complete roster hack. (The only thing standing in the way of its completion is adding the 15th and 16th characters to the shop screen.)


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

#7
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
(09-25-2018, 09:23 AM)PowerPanda Wrote: Ah, but now you're talking OAM data, which is a pain in the Chocobo. I can't even get someone to take on an OAM task to finish off the complete roster hack. (The only thing standing in the way of its completion is adding the 15th and 16th characters to the shop screen.)

Yeah, I figured it would be a ridiculously hard task, which is why I just wanted the item loss function to be disabled instead. Maybe down the road the Colosseum system can be changed.  If you really think about it, the original game should have had a betting system involving money instead of just losing the item you bet.  I guarantee all the people here reset their game when they lose a rare item.  I mean really, who would actually bet their Ragnarok and consider it a loss if they didn't win the battle and get the Illumina?   If it was just some gold lost, I wouldn't bother resetting the game.
  Find
Quote  

#8
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 158
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
While having the item bet lost is the penalty for loosing the match, resetting the game to get it back is also a punishment of sorts as it takes time! I'd imagine everyone does do that, unless it's some sort of challenge run, but yeah you're right.
An alternate money system would be a pretty neat alternative, I agree. Though, I'd imagine there would still be a reset if the player lost enough moneys lol.


We are born, live, die and then do the same thing over again.
Quote  

#9
Posts: 617
Threads: 49
Thanks Received: 0
Thanks Given: 5
Joined: Feb 2017
Reputation: 25
Status
None
The other problem with that is where you would get the monetary value from. Most rare items have a value of 2GP. I just don't think it's a realistic possibility for your hack.


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

#10
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
(09-25-2018, 03:07 PM)PowerPanda Wrote: The other problem with that is where you would get the monetary value from. Most rare items have a value of 2GP. I just don't think it's a realistic possibility for your hack.

Well, my thought for that was just to have a generic value for any item worth 2GP (something like 2 GP = 5,000GP bet or something).  But yeah, the idea is probably still not all that practical to code.

(09-25-2018, 03:05 PM)Gi Nattak Wrote: While having the item bet lost is the penalty for loosing the match, resetting the game to get it back is also a punishment of sorts as it takes time! I'd imagine everyone does do that, unless it's some sort of challenge run, but yeah you're right.
An alternate money system would be a pretty neat alternative, I agree. Though, I'd imagine there would still be a reset if the player lost enough moneys lol.

Haha, true. An example is the casino in the Dragon Quest series.  Whenever I lost enough money, I would just reset the game rather than go out and earn it all back.  Lol.

Uh, whoops. I guess I forgot to specify in my original post that I only wanted the player to keep the item they are betting if they lose a match. Madsiur's patch above also makes it so you don't lose an item when winning a match, which means you can get unlimited of anything (including Illumina's). Can Madsiur's patch be tweaked to only prevent item loss when the player loses a match? If you win, your current item should still be traded for the new one.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite