Author Topic: Tech Editor - Period  (Read 20455 times)

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1763
  • Nu-chan
    • View Profile
    • Maurtopia
Re: Tech Editor - Period
« Reply #210 on: March 13, 2009, 01:49:18 am »
Damn, that makes things a little more difficult. I guess I'll have to do some copying around as I work with it then.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #211 on: March 27, 2009, 02:03:52 am »
You know those little ghosts in Magus' "Geyser" attack and in enemy Cyrus' projectile attack? There's apparently a command embedded in each ghost object or in the tech as a whole to pull the freakin' palette from the environment. I kid you not:



The first image shows a couple ghosts with an ugly black palette, and the second image shows them with the correct palette. Exact same ROM, different locations, and different spell palettes. Holy hell, I can't believe the developers stooped to a trick like that. I can't even think of a situation in which such a command would be generally useful other than some kind of geomancing spell that's supposed to change with the environment. "Geyser" in its original state is thus non-portable apparently. It's got to be the screwiest tech in the game.


Also, another discovery:

To make a tech steal a % of the enemy's HP, go to the "12 byte tech properties" and set the first byte to 0x80 and the second byte to 0x05 using the Tech Editor (if editing the ROM directly, those are switched, hehe). Now the tricky part is, to set the actual % HP to be transferred from the enemy(s) to the caster, you have to edit the third byte in that series, which is not currently editable in the Tech Editor. The byte progresses approximately in 5% intervals, so to steal 10% of the target's HP, you have to set it to 0x02. This works on bosses too -- you can literally suck all 4000 odd HP out of the Mega Mutant guarding the Black Omen's first room by setting the byte to 0x14 or above!

EDIT: Whoa, looks like that third byte I was talking about above is actually factored in as the "status offense/defense" byte. That's pretty wild -- looks like changing the first two bytes to 0x80 and 0x05 change the function of the status offense/defense byte!
« Last Edit: March 27, 2009, 04:03:43 am by FaustWolf »

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #212 on: March 27, 2009, 04:46:00 am »
Yea this came up before I think :)

the property grid (the component i use to display the data to you) is alphabatizing the properties.....At first it was totally random then I was a genius and added byte_XX before each name of the property...then it turned out I was an idiot and put byte_01 twice so the alphabatizing is swapping the two I guess? 

Byte 3 of the tech properties is actually the "status" byte.  I made an entire new section for status because it is at the granularity of "bits" instead of bytes.  So i made 8 "true/false" sections cause i thought it'd be more userfriendly.  Also note that there's two sections for status (good/bad) but you're actually affecting hte same byte in the rom so changing a bit in the good status change the same bit in the bad status.

http://chronocompendium.com/Term/Tech_Data_Notes.html

The tech properties section in there explains it more.

--JP

Feel free to edit the wiki page in that quote, nice exploring FW. 

--JP

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #213 on: March 28, 2009, 11:49:55 pm »
Brain dump here for now:

The LoadAnimation command has three variations of course, 06 xx, 03 xx and 02 xx. At least those are the only ones I've seen. Here's what each one does:

06: Static first frame of the animation
03: Plays the entire animation before moving on with the tech
02: Plays the entire animation while moving on with the tech

So let's say we have a command that makes Frog move toward the enemy and we want Frog to do a critical hit animation while he's doing that. 06 is the incorrect command because it'll just be Frog moving toward the enemy frozen in his first attack animation frame. Likewise, 03 is incorrect because Frog will do his entire attack animation, then move toward the enemy (I think he might remain frozen in the last animation frame, not sure). 02 is the one we want, and made for a kickass Nirvana Strike technique.

Speaking of Frog animations:

30: Some kind of attack, but one frame and not very useful
31: Normal attack (overhead sword swing)
32: Critical upper
33: Landing
34: Tongue toss
35: Sideswipe (I think it might be just one frame though, not sure)
36: Standing - North
37: Standing - South
38: Leap slash airborne strike (down)

3E: Surprised (I think...)
3F: Raise sword straight overhead -- like Liono.
40: Sword sparkles while raised overhead (a continuation of 3F in techs like "Leap Slash")

There's an unknown routine in Ayla's Triple Kick consisting of the bytes 10 02 11. This is surprisingly a LoadAnimation02 command sandwiched between two animations! At least that's how it was behaving for me. This determines what Ayla does while standing and her sprite gets copied.

One final random fact: to make a tech self-targeting only, change the targeting bytes to 0200. If I had to make a wild guess, I'd say the first byte in the targeting set determine where the cursor can go, and it cycles through a finite number of possibilities. Meaning that if there are 5 possibilities, 00 and 05 will give you the exact same result. I haven't investigated that thoroughly though. Also, making a tech self-targeting has the unfortunate effect of causing the caster to face upward, because the game engine is trying to make the sprite face itself basically.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #214 on: March 30, 2009, 07:06:44 pm »
Blargh! Elemental determination is still defying me. Comparing the 11-byte data for a few spells, I get this:


