I have been playing around with ilives and I started to get familiar with query editing as well as adding more functionality to lots.
One thing that I have been experimenting with lately is the Goofy Stat Response Curve data. However, I have yet to fully understand it.
I have some knowledge of programming from way back in high school and I am the family's tech guy. I also have been able to do very complex things with various computer programs that most did not think was possible. I know my way around computer logic but I kinda do not understand this one. Looking for some help.
From a post already on the forums:
Quote from: RippleJet on March 16, 2010, 01:47:44 PM
That requires the property Goofy Stat Response Curve.
E.g, if you want "Engines Repaired" to be, say somewhere between 0 and 10,
you could give the Goofy Response Curve the following four values:
-100, 0, 0, 2, 50, 5, 100, 10
Mathematically that would first generate a random number between -100 and 100,
which would then be mapped to a number between 0 and 10 with the following chances:
- 50% chance for a number between 0 and 2
- 25% chance for a number between 2 and 5
- 25% chance for a number between 5 and 10
That mapped number can then be referred to in a query with the id=0x0000106b
I studied "-100, 0, 0, 2, 50, 5, 100 10" for days and some things do not add up for me on how the calculations works. I am requesting some elaboration.
Other than what is explained, the best that I could come up with was:
- a 0 and 2 is a range
- 50 is a percent
- 5 is a continued range
- 10 is max number
What I have yet to figure out is, why is 0 repeated twice in a row. I do not understand the purpose of the second 0. I assumed that the first 0 means 0%
I attempted to create a goofy stat with the following:
- 70% chance for a value between 70 & 80
- 15% chance for a value between 80 & 85
- 15% chance for a value between 85 & 90
by entering the following values: "
-100, 0, 70, 80, 70, 85, 100, 90" and I tested the query.
However, I was given a value of 42 so my logic was incorrect. So then I assumed that the first 0 was lowest value and second 0 was a %.
So I changed the values around: "
-100, 70, 0, 80, 70, 85, 100, 90" and tested the query.
I was given a result of exactly 80. While yes, this IS within range but to me, getting 80 on the first try seems kinda weird. I have no clue if I got it right or not
So I decided to break down and separate values from both the OP and my attempt to further figure out what they mean:
This is how I ended up doing that:
- -100, 0, 0, 2, 50, 5, 100, 10
- 0, 0, 2, 50 5, 10
- 0, 0, 2, 5, 10
- -100 100
- 50
Followed by trying to figure them out using my attempt"
- -100, 70, 0, 80, 70, 85, 100, 90
- 70, 0, 80, 70, 85, 90
- -100 100 =Generated number range?
- 70 80 =Range?
- 70 =Percent chance of range?
- 85 =15% 80-85?
- 85 90 =15% 85-90%
- 70 90 =Min and Max?
Am I getting warmer? Can I further explanation to help better understand this?
If "-100, 70, 0, 80, 70, 85, 100, 90" is correct for the percentages listed above, say that I wanted it to be
- 70% chance for a value between 70 & 80
- 20% chance for a value between 80 & 85
- 10% chance for a value between 85 & 90
instead. What do I need to change/add to make that happen?
Any help would be appreciated.