Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Appearance and Shop Prices -- Tonight's Testing

29 views
Skip to first unread message

Erik Piper

unread,
Feb 12, 2004, 8:36:12 PM2/12/04
to
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
EXECUTIVE SUMMARY:
- Tonight I tested the effect of appearance on female characters'
buy/sell prices in shops with the help of AdomBOT.
- Two female characters of the same race, beauty, class, alignment,
and appearance saw profoundly different prices at Leggot's. Probable
factors are luck status and Leggot's race (which is already known to
affect prices anyway; I'm too lazy to look up the existing, relevant
Guidebook section. It's 1:51 a.m., nuff said).
- These profoundly different prices included a profoundly different
"turnaround point" where the price at which one can sell to shops
falls (yes, falls, for those of you tuning in late) as appearance
rises. During testing, one character's turnaround point was 20,
matching my original test that made use only of in-game features. The
other's turnaround point was 7.
- The above breakpoint applied for 1-item stacks and the selling of 1
item out of a multi-item stack. One character tested selling a
multi-item stack in full, and saw a very different curve.
- Buy and Sell prices apparently "froze" at Ap 35 and higher, for both
characters, and for any stack type.
- A mini-test involving alignment did not seem to show any effect of
alignment on price.


For tonight's testing, I decided to do things the "easy way". I fired
up AdomBOT (which I've never used before in my life), started a new
character, buffed it up, headed off to the HMV, and (once I figured
out that this was the simplest solution) began quaffing my many cursed
and uncursed potions of beauty as needed and offering my world-famous
aquamarine(s) for sale. I stumbled a bit at the beginning, and AdomBOT
is still, errrrrrr, a bit unstable, but I think I've still managed to
find some interesting data.

All characters used were female human wizards.

I gave the first character I sent down a large number of intrinsics,
including lucky/fate smiles and invisibiity. I don't THINK I gave her
all stats 99 (AdomBOT has a button for this), but rather just boosted
some important ones using !ofStat's. She had all spells maxed out, if
it matters. The natures of the items in her inventory were
fundamentally manipulated through AdomBOT in all sorts of ways at all
sorts of times; it is my sincere hope that this did not have any side
effects on shop prices. Leggot was generated for this character as a
gnome. Unfortunately, ADOM crashed just before she could perform
testing with multi-item stacks. (Incidentally, its behavior became
rather weird before the crash -- it was dividing shop-owned, uncursed,
identified aquamarines into two groups. It crashed while I was
dropping some recently bot-manipulated aquamarines outside the shop in
an attempt to adjust to the aberration.)

I gave the second character maxed stats and the usual robe [+100,
+100] and dagger of whoopass, but did not play with their intrinsics.
Leggot was generated for this character as a troll.

CHARACTER 1

Appearance Sell Buy
1 387 1502
2 397 1450
3 406 1398
4 416 1347
5 425 1295
6 435 1243
7 444 1191
8 454 1139
9 463 1087
10 473 1036
11 482 1016
12 491 995
13 501 974
14 510 953
15 520 932
16 529 912
17 539 891
18 548 870
19 558 849
20 567 828
21 565 808
22 550 787
23 536 766
24 521 745
25 506 724
26 492 704
27 478 684
28 464 663
29 449 642
30 434 621
31 420 601
32 406 580
33 391 559
34 376 538
35+ 361 517
(after about 45 or so, I kind of randomly quaffed 3-5 potions of
beauty at a time and occasionally checked up to 99)


CHARACTER 2

Hopefully the column titles will be mostly self-explanatory. The last
two columns are the result of automatic checkS using Excel. PRAVDA
means Boolean TRUE, NEPRAVDA means FALSE. The one NEPRAVDA in the
first of the columns almost certainly means I made a data-entry error,
please forgive me for not going ahead and simply hunting it down and
correcting it. It's now 2:21 a.m. The second column watches for the
point where multi-item stacks start to "misbehave." Laszlo, it's in
Excel as =d:d=f:f, rather than =b:b=f:f.

Appearance Stack of 1 - Sell Stack of 1 - Buy Stack of 2 - Sell-1
Price Stack of 2 - Sell-2 Price Sell-2 Price/2 1 = 1? 2 = 2x1?
1 738 1551 738 1476 738 PRAVDA PRAVDA
2 756 1497 756 1512 756 PRAVDA PRAVDA
3 774 1444 774 1548 774 PRAVDA PRAVDA
4 792 1390 792 1584 792 PRAVDA PRAVDA
5 810 1337 810 1620 810 PRAVDA PRAVDA
6 828 1283 828 1656 828 PRAVDA PRAVDA
7 846 1230 846 1692 846 PRAVDA PRAVDA
8 823 1176 823 1728 864 PRAVDA NEPRAVDA
9 786 1123 786 1764 882 PRAVDA NEPRAVDA
10 749 1070 749 1800 900 PRAVDA NEPRAVDA
11 733 1048 733 1836 918 PRAVDA NEPRAVDA
12 718 1026 718 1872 936 PRAVDA NEPRAVDA
13 703 1005 703 1908 954 PRAVDA NEPRAVDA
14 688 983 688 1944 972 PRAVDA NEPRAVDA
15 674 963 674 1980 990 PRAVDA NEPRAVDA
16 658 941 658 2016 1008 PRAVDA NEPRAVDA
17 643 919 643 2052 1026 PRAVDA NEPRAVDA
18 628 898 628 2088 1044 PRAVDA NEPRAVDA
19 613 876 613 2124 1062 PRAVDA NEPRAVDA
20 598 855 598 2160 1080 PRAVDA NEPRAVDA
21 583 834 583 2196 1098 PRAVDA NEPRAVDA
22 569 813 569 2232 1116 PRAVDA NEPRAVDA
23 533 791 553 2214 1107 NEPRAVDA NEPRAVDA
24 538 769 538 2152 1076 PRAVDA NEPRAVDA
25 523 748 523 2094 1047 PRAVDA NEPRAVDA
26 508 726 508 2032 1016 PRAVDA NEPRAVDA
27 494 706 494 1976 988 PRAVDA NEPRAVDA
28 478 684 478 1914 957 PRAVDA NEPRAVDA
29 463 662 463 1852 926 PRAVDA NEPRAVDA
30 448 641 448 1794 897 PRAVDA NEPRAVDA
31 433 619 433 1732 866 PRAVDA NEPRAVDA
32 419 599 419 1676 838 PRAVDA NEPRAVDA
33 403 577 403 1614 807 PRAVDA NEPRAVDA
34 389 556 389 1556 778 PRAVDA NEPRAVDA
35 up to at least 55 373 534 373 1494 747 PRAVDA NEPRAVDA


MUST. SLEEP. NOW.

But first a minor and utterly pointless YAGBU:

If you drink a potion of potential stat and that stat's potential is
already at 99, the following message occurs:

"Completely tasteless."

I bet you were all dying to know THAT!

Long live ADOM,

Erik

Andy Williams

unread,
Feb 12, 2004, 10:09:07 PM2/12/04
to
Erik Piper wrote:

> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .

This whole thing strikes me as a bug.



> But first a minor and utterly pointless YAGBU:

> If you drink a potion of potential stat and that stat's potential is
> already at 99, the following message occurs:

> "Completely tasteless."

Similar to the message you get when eating a karmic corpse when not
cursed or doomed, with lucky and fate smiles:

"Tastes like stale bread."
--
Andy Williams - ADOM Guidebook: http://www.andywlms.com/adom/
Mirror: http://users.rcn.com/andy.williams/adom/

Laszlo

unread,
Feb 13, 2004, 11:15:29 AM2/13/04
to
er...@sky.cz (Erik Piper) wrote in message news:<c605db35.0402...@posting.google.com>...

> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> .
> EXECUTIVE SUMMARY:
> - Tonight I tested the effect of appearance on female characters'
> buy/sell prices in shops with the help of AdomBOT.

Whee! Data! Let's see what questions pop up.

There will be a summary of interesting things for non-mathematicians
at the very end of the post.

> - Two female characters of the same race, beauty, class, alignment,
> and appearance saw profoundly different prices at Leggot's. Probable
> factors are luck status and Leggot's race (which is already known to
> affect prices anyway; I'm too lazy to look up the existing, relevant
> Guidebook section. It's 1:51 a.m., nuff said).

I highly doubt that luck plays a role. Just a hunch, though. On the
other hand, Leggot's race is known to play a very important role in
shop prices.

> - These profoundly different prices included a profoundly different
> "turnaround point" where the price at which one can sell to shops
> falls (yes, falls, for those of you tuning in late) as appearance
> rises. During testing, one character's turnaround point was 20,
> matching my original test that made use only of in-game features. The
> other's turnaround point was 7.

Interesting, very interesting. This oughta put a nice curve ball into
my lovely equations.

> - The above breakpoint applied for 1-item stacks and the selling of 1
> item out of a multi-item stack. One character tested selling a
> multi-item stack in full, and saw a very different curve.
> - Buy and Sell prices apparently "froze" at Ap 35 and higher, for both
> characters, and for any stack type.

Huh. I was right, apparently :)

> - A mini-test involving alignment did not seem to show any effect of
> alignment on price.

Interesting, though not particularly surprising.

> For tonight's testing, I decided to do things the "easy way". I fired
> up AdomBOT (which I've never used before in my life), started a new
> character, buffed it up, headed off to the HMV, and (once I figured
> out that this was the simplest solution) began quaffing my many cursed
> and uncursed potions of beauty as needed and offering my world-famous
> aquamarine(s) for sale. I stumbled a bit at the beginning, and AdomBOT
> is still, errrrrrr, a bit unstable, but I think I've still managed to
> find some interesting data.
>
> All characters used were female human wizards.

Testing still needs to be done for male characters, and for other
classes (particularly merchants).

> I gave the first character I sent down a large number of intrinsics,
> including lucky/fate smiles and invisibiity.

I doubt that lucky/fate smiles matters, and I'm pretty damn sure that
invisibility doesn't.

> I don't THINK I gave her all stats 99 (AdomBOT has a button for
> this), but rather just boosted some important ones using !ofStat's.
> She had all spells maxed out, if it matters.

I'd be very surprised if it did.

> The natures of the items in her inventory were
> fundamentally manipulated through AdomBOT in all sorts of ways at all
> sorts of times; it is my sincere hope that this did not have any side
> effects on shop prices. Leggot was generated for this character as a
> gnome. Unfortunately, ADOM crashed just before she could perform
> testing with multi-item stacks. (Incidentally, its behavior became
> rather weird before the crash -- it was dividing shop-owned, uncursed,
> identified aquamarines into two groups. It crashed while I was
> dropping some recently bot-manipulated aquamarines outside the shop in
> an attempt to adjust to the aberration.)