No pattern; there should be a byte position that's identical for Lightning, Lightning 2, and Spire, and that position should also be the same for Water, Water 2 and Ice, but different from the lightning ones. However, I'm not sure I'm looking at the right data. I have Cyclone's 11-byte data beginning at 0xC1BEB. Is that verified at all?

I haven't tried decomposing the bytes into bits yet either...
« Last Edit: March 30, 2009, 07:16:22 pm by FaustWolf »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: Tech Editor - Period
« Reply #215 on: March 30, 2009, 07:17:29 pm »
It should be byte 4 according to what I posted earlier.

Slash: 82
Lightning: 82
Lightning 2: 82
Luminaire: 82

Ice: 22
Ice 2: 22

Flame toss: 12
Fire: 12

Edit:  0xC1BEB would be the empty tech before Cyclone.
« Last Edit: March 30, 2009, 07:24:10 pm by Vehek »

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Tech Editor - Period
« Reply #216 on: March 30, 2009, 07:19:24 pm »
Probably not posted, but has anything for the Draw Geometry graphics for techs been found at all?

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #217 on: March 30, 2009, 08:42:07 pm »
Oh snap, I totally forgot about the dummy tech and started straight with Cyclone. I'll update my spreadsheet Vehek, huge thanks for pointing this out.

Man, the DrawGeometry data would be great to explore. I don't think I've seen any exploration of it lately though...

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #218 on: March 30, 2009, 09:04:58 pm »
Probably not posted, but has anything for the Draw Geometry graphics for techs been found at all?

You can check the Robo Tackle tech.  It's definitely there and I would manipulate it by changing the right commands but not enough where I felt comfortable saying it was "decoded"

--JP

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Tech Editor - Period
« Reply #219 on: March 30, 2009, 09:13:10 pm »
Alright.  Thanks for that heads up.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #220 on: March 30, 2009, 11:19:51 pm »
Awwww yeah, tested on a Golem and Vehek is absolutely correct. Byte #3 is still the same value for all the techs I looked up, so I'm not sure if that needs to be set to 0x40 as part of the elemental effect or if it has some other function.



So we have the following elemental values:

Lightning: 0x82
Fire: 0x12
Water: 0x22
Shadow: 0x42
Physical: 0x02 and 0x04 from a quick investigation of Ayla's techs -- there may be a range of different values for these. I wonder what the nuances are?

In sum:  :grimm

EDIT: I'm attaching the updated version of the comprehensive tech address guide to adjust the 11-byte info starting addresses in accordance with Vehek's observations. Now I'm kind of afraid of what happens to the player techs after tech index 0x53 on the guide; not sure what the blank space is about.
« Last Edit: March 30, 2009, 11:24:39 pm by FaustWolf »

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Tech Editor - Period
« Reply #221 on: March 31, 2009, 02:51:33 pm »
So we have the following elemental values:

Lightning: 0x82
Fire: 0x12
Water: 0x22
Shadow: 0x42
Physical: 0x02 and 0x04 from a quick investigation of Ayla's techs

Just kibitzing here, but it looks like they are bitfields.  80 - Lightning, 40 - Shadow, 20 - Water, 10 - Fire.  Physical is the absence of all elements.  A spell with all elements would have F0 as the value.  One would think that Antipode would have the value 30 for water and fire, but it looks like they went with Shadow instead (if your spreadsheet is correct), probably for elemental affinity reasons.  The lower half of the byte is probably used for a non-element purpose.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #222 on: March 31, 2009, 03:13:39 pm »
Ooh, if we made a spell that was bi-or tri-Elemental, say Fire and Shadow, would enemies weak to Fire and enemies weak to Shadow be weak to that spell, making it more versatile? I'll have to check that out.

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Tech Editor - Period
« Reply #223 on: April 02, 2009, 10:40:23 am »
Ooh, if we made a spell that was bi-or tri-Elemental, say Fire and Shadow, would enemies weak to Fire and enemies weak to Shadow be weak to that spell, making it more versatile?

Maybe, but if other games are any indication, it will just exit at the first condition it finds.  So if an enemy absorbs fire and is weak against shadow, it will absorb a Fire/Shadow spell.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #224 on: April 02, 2009, 09:00:08 pm »
Holy crap is my spreadsheet off on the Dual and Triple Tech 12-byte data! Good thing Vehek found out earlier that Lifeline's 12-byte data begins at 0xC2427 almost a year ago, or I wouldn't have been able to get a really awesome tech working correctly.

I had Fire Sword 2's 12-byte data beginning at 0xC2427. I wonder how these are arranged? There's got to be a pointer table somewhere to the 12-byte data...the single techs and enemy techs match up perfectly but the dual and triple techs are just all over the place!