-Extrastats and Statfamiliars

This is where you spade, shovel and sickle. Or is it reap?
Post Reply
User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

-Extrastats and Statfamiliars

Post by Flolle » Tue Mar 04, 2008 11:05 am

EDIT: To make future stat gain formula edits simpler, I added it to the first post.

Code: Select all

ms := stats from the monster
ves := variable extra stats (positive or negative)
fs := familiar stats (volleyball or sombrero only)

How the variable stats are computed:
ms = max(1, roundRandomly(ms))
fs = roundRandomly(fs)
ves = roundRandomly(ves)      // Just a guess from me here that ves are also independently rounded.
variable stats = ms + fs + ves
variable stat gain = max(0, variable stats)

The variable stat gain is now added to muscle, mysticality and moxie in a 2:1:1 distribution for the mainstat.

How the hard extra stats are computed:
muscle = muscle + hard extra stats(muscle)
mysticality = mysticality + hard extra stats(mysticality)
moxie = moxie + hard extra stats(moxie)



While contemplating game mechanics it occurred to me that it isn't clear whether -extrastats only lessen stat gains from monsters or also stat gains from familiars. Normally, this wouldn't make a difference, but with monsters which are close to or below the 1 stat per combat minimum, it does.

I'd test this myself, but I'm in a 100% familiar run currently, so bad timing I guess.

Here is what a nice and helpful person (;)) can do for me:

-do not use any equipment, skills or effects that change stat gains (important!)
-equip a 25 pound volleyball (25 pounds because then the volleyball will give exactly 5 substats)
-adventure at the dire warren for 10 turns, every combat should net you 6 substats
-use one nasal spray and one knob eyedrop
-again, adventure at the dire warren for 10 turns
-depending on how the extrastats mechanic works, every combat should net either 4 substats or 6 substats
-post your results here

As you can see, this isn't really a big deal to spade, but as I said, I'm on a 100% familiar run ... >.>
Last edited by Flolle on Thu Apr 03, 2008 8:13 pm, edited 1 time in total.

User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

Post by Flolle » Mon Mar 31, 2008 6:07 pm

Archayts did some testing for me on this.

Results say that monster stats and familiar stats are added together before they are subjected to -Stats effects. Archayts got 4 or 5 substats with spray and eyedrops, the sometimes 5 substats are due to wallaby kicking in occasionally.

I guess this means no boon for Gluttony in low monster level areas.

jorgensen
AFH
Posts: 160
Joined: Tue Apr 17, 2007 10:46 am
Location: Long Island, NY
Contact:

Post by jorgensen » Tue Apr 01, 2008 4:26 am

Excellent spading, mate.
-Jorgensen-

User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

Post by Flolle » Wed Apr 02, 2008 9:08 am

I looked at how hard +Stats effects are handled (antiphon, crimbo 07 items, witty rapier ...). I came up with this formula for stat gains:

Code: Select all

ms := stats from the monster
ves := variable extra stats (positive or negative)
hes := hard extra stats (such as antiphon)
fs := familiar stats (volleyball or sombrero only)


variable stats = max(0, roundRandomly(ms + fs + ves))

stat gain = max(1, variable stats)

the stat gain for every single stat is then decided by a four-sided dice roll for every substat point. (or something that is functionally equal)

every single stat then gets the amount of stats from the corresponding hes stat added to itself.


roundRandomly is the rounding method that uses a weighted random mode for rounding that the admins seem to like to use very often. To give an example for it: 5.25 would get rounded to 6 25% of the time, while 5.75 would get rounded to 6 75% of the time.

