[A13.1135] Social skill gives trading malus instead of bonus(?)

Started by Voeter, April 13, 2016, 06:49:12 PM

Previous topic - Next topic

Voeter

TL;DR: Malus seems to be caused only by a speaking loss, and not social skill in itself. See second post with case explanation.

It seems the social bonus for trading is actually a malus? A quick and simple example (easily reproducible with my savegame) is the trading for an item with the current (land based) trader in my little camp. For instance, the Uranium military helmet (poor) the trader is selling (base market price $3265) costs $3577 for my soc 15, speaking 80% (because dentures) = 7.05% supposed trade bonus pawn. Yet it costs $3175 for my soc 2 (=1% bonus) and $3127 for my soc 0 pawn! This reversal of the bonus also applies to selling items (where my soc 0 pawn gets the most).

Attached are my savegame [edit:] in 2 posts, b/c of size restriction... might want to up that?[/edit] and (partial) screenies showing the different skills and prices for aforementioned soc 15, 80% speaking pawn and my soc 2 pawn. Soc 0 pawn I didn't screenie, because at first I thought the dentures/damaged speaking for my soc 15 were the problem.

edit2: I made a booboo. My soc 0 pawn actually has soc 5, but didn't show because active social skills are disabled. It still gets a 2.5% trade bonus though. So it seems all trading prices work correctly except for my soc 15 pawn with a malus to his speech. My current theory is that this speech malus is factored incorrectly in assessing trade prices -or- it works as intended, but displays incorrectly in the ingame stats display (showing the 7.05% trade bonus)

[attachment deleted by admin - too old]

Voeter

2nd set of attachments

[attachment deleted by admin - too old]

Voeter

I've been testing this a lot more, and I think the issue is that a malus to talking (and NOT hearing for that matter, see testcases below) cause a calculation error in this way:

basic data/assumptions:
Trading for a tradevalue 500 item. A soc 3 pawn (1.5% trade bonus) gets to buy it for 459. Assuming a 1.015 trade multiplier, the "base" trade price (probably calced based on colony relations?) for this item is 459 * 1.015 = 465.89

case 1
Game states:
social 6 pawn with 30% hearing:
soc 6 = 3% * .4 = 1.2%
talking 100% = 3% * 1 * .3 = 0.9%
hearing 30% = 3% * .3 * .3 = .27%
Trading bonus = 1.2 + .9 + .27 = 2.37%, ie. a 1.0237 multiplier
expected price: 465.89 /1.0237 = 455.10
actual price: 455  ;D

case 2
Game states:
social 9 pawn with 60% hearing and 60% talking (poor feller):
soc 9 = 4.5% * .4 = 1.8%
talking 60% = 4.5% * .6 * .3 = .81%
hearing 60% = 4.5% * .6 * .3 = .81%
Trading bonus = 1.8 + .81 + .81 = 3.42% THE GAME ACTUALLY STATES A 3.49% BONUS?? Part of the problem?
expected price: 465.89 /1.0342 [OR 1.0349] = 450.48 [450.18]
actual price: 630!  :o
theorized (mis)calculation:
"base" price / trade multiplier * speaking malus = trade price
465.89 / 1.0342 [OR 1.0349] * 1.4 = 630.67 [630.25]

tentative conclusion: it seems the talking malus is incorrectly calculated twice in the trade price. It also seems to be miscalculated in the game's trade multiplier, whereafter this incorrect multiplier is reused in further calculations. You can reproduce these findings by using pawns with similar hearing, talking or no maluses and following the ingame calculations.

[edit] typos in the 2nd case calculations[/edit]

Britnoth

Quotetalking 60% = 4.5% * 1 * .3 = .81%
hearing 60% = 3% * .3 * .3 = .81%

Affects of being injured work nothing like this. I only assume the .3 you are using is from (30% importance). In this case:

Talking or hearing at 100% would leave it unaffected. 30% importance is how badly penalised you are for not being 100%.

100% importance would mean you become unable to do that work with 0% pawn statistic. 50% importance means you get halved ability when missing this stat.

30% is a pretty low penalty, but still at 60% effectiveness it is:

30% effectiveness at no ability + ( 70% how much effectiveness varies depending on injuries * 60% how effective your remaining hearing or talking is )

= 72%.

Both hearing and talking at 60% should drop 4.5% trade adjustment to 2.33%

Then you have the large penalty for being unable to speak properly.

465 (base price for this trader?) / 0.72 = ~646

646 / 1.0233 = ~631.

Seems to be working, just an error/oversight to mention the further large penalty from being unable to speak well.

Edit, typos.

Voeter

Quote from: Britnoth on April 15, 2016, 06:06:42 AM
Quotetalking 60% = 4.5% * 1 * .3 = .81%
hearing 60% = 3% * .3 * .3 = .81%

Affects of being injured work nothing like this. I only assume the .3 you are using is from (30% importance). In this case:

Whoah! Had a big mindfart there (ie. put in some numbers from other pawn calculations instead of the one I meant). Luckily it's only typos and my endresult is still valid... calcs should always have been 4.5% * .6 (because 60% speaking and hearing) * .3 (indeed because of 30% importance =.81 (the answer I -did- give for both hearing and speaking). I'll edit my original post for clarity.

Quote
100% importance would mean you become unable to do that work with 0% pawn statistic. 50% importance means you get halved ability when missing this stat.

30% is a pretty low penalty, but still at 60% effectiveness it is:

30% effectiveness at no ability + ( 70% how much effectiveness varies depending on injuries * 60% how effective your remaining hearing or talking is )

= 72%.

Both hearing and talking at 60% should drop 4.5% trade adjustment to 2.33%

Can you back this up with any evidence? Now I have not looked at any code, but the ingame displayed calculations seem to disagree with your above statement... If I follow the method I used I get the exact same trade modifier stated ingame, with an expected price EXCEPT when a speaking malus is involved. I also do not understand how you get to 2.33% (ie. ~51.8% of the original 4.5% bonus) with hearing and speaking at 60% AND only being partially responsible for the total trade modifier.

Quote
Then you have the large penalty for being unable to speak properly.

465 (base price for this trader?) / 0.72 = ~646

646 / 1.0233 = ~631.

Seems to be working, just an error/oversight to mention the further large penalty from being unable to speak well.

The two "problems" I have with this statement is that your answer is off by 1 for the actual price (yes, it's only 1, but it still differs from the actual ingame price and I expect it to be larger with higher value items) and the fact that the game does not behave in this way when only a hearing loss is present. Also, look at my first case more simply, without the intricate maths: I have a trader with 15 social skill. He is a supposed planet-class master at all the social niceties including negotiation. Now this arse of a scyther comes along and blasts out his jaw. Gotta replace it with a wooden one, because bad healthcare. Now this trader might sound like Elmer Fudd now, but is still as eloquent, tenacious and insightful as ever. How is it reasonable that the traders now not only charge him more, but even more so than when trading with the stuttering social moron with 0 social skill, or with a fellow half-deaf colonist for that matter?

Britnoth

Quote4.5% * .6 (because 60% speaking and hearing) * .3 (indeed because of 30% importance =.81

Doesnt work like this.  importance is how important a pawn stat is to the ability you are calculating. It it not a 'bonus' added to your base stat, but something taken away when you are injured.

0% would mean it has no affect on the stat. 100% means a total loss of that stat would remove all ability to do that work.

Your base stat from your social skill is 4.5%.

*0.6 makes no sense. firstly because the importance is not 100%, but instead only 30% (so the penalty is less than *0.6) but:

the skill is modified by speaking AND hearing. As both are at 60%, it is modified twice.

30% + (70% * 60%) = 72%, as I previously stated.

QuoteI also do not understand how you get to 2.33% (ie. ~51.8% of the original 4.5% bonus)

0.72 * 0.72 = 0.5184

QuoteCan you back this up with any evidence?

Matches values displayed in the colonist stats page (and makes sense).

Quotethe fact that the game does not behave in this way when only a hearing loss is present.

Post trade price modifier only uses speaking ability, not hearing.

QuoteThe two "problems" I have with this statement is that your answer is off by 1 for the actual price

QuoteAssuming a 1.015 trade multiplier, the "base" trade price (probably calced based on colony relations?) for this item is 459 * 1.015 = 465.89

I was using your own figure. My bad.

Voeter

Quote from: Britnoth on April 15, 2016, 08:46:44 AM
Quote4.5% * .6 (because 60% speaking and hearing) * .3 (indeed because of 30% importance =.81

Doesnt work like this.  importance is how important a pawn stat is to the ability you are calculating. It it not a 'bonus' added to your base stat, but something taken away when you are injured.

0% would mean it has no affect on the stat. 100% means a total loss of that stat would remove all ability to do that work.

Your base stat from your social skill is 4.5%.

*0.6 makes no sense. firstly because the importance is not 100%, but instead only 30% (so the penalty is less than *0.6) but:

the skill is modified by speaking AND hearing. As both are at 60%, it is modified twice.

30% + (70% * 60%) = 72%, as I previously stated.

I am sorry, I do not want to be rude, but I think you don't understand what I calculated. What I did is calculate the trade modifier where 40% is dependent on your social skill, 30% your social skill times your speaking modifier (in normal circumstances 100%) and 30% your social skill times your hearing modifier:

Or, in a formula:
Social modifier * (40% + (30% * speaking health) + (30% * hearing health)) = Trade price improvement

4.5% * (40% + (30% * 60%) + (30% * 60%) = 4.5% * (40% + 18% + 18%) = 4.5% * 72% = 3.24%

So, I agree with you on the 72% modifier because of the hearing and speaking loss on the trade price improvement. However, it should be applied on your base social skill modifier and not trade price.

Quote
0.72 * 0.72 = 0.5184

Why would you apply this modifier twice? This makes no sense? You already incorporated both the hearing -and- speaking health modifier in your initial 72% outcome.

Quote
Matches values displayed in the colonist stats page (and makes sense).

and:

Quote
Post trade price modifier only uses speaking ability, not hearing.

The latter is simply not true. See screenshot below. You also use hearing health modifier in your initial statements...? Also, please show me where I am -wrong- in my maths or assumptions. Using below screenshot and my earlier formula:
1% * (40% + (30% *50%) + (30% * 100%)) = 1% * 85% =  0.85%, exactly the same as stated ingame.

http://imgur.com/pHwxOMx

[quote autor=Voeter]The two "problems" I have with this statement is that your answer is off by 1 for the actual price

Assuming a 1.015 trade multiplier, the "base" trade price (probably calced based on colony relations?) for this item is 459 * 1.015 = 465.89

Quote
465 (base price for this trader?) / 0.72 = ~646
646 / 1.0233 = ~631.
Quote
I was using your own figure. My bad.

Not true again. My assumption was a 465.89 price, not 465. 465.89 / 0.72 = 647.07
647.07/1.0233 = ~632, even further off the actual ingame price of 630.
More importantly, you are modifying the trade price instead of the trade price improvement here, which seems inconsistent with the game mechanics and logic and thus just wrong. If you were right, the ingame "trade price improvement" should actually be a negative value. This is in theory possible, but seems unwanted, inconsistent with the fact that the game names it a "trade price improvement" and also actually works as a negative where speaking health is negatively involved.

Britnoth

Quotebut I think you don't understand what I calculated

That is because I didn't. You picked numbers out of the air, multiplied them together and then gave a result without stating where they came from?  ???

QuoteSocial modifier * (40% + (30% * speaking health) + (30% * hearing health)) = Trade price improvement

Now I understand. Your error is thinking that 30% hearing and 30% speaking importance means that there is some 'base' value of 40%.

Shooting accuracy is:
Consciousness (100% importance)
Sight (95% importance)
Manipulation (50% importance)

Yet you do not see uninjured pawns walking around with a base accuracy * 245%.

Quote4.5% * (40% + (30% * 60%) + (30% * 60%) = 4.5% * (40% + 18% + 18%) = 4.5% * 72% = 3.24%

40% + 18% + 18% = 76%

QuoteWhy would you apply this modifier twice? This makes no sense? You already incorporated both the hearing -and- speaking health modifier in your initial 72% outcome.

... ugh what am I doing? got the numbers the wrong way around??!??  :-[

70% effectiveness with no hearing + (60% hearing * 30% importance) = 88% sigh.

Hearing and speaking are both 88%, so, 4.5% * .88 * .88 = 3.4848% as you say.

A little code digging shows that the modified buying price is indeed 2 - talking efficiency (at 100% importance) so 60% talking is correct at 1.4 multiplier.

Sorry for confusion.



Voeter

Awesome, thank you for correcting me on the assumption that the healing modifiers + base stat somehow should add up to 100%! I get how the system works now. So, with this new knowledge I did some more testing and now -know- that a speaking health malus will -greatly- affect trade prices. In essence, in such a terrible way that your social 20, (ie. godlike) socialite with dentures (ie. down to 80% speaking) will get a MUCH worse deal than a social 0 scrub, because this is what happens:

trader wants 500 for an item:
Scrub = 0% trade bonus = 100% trade price  = 500, then times a modifier of 100% + speaking malus (=0% in this case) = $500 please!
Godlike marblemouth = 9.4% trade bonus = 90.6% price = 453, * (100% + 20% speaking malus) = $566.25 please!

So, because of dentures you get the item 13.25% more expensive than ANYONE else at the very least. Rendering your trader completely useless.
@ Ludeon: Is this working as intended??
If so, the ingame stats should imho be altered to reflect this, because a speaking malus will always net you a negative "trade price improvement".
As a sidenote, although the game states that hearing health is also of 30% importance, if your trader is literally deaf, you seemingly still get a trade price improvement bonus (see screenie). Especially funny when using the comms console  (I tested it, it works) ;D
You also do not get the health warning you get when speaking health is affected.


Britnoth

'importance' is how much ability you lose if you entirely lack that ability.

30% imprortance -> loses 30% of your bonus. so 3% -> 2.1% is correct.

Hearing only appears to be used for trading, and is a very minor affect anyway.


I'd suggest the values are changed to make it more transparent:

Social 0 starts at 100% trade price adjustment, not 0% bonus.

Social 20 gives 110% trade price adjustment.

Increase the importance of speaking and hearing to 90% or the like, and remove the 2 - (speaking%) adjustment.

Then speaking and hearing become equally imporant to a trader, and the displayed value is the one you experience when trading.

ison


Voeter

Quote from: ison on April 19, 2016, 07:38:56 AM
bump, that's a lot of text

sorry, it's kind of complicated :P
The simplified summary of what I feel is a bug is this post with the rest of the posts extra theorizing, examples and correcting (my) mistakes basically :P

ison