Closed Pyrdacor closed 3 years ago
-There is a flag which is used on the Guard Demon and all kinds of Gargoyles. Maybe it's some kind of immunity. My guess would be either the spell "Monster knowledge" or "Show monster LP". Could someone try these spells on Guard Demon and Gargoyle and check if the spells are possible to cast, are always reflected and/or have no effect if succeeded. (In the unfixed versions this flag is also used for Reg in the orc caves so you may test on him as well).
-There is a flag for almost all the undead monsters so I guess it means "Anti-undead spells will work on them". But the zombie master does not have this flag. So could you try to use spells like "Destroy Undead" on a zombie master and tell me if it works.
The zombie master of course does not have this flag. He is Human and not undead.
-What effects do the barrels in Spannenberg have if you touch them?
The Barrels give the "Poisoned" status
-How much SP and SLP is needed for the spell "Show monster LP"?
its 15SP and 5SLP
Thanks. Yeah true the zombie master is the necromancer. Makes sense.
Thanks for your help. Battle implementation makes progress. :)
About the guard demon thing. He is immune to all kind of magic then. Would be interesting if gargoyles have some spell immunity too or Reg in normal game version. This way I could distinguish each single spell immunity flag. Luminor has the flag too.
There is a flag which is set for all spiders and lizards except for Gigantula. If I remember correctly those monsters are the only ones which can move more than 1 tile per battle round. Can anybody confirm that?
here is a flag which is set for all spiders and lizards except for Gigantula. If I remember correctly those monsters are the only ones which can move more than 1 tile per battle round. Can anybody confirm that?
That is true. With Speed Attribute 80 or above you can move two squares. Same applies for monsters.
In my remembrence Luminor should be immune to fire spells. I will test that when i have a bit more time, as i need to play to that point.
While you're at it maybe you can check if the following monsters are immune to any spell:
Quick testing should be easier with the cheat characters and items. You can directly fly with the eagle to Luminor's tower then.
But thanks for your research so far. It's very helpful. 👍🏻
Is it possible to cast targeted holy spells on non-undead monsters? Or is it possible to hit one by a holy spell which affects a row or all?
If so is the spell performed on that monster and either reflected, without effect or denied by a message?
Is the following true?
In the original Lionheart story Valdyn's beloved Ilene was turned to stone (petrify). If you finish the game having found an amulet in a hidden level you get an alternate ending which heals her. In Ambermoon Valdyn has this amulet. It IS this item which gives the character immunity to petrify.
This was also my thought. There is a value inside the character data just next to the current conditions value. This value seems to be bit flags too. This value is 0xffff (all 16 bits set) for all monsters, NPCs and party members (start value). Except for Selena, Sabine, Valdyn and Gryban. My guess is that this value is immunity to several conditions if it is not 0xffff. Valdyn's bits are set in a way that he is either immune to Petrify or immune to most conditions except for Petrify. The former one makes more sense.
If someone has time to test, it would be awesome if you could transfer Valdyns amulet to the main character and equip it (hopefully possible) and send me a savegame of it (party_char.amb is enough). Then I can check if my guess was right.
If only Valdyn can equip the amulet, just unequip it and send me the savegame.
I use the online Ambermoon save-game editor to check and the Amulet has "Healing Property" "STEIN ZU FLESH" which I think is stone-to-flesh.
Unfortunately the savegame editor hasn't decoded all values as well. In fact I decoded more and have all the values the savegame editor knows. So the editor will not be much of help here.
I added Valdyn to my party save (manually) and transferred his amulet to the lead using Ambermoon v1.07
Unfortunately I don't have the time to get to Luminor's Tower nor a save with Valdyn in my party to try to do this all within the game.
Did the main char equip the amulet or only has it in his inventory?
Just in the inventory. Here is another save with it equipped.
It's just in Valdyn's inventory when you find him IIRC. Not equipped.
I noticed that attacks from Orcs against Valdyn and report "Orc cannot penetrate the Magical Aura" I don't know if this is relevant or a side effect of me cheating by manually adding Valdyn to my party.
Thanks for testing Alex. The penetration thing is caused by the magic defense of the armor. Each equipment has a magic attack and defense level. If the defense level of any equipment is higher than the weapon attack level of the monster, it can't penetrate the armor. The same is true when attacking a monster with higher defense level than your own attack level. In that case you can't penetrate the armor of the monster. Better weapons will help then.
Alex could you create a savegame with a snake helmet in the inventory of the main char? Best would be in first inventory slot. But then start game and move the helmet to another char and back to main char slot 1. Then save and send me the savegame.
Hope I don't bother you too much with it. Would be great if you could help when you got the time for it. 🙂
FYI: Your efforts pay off. The decoding of item and character data comes closer and closer to 100% with each bit of testing. Thanks for that.
I'm sure you already know this but the Schlangenhelm / Snake Helmet is the only cursed item in the game. It's behaviour is unusual to say the least, not sure if it is by design or a bug in the game. Once it is equipped it cannot easily be removed. The "remove cursed item" scroll/spell doesn't work as expected reportedly randomly destroying items and changing character stats. You can visit a healer and they can remove the Snake Helmet but the stats of the character who wore it never return to normal.
I managed to check for myself. Yeah I want to dig into that cursed state. A cursed item can't be removed from the wearer until the curse is broken and it will reduce the values instead of increasing them. But I thought removing the curse would add the values then. I guess this needs testing. Maybe destroying the cursed item was intended. But permanent value decrease sounds rather hard.
It ruins the game if you equip this item in the Amiga version.
Is the following true?
- Valdyn is immune to petrify
- Selena is immune to poison and crazy
- Sabine is immune to poison, paralyze and drugs
Sabine and Selena are not immune to poison. See Screenshot. Pond Lizard has no spell immunities. (Tested every Spell) Tested Zombies - no immunities
Can anyone supply a Savegame on the wood moon?
A Thalion fan Karol Kliestenec created an archive with 100 save games throughout the game during a play-through last year. It is probable that these saves are all before the Forest Moon. But maybe they will help.
Thank you Alex, Correct, I haven't finished the game (well I did before, but not in a documented way by backing up saves) Yet I can play/test/continue where I stopped lastly. Or by any way possible.
I had the time to test myself today. Tested on forest moon and tried to petrify Valdyn but the curse wesps didn't cast it in endless tries. :( But if Sabine and Selena are not immune to poison it is not likely that Valdyn is immune to petrify. I also observed Alex' savegame where the main char had his amulet equipped. The value I assumed to be the immunity flag did not change for the main char nor for Valdyn. So it is something different.
Can you think of anything that is unique to Selena, Sabine, Valdyn and Gryban? Those 4 are the only characters in game with a value other than 0xffff. At least on game start (or when they join the party).
Ok a quick update so you don't have to read all comments.
Hi,
Despite the resistances and immunities are encoded, there might be a way to understand it properly. I am just updating Amiga Forever and will look into it.
On Thu, Oct 29, 2020 at 5:26 PM Pyrdacor notifications@github.com wrote:
Ok a quick update so you don't have to read all comments.
- There is a value which is equal for all game characters (including NPCs and monsters) but has a different value for Selena, Sabine, Valdyn and Gryban. What could it be?
- There is a value which is only set for the guard demon. What can be cast or done to him and what not (spells, damage, area spells, etc).
- There is a value which is same for all monsters (0xffff), and same for all NPCs (0). Thalion, Chris and Gryban have the same value as monsters, the other party members have the same as NPCs. The NPC Dönner has a very special value of 7. What could it be? 0xffff looks like 16 set bits and 0 like 16 unset bits. 7 would be 3 bits set and 13 unset. But could also be a number and 0xffff and 0 both mean "unused". What is special about the NPC Dönner?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Pyrdacor/Ambermoon.net/issues/51#issuecomment-718868522, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARR7CA7WR22RZNOQKKD7Z23SNGJU7ANCNFSM4S4NKPRQ .
Hi,
in memory editor I can identify HP, SP, stats and skill and some more obvious char stats, but immunities are not so obvious, it seems. I remember I also was able to track conditions... Surely the immunities are there too in one way or another. Let me look at it tomorrow more thoroughly.
attached is rough comparison between Valdyn and Nelvin, not so helpful as I hoped it to be, and I plan to document the values and what values remain will get narrowed to the immunities hopefully. Testing em out will be the key. As these are not shown in the char charter of the game.
On Thu, Oct 29, 2020 at 7:41 PM Karol Kliestenec karol13@gmail.com wrote:
Hi,
Despite the resistances and immunities are encoded, there might be a way to understand it properly. I am just updating Amiga Forever and will look into it.
On Thu, Oct 29, 2020 at 5:26 PM Pyrdacor notifications@github.com wrote:
Ok a quick update so you don't have to read all comments.
- There is a value which is equal for all game characters (including NPCs and monsters) but has a different value for Selena, Sabine, Valdyn and Gryban. What could it be?
- There is a value which is only set for the guard demon. What can be cast or done to him and what not (spells, damage, area spells, etc).
- There is a value which is same for all monsters (0xffff), and same for all NPCs (0). Thalion, Chris and Gryban have the same value as monsters, the other party members have the same as NPCs. The NPC Dönner has a very special value of 7. What could it be? 0xffff looks like 16 set bits and 0 like 16 unset bits. 7 would be 3 bits set and 13 unset. But could also be a number and 0xffff and 0 both mean "unused". What is special about the NPC Dönner?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Pyrdacor/Ambermoon.net/issues/51#issuecomment-718868522, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARR7CA7WR22RZNOQKKD7Z23SNGJU7ANCNFSM4S4NKPRQ .
@Karol-13 In case you don't know yet. Here are most of character values decoded and documented. The ones marked as unknown is what I'm after: https://github.com/Pyrdacor/Ambermoon/blob/master/FileSpecs/Characters.md
I could create a small tool to edit values of monsters, NPCs and party members. But to save time I would create it as a command line tool. This way we could test some values which has for example the guard demon on small spiders etc.
I use this to quickly edit my testsaves
http://slothsoft.net/Ambermoon/Thalion-v1.05-DE/SaveEditor/
but as i understand your tool would be for the values that are not visible so i guess it would be quite usefull as you would not need to search for a specific monster.
Yes it should allow to change the values we don't know yet. I know the savegame editor and I also used some information from there. But as I said there is nothing decoded what we don't know yet already. So it isn't that useful.
I guess I will create a small tool where you can change the values of spiders so you can test all values on them in grandfather's cellar.
Ok I added a "monster value changer". It can:
The tool already paid off. I changed the byte at offset 0x10 for the pond lizard to that of the guard demon and tada it was the spell type immunity flags. I updated the character data sheet at https://github.com/Pyrdacor/Ambermoon/blob/master/FileSpecs/Characters.md and will do some more testings.
You can find the tool here (inside the zip file): https://github.com/Pyrdacor/Ambermoon/releases/download/v1.0.53/AmbermoonTools-Windows.zip
Instructions:
For example to change the pond lizards spell immunity to "immune to destruction spells only" you can do:
MonsterValueChanger.exe 1 0x10 1 0x08
The first 1 is the monster id of the pond lizard. The 0x10 is the data offset to the spell immunity flags. The second 1 is the size of the value to change (1 byte). And 0x08 is the flag for destruction spell type.
You can list all monsters with their IDs with MonsterValueChanger.exe --list
.
The tool will create a backup of your "Monster_char_data.amb" but you might want to back it up yourself beforehand for safety.
Great job! Awesome :) As for the 0x001C value, it might be 2 byte value, but to me it seems more like two 1 byte values. The numbers there are either 255 (FF) or 0~99 - which seems like resistance. As these values are two, it could be : Poison | Disease resistance respectively? [image: image.png] not sure why the values are sometimes HEX and sometimes DEC (so I added extra bytes, where is shown also food - which can possibly tell us which type is in use 10 vs 0A..) My main char has FF FF (no resistance?) Egil has 33 | 99 Nelvin has 35 | 33 Valdyn has 36 | 00 Targor has 51 | 32 (not very round numbers - not sure if these are also impacted..) Leonaria has 34 | 40 Sandra FF | FF Clementine FF | FF
Totally wild guess (as the values are not very 'round', might these change with level?)
This logic (one byte for one resistance) could be different from the spell spell resistance, as poison and disease are only two and hence calling out the 'type' would be unnecessary?
?
On Fri, Oct 30, 2020 at 10:54 AM Pyrdacor notifications@github.com wrote:
Ok I added a "monster value changer". It can:
- List all monsters with Id and Name (german umlauts are displayed badly but you can just use the ID)
- Show a specific value for a monster given by a data offset and size in bytes
- Change a value of the monster at a given data offset and size in bytes
The tool already paid off. I changed the byte at offset 0x10 for the pond lizard to that of the guard demon and tada it was the spell type immunity flags. I added the character data sheet at https://github.com/Pyrdacor/Ambermoon/blob/master/FileSpecs/Characters.md and will do some more testings.
You can find the tool here (inside the zip file): https://github.com/Pyrdacor/Ambermoon/releases/download/v1.0.53/AmbermoonTools-Windows.zip
Instructions:
- Copy the exe-file next to your game data (e.g. in the Amberfiles folder of an WinUAE installation).
- Run the CMD, navigate to that folder and run "MonsterValueChanger.exe"
- Then you will see the usage of the tool with examples
For example to change the pond lizards spell immunity to "immune to destruction spells only" you can do: MonsterValueChanger.exe 1 0x10 1 0x08
The first 1 is the monster id of the pond lizard. The 0x10 is the data offset to the spell immunity flags. The second 1 is the size of the value to change (1 byte). And 0x08 is the flag for destruction spell type.
You can list all monsters with their IDs with MonsterValueChanger.exe --list.
The tool will create a backup of your "Monster_char_data.amb" but you might want to back it up yourself beforehand for safety.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Pyrdacor/Ambermoon.net/issues/51#issuecomment-719456129, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARR7CA6WG43YH5NTSSOY7Y3SNKEN5ANCNFSM4S4NKPRQ .
Interesting. The initial savegame has only values beside 0xffff for Selena, Sabine, Valdyn and Gryban so I thought it would be special to them. But now I see that other party members have different numbers while playing.
I guess this value is ony used for party members.
I still think this are 16 bits (or at least 8 bits + a value) which active something (like immunity). Can you try to equip/unequip or move some equipent items out of inventory and re-check this value?
All your mentioned party members have bit 5 of first byte set (which is decimal 32).
Those Bugs have been fixed with this patch already
I found out some meaning of byte 0x13. It really activates some immunities (see here: https://github.com/Pyrdacor/Ambermoon/blob/master/FileSpecs/Enumerations/ElementsAndImmunities.md).
Tested all kind of spells with each bit set.
@a1exh Did you delete your latest comments? I can't see them anymore.
Yes. I just thought it was interesting how items being worn affected character abilities and how several characters were wrong as a result but as @Thallyrion points out, bugs in Party_char.amb have long since been patched independently by several different people including him.
I still think it's a valuable information. When others try to decode some values and work with an unpachted version it would be good to know that it was not intended this way. Happened to me as well when I decoded monster flags and Reg had strange values. Then found out that this is a bug and Reg is not even marked as a boss.
The information will always be available here
https://docs.google.com/spreadsheets/d/1as5W8gibm-MTb9VEqpkfgtwWviqjQx96A3NmcvzX98A/edit?usp=sharing
Some of the information is incomplete and so is on the "Unconfirmed, Unfixed" sheet but Meynaf and @Thallyrion and others have created fixes in the past. It's just a matter of updating the vague details with technical diff information
@Pyrdacor anything you find in the original files that you feel could be a data bug please make a note and if possible I'll back-port fixes to the Amiga version
@a1exh Sure but the Reg bug was already found before. If you want I could create a german and english version and fix most of the stuff. I think I understand data files and executable data well enough now to fix most things and also can compress the data back to original formats.
Is your list only for bugs of the english version? I know that there is 1 lyramion world map (ocean) which has wrong flags so there is no daylight in this area. Can find out which one but I think this is also a known bug.
And there is a bug regarding the conversation with Sandra. I think you get the wrong key if you ask her the wrong keyword (daughter or Sabine).
Yes, but I consider the English V1.07 bugs to be a superset of the Gernan ones. V1.07 has all the German bugs and more. By all means help us back port fixes to the data files but technical info on each bug would be helpful.
Ok how can we do this? I have the tools and data knowledge. I looked through the unfixed stuff. Some issues would require amiga specific programming. I can't help with that. But data changes should be no problem. In think about half the unfixed bugs are data related.
I would say we use a game version where most of the stuff is fixed and then add the other fixes and I create the compressed data files.
Then someone might create amiga disk images from that, right?
Let's discuss the patch stuff here from now on: #52
I need a bunch of information from the original game and I don't have the time for it. So maybe you guys could help me with some things:
I will add some points here from time to time. Thanks for your support.