Author Topic: (Updated)TimeDevourer=30000HP?  (Read 1363 times)

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
(Updated)TimeDevourer=30000HP?
« on: March 24, 2010, 04:06:21 am »
update*
I found TD's HP is locked at 30000 during the battle.
But after several turns, it suddenly changes to around 1250, that is when you can really kill it.

After checking part of TD's action script, I figured out its HP is divided into four parts and stored in script variables.
30000 is just a large enough value in order to prevent it from being killed directly, for some reason.
In a normal game, TD actually has 4 lives: 5000HP, 2500HP, 1250HP, 1250HP

Code: [Select]
;;;;;;;;;;;;;;;;;;;;;;;;;;
; Initializing
;;;;;;;;;;;;;;;;;;;;;;;;;;
0x0000: var[0x0080] = 0
0x0482: var[0x0448] = 0
0x0488: var[0x044A] = hp
0x0490: var[0x044C] = var[0x044A]
0x0496: var[0x044C] /= 2
0x049C: var[0x044E] = var[0x044C]
0x04A2: var[0x044E] /= 2
0x04A8: var[0x0450] = var[0x044E]
0x04AE: var[0x0450] /= 2
0x04B4: var[0x0452] = var[0x0450]
0x04BA: var[0x0458] = 30000
0x04C0: hp = var[0x0458]
0x04C8: maxhp = var[0x0458]




;;;;;;;;;;;;;;;;;;;;;;;;;;
; Taking damage
;;;;;;;;;;;;;;;;;;;;;;;;;;
0x058C: var[0x0458] = someflag(0x0801)
0x0591: IF_JUMP(var[0x0458] != 0x0001, 0x068C)
0x0599: IF_JUMP(var[0x0080] < 0x0003, 0x0689)
0x05A1: var[0x0458] = maxhp
0x05A9: var[0x045A] = hp
0x05B1: var[0x0458] -= var[0x045A]
0x05B7: IF_JUMP(var[0x0080] == 0x0000, 0x05C8)
0x05BF: var[0x0464] = var[0x044C]
0x05C5: JUMP(0x05EA)
0x05C8: IF_JUMP(var[0x0080] == 0x0001, 0x05D9)
0x05D0: var[0x0464] = var[0x044E]
0x05D6: JUMP(0x05EA)
0x05D9: IF_JUMP(var[0x0080] == 0x0002, 0x05EA)
0x05E1: var[0x0464] = var[0x0450]
0x05E7: JUMP(0x05EA)
0x05EA: IF_JUMP(var[0x0464] >= var[0x0458], 0x05FB)
0x05F2: var[0x0464] -= var[0x0458]
0x05F8: JUMP(0x0601)
0x05FB: var[0x0464] = 0
0x0601: IF_JUMP(var[0x0464] == 0x0000, 0x0640)
0x0609: var[0x0080]++
0x060C: IF_JUMP(var[0x0080] == 0x0003, 0x0627)
0x0614: maxhp = var[0x0452]
0x061C: hp = var[0x0452]
0x0624: JUMP(0x063D)
0x0627: var[0x0458] = 30000
0x062D: maxhp = var[0x0458]
0x0635: hp = var[0x0458]
0x063D: JUMP(0x0689)
0x0640: var[0x0458] = 30000
0x0646: maxhp = var[0x0458]
0x064E: hp = var[0x0458]
0x0656: IF_JUMP(var[0x0080] == 0x0000, 0x0667)
0x065E: var[0x044C] = var[0x0464]
0x0664: JUMP(0x0689)
0x0667: IF_JUMP(var[0x0080] == 0x0001, 0x0678)
0x066F: var[0x044E] = var[0x0464]
0x0675: JUMP(0x0689)
0x0678: IF_JUMP(var[0x0080] == 0x0002, 0x0689)
0x0680: var[0x0450] = var[0x0464]
0x0686: JUMP(0x0689)
0x0689: JUMP(0x06A2)
0x068C: var[0x0458] = 0
0x0692: maxhp = var[0x0458]
0x069A: hp = var[0x0458]
0x06A3: STOP()



And Radius' HP is locked at 30000 in the US version, so no way to kill him without a cheat. (Still testing)

« Last Edit: March 25, 2010, 12:13:22 pm by utunnels »

chi_z

  • Squaretable Knight (+400)
  • *
  • Posts: 483
  • And you thought the dalton idea was ludicrous!
    • View Profile
Re: TimeDevourer=30000HP?
« Reply #1 on: March 24, 2010, 06:47:43 pm »
I once beat radius, no cheating just new game+. first time I beat time devourer, I did it with my swallow didn't know about the element thing.

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: TimeDevourer=30000HP?
« Reply #2 on: March 24, 2010, 09:02:50 pm »
Oh, then I should test it out.
If he has 30000 HP, he should be as hard as TD.