What is still missing in that formula is how familiars such as the Killer Bee or the Personal Raincloud get added into the stat gain. It would be nice if someone did some testing for me on this (I'm still in that 100% familiar run ... >.>). It's possible that those stats are either added where normal familiar stats are added or where hard extra stats are added.

While doing my testing, I also found out how gains from stat days are added:

Code: Select all

ssg := single stat gain (the stat gain for one single stat from above; that is, after all the rounding and adding of extra stats is done)

stat day single stat gain = ceil(ssg * 1.25)

The ceiling makes stat days a tiny bit better than originally thought. But the difference is only really noticable with low stat gains.


Anything unclear or having otherwise questions? Want to help me by providing numbers for the Killer Bee?

User avatar
QuantumNightmare
AFH
Posts: 1827
Joined: Mon Jan 29, 2007 10:28 pm
Location: Montreal

Post by QuantumNightmare » Wed Apr 02, 2008 9:56 am

Most of this information was previously known. Stat day gains are rounded up, other stats are randomly rounded with the decimal giving the percent chance of adding 1 substat. That's all known.

The 4-sided die roll suggests a possible mechanic for giving a 2/1/1 substat distribution with randomness, but it's just one of many. Jick might use something weird that slightly skews the gains, and this should be tested before taking on faith. Figuring out how this distribution works would be new. Killer bee data would be new as well.

User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

Post by Flolle » Wed Apr 02, 2008 12:02 pm

QuantumNightmare wrote:Most of this information was previously known. Stat day gains are rounded up, other stats are randomly rounded with the decimal giving the percent chance of adding 1 substat. That's all known.

Yes, the rounding was known for a long time, but whether familiar stats are added independently was mentioned nowhere. I also never saw data on how the 1 substat minimum and hard extra stats such as antiphon work out. I didn't see this stuff anywhere on the Wiki or the mechanics threads on the HCO forum. Admittedly I didn't check for the statday formula because I just noticed that during my testing, so that might have been posted somewhere. But how stat gains are put together, I couldn't find. So it's either somewhere on the HCO forums and I simply failed at finding it, or it's in some Wiki discussion page, and in that case the people on the Wiki failed at adding it to real Wiki pages. Sorry, but the format of those discussion pages makes it virtually impossible to really search through them. Their only purpose should be to work out theories and collect data for them, not to hold the finished formulas.

Sorry for being obnoxious here, but I'm slightly annoyed that my thread got simply ignored for one month if this is all known. :|

A simple "This is already known." with a link to where I can read more on it would have been enough.

QuantumNightmare wrote:The 4-sided die roll suggests a possible mechanic for giving a 2/1/1 substat distribution with randomness, but it's just one of many. Jick might use something weird that slightly skews the gains, and this should be tested before taking on faith.

Yeah, I didn't propose it as the method used, I just wanted to give an example for something that could be used. I probably should have worded it differently. It would be really easy to implement something like that (four-sided dice), but that doesn't mean it's used.

User avatar
KujjieKujjieKoo
Spade Ninja
Posts: 2240
Joined: Mon Apr 30, 2007 8:50 pm
Location: !Chicago
Contact:

Post by KujjieKujjieKoo » Wed Apr 02, 2008 12:14 pm

Flolle wrote:"This is already known."

All news to me! I did some searching a while back and couldn't find anything. Glad these things were brought up, even if the formulas had been determined previously. Information is useless if no one knows where to find it!

I agree, those wiki pages are horrendous for actually trying to learn anything. Waaaay too much junk you have to wade through for the one or two lines of useful information. HCO boards are usually much better, as summaries are typically easy enough to find.

salien
Pie in the Sky
Posts: 115
Joined: Fri Jan 11, 2008 1:50 pm

Post by salien » Wed Apr 02, 2008 3:32 pm

Most of this seems new, or actually contradicts what was known, actually. I'm pretty certain no one had ever checked the interaction between -stats and bonus familiar stats, for instance, so that's good to know.

Also, a minimum stat gain of 1 is new; I know for a fact I've gotten zero stats from bunnies previously when using eyedrops and no stat gain boosters; if that combo yields one stat now, then that's changed from what I knew.

Also, regarding stat days, there was a trivial announcement posted a long time ago that they'd switched the ceiling() to random up-or-down rounding, to prevent donating tiny amount to the halls over and over from yielding significantly more stats than donating a big chunk. If it was switched back to a ceiling function when the bonus for stat days was changed from 50% to 25%, then that's good to know, as tiny donations to the halls would be better again, as well as other things. (Not that you donate to the halls nearly as much anymore, but still.) Are you certain stat days are using ceiling() again?

Edit: I just used a multi to donate 200 to Sneaky Pete 5 times; got 2, 2, 1, 1, 3. So it seems stat day multipliers are not ceiling'd there. I also hit up the bunnies with nasal spray and nothing else affecting stats and got zero substats, so the min of 1 is false. I then fought bunnies for a while (~50 adventures) with no stat effects at all, and whenever I got moxie substats, I always got 2. So it looks like the ceiling applies to combats still, just not the halls. I'm curious then about the gym formula rounding, and stat non-combats, but don't have any characters in a position to test.

User avatar
QuantumNightmare
AFH
Posts: 1827
Joined: Mon Jan 29, 2007 10:28 pm
Location: Montreal

Post by QuantumNightmare » Wed Apr 02, 2008 4:30 pm

I tested stat days in january 2008, and added the fact that it rounds up to the wiki at the time. So this was in NS13, after that trivial announcement.

As for stat rounding occuring after adding together all stats are added together +ML leads to an easy test, and I had assumed familiars functioned in the same way. If you have +15ML, you get 3-4 stats (+3.75). If you have a 20 pound volleyball instead, you get 4-5 stats (+4.47). If you combine the two, you get 8-9 stats (+8.22) instead of (3 to 4) + (4 to 5) = (7 to 9).

I did not mean to be inconsiderate.

Back to salien - are we sure thet donating 200 meat gives exactly 1.00 substats? If it gives anywhere from 0.01 to 2.4 substats, ceiling(1.25*statgain) would give a range of 1 to 3.
Last edited by QuantumNightmare on Wed Apr 02, 2008 10:28 pm, edited 2 times in total.

User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

Post by Flolle » Wed Apr 02, 2008 7:22 pm

QuantumNightmare wrote:I tested stat days in january 2008, and added the fact that it rounds up to the wiki at the time. So this was in NS13, after that trivial announcement.

Heh, as I said, I didn't check for the statday formula, so I guess that one had to come back and hit me in the face. ;)

QuantumNightmare wrote:As for stat rounding occuring after adding together all stats are added together +ML leads to an easy test, and I had assumed familiars functioned in the same way. If you have +15ML, you get 3-4 stats (+3.75). If you have a 20 pound volleyball instead, you get 4-5 stats (+4.47). If you combine the two, you get 8-9 stats (+8.22) instead of (3 to 4) + (4 to 5) = (7 to 9).

So, was this test done a while ago, or did you propose it as a way to confirm my OP question? Either way, this probably isn't needed anymore since -Stats effects already affect familiar stats. Or are you aiming at the rounding mechanism? I guess that is still open for dispute ...

QuantumNightmare wrote:I did not mean to be inconsiderate.

Don't worry, I was just a little angry to read a "this is already known" after the thread lay around for one month without one single post. But I'm over that now. :)

salien wrote:Also, a minimum stat gain of 1 is new; I know for a fact I've gotten zero stats from bunnies previously when using eyedrops and no stat gain boosters; if that combo yields one stat now, then that's changed from what I knew.

Well, I edited my post to make something clearer and while I did that, I broke that part of the formula more than it originally was. I noticed that you do not get stats other than hard extra stats such as antiphon with enough -Stats effects running, but I didn't check for it without antiphon. I was pretty sure that you always got at least one stat point from combats, which I guess was just faulty memory. Or maybe I just mixed something up, because I ran another 50 turns and noticed that you always get one substat from bunnies if you don't run any -Stats effects. You even get that substat point with +Stats effects running. No idea whether this is known or not, but it sure is strange behaviour.

salien wrote:I then fought bunnies for a while (~50 adventures) with no stat effects at all, and whenever I got moxie substats, I always got 2. So it looks like the ceiling applies to combats still, just not the halls. I'm curious then about the gym formula rounding, and stat non-combats, but don't have any characters in a position to test.

Even easier way to test the combat rounding: Just use eyedrops and antiphon against bunnies. You'll always get two moxie substats. So yeah, looks like at least combats are still ceiled.

EDIT: Just to add, 5 The Hungers in the DoD gave 26 substats 4 times and 27 substats 1 time. So I guess noncombat gains are simply rounded.

I threw up a new formula to reflect on some mistakes which the old one had. This one should be better, but I don't know whether it's completely right (there is stuff concerning rounding still left in the open). Again, no idea how Killer Bee stats would figure into this.

Code: Select all

ms := stats from the monster
ves := variable extra stats (positive or negative)
fs := familiar stats (volleyball or sombrero only)

How the variable stats are computed:
if (0 < ms < 1 AND (ms + fs + ves) > 0)
    ms = 1
variable stats = roundRandomly(ms + fs + ves)
variable stat gain = max(0, variable stats)

The variable stat gain is now added to muscle, mysticality and moxie in a 2:1:1 distribution for the mainstat.

How the hard extra stats are computed:
muscle = muscle + hard extra stats(muscle)
mysticality = mysticality + hard extra stats(mysticality)
moxie = moxie + hard extra stats(moxie)

Seal Lubber
AFH
Posts: 318
Joined: Fri Sep 21, 2007 12:27 am

Post by Seal Lubber » Wed Apr 02, 2008 11:42 pm

Flolle wrote:ceiled

http://www.thefreedictionary.com/ceiled
ceiled: 1. To provide or cover with a ceiling.

For the benefit of those playing at home.

User avatar
Flolle
Fie the Pie
Posts: 848
Joined: Mon Apr 02, 2007 10:13 am

Post by Flolle » Thu Apr 03, 2008 7:59 am

It would have been even cooler if you had given an example of what I should have written. :P From what I gather I can't use ceil as a verb in that context. Sad thing, I thought you can bent everything into a verb in English. I witnessed it often enough. :(

Seal Lubber
AFH
Posts: 318
Joined: Fri Sep 21, 2007 12:27 am

Post by Seal Lubber » Thu Apr 03, 2008 10:25 am

