Deed aggression bug
-
- Posts: 6
- Joined: Thu Jul 29, 2021 11:43 pm
Deed aggression bug
look the pic,When I set up aggression<0,the dominance<0,is right
but ,When I set up aggression<0,the dominance< too?
I don’t understand,Because I'm insulted, I should not dominanceRe: Deed aggression bug
Hi,
Page 70 of the manual explains how Love/Hate computes dominance.
"Δdominance" is the change in dominance. It's based on the sign (+/-) of the deed's impact, the sign of the FactionMember's affinity to the deed's target, the aggression, and the affinity to the deed's actor:
Δdominance = sign(rumor-impact) X sign(affinity-to-target) X |aggression| X |Δaffinity-to-actor|
Any of these things can flip the change in dominance between negative and positive. This way of compuating the change in dominance may not seem intuitive at first, but it works well for games such as action games where the witness will feel stronger or weaker (more or less dominance) based on what actions it sees.
If you want to compute dominance differently, you can assign your own delegate function to FactionMember.EvaluateRumor. This allows you to provide your own function to replace FactionMember.DefaultEvaluateRumor, which is on line 852 of FactionMember.cs.
Page 70 of the manual explains how Love/Hate computes dominance.
"Δdominance" is the change in dominance. It's based on the sign (+/-) of the deed's impact, the sign of the FactionMember's affinity to the deed's target, the aggression, and the affinity to the deed's actor:
Δdominance = sign(rumor-impact) X sign(affinity-to-target) X |aggression| X |Δaffinity-to-actor|
Any of these things can flip the change in dominance between negative and positive. This way of compuating the change in dominance may not seem intuitive at first, but it works well for games such as action games where the witness will feel stronger or weaker (more or less dominance) based on what actions it sees.
If you want to compute dominance differently, you can assign your own delegate function to FactionMember.EvaluateRumor. This allows you to provide your own function to replace FactionMember.DefaultEvaluateRumor, which is on line 852 of FactionMember.cs.
-
- Posts: 6
- Joined: Thu Jul 29, 2021 11:43 pm
Re: Deed aggression bug
OK,I got it,Thanks Tony,Because I want to achieve a real social system, So there are more questions to think about,Perhaps I could explain my needs with the explanations below
Δdominance = sign(rumor-impact) X sign(affinity-to-target) X aggression X |Δaffinity-to-actor|
This is a simple revision of your explanations,the aggression ,aggression does not use absolute values
Δdominance = sign(rumor-impact) X sign(affinity-to-target) X aggression X |Δaffinity-to-actor|
This is a simple revision of your explanations,the aggression ,aggression does not use absolute values
Re: Deed aggression bug
Hi,
In version 1.10.19, I'll add a separate delegate that you can assign to replace the Δdominance function by itself. This will make it easier to change it to remove the absolute value.
In version 1.10.19, I'll add a separate delegate that you can assign to replace the Δdominance function by itself. This will make it easier to change it to remove the absolute value.