[NOT A BUG] Merchant Prices & intelligence

Chris H.'s Ultima / ACS-style game development system!

Moderators: Ice Cream Jonsey, Chris H

Post Reply
Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

[NOT A BUG] Merchant Prices & intelligence

Post by Admiral Ackguh » Fri Feb 15, 2013 1:37 am

I seem to have found another bug.
The manual says:
MERCHANT: Allows the player to purchase and sell items. A merchant can have up to 16 items to sell; press [A] thru [P] to set these. You can also change the exchange rates for how they sell things to you and how they buy things (refund) from you.
Regardless of the exchange rates, a merchant will not buy back his own wares for a higher price than he sold them for. If he sells you a sword for 10, he will never give more than 10 for it, even if his exchange rates would ordinarily have him give you 20 for it. The prices on items are set from the Object Editor. They are also modified by the player's INT ability score; be sure to playtest your adventure, to make sure that prices are fair.
While the prices are affected by merchant exchange rates, they are not affected by INT score. Is this a bug; or intentional? And should the manual be updated?
- A:A:

Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

Post by Admiral Ackguh » Sun Feb 17, 2013 12:58 pm

I've been thinking about this a little more.

I think that Chris himself took out the INT-affects-prices feature a long time ago. (Did you?) Nobody really wanted or needed it. It's easier to design a game if the base prices are the same as defined for an item, without having to teeak the player's INT score.

I put a magical card in one of my games; it functions much like the Psychic Paper from Doctor Who. It also has other functions, such as always winning card games, and forcing traders to sell for lower prices. For the last item, I had the merchant dialogues call a macro that boosts INT before going into merchant mode. Afer that, call another macro to restore INT to its old level (stored in a variable). Since that method won't change prices, I come up with a simpler solution for the dialogue:

1) Use ITEMTAKE to check for magic card;
2) Question;
3) YES branch: ITEMGIVE card back, MERCHANT with low prices;
4) NO branch: MERCHANT with standard prices.

The MERCHANT statement in the YES branch can also offer items not available in the NO branch.
- A:A:

Chris H
Posts: 272
Joined: Sun Dec 02, 2007 4:07 pm
Location: California, USA

Post by Chris H » Sun Feb 17, 2013 3:51 pm

I believe my intention was that purchase prices are fixed, but buyback prices (if you want to sell something of yours TO a merchant) will be better if your INT is higher. Is that what you were testing?

Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

Post by Admiral Ackguh » Sun Feb 17, 2013 5:26 pm

Chris H:
I believe my intention was that purchase prices are fixed, but buyback prices (if you want to sell something of yours TO a merchant) will be better if your INT is higher. Is that what you were testing?
Yes, that was what I was testing. And you are right; buyback prices are affected by INT. Selling prices are not. The manual is not clear on this, and implies that both buyback and selling prices are changed by INT.
- A:A:

Post Reply