Flolle wrote:Sad thing, I thought you can bent everything into a verb in English. I witnessed it often enough. :(

That's just it... I thought you'd made the word up, but it turns out that "ceiled" is actually a word according to the dictionary. It's a word I've never seen before so I was kind of surprised. It's also a lot more convenient than "had a ceiling applied".

salien
Pie in the Sky
Posts: 115
Joined: Fri Jan 11, 2008 1:50 pm

Post by salien » Thu Apr 03, 2008 3:07 pm

QuantumNightmare wrote:I tested stat days in january 2008, and added the fact that it rounds up to the wiki at the time. So this was in NS13, after that trivial announcement.


Ah, I see it now on the stat days page. I'd looked at the stat gains page, which is actually a redirect to just stat gains from fights. Still, it does look like only combat gains are ceiled (yay new words, I hated typing ceiling'd) so far, though we still need to check a number of other things I guess, like consumables, the gym, etc.

QuantumNightmare wrote:As for stat rounding occuring after adding together all stats are added together +ML leads to an easy test, and I had assumed familiars functioned in the same way. If you have +15ML, you get 3-4 stats (+3.75). If you have a 20 pound volleyball instead, you get 4-5 stats (+4.47). If you combine the two, you get 8-9 stats (+8.22) instead of (3 to 4) + (4 to 5) = (7 to 9).


I'm pretty certain this at least used to not be the case; for instance, for a while the volley gain formulas were floored, but this didn't affect fractional ML gains' rounding. Also, to my knowledge sombrero gains are still floored. Have you spaded the above case to see whether the range is 8-9 or 7-9? (Or easier, fight bunnies with +5ML for a 1.5 gain with a 20lb (or 30lb) volley. If they're added before rounding, you'll almost always see 6 total (7 for a 30 volley), with the rare 5 (or 6). If they're rounded before adding, you should see 5, 6, 7 (or 6, 7, 8 ) commonly, seeing the middle value about half the time and the other two around 25% each.)

EDIT: Ran the bunnies at +5 ML with a 20lb volley myself. Got 5, 6, 6, 7 substats, when accounting for the ceiled moxie stat day. So, looks like they (MS and FS in flolle's formula) are rounded separately before being added together. Is there any way to get non-whole number bonus stats, to see if those are rounded separately as well?

QuantumNightmare wrote:Back to salien - are we sure thet donating 200 meat gives exactly 1.00 substats? If it gives anywhere from 0.01 to 2.4 substats, ceiling(1.25*statgain) would give a range of 1 to 3.


I haven't tested this personally, but the wiki currently states that for each 200 meat you spend, you get exactly either 1 or 2 substats, 50% chance of each. Long ago, it would actually just roll a single die based on the entire amount you donated, with a range of (donation/200) to (donation/100), all with equal probabilities. That was changed to give a more normalized distribution, because people were forcing it anyway by donating 200 at a time over and over, but I'm pretty certain the average amount per 200 hasn't changed; I know that at least the average gain for a donation of 200 is 1.5, and that I've never gotten more than 2 stats for donation of 200 on a non-stat day, so I can't really see any way the range could be anything other than 1-2 (if it went higher than 2, you'd see 3s on non-stat days, and if it can't go higher than 2, it can't go lower than 1 and have an average of 1.5), and I don't see any reason to suppose it is a continuous range rather than a discrete 1 or 2.

Flolle wrote:Or maybe I just mixed something up, because I ran another 50 turns and noticed that you always get one substat from bunnies if you don't run any -Stats effects. You even get that substat point with +Stats effects running. No idea whether this is known or not, but it sure is strange behaviour.


I think it's just that the part of the formula that takes ML/4 as stats has a min of 1; I had bunnies hit me with no DA and 1 moxie to confirm they don't do more than 1 damage. Then I hit them with the drowsy sword (-10ML) and still got 1 stat per combat. Then I removed the sword and kept upping the MCD by 1, and at 4 I started getting 2 substats sometimes (accounting for the stat day). So, that confirms that bunnies are 1 ML, and that even at -ML you still get at least 1 substat from the monster. (For extra fun, I threw on the rat mask and drowsy sword for -15ML, and hit bat hole entryway monsters (12-14ML) and confirmed I still got exactly one substat from them each time.)

One extra thing I checked: -stats does NOT effect 'hard' stats. Hit bunnies with peeled eyes and nothing else, no stats. Hit them with peeled eyes and wasabi sinuses, still no stats. Added a witty rapier, and got 2 myst stats every time (if -stats could affect hard stats, I would've expected only 1 myst substat). Let peeled eyes wear off (so just witty and wasabi), still 2 myst stats every time. (This is similar to what flolle posted, but flolle didn't specifically state testing with -stats greater than expected variable stats, so I wanted to be certain).

Post Reply