Bit Blot Forum

Aquaria => Aquaria for iPad => Topic started by: StatialAeon on July 22, 2014, 12:01:06 pm

Title: Coward and recipe achievment questions
Post by: StatialAeon on July 22, 2014, 12:01:06 pm
I cannot get the Coward to drop any items.  I have killed him multiple times with the Energy Form's blasts and both of the Dual Form's attacks.  He can relinquish a small energy orb on death, but nothing else.   I've reset the game and the iPad hoping there was a variable or some parameter I could jiggle back into place, but no dice.  Any ideas?

Also, I cannot complete the recipe list because the Poison Loaf recipes are unlearnable.  IIRC, this happened to me years ago on the original PC version as well.

I'm using an iPad 2 with the 7.1.2 OS.  Possible fixes for either situation?
Title: Re: Coward and recipe achievment questions
Post by: False.Genesis on July 22, 2014, 04:06:49 pm
There were some changes in the iPad scripts, most notably:

Code: [Select]
if chance(1) then
local ing = spawnIngredient("LoafOfLife", entity_x(me), entity_y(me))
ing_setLifeSpan(ing, 0)
else
if chance(10) then
local ing = spawnIngredient("PlumpPerogi", entity_x(me), entity_y(me))
ing_setLifeSpan(ing, 0)
else
if chance(20) then
local ing = spawnIngredient("HotBorscht", entity_x(me), entity_y(me))
ing_setLifeSpan(ing, 0)
else
if chance(30) then
local ing = spawnIngredient("ArcanePoultice", entity_x(me), entity_y(me))
ing_setLifeSpan(ing, 0)
else
spawnIngredient("VeggieCake", entity_x(me), entity_y(me))
end
end
end
end

I don't know what this 0 in ing_setLifeSpan(ing, 0) does (the function does not exist on the pc), whether it sets the ingredient to never despawn, or if it makes it disappear immediately. Pretty sure #2 is what's happening.

To fix this, try opening the aquaria.dat file with a hex editor, find the coward script (should be uncompressed, unlike most other content in there) and change the 4 occurences of
Quote
ing_setLifeSpan(ing, 0)
to
Quote
--g_setLifeSpan(ing, 0)

For me this is roughly around offset 0D15B100. Alternatively search for STATE_COWARD. No idea if this will work but it's worth a try. Otherwise, use the PC version.

No idea about the PoisonLoaf thingy, sorry. All i know is that there's 3 possibilities to make a PoisonLoaf:

Quote
PoisonLoaf + PoisonLoaf = PoisonLoaf
RottenMeat + Anything = PoisonLoaf
Anything + PoisonSoup = PoisonLoaf
Title: Re: Coward and recipe achievment questions
Post by: StatialAeon on July 24, 2014, 12:10:35 am
Hey, thanks for the quick reply!  Unfortunately, those changes rendered the game unloadable, forcing a deletion and reinstall that wiped my data.   I tried again with a fresh save, and it seems like any changes to the .dat file make the installation wonky.  (No worries, though - I had already completed the game and was just maxing my inventory to satisfy a little OCD.  This will just give me a reason to pick it up again down the road!)

Re: the Poison Loaf recipes, IIRC it's because early builds of the game on PC (I first played in 2008, pre-Steam) used the phrase "Rotten Loaf" instead of "Poison Loaf," rendering those recipes impossible.  Guessing the iPad version has a similar issue.  Hopefully the game gets patched down the line with some fixes!

Thanks!
Title: Re: Coward and recipe achievment questions
Post by: False.Genesis on July 24, 2014, 01:56:02 pm
Unfortunately, those changes rendered the game unloadable, forcing a deletion and reinstall that wiped my data.   I tried again with a fresh save, and it seems like any changes to the .dat file make the installation wonky.

Hrm  :-[  I did not think the file was checksummed but apparently it is.

Well then i have another reason to get that unpacker coded eventually. I thow that the packer is this [http://achurch.org/cgi-bin/hg/aquaria-psp/file/3b4b0b14caa7/PSP/tools], so there's at least a reference available. (Didn't yet look into it though)

EDIT: woot: http://achurch.org/SIL/current/tools/extract-pkg.c

Re: the Poison Loaf recipes, IIRC it's because early builds of the game on PC (I first played in 2008, pre-Steam) used the phrase "Rotten Loaf" instead of "Poison Loaf," rendering those recipes impossible.  Guessing the iPad version has a similar issue.  Hopefully the game gets patched down the line with some fixes!

Good point, will check src to be sure.
But i doubt there will ever be a new ipad version.
Title: Re: Coward and recipe achievment questions
Post by: achurch on October 23, 2014, 10:11:15 am
I cannot get the Coward to drop any items.

Oops, it looks like this is my fault -- I accidentally broke it while adding suspend/resume support, and we didn't catch the bug before release. Sorry!
I don't know if there will be any more updates, but if there are I'll make sure to fix it.

I don't know what this 0 in ing_setLifeSpan(ing, 0) does (the function does not exist on the pc), whether it sets the ingredient to never despawn, or if it makes it disappear immediately.

It's the former -- this is used to ensure that rare items don't despawn (unless you move to a different area).
FYI, the bug is that the test at the top of dieNormal() should be "v.drop == 0" rather than "v.drop == 1".

Hey, thanks for the quick reply!  Unfortunately, those changes rendered the game unloadable, forcing a deletion and reinstall that wiped my data.

iOS automatically checksums all installed apps to prevent people from modifying them, so unfortunately you can't edit the data yourself.
Title: Re: Coward and recipe achievment questions
Post by: achurch on September 22, 2017, 04:47:28 pm
The Coward drop and recipe bugs should both be fixed in version 1.1.
Title: Re: Coward and recipe achievment questions
Post by: StatialAeon on February 02, 2019, 03:11:16 pm
Thank you so much!  I really appreciate the time and effort that goes into these updates!