Huh. I'll assume that sales prices weren't affected by this. Let's hope
it's true :)

> I gave the second character maxed stats and the usual robe [+100,
> +100] and dagger of whoopass, but did not play with their intrinsics.
> Leggot was generated for this character as a troll.

A gnome and a troll, huh? According to the Guidebook, gnomes and trolls
offer humans the same prices (100%). So then this probably isn't the
cause for the differences.

Observations:

1) The basic trends are very similar to your first test. Both sell and
buy prices advance in a linear fashion until App 10, where there is a
break in the buy price (but not the sell price). After a while, sell
prices hit a ceiling and start going down along with the buy price.

2) The ceiling appears to be consistently 70% of the buy price here.
This is exactly double the previous ceiling (35%). It's just as
consistent.

3) The 1/30 decreases in the buy price up to App 10, and then the
1/75 decreases up to App 35 are the same here. This is very relevant;
it seems this is a constant.

4) The decrease in sell price, however, is not _completely_ constant.
While in the previous data, it was 1/40 of the base sales price per
App point (actually, it was more like 1/38.7), now it is more like
1/41.7. Both close to 1/40, but not exactly. I don't know where this
difference might come from. Also, the base buy price has a completely
different relationship to the base sell price: Here, base sell price
is about 24% of base buy price. In the previous example, it was more
like 12%. (Double again, but only approximately. Probably no
significance)

Okay, let's push on.

> CHARACTER 2
>
> Hopefully the column titles will be mostly self-explanatory. The last
> two columns are the result of automatic checkS using Excel. PRAVDA
> means Boolean TRUE, NEPRAVDA means FALSE. The one NEPRAVDA in the
> first of the columns almost certainly means I made a data-entry error,
> please forgive me for not going ahead and simply hunting it down and
> correcting it. It's now 2:21 a.m. The second column watches for the
> point where multi-item stacks start to "misbehave." Laszlo, it's in
> Excel as =d:d=f:f, rather than =b:b=f:f.

Very clear. Good work, thanks.

On the other hand, my newsreader can't deal with this table properly;
I've reformatted it to look good in a monospace font. Hopefully, I
haven't garbled anything.



> Appearance Stack of 1 - Sell Stack of 1 - Buy Stack of 2 - Sell-1
> Price Stack of 2 - Sell-2 Price Sell-2 Price/2 1 = 1? 2 = 2x1?

App 1-S 1-B 2-S1 2-S2 2-S2/2 1-S=2-S1? 2-S2=2*1-S?

> 1 738 1551 738 1476 738 PRAVDA PRAVDA
> 2 756 1497 756 1512 756 PRAVDA PRAVDA
> 3 774 1444 774 1548 774 PRAVDA PRAVDA
> 4 792 1390 792 1584 792 PRAVDA PRAVDA
> 5 810 1337 810 1620 810 PRAVDA PRAVDA
> 6 828 1283 828 1656 828 PRAVDA PRAVDA
> 7 846 1230 846 1692 846 PRAVDA PRAVDA
> 8 823 1176 823 1728 864 PRAVDA NEPRAVDA
> 9 786 1123 786 1764 882 PRAVDA NEPRAVDA
> 10 749 1070 749 1800 900 PRAVDA NEPRAVDA
> 11 733 1048 733 1836 918 PRAVDA NEPRAVDA
> 12 718 1026 718 1872 936 PRAVDA NEPRAVDA
> 13 703 1005 703 1908 954 PRAVDA NEPRAVDA
> 14 688 983 688 1944 972 PRAVDA NEPRAVDA
> 15 674 963 674 1980 990 PRAVDA NEPRAVDA
> 16 658 941 658 2016 1008 PRAVDA NEPRAVDA
> 17 643 919 643 2052 1026 PRAVDA NEPRAVDA
> 18 628 898 628 2088 1044 PRAVDA NEPRAVDA
> 19 613 876 613 2124 1062 PRAVDA NEPRAVDA
> 20 598 855 598 2160 1080 PRAVDA NEPRAVDA
> 21 583 834 583 2196 1098 PRAVDA NEPRAVDA
> 22 569 813 569 2232 1116 PRAVDA NEPRAVDA

> 23 533 791 533 2214 1107 PRAVDA NEPRAVDA


> 24 538 769 538 2152 1076 PRAVDA NEPRAVDA
> 25 523 748 523 2094 1047 PRAVDA NEPRAVDA
> 26 508 726 508 2032 1016 PRAVDA NEPRAVDA
> 27 494 706 494 1976 988 PRAVDA NEPRAVDA
> 28 478 684 478 1914 957 PRAVDA NEPRAVDA
> 29 463 662 463 1852 926 PRAVDA NEPRAVDA
> 30 448 641 448 1794 897 PRAVDA NEPRAVDA
> 31 433 619 433 1732 866 PRAVDA NEPRAVDA
> 32 419 599 419 1676 838 PRAVDA NEPRAVDA
> 33 403 577 403 1614 807 PRAVDA NEPRAVDA
> 34 389 556 389 1556 778 PRAVDA NEPRAVDA

> 35+ 373 534 373 1494 747 PRAVDA NEPRAVDA

I assumed that line 23 of the 2-S1 column is indeed a data entry
error; it should be 533, not 553. I've taken the liberty of
correcting this in the table, and modifying NEPRAVDA to PRAVDA
(whatever those words mean... EQUAL and UNEQUAL?)

Conclusions:

1) The sell price for selling a single object is the same whether
it is part of a larger stack or not (no surprises here).

2) The rules for buying an item work _exactly_ the same as in all
previous cases: 1/30 of the base buy price goes down every
App point until App 10, the 1/75 every App point after App 35.

3) The rules for selling a _single_ item are also very similar.
Again, there is a 70% "ceiling", that is, the sell price can never
go above 70% of the buy price. The base sell price here, however,
is about half of the base buy price! This is what accounts for the
ceiling being reached very early, at App 7.

4) The rules for selling a 2-item stack are strange indeed. While
it is basically the same as selling the two items seperately, the
ceiling is much higher! (App 22 in this case) In fact, it should be
possible, based on this table, to get all the shopkeepers money by
selling 2 of the same item then buying it back, assuming your
Appearance is 15 or higher. This is, needless to say, big news.
(And bug news).

This data is insufficient for me to figure out exactly _how_ the
bug operates. Suffice it to say that, when selling 2 items in a
stack, it is possible to get a Sell Price that is almost 40%
larger than the Buy Price!

Functions:

*** For buying an item ***

The item has a base buy price.

If Appearance is 10 or less:
Buy_Price = ( (30-App)/30 ) * Base_Price
If Appearance is higher than 10 but below 35:
Buy_Price = ( (60-App)/75 ) * Base_Price
If Appearance is 35 or more:
Buy_Price = 1/3 * Base_Price

(my previous function had a silly bug in it. Corrected)


*** For selling a single item ***

This appears to be much more variable than selling an item. I can deduce
so little about the precise variables for selling, that there is no point
in writing up an equation. All that is known is that the sell price
increases linearly with Appearance, until it hits a pre-determined
percentage cap (the value for this cap can be 35% or 70%, and possibly
any number of other values; I have no idea what it's based on). In other
words, the sell price can never go above a certain percentage of the
buy price. In turn, this means that regarding Appearance scores, there
is (probably) always a "sweet spot", that is, an ideal Appearance score
for selling a given item. Unfortunately, I don't know how one can figure
out where this "sweet spot" is, except by experimentation. And it's
quite possible that different items have different "sweet spots", even
for the same character and the same shopkeeper.


*** For selling multiple items ***

This basically works the same as selling a single item, but there is an
exploitable bug. The percentage cap doesn't seem to work properly for
multiple items, meaning the the "sweet spot" for Appearance tends to
be a lot higher. This may mean that you can sell items for a larger
amount than you can buy them back for, or it may just mean that you
will get a better deal for selling items in stacks.

> MUST. SLEEP. NOW.
>
> But first a minor and utterly pointless YAGBU:
>
> If you drink a potion of potential stat and that stat's potential is
> already at 99, the following message occurs:
>
> "Completely tasteless."
>
> I bet you were all dying to know THAT!
>
> Long live ADOM,
>
> Erik

Important conclusions:

1) There's no point whatsoever to having App higher than 35. It changes
_nothing_. At least, this seems to be the case in shops.

2) Having an App of at least 10 is important if you're planning to buy
stuff. Each point of App below 10 can add a lot to prices.
App points above 10 are also nice to have, but give fewer bonuses.

3) When selling things, there is a "sweet spot", a point where you
get an optimal amount of money for an item. You'd get less money if
your Appearance were lower, and also less moeny if it were higher.
Unfortunately, it is difficult to predict where this "sweet spot" is.

4) If you have a high Appearance score, it appears very possible to
exploit a bug where you can get more for selling a stack of items
than they cost to buy. You need a stack of 2 (or more) identical
items to attempt to exploit this bug.

5) Always sell items in stacks, if you can. Unless, of course, you
are unwilling to exploit what is probably a bug.

Laszlo

The Wanderer

unread,
Feb 13, 2004, 12:39:19 PM2/13/04
to
Laszlo wrote:


> I assumed that line 23 of the 2-S1 column is indeed a data entry
> error; it should be 533, not 553. I've taken the liberty of
> correcting this in the table, and modifying NEPRAVDA to PRAVDA
> (whatever those words mean... EQUAL and UNEQUAL?)

Russian - roughly "untruth" and "truth", though context may modify those
considerably (and I *very* much don't know the language). As Erik
indicated, though, they're equivalent to Boolean FALSE and TRUE,
respectively.

--
The Wanderer, butting in again

A government exists to serve its citizens, not to control them.

Vladimir Panteleev

unread,
Feb 13, 2004, 2:10:38 PM2/13/04
to

Let me get a few things clear.

I know that I haven't included any documentation on the item editor, as
well as the other cheating functions. But, if you follow these
instructions, Adom and AdomBot should never crash because of memory
manipulation.

When you perform an action in Adom, the addresses of items in memory
change. That means that AdomBot thinks that an item's information is
still stored at an address, bu actually there's some other data there,
and modifying it would corrupt the game memory and meybe crash Adom
and/or AdomBot. That's why you should:

when you do _any_ kind of action in ADOM (movement, chatting,
especially working with inventory) you should close all item windows,
press Refresh from the item list and re-open the items. This also
applies to the player editor: press "Refresh from ADOM memory" if
you've modified some stats, otherwise pressing "Write to ADOM memory"
would write the old stats, displayed currently in the inputs.

It's tedious if you do extensive work with inventory, but who said
cheating should always be fun >:]

Next time, ask me first if you have any problems with AdomBot.

--
Knowledge belongs to the World.
That's why I'm here for.

http://wercorporation.da.ru/

Dodrudon Philip USA

unread,
Feb 14, 2004, 4:01:14 AM2/14/04
to
er...@sky.cz (Erik Piper) wrote in message news:<c605db35.0402...@posting.google.com>...
> [snip: testing data for 2 chars]

Wow, you're dedicated!! This might be intentional by TB, perhaps
because shopowners get jealous and become (secretly) hostile to
someone who looks (much) better than them? Guess those piles of ugly
clothes finally come in handy...

Erik Piper

unread,
Feb 14, 2004, 3:57:41 PM2/14/04
to
Vladimir Panteleev <pv_wer...@programist.ru> wrote in message news:<opr3bov0...@news.individual.net>...

> On 12 Feb 2004 17:36:12 -0800, Erik Piper <er...@sky.cz> wrote:
>
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .

<snip>


> When you perform an action in Adom, the addresses of items in memory
> change. That means that AdomBot thinks that an item's information is
> still stored at an address, bu actually there's some other data there,
> and modifying it would corrupt the game memory and meybe crash Adom
> and/or AdomBot. That's why you should:
>

<skip instructions that are a natural result of that>

That makes sense. Thanks. Sorry for having been so flippant; I was a
little grumpy after all those crashes at the start and spending hours
with only my own "voodoo" guidelines for avoiding crashes.

While I have you on the phone, so to speak:

1.
One thing that caused crashes more frequently than others, and MIGHT
have had a separate crash-inducing power, was any sort of attempt to
give items a negative modifier. When the program didn't crash
outright, it -- always, I think -- gave a +0 instead of a negative.
Now, I grant that when actually CHEATING, one is usually not going to
give one's items negative modifiers, but during research, this
probably can be useful some of the time. (Maybe not, however -- there
may not be any kind of testing where stat-altering items would be more
useful than a large amount of cursed and uncursed potions of <stat>).

2.
May I make an overall suggestion? I don't mean any offense by it.
Please find the five or ten UI elements in AdomBOT with the smallest
clickable surface area and redesign them to have a larger area or
greater clickable percent (like those lines with checkboxes that can
only be toggled using the checkbox, grrrr :-)). Tiny clickable areas
for controls are one of the biggest UI annoyances out there. (A prime
example are the item editing windows - in w98 at least, they use that
really tiny Close button -- must be something like 8x8 pixels -- that
Windows sometime provides. Yucky. Considering that it looks like one
should be using that little Close button a LOT to avoid crashes, it
deserves to be bigger, not smaller, than average.)

3.
A second suggestion -- since it is dangerous to make changes from the
item editing windows after causing a state change in ADOM, why not
simply provide the user an "auto-close Item Editing windows upon state
change in ADOM" option, and perhaps even turn it on by default? This
is vastly better than putting a note to that effect in the manual. I
do tech support for a living and BELIEVE me, NO-ONE reads manuals.
(Well, I do, but please don't tell anybody.)

4.
I found the weapon-stat editing a little counter-intuitive. Until I
realized that it was setting a min-max range (I was expecting xdy
format), I kept giving myself xd0 weapons. The funny thing is, ADOM
accepted them. I had a REALLY badass +100 to hit, 10d0 sword at one
point... I could still do damage thanks to my grand mastery and
strength of 99, but it wasn't quite what I expected. ;-)

> It's tedious if you do extensive work with inventory, but who said
> cheating should always be fun >:]
>

Vladimir, I'm afraid cheating can be quite easy -- who needs to do
anything complicated when you can just step in once in a while (after
each armor destruction, I suppose) and crank your armor up to
[+100,+100] and your weapon similarly? Unfortunately, research, the
type of use whose results will reach and help far more players, can be
somewhat impeded by this.



> Next time, ask me first if you have any problems with AdomBot.

:-) I was wondering if you'd find that post and catch me on
something... I hope you are proud to see AdomBOT being used in a role
that has long been painfully empty: a worthy replacement for WADOMF.

Cheers
Erik

Erik Piper

unread,
Feb 14, 2004, 5:07:36 PM2/14/04
to
laszlo_...@freemail.hu (Laszlo) wrote in message news:<36c239a1.04021...@posting.google.com>...

> er...@sky.cz (Erik Piper) wrote in message news:<c605db35.0402...@posting.google.com>...
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
> > .
Before anything, I'd like to note that I plan to do more testing, but
not until a) I win my current game, or b) I hit a point in that game
(probably smithing or some sort of scumming) that is tedious enough to
make testing attractive again.

> > EXECUTIVE SUMMARY:
> > - Tonight I tested the effect of appearance on female characters'
> > buy/sell prices in shops with the help of AdomBOT.
>
> Whee! Data! Let's see what questions pop up.
>
> There will be a summary of interesting things for non-mathematicians
> at the very end of the post.
>
> > - Two female characters of the same race, beauty, class, alignment,
> > and appearance saw profoundly different prices at Leggot's. Probable
> > factors are luck status and Leggot's race (which is already known to
> > affect prices anyway; I'm too lazy to look up the existing, relevant
> > Guidebook section. It's 1:51 a.m., nuff said).
>
> I highly doubt that luck plays a role. Just a hunch, though. On the
> other hand, Leggot's race is known to play a very important role in
> shop prices.
>

Another thing that occurs to me is some stat other than Appearance,
since the two characters who saw a turnaround point for the 1-item
Sell Price at 20 both had non-maxed stats, and the one with a
turnaround at 7 had maxed stats. I'll try out luck and stat variants
in future testing.

Yet another possible variant is item type. Although I performed all
testing using aquamarines (trying to minimize modified variables),
there are, unfortunately, 2 types of aquamarines in AdomBOT. I'm sure
you've noticed or will have noticed my query to Vladimir on the
subject; hopefully we will know more soon.

(OT: leave it to a wannabe Czech, a Hungarian, and a Moldavian to
study in detail the laws of market economics in ADOM... :-)))

> > - These profoundly different prices included a profoundly different
> > "turnaround point" where the price at which one can sell to shops
> > falls (yes, falls, for those of you tuning in late) as appearance
> > rises. During testing, one character's turnaround point was 20,
> > matching my original test that made use only of in-game features. The
> > other's turnaround point was 7.
>
> Interesting, very interesting. This oughta put a nice curve ball into
> my lovely equations.
>
> > - The above breakpoint applied for 1-item stacks and the selling of 1
> > item out of a multi-item stack. One character tested selling a
> > multi-item stack in full, and saw a very different curve.
> > - Buy and Sell prices apparently "froze" at Ap 35 and higher, for both
> > characters, and for any stack type.
>
> Huh. I was right, apparently :)
>
> > - A mini-test involving alignment did not seem to show any effect of
> > alignment on price.
>
> Interesting, though not particularly surprising.
>

Just something I thought I'd read somewhere.

<snip description of testing parameters>

> Testing still needs to be done for male characters, and for other
> classes (particularly merchants).
>

Indeed. However, the whole matter is already quite complicated, and I
don't want to make it more complicated. Specifically, until we can pin
down what caused the base sell price to be so much lower during the
last test, I want to only change one variable at a time if possible.

> > I gave the first character I sent down a large number of intrinsics,
> > including lucky/fate smiles and invisibiity.
>
> I doubt that lucky/fate smiles matters, and I'm pretty damn sure that
> invisibility doesn't.
>

I wasn't thinking of invisibility per se, but rather any eventual flag
for the shop ever having been invisirobbed (which it was in both of
the two tests that had the same base sell price).

> > I don't THINK I gave her all stats 99 (AdomBOT has a button for
> > this), but rather just boosted some important ones using !ofStat's.
> > She had all spells maxed out, if it matters.
>
> I'd be very surprised if it did.
>

I would too. But as Sherlock Holmes said, "When you have eliminated
the impossible, whatever remains, however improbable, must be the
truth."

> > The natures of the items in her inventory were
> > fundamentally manipulated through AdomBOT in all sorts of ways at all
> > sorts of times; it is my sincere hope that this did not have any side
> > effects on shop prices. Leggot was generated for this character as a
> > gnome. Unfortunately, ADOM crashed just before she could perform
> > testing with multi-item stacks. (Incidentally, its behavior became
> > rather weird before the crash -- it was dividing shop-owned, uncursed,
> > identified aquamarines into two groups. It crashed while I was
> > dropping some recently bot-manipulated aquamarines outside the shop in
> > an attempt to adjust to the aberration.)
>
> Huh. I'll assume that sales prices weren't affected by this. Let's hope
> it's true :)
>

Actually, it only happened after I started manipulating the aquamarine
item count for my aquamarines, which was during preparation for "2
drop 2" and "2 drop 1" testing, which the crash prevented. In other
words, it happened after all the data presented for that test was
generated.

> > I gave the second character maxed stats and the usual robe [+100,
> > +100] and dagger of whoopass, but did not play with their intrinsics.
> > Leggot was generated for this character as a troll.
>
> A gnome and a troll, huh? According to the Guidebook, gnomes and trolls
> offer humans the same prices (100%). So then this probably isn't the
> cause for the differences.
>

The plot thickens.

<snip data>

> Observations:
>
> 1) The basic trends are very similar to your first test. Both sell and
> buy prices advance in a linear fashion until App 10, where there is a
> break in the buy price (but not the sell price). After a while, sell
> prices hit a ceiling and start going down along with the buy price.
>
> 2) The ceiling appears to be consistently 70% of the buy price here.
> This is exactly double the previous ceiling (35%). It's just as
> consistent.
>
> 3) The 1/30 decreases in the buy price up to App 10, and then the
> 1/75 decreases up to App 35 are the same here. This is very relevant;
> it seems this is a constant.
>

For some reason, I find that description of the buy-price behavior
really easy to understand: 1/30 per point for <=10, 1/75 for after.
[/me stores in brain]

<snip point 4 and the data for character 2>

> I assumed that line 23 of the 2-S1 column is indeed a data entry
> error; it should be 533, not 553. I've taken the liberty of
> correcting this in the table, and modifying NEPRAVDA to PRAVDA
> (whatever those words mean... EQUAL and UNEQUAL?)
>

Heh! You young people in post-Communist Europe these days! And no, it
doesn't matter to ME that Hungarian is a non-Slavic language. When
**I** was a boy growing up in small-town Czechoslovakia [1], we each
had a personal commisar watching us 25 hours a day to make sure we
studied 26 hours a day to meet our Russian-learning quotas by 150% for
every five-year plan! And we *liked* it!

[1] This is a baldfaced lie. I grew up in Ohio.

> Conclusions:
>
<snippity snip>

> 4) The rules for selling a 2-item stack are strange indeed. While
> it is basically the same as selling the two items seperately, the
> ceiling is much higher! (App 22 in this case) In fact, it should be
> possible, based on this table, to get all the shopkeepers money by
> selling 2 of the same item then buying it back, assuming your
> Appearance is 15 or higher. This is, needless to say, big news.
> (And bug news).
>

I'll save the bug report for the close of testing, unless someone else
wants to do it. Except for not knowing the bug's precise mechanics,
there's no technical reason not to file it now, but as I mentioned,
I'd like to get back to playing for a while.

> This data is insufficient for me to figure out exactly _how_ the
> bug operates. Suffice it to say that, when selling 2 items in a
> stack, it is possible to get a Sell Price that is almost 40%
> larger than the Buy Price!
>

($) ($) <-- dollar signs in eyes

> Functions:
>
> *** For buying an item ***
>
> The item has a base buy price.
>
> If Appearance is 10 or less:
> Buy_Price = ( (30-App)/30 ) * Base_Price
> If Appearance is higher than 10 but below 35:
> Buy_Price = ( (60-App)/75 ) * Base_Price
> If Appearance is 35 or more:
> Buy_Price = 1/3 * Base_Price
>
> (my previous function had a silly bug in it. Corrected)
>
>
> *** For selling a single item ***
>
> This appears to be much more variable than selling an item. I can deduce
> so little about the precise variables for selling, that there is no point
> in writing up an equation. All that is known is that the sell price
> increases linearly with Appearance, until it hits a pre-determined
> percentage cap (the value for this cap can be 35% or 70%, and possibly
> any number of other values; I have no idea what it's based on). In other
> words, the sell price can never go above a certain percentage of the
> buy price. In turn, this means that regarding Appearance scores, there
> is (probably) always a "sweet spot", that is, an ideal Appearance score
> for selling a given item. Unfortunately, I don't know how one can figure
> out where this "sweet spot" is, except by experimentation. And it's
> quite possible that different items have different "sweet spots", even
> for the same character and the same shopkeeper.
>

When **I** was a boy growing up in small-town Ohio, we worshipped the
Lord and had *faith*! You gotta have *faith*, Laszlo!

Seriously -- I think we'll find the relevant variable after some more
testing.


>
> *** For selling multiple items ***
>
> This basically works the same as selling a single item, but there is an
> exploitable bug. The percentage cap doesn't seem to work properly for
> multiple items, meaning the the "sweet spot" for Appearance tends to
> be a lot higher. This may mean that you can sell items for a larger
> amount than you can buy them back for, or it may just mean that you
> will get a better deal for selling items in stacks.
>

<snip>


>
> Important conclusions:
>
> 1) There's no point whatsoever to having App higher than 35. It changes
> _nothing_. At least, this seems to be the case in shops.
>
> 2) Having an App of at least 10 is important if you're planning to buy
> stuff. Each point of App below 10 can add a lot to prices.
> App points above 10 are also nice to have, but give fewer bonuses.
>

That said, at Ap 35 the price will be 1/3 the base price (assuming all
shops operate like Leggot's, by the way). Not bad if you're buying,
say, the Bracers of War somewhere pre-Casino.

> 3) When selling things, there is a "sweet spot", a point where you
> get an optimal amount of money for an item. You'd get less money if
> your Appearance were lower, and also less moeny if it were higher.
> Unfortunately, it is difficult to predict where this "sweet spot" is.
>

Faith. Have faith. :-)

> 4) If you have a high Appearance score, it appears very possible to
> exploit a bug where you can get more for selling a stack of items
> than they cost to buy. You need a stack of 2 (or more) identical
> items to attempt to exploit this bug.
>

In my opinion, for those willing to scum this heinously, female
characters will become much more attractive (no pun intended) than
male ones, since it is easier to get Ap to the needed level than Ch.

> 5) Always sell items in stacks, if you can. Unless, of course, you
> are unwilling to exploit what is probably a bug.
>
> Laszlo

Erik

Vladimir Panteleev

unread,
Feb 14, 2004, 5:35:06 PM2/14/04
to

That was a bug involving the range of the stat modifier input, and type
conversion. [fixed]
Was that it? You weren't really specific which modifier caused the crash
or reset to 0. AFAIK, weapon stats are (+/-A, BdC+/-D) where B and C are
strictly negative.

> 2.
> May I make an overall suggestion? I don't mean any offense by it.
> Please find the five or ten UI elements in AdomBOT with the smallest
> clickable surface area and redesign them to have a larger area or
> greater clickable percent (like those lines with checkboxes that can
> only be toggled using the checkbox, grrrr :-)). Tiny clickable areas
> for controls are one of the biggest UI annoyances out there. (A prime
> example are the item editing windows - in w98 at least, they use that
> really tiny Close button -- must be something like 8x8 pixels -- that
> Windows sometime provides. Yucky. Considering that it looks like one
> should be using that little Close button a LOT to avoid crashes, it
> deserves to be bigger, not smaller, than average.)

Erm... when I designed AdomBot, all the windows (except the main
window) were designed to allow manipulating them with the keyboard. So,
you can close any window (except the main one) by pressing Escape. The
tab order for controls has been set up for easily switching controls
using the Tab key (I think the item editor is still a little messed
up in 3.11). Also, you can press Enter to write the changes to the
ADOM memory (item/player editor).
It's not that I don't want to because I'm too lazy to do it, but those
windows look better with thin headers. And they take more space and
leave a bad taste in your mouth >:]
I got pretty sick of it when I was debugging AdomBot, until I
implemented the Esc-key. So now, instead if angrily try to hit the
dinky button and missing each time because of my anger, I simply
slam the Esc button with my fist - I know exactly where it is and it's
quite bigger than any close button on the screen >:]
Did you know you can easily choose the item/monster type by right-
clicking the drop-down box?
As for the "those lines with checkboxes that can only be toggled using
the checkbox, grrrr", you can now double-click anywhere on the line
to toggle the check-box. BTW, if you have to set/clear multiple check-
boxes in a single check-box-list, use the up/down and space keys. And
Enter to write changes to Adom and Alt+Tab to switch between Adom and
AdomBot. Since using the mouse is not required in Adom, you can
completely eliminate its use when performing monotonous tasks.

> 3.
> A second suggestion -- since it is dangerous to make changes from the
> item editing windows after causing a state change in ADOM, why not
> simply provide the user an "auto-close Item Editing windows upon state
> change in ADOM" option, and perhaps even turn it on by default? This
> is vastly better than putting a note to that effect in the manual. I
> do tech support for a living and BELIEVE me, NO-ONE reads manuals.
> (Well, I do, but please don't tell anybody.)

Ok, I've added that to my ToDo list.

> 4.
> I found the weapon-stat editing a little counter-intuitive. Until I
> realized that it was setting a min-max range (I was expecting xdy
> format), I kept giving myself xd0 weapons. The funny thing is, ADOM
> accepted them. I had a REALLY badass +100 to hit, 10d0 sword at one
> point... I could still do damage thanks to my grand mastery and
> strength of 99, but it wasn't quite what I expected. ;-)

Erm... that's how Adom stores that in memory. Actually, there's a label
below the box showing the actual damage dice (it doesn't display the
rusty/broken modifier). Either you missed it, either... I don't know.

>> It's tedious if you do extensive work with inventory, but who said
>> cheating should always be fun >:]
>>
> Vladimir, I'm afraid cheating can be quite easy -- who needs to do
> anything complicated when you can just step in once in a while (after
> each armor destruction, I suppose) and crank your armor up to
> [+100,+100] and your weapon similarly? Unfortunately, research, the
> type of use whose results will reach and help far more players, can be
> somewhat impeded by this.

Yeah, I know. When writing the cheat section, I was thinking whether to
add detailed editing of some stuff, like to allow to edit your stats.
But I just added a "Max stats" button.
If you'd like to modify something that AdomBot can modify but won't let
you to specify the value, you can just take the addresses in ADOM.INI
and use them in any cheat program (I recommend ArtMoney). The format
of memory structures can be found in the TypeInfo.inc file (Info\
TypeInfo\TypeInfo.inc).

>> Next time, ask me first if you have any problems with AdomBot.
> :-) I was wondering if you'd find that post and catch me on
> something... I hope you are proud to see AdomBOT being used in a role
> that has long been painfully empty: a worthy replacement for WADOMF.

Yes I am >:]
I'm looking forward to see the day when people wouldn't imagine playing
Adom without AdomBot >:]

Vladimir Panteleev

unread,
Feb 14, 2004, 6:21:36 PM2/14/04
to
On 14 Feb 2004 14:07:36 -0800, Erik Piper <er...@sky.cz> wrote:

> laszlo_...@freemail.hu (Laszlo) wrote in message news:<36c239a1.04021...@posting.google.com>...
>> er...@sky.cz (Erik Piper) wrote in message news:<c605db35.0402...@posting.google.com>..

Hey, you didn't mention anything about aquamarines in that post. Anyway,
the two types are identical except that the first ones are named "blue
gems" when unidentified, and the others "green gems". That's all, I
think (unless there is some kind of hard-coded check within the game).

0 new messages