chi_z

  • Squaretable Knight (+400)
  • *
  • Posts: 483
  • And you thought the dalton idea was ludicrous!
    • View Profile
Re: TimeDevourer=30000HP?
« Reply #3 on: March 24, 2010, 09:26:43 pm »
I don't recall it was several years back, but I remember it taking a good half an hour. Make sure to bring plenty of ueber elements, your swallow should do quite a bit of damage to him as well if you got the spectral swallow. I don' think it was hard.

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: TimeDevourer=30000HP?
« Reply #4 on: March 24, 2010, 10:16:41 pm »
Hmm, I tried with a newgame+ save. And his HP is always 30000 no matter how I attack him.
However, he still changed to his low-HP pose after several attacks (I checked his HP and it was still 30000).

After 2 Aqual Balls, Serge was low in HP, so I used a cureplus and the lecture ended as if Serge did what Radius told him.


Well, updated.
Maybe Radius is similar to TD.
« Last Edit: March 25, 2010, 09:04:01 pm by utunnels »

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #5 on: March 25, 2010, 09:47:47 pm »
I've updated the top topic with TD's action script (partial).
TimeDevourer is similar to its Dragon God form, it actually has 4 different modes, but it just doesn't transform nor change backgrounds.

chi_z

  • Squaretable Knight (+400)
  • *
  • Posts: 483
  • And you thought the dalton idea was ludicrous!
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #6 on: March 25, 2010, 09:57:49 pm »
just wondering........what exactly do you use to retrieve all this data/code? I know for snes roms you would use a hex editor, but what about iso images, what is there?

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #7 on: March 25, 2010, 10:12:22 pm »
Yeah, long time ago yaz0r and vehek were working on a script decompiler. I'm just playing with the code recently.
Though the battle script decompiler hasn't been completed, but I can still hand edit the result to a readable level. :P

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #8 on: March 25, 2010, 11:58:53 pm »
Since I've already started, I'll try some other bosses.

http://www.chronocompendium.com/Term/Glitches_%28Chrono_Cross%29.html#Serge_Self-Injury_Glitch

First is Radius in Japanese version. Though this glitch is not a big deal, but I found I was completely wrong before.
This glitch has nothing to do with number overflow, but a script loophole.

In US version, this bug got fixed. The trick is like:
Code: [Select]
0x03C5: var[0x0458] = 30000
0x03CB: maxhp = var[0x0458]
0x03D3: hp = var[0x0458]
0x03DB: STOP()

But once in Japanese version, it is like:
Code: [Select]
0x03C5: IF_JUMP(var[0x0084] >= 0x0002, 0x03E6)
0x03CD: var[0x0458] = 50
0x03D3: hp = var[0x0458]
0x03DB: maxhp = var[0x0458]
0x03E3: JUMP(0x03FC)
0x03E6: var[0x0458] = 1024
0x03EC: maxhp = var[0x0458]
0x03F4: hp = var[0x0458]
0x03FC: STOP()
Though I don't know what var[0x0084] here stands for, but we can still see their kill-protection barrier is only that 1024 HP.
So once you deal 1024 damage in a turn, he gets killed.


chi_z

  • Squaretable Knight (+400)
  • *
  • Posts: 483
  • And you thought the dalton idea was ludicrous!
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #9 on: March 26, 2010, 06:57:48 pm »
thats probably what happened then. beef up your magic and whip his old ass!

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10797
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #10 on: May 08, 2010, 11:22:09 am »
I can't find where we originally wrote about Radius's HP in the encyclopedia :(

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #11 on: May 08, 2010, 12:49:54 pm »
It is here, I commented it out in the source code just now.
http://www.chronocompendium.com/Term/Radius_%28Monsters%29.html
----------

BTW, I saw that TotalChaos thing you added. http://www.chronocompendium.com/Term/Glitches_%28Chrono_Cross%29.html#TotalChaos
It is not a glitch but an unamed tech TotalChaos uses. Since that monkey is a flat sheet, when it faces its side to you, your physical attacks just won't work.
XD Too bad Sprigg transformed Chaos can't use that tech.



ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10797
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #12 on: May 09, 2010, 01:21:35 am »
Hm, what should we add to http://www.chronocompendium.com/Term/TimeDevourer_%28Lavos_Form%29.html? Does it only have the four segments (5000, 2500, 1250, 1250) or is it still fixed to 30,000 for some of the battle?

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: (Updated)TimeDevourer=30000HP?
« Reply #13 on: May 09, 2010, 01:25:44 am »
I'm not sure, maybe a link to this topic? Since there are many battles use that trick.
Shaker borthers, for example, no matter how much damage you deal to them, you can't kill them in one turn.

I guess that is because they need to speak their lines before die.