Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heroic Challenges and Vehicle Level? #5

Open
Failinhearts opened this issue May 28, 2020 · 8 comments
Open

Heroic Challenges and Vehicle Level? #5

Failinhearts opened this issue May 28, 2020 · 8 comments
Labels
bug Something isn't working

Comments

@Failinhearts
Copy link

Thank you for fixing the writing issues with Alpha 5! Now, I only have two issues to report.

One, Heroic Challenges are a bit odd. There are 48 in existence and even setting a Skylander to "999999" gives them only 21.

And two, you may not be aware but vehicles are capable of levelling up. However, that value can only be seen in Skylanders SuperChargers Racing on Wii and 3DS. They have a max of 20, just like Skylanders. So if it could be possible to tamper with the Experience in a Vehicle, it would be great.

I'm aware you're still struggling with Traps so I won't report on anything yet aside from them being corrupted when tampering with anything. I tried assigning variants for example and it won't work, but I'm aware this feature is far from functional according to your reports.

@hegyak hegyak added the bug Something isn't working label May 28, 2020
@hegyak
Copy link
Owner

hegyak commented May 29, 2020

I don't recall if the Heroic Challenges every actually had an impact or effect on the character. Was that from the Web Game? I can look into this later on. I think it may be a situation of "Only One value can be set by the game." Or me Writing the data in the Wrong Place. Also, each game, may have it's own rules about where the Heroic Challenge data goes. Which game were you using/testing against?

I was not aware of Vehicles having level capability. I do have a 3DS and Wii but I don't have either one actively setup at the moment. That would be an extra feature to add to the editor. I wonder where the Data is written to? That would be something I need to look into for sure.

The Trap Editor is "Working" as intended. The issue, is the Trap has a Special CRC (Checksum) is not being set correctly. So when the game loads the data all CRCs (All Four of them for Traps, and all Five of them for Other Figures) are checked. If any CRC Fails, then the Figure is "Corrupt." According to the game. The Exception to this rule, is if the Type 4 CRC is invalid, then Spyro Adventures will not complain. It doesn't check that CRC. Any other game, cares about all CRCs being Valid.

Once Trap CRCs are Calculated correctly then Traps will work.

I may need to brute force the Trap to figure out what Bytes are being read in to get the CRC. It's a question of what Bytes, are being read/used. And traps getting resolved/working, means that Crystals can be edited or at least given the proper CRC. I do have valid traps with data on them, so it's just a matter of testing and trying to figure it out.

Is there any major issue aside from Traps not working that I should be looking at or trying to fix? I do appreciate the feedback and the information. It lets me know that my work is helping someone out.

@Failinhearts
Copy link
Author

Failinhearts commented May 29, 2020

Glad to help out!

You're confusing Heroic Challenges with Hero Level. Hero Level (which works perfectly in this editor) does not affect anything in the game and is linked to the shut down MMO. Heroic Challenges however are little mini-levels in Spyro's Adventure and Giants that when completed, boost the stats of your Skylander which carries over to all games (except Imaginators). Was testing with Series 1 Spyro and Spyro's Adventure.

This is major if you can get it working, because completing all 48 Heroic Challenges with every Skylander is a big grind. So this would reduce the grind greatly when making the best Skylander possible.

Heroic Challenges and Vehicle Levels so far are the only major issue I can encounter for now. Will get back to you if I find anything else. I have no experience with coding, but I at least know my Skylanders since I have every game and over 200 figures to experiment with.

@hegyak
Copy link
Owner

hegyak commented May 29, 2020

What I may have to do is break out an Adventures figure and test things myself. To fix the Heroic Challenges.

The website DarkSpyro says there are 32 Heroic Challenges for Adventures.
https://www.darkspyro.net/skylanders/heroic/

Also, the website DarkSpyro says there are 50 Heroic Challenges for Giants and says several are "Unavailable"
https://www.darkspyro.net/giants/heroic/

So, I would need to check Both Adventures and Giants to see where both games write their data too.

@Failinhearts
Copy link
Author

Eh, close enough number, heh.

Hopefully you find them.

@iamc24
Copy link

iamc24 commented Aug 15, 2020

@hegyak @Failinhearts I needed to put 9999999999 to force the max number which allowed me to get all 32 heroic challenges in Spyro's Adventure. I haven't tested Giants yet, but I would assume it would give all 50.

@hegyak
Copy link
Owner

hegyak commented Sep 17, 2020

@iamc24 In theory it should. Because the game reads the value on the figure and then sets the relevant conditions in the game.

@JohnVeness
Copy link

JohnVeness commented Oct 5, 2020

The Heroic Challenges are actually recorded on the figure as a series of bits saying whether or not the figure has completed a particular challenge. E.g. a value of 123456789 is 111010110111100110100010101 in binary, which means the figure has completed 14 challenges (if I have counted the ones correction), which will show up as 14 in game.

The 32 challenges available in Spyro's Adventure gives a 32-bit value, so a max of 4,294,967,295 would mean the figure has done all SA challenges. The bits for the extra challenges in Giants must be elsewhere, and cannot currently be set in this editor.

A proper solution would require a new window allowing the user to tick/untick the individual challenges (with tick all/untick all buttons for speed). I may have a go at coding such a thing if I get the time, although I do not know which byte offsets are used for the Giants challenges yet.

@khloros17
Copy link

So after fiddling with the decrypted hex values manually, I found the addresses for the 18 heroic challenges in Giants; area 1: block 012 offset 04 and area 2: block 02E offset 04. Just as you have pointed out, to flag all of them as completed, you need to write the sequence of 1s as 03 FF FF in hex, though i discovered you could set it to FF FF FF and have it show 56 hc completed ingame. Weird. Even weirder, the game does actually give you 5 crit chance for each of these 6 extra heroics.

It is worth mentioning that I also stumbled upon the addresses for quests in Giants, which are in the same block as the heroic challenges to the right. Setting those 9 bytes to FF made them show as completed tho it might cause some issues as not calculating properly the "quest rank" and therefore not unlocking the bronze, silver and gold hats.

In Swap Force, the quest values are stored at 014-07 for area 1 and 030-07 for area 2. Setting those 9 bytes to FF marks them as completed ingame and gives the 75HP boost as it should.

I have pretty much zero background to programming but i'd like to help where possible with the next release of this repo was there to be any.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants