Bernd Edler wrote: > > On Sat, 25 Oct 2003, Mark Wedel wrote: > >> Bargaining skill gives you a bonus to your charisma. >> >> The bonus is (player level + 2) / 3. So at low levels, it doesn't give you >> much a bonus. >> >> Realistic, the bonus should be related to the skill level, and not player >> level. But to do that, some way to get exp in bargaining is needed. >> > > > IMO, one should only get optimal prices if one has cha=30 AND maxlevel in > bargaining. > Otherwise, the charisma stat is more irrelevant than need be. Yep. OTOH, since you only need charisma in limited circumstances, it is mostly useless anyway - you go to buy/sell some items, and not apply all your charisma enchancing items. > My suggestion: > > 1. No bonus on charisma for bargaining. reasonable. > > 2. Calculate a bonus for bargaining: > > 2a. additive: > > diff += .1 - .2 * SQRT((level(bargaining)+5)/(maxlevel+5)) > > Thus diff would be between 0.1 and 0.92. > > 2b. multiplicative: > > diff2 = .1 - .2 * SQRT((level(bargaining)+5)/(maxlevel+5)) > ... > if(flag==F_BUY) > val=(4.0*(float)val*(1.0+diff)*(1.0+diff2)); > else if (flag==F_SELL) > val=(4.0*(float)val*(1.0-diff)*(1.0-diff2)); > > > The SQRT would help to generate diminishing returns for higher levels. > The actual formula / weighting between cha and bargaining has to be > tuned of course. Seems reasonable (one of those formula). However, you need to make sure that the overall bonus/advantage never gets to a case where you can buy something for less than you can sell it. Otherwise, the economy gets really screwed up. > > 3. Experience in bargaining: > > If we actually buy/sell an item, we calculate the actual price for the > player and the price for a dummy-player with cha=0 and no bargaining > skill. > > Then exp += abs(price_for_player-price_for_dummy)*somefactor. Presumably, that can be simplified to some extent based on just the bonus we are giving to the skill? The one oddity with this is that as player gains exp in the skill, they'd have a higher bonus, and thus get more exp (ignoring the other fact, that as players gain levels, the amount of treasure they haul back would go up in value also). > > Thus one would not get exp. for gems. > > I suggest to set the ratio for overall level to zero. Probably correct. > > With the 64bit exp. high level players could waste bizzarre amounts of > money to level up in bargaining. :) Yep - just buy and sell (repeatedly) the same object. > And lazy players (too lazy to bother with +cha equipment) would waste > money no matter what level they are. > > I could start coding right away, but i'd rather wait for some > comments/discussion. It all seems reasonable to me. _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel