[
]
[
]
[
]
[
]
[
]
[
]
[
]
[
]
[
]
[
]
That's unlikely to happen, but if I drink the potion of literacy from
Thundarr *after* I get literacy, what would happen?
E.g. Save a ring of djinni summoning for after this 1st quest, receive the
potion, then use it to wish for literacy, then drink the potion.
--
'You receive a scroll of signature. It says:'
Chaos Master® - Posting from Porto Alegre - Brazil.
E-mail address is valid. But remove the SPAMTRAP to reply.
Nothing.
It is an artifact, though, and can be fed to the demented ratling.
Here's the disassembled part of the executable that's executed when
drinking a potion of literacy:
-------------------------------------------------------------
locLiteracy: ; CODE XREF: sub_423F20+63 j
; DATA XREF: .text:004255B0 o
push skLiteracy ; Skill
call GetSkillPosition
add esp, 4
cmp eax, -1
jnz short loc_4240E0
push offset aSuddenlyUnde_0 ; "suddenly understand about the
; secrets of reading and writing."
call MsgYou
push 30 ; Max
call Random
add eax, 40
push eax ; int
push skLiteracy ; int
call AddSkill
push 10 ; Max
call Random
add eax, 10
push eax ; int
push skLiteracy ; Skill
call AddSkillMaxDelta1
add esp, 1Ch
pop edi
pop esi
pop ebp
pop ebx
retn
; -------------------------------------------------------------------
loc_4240E0: ; CODE XREF: sub_423F20+188 j
push offset aFeelLearned_ ; "feel learned."
call MsgYou
mov esi, [esi+TItem.BUCStatus] ; 0-cursed, 1-uncursed, 2-blessed
add esp, 4
sub esi, 0
jz short loc_424125
dec esi
jz short loc_424110
dec esi
jnz short loc_42412A
mov edi, 500
push edi
push 1
call sub_47C500
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
retn
; -------------------------------------------------------------------
loc_424110: ; CODE XREF: sub_423F20+1D6 j
mov edi, 100
push edi
push 1
call sub_47C500
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
retn
; -------------------------------------------------------------------
loc_424125: ; CODE XREF: sub_423F20+1D3 j
mov edi, 20
loc_42412A: ; CODE XREF: sub_423F20+1D9 j
push edi
push 1
call sub_47C500
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
retn
; -------------------------------------------------------------------
still gotta find out what that sub_47C500 does...
--
Knowledge belongs to the World.
That's why I am here for.
> Here's the disassembled part of the executable that's executed when
> drinking a potion of literacy:
>
> -------------------------------------------------------------
>
> [snip assembler code]
This is too complicated for me to understand. Could you please explain, based on
the code, what happens when potion of literacy is drunk when already literate?
Sorry about that, I should've posted more comments with the code, and
anyway, there were many unidentified identifiers there >:]
Spoily, of course.
I
L
O
V
E
D
I
S
A
S
S
E
M
B
L
Y
I
N
G
>:]
Anyway, here's how it goes:
If you DON'T know Literacy, the game gives the message "You suddenly
understand about the secrets of reading and writing." and grants you
that skill and gives you 40-70 points of it (pure Random, no
luck/class/race calculations).
If you already have it, you get "You feel learned." and you get
delayed points for the Learning attribute: 500 when blessed, 100 when
uncursed and 20 when cursed. These "delayed" stat points are also used
when training with the dwarven weaponmaster. They probably reflect the
chance of a skill being increased during the delayed skill increase
check >8].
Didn't find this in the GB, should be added, methinks.
Also, if there's anything you'd like to know about ADOM structure, ask
me. Having disassembled the vital parts of the executable, I can find
out most stuff in minutes, it's just that there's a lot of all this
stuff (ie code) to descipher it all at once.
*TCHUNK* ...
--
there is a cheer. the gnomes have learned a new way to say hooray. [-shpongle]
address is scrambled - remove the superfluous "x" marks to reply
Almost forgot to add Spoiler Space...
i
L
O
V
E
t
o
D
i
s
A
s
s
e
m
b
l
e
!
!
!
No effect. Message only, AFAIK. While the code for the effects already
discovered confirms them, there is no code (except the message) for
this and some other mesasges. Here's a list of one-shot room effects:
----- 1 -----
Message: You hear an eerie wail for a few seconds...
Condition: PC isn't deaf
Effect: none
----- 2 -----
Message: You notice a pale fading ball of light upon entering this
room.
(more)
It quickly disappears.
Condition: PC can see the tile he's standing on (ie he's not blind
and it's not dark)
Effect: none
----- 3 -----
Message: A rat scurries between your feet and disappears in a
small hole in the ground.
Condition: PC can see the tile he's standing on
Effect: none
----- 4 -----
Message: The breeze accompanying you causes some ancient bones on
the floor to transform into dust.
(more)
You feel a sense of relief.
Condition: PC can see the tile he's standing on
Effect: Heals 1 (one) HP
----- 5 -----
Message: Upon entering this room you feel a strange magical shock!
Condition: PP is not 0
Effect: Sets PP to 0
----- 6 -----
Message: This room seems to be particularly unholy!
Condition: Player has temporary blessing
Effect: Temporary blessing is removed
----- 7 -----
Message: You hear a strange "*TCHUNK*" in your vicinity.
Condition: PC isn't deaf
Effect: none
----- 8 -----
Message: For a few seconds you see a looming shade before you. It
points its hand towards you in a threatening manner!
Then it disappears.
Condition: PC can see the tile he's standing on
Effect: none
----- 9 -----
Message: A mouth appears on the wall and says: "[random fortune]".
Condition: PC isn't deaf
- otherwise: -
Message: For a moment a mouth appears on the wall and seems to
say something!
Condition: PC is deaf
Effect: none
----- 10 -----
Message: The walls have mirrors with many distortions of your
image.
- then: -
Condition: Appearance > 18
Message: You look great in all of them.
Effect: +1 Charisma
- otherwise: -
Condition: Appearance <= 18
Message: You can't stand the sight of your warped self.
Effect: -1 Perception
- then: -
Message: All the mirrors shatter!
Effect: 1d4 damage, death reason: "was killed by shattering
mirrors"
----- 11 -----
Message: Images of books and comfortable chairs line the walls.
(more)
Suddenly the images fade away!
Condition: PC is not blind (effect can happen in the dark)
Effect: -1 Strength, +1 Learning
----- 12 -----
Message: This room looks like a spa with a mud bath. You are
hit in the face by a glob of hot mud!
(more)
Suddenly everything disappears!
Condition: PC is not blind (effect can happen in the dark)
Effect: Extracted from GB:
"Blinds the PC, lowers appearance by 1. Wipe the PC's
(F)ace, to raise the PC's appearance by 2 for a net
gain of 1."
I've verified this and couldn't have put it better
myself.
That's it. One note, though: if the effect's condition isn't
satisfied, no message is shown, but a "(more)" prompt appears. This is
the explanation of getting "(more)" prompts when entering dark rooms.
A bug, IMO, and must be removed.
If anyone wants to take a look at the code, I have it handy.
--
Knowledge belongs to the world. That's why I'm here for.
See for yourself: http://wercorporation.da.ru
>> Panteleev wrote:
>> > Also, if there's anything you'd like to know about ADOM structure,
>> > ask me. Having disassembled the vital parts of the executable, I
>> > can find out most stuff in minutes, it's just that there's a lot of
>> > all this stuff (ie code) to descipher it all at once.
> i
>
> L
> O
> V
> E
>
> t
> o
>
> D
> i
> s
> A
> s
> s
> e
> m
> b
> l
> e
> !
> !
> !
>
> That's it. One note, though: if the effect's condition isn't
> satisfied, no message is shown, but a "(more)" prompt appears. This is
> the explanation of getting "(more)" prompts when entering dark rooms.
> A bug, IMO, and must be removed.
>
> If anyone wants to take a look at the code, I have it handy.
>
I'm curious about the effects of the "benevolent/manevolent" deity. Does
it refer to the uses of prayers?
Also, can you work out exactly how to exercise the Tactics skill? Is it
fight with different tactics often, or change tactics often?
Finally, do Fairy Dragon Corpses REALLY boost mana? I have a suscpicion
that they don't, but..
Brian
> I'm curious about the effects of the "benevolent/manevolent" deity. Does
> it refer to the uses of prayers?
>
It refers to all actions that consume piety. That includes praying,
using a holy symbol to turn undead, kicking altars etc. The
"benevolent" effect reduces cost by 4 times, while the "manevolent"
one doubles it.
> Also, can you work out exactly how to exercise the Tactics skill? Is it
> fight with different tactics often, or change tactics often?
>
I'm working on it. Stay tuned.
> Finally, do Fairy Dragon Corpses REALLY boost mana? I have a suscpicion
> that they don't, but..
>
Negative. They restore PP, but that's all I found.
> Brian
--
Being spellcasters, they have a chance to increase Mana and PP, which is
done outside the specific eating function. Look it up or google for an
old post by me.
- ToGu
I'm curious: what do you use for disassembling and browsing the code?
I would wish to figure out how initial stats are generated,
but so far I haven't found a decent disassembler to do so...
--
Better send the eMails to netscape.net, as to
evade useless burthening of my provider's /dev/null...
before complaining because of my rudeness, read
http://www.unet.univie.ac.at/~a9702387/en/adl/liar-faq.txt
and killfile me...
P
>>> [snip]
>>>
>>> Finally, do Fairy Dragon Corpses REALLY boost mana? I have a
>>> suscpicion
>>> that they don't, but..
>>>
>> Negative. They restore PP, but that's all I found.
>
> Being spellcasters, they have a chance to increase Mana and PP, which is
> done outside the specific eating function. Look it up or google for an
> old post by me.
>
> - ToGu
>
Didn't find that post, but re-checked the code and yes, it's true. The
disassembly was done late at night, and I misinterpreted that code.
The corpses of all spellcasting monsters except kobold shamans have a
1/6 (17%) of raising Mana. Kobold shamans always raise Mana. I got
confused because the first time I got this message ("You also feel
closer to the mana flow of the world") was after I ate a kobold shaman
corpse, and I didn't notice such messages when eating other monster's
corpses. Here's where the real gameplay XP pays off.
Before re-checking the code, I was so convinced that I was right that
I actually created 1000 blessed fairy dragon corpses, froze the hunger
value to 1000 and started to gulp them down. And eventually, on the
8th corpse, I got the message quouted above.
Duh, we're all humans, and all of us make mistakes... especially at 5
AM. >:]
P.S. What disassembler do you use? I use IDA 4.3!
>>Being spellcasters, they have a chance to increase Mana and PP, which is
>>done outside the specific eating function. Look it up or google for an
>>old post by me.
>>
> Didn't find that post, but re-checked the code and yes, it's true. The
> disassembly was done late at night, and I misinterpreted that code.
> The corpses of all spellcasting monsters except kobold shamans have a
> 1/6 (17%) of raising Mana. Kobold shamans always raise Mana. I got
> confused because the first time I got this message ("You also feel
> closer to the mana flow of the world") was after I ate a kobold shaman
> corpse, and I didn't notice such messages when eating other monster's
> corpses. Here's where the real gameplay XP pays off.
>
> Duh, we're all humans, and all of us make mistakes... especially at 5
> AM. >:]
Yeah, as you can tell from
http://groups.google.com/groups?selm=bhjji7%24gil%241%40tyfon.itea.ntnu.no
I did exactly the same thing :)
And in general I'm wondering why you're figuring out exactly the
same things I already have. Well, at least the real Andy might
be easier to defeat given multiple sources of information :P
> P.S. What disassembler do you use? I use IDA 4.3!
IDA 4.0 here
BTW, could you try to snip what you're not replying to and not
rewrap lines in horrible ways?
- ToGu
> In article <4fd23fd6.03120...@posting.google.com>,
> pv_...@programist.ru (Panteleev Vladimir) writes:
>> On Thu, 27 Nov 2003 05:52:32 -0000, Brian <netb...@notreal.com>
>> wrote:
>>> pv_...@programist.ru (Panteleev Vladimir) wrote in
>>> news:4fd23fd6.03112...@posting.google.com:
>>>>> Panteleev wrote:
>>>>> [snip]
> I'm curious: what do you use for disassembling and browsing the code?
>
> I would wish to figure out how initial stats are generated,
> but so far I haven't found a decent disassembler to do so...
There aren't any good free disassemblers out there, so there's two ways.
- First:
Google to the IDA (Interactive DisAssembler) homepage, and make an order.
- Second, illegal (although it seems to me everybody's doing it):
Download a PeerToPeer download client (KaZaA, eDonkey, OverNet, I
recommend eMule) and search for IDA. The best version out there at the
moment is 4.3.0.740a, it is a full version. The 4.5 one is a trial beta.
People told me they use 4.17 and it still works fine.
I see there are enough people knowing assembler out there. Actually, I
expected to be some kind of messiah bringing truth and dispelling false
rumors. I don't understand then how come the GuideBook still contains such
inexact information.
In the next release of AdomBot, I'll include a detailed listing of all
monsters and items, with all their properties. I've also added a quite
complete item editor to AdomBot (I think that ADOMF is getting a little
out-of-date).
P.S. To all the people who downloaded the latest version of AdomBot, I
know they were quite disappointed because the demo-recording function
didn't work, there wasn't any functional bots that did something useful
without dying real fast and MonsterDex was practically useless. It'll be
fixed in the next release, which should be ready tonight if all goes well.
Here's the disassembled part of the executable that's executed when
drinking a potion of literacy:
-------------------------------------------------------------
locLiteracy: ; CODE XREF: sub_423F20+63 j
; DATA XREF: .text:004255B0 o
push skLiteracy ; Skill
call GetSkillPosition
add esp, 4
cmp eax, -1
jnz short loc_4240E0
push offset aSuddenlyUnde_0 ; "suddenly understand about the
; secrets of reading and writing."
>There aren't any good free disassemblers out there, so there's two ways.
The Netwide Assembler (nasm). Cannocal site: http://nasm.2y.net or
http://sf.net/projects/nasm
Gee, cool. The man asked for a DISassembler, and you give him two links to
an Assembler. Two broken links. The real homepage is
http://nasm.sourceforge.net/. Thanks anyway, I nedded a niec assembler to
see if my disassemby of the ADOM executable can be re-assembled and if
it'll still work.
The difference is that the Assembler compiles (assembles) a source code
written in assembly, while the DISassembler processes a compiled
executable to generate an assembly source code that can be recompiled back
to the original file.
>On 06 Dec 2003 23:15:49 GMT, Arturus Magi <nho...@aol.com> wrote:
>
>> From: Panteleev Vladimir pv_...@programist.ru
>> Date: Sat, 06 Dec 2003 12:20:13 +0200
>>
>>> There aren't any good free disassemblers out there, so there's two ways.
>>
>> The Netwide Assembler (nasm). Cannocal site: http://nasm.2y.net or
>> http://sf.net/projects/nasm
>
>Gee, cool. The man asked for a DISassembler, and you give him two links to
>an Assembler.
Reading the documention or homepage description would show that nasm contains
both an assembler and disassembler for every platform it's implemented on..
Two broken links. The real homepage is
>http://nasm.sourceforge.net/.
That is an alias for the second site I listed. The one I showed is the actual
base address. nasm.sourceforge.net is a subdomain of sf.net (a.k.a.
www.sourceforge.net).
> [snip]
> to handle. I was always wondering what those wine-hackers
> use for getting games to run in linux without access to
> the game's sources, especially as many games abuse bugs
> and undocumented features of windows...
Actually, Windows and Linux have very much in common. Take AdomSage for
example. Here's a quote from the docs:
How ADOM Sage works under Windows
It's possible under Windows to monitor and, I believe, intercept calls to
external libraries, much like under Linux. However, ADOM is a DOS
program, so that doesn't help any. (There is a Windows port of ADOM, but
it's only in beta.) DOS doesn't have external libraries - all of the
functions that ADOM Sage needs to monitor and intercept are inside the
code, so getting at them would require disassembling ADOM. (This is an
oversimplification - see the section on DOS for details.)
So instead ADOM Sage takes the Linux version of ADOM and makes it run
under Windows. Windows allows a program to set up its address space to
match that of a Linux program, and in most other respects (function
calling conventions, register usage, structure padding, instruction set,
etc.) Windows and Linux are identical, so this isn't too difficult to do.
Additionally, Linux programs (like Windows programs) contain detailed
information about functions that they expect the operating system to
provide, so ADOM Sage can redirect those function requests to Windows or
to its own internal routines.
Windows programs do differ from Linux programs in how they allocate stack
space. So ADOM Sage simply takes allocates all available stack space
before doing anything else. A bit wasteful on memory, but it's simple and
effective.
ADOM Sage focuses on making ADOM run under Windows, but it could be
adapted to run other Linux programs under Windows. Anyone have a use for
such functionality?
Running a Linux program under Windows consists of interpreting the ELF
file format used by Linux programs, loading the program into the Windows
program's address space, and then transferring control to the Linux
program, redirecting any requests for Linux library functions to
equivalent Windows functions.
ADOM uses two libraries - libc and ncurses. Most of libc's functions are
available in Microsoft's C runtime library. Functions from ncurses are
handled by PDCurses; I had to hack PDCurses to make it more compatible
with ncurses. (For these purposes it's not enough to be compatible at the
source level - macros, constants, and structure layouts all have to match
so that code is compatible at the binary level.)
Oddly enough, making a Linux program run under Windows is easier than
making a DOS program run under Windows. DOS programs have no standard way
of listing which functions they expect the operating system to provide, so
replacing their function requests to DOS with function requests to Windows
would probably require disassembling the program.
> From: Panteleev Vladimir pv_...@programist.ru
> Date: Sun, 07 Dec 2003 10:56:42 +0200
>> On 06 Dec 2003 23:15:49 GMT, Arturus Magi <nho...@aol.com> wrote:
>>> The Netwide Assembler (nasm). Cannocal site: http://nasm.2y.net or
>>> http://sf.net/projects/nasm
>>
>> Gee, cool. The man asked for a DISassembler, and you give him two links
>> to an Assembler.
>
> Reading the documention or homepage description would show that nasm
> contains
> both an assembler and disassembler for every platform it's implemented
> on..
>
OK, sorry about that post. I didn't find anything about a disassembler on
the site, so that's why I wrote the message, but cancelled it 5 minutes
later. Unfortunately it seems that my news server doesn't support
cancelling very well... Anyway, nasm is still in quite an early
development stage, as it doesn't support structures. I mean, there is a
macro, but it is too inflexible, and isn't compatible with TASM/MASM. As
for it's disassembler, just see Gander's post somewhere on this thread.
Anyway, if we're talking about free disassemblers, I know a great free
tool: HIEW (Hacker's vIEW). It disassembles code "on the fly", but it
recognizes MZ/PE headers, WinAPI calls, relocations, headers, can search
for XRefs and so on. Great for making quick patches.
Shareware, although not very much is cut off in the free version. Can't
remeber the homepage, use Google.