New Content - Implemented January 2016 IotM: X-32-F snowman crate

For comparison, here is a normal monster with Manuel annotation:

Code:
    <table>
      <tbody>
        <tr>
          <td>
            <div id="monsterpic" style="position: relative;">
              <img id="monpic" crossorigin="Anonymous" src="http://images.kingdomofloathing.com/adventureimages/topiarychi.gif" width="100" height="100">
          <td valign="center">
            You're fighting
            <span id="monname">
              a topiary chihuahua herd
          <td width="30">
          <td>
            <table>
              <tbody>
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/nicesword.gif" width="30" height="30" alt="Enemy's Attack Power" title="Enemy's Attack Power">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        260
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/leafflavor.gif" alt="This monster is a Plant" title="This monster is a Plant">
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/whiteshield.gif" width="30" height="30" alt="Enemy's Defense" title="Enemy's Defense">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        260
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/circle.gif" width="30" height="30" alt="This monster has no particular elemental alignment." title="This monster has no particular elemental alignment.">
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/hp.gif" width="30" height="30" alt="Enemy's Hit Points" title="Enemy's Hit Points">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        260
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/watch.gif" alt="Initiative +150%" title="Initiative +150%">
and here is a Combat Snowman with Manuel-style annotation:

Code:
    <table>
      <tbody>
        <tr>
          <td>
            <div id="monpic">
              <br>
              <img style="position: relative; z-index: 9998; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/head.png" alt="Head: This makes the snowman more relatable as an opponent." title="Head: This makes the snowman more relatable as an opponent.">
              <img style="position: relative; z-index: 9997; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/physdamager.png" alt="High-Speed Broom: Deals Physical damage each round." title="High-Speed Broom: Deals Physical damage each round.">
              <img style="position: relative; z-index: 9996; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/spookyresistor.png" alt="Opaque Sunglasses: Gives the snowman 50% resistance to Spooky damage." title="Opaque Sunglasses: Gives the snowman 50% resistance to Spooky damage.">
              <img style="position: relative; z-index: 9995; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/stenchpenetrator.png" alt="Jumbo Air Freshener: Lets the snowman penetrate 5 levels of Stench Resistance." title="Jumbo Air Freshener: Lets the snowman penetrate 5 levels of Stench Resistance.">
              <img style="position: relative; z-index: 9994; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/hotdamager.png" alt="Professional-Strength Hair Dryer: Deals Hot damage each round." title="Professional-Strength Hair Dryer: Deals Hot damage each round.">
              <img style="position: relative; z-index: 9993; margin-top:-8px" src="http://images.kingdomofloathing.com/otherimages/combatsnowman/base.png" alt="Base: This part stops the functional parts of the snowman from touching the ground." title="Base: This part stops the functional parts of the snowman from touching the ground.">
          <td valign="top">
          <td valign="center">
            You're fighting
            <span id="monname">
              the foul-mouthed, cloned X-32-F Combat Training Snowman
          <td width="30">
          <td>
            <table>
              <tbody>
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/nicesword.gif" width="30" height="30" alt="Enemy's Attack Power" title="Enemy's Attack Power">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        69
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/sprocket.gif" alt="This monster is a Construct" title="This monster is a Construct">
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/whiteshield.gif" width="30" height="30" alt="Enemy's Defense" title="Enemy's Defense">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        151
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/snowflake.gif" width="30" height="30" alt="This monster is Cold.  Cold is weak against Hot and Spooky." title="This monster is Cold.  Cold is weak against Hot and Spooky.">
                <tr>
                  <td width="30">
                    <img src="http://images.kingdomofloathing.com/itemimages/hp.gif" width="30" height="30" alt="Enemy's Hit Points" title="Enemy's Hit Points">
                  <td width="50" valign="center" align="left">
                    <b>
                      <font size="+2">
                        219
                  <td>
                    <img src="http://images.kingdomofloathing.com/itemimages/snail.gif" alt="Never wins initiative" title="Never wins initiative">
 
Not yet known to KoLmafia:

Code:
--------------------
8699	training belt	224153440	trainingbelt.gif	accessory	q	0
training belt	100	Mus: 10
Item	training belt	Weapon Damage Percent: -50, Monster Level: +25, Muscle Percent: +25, Single Equip
--------------------

--------------------
8702	training scroll: Shattering Punch	568969372	wosp_scroll.gif	usable	t	0
Item	training scroll: Shattering Punch	Skill: "Shattering Punch"
--------------------
--------------------
8704	training scroll: Shivering Monkey Technique	284921946	wosp_scroll.gif	usable	t	0
Item	training scroll: Shivering Monkey Technique	Skill: "Shivering Monkey Technique"
--------------------
--------------------
8703	training scroll: Snokebomb	696042206	wosp_scroll.gif	usable	t	0
Item	training scroll: Snokebomb	Skill: "Snokebomb"
--------------------
 
Something to note for free fight tracking:

If you lose a "free" snowman combat, then it costs an adventure, but does not reduce the number of available free combats.

To put it another way, you always get 10 free combats per day, but losses cost adventures.
 
Something to note for free fight tracking:

If you lose a "free" snowman combat, then it costs an adventure, but does not reduce the number of available free combats.

To put it another way, you always get 10 free combats per day, but losses cost adventures.

Yup, which is what will make it possible to calculate based on number of snowman pieces when you win.
 
Something to note for free fight tracking:

If you lose a "free" snowman combat, then it costs an adventure, but does not reduce the number of available free combats.

To put it another way, you always get 10 free combats per day, but losses cost adventures.

You can examine a similar effect in place with Machine Elf fights. This was probably a hotfix for a bug I discovered and reported last June, now that I think about it.
 
There are quite a few areas where turns spent today is relevant. Maybe that should just be added as a proxy field for locations.
This isn't that, though. This is wins vs Snowmen in that zone. Where are there others, I'm not sure there are that many? (post war farm, machine elf free fights?)
 
There's already a location proxy field for "turns_spent"

Or is that the joke?

That's actually closer to "visits to this location, in this ascension".
- it counts free adventures (which don't count for snojo free fights tracking)
- it only resets on ascension (snojo tracking should reset on rollover)
- it counts losses (which don't count for snojo free fights tracking)
- it doesn't discriminate based on a setting, so it can't track progress towards rewards
 
Last edited:
This isn't that, though. This is wins vs Snowmen in that zone. Where are there others, I'm not sure there are that many? (post war farm, machine elf free fights?)

The SMOOCH Army HQ is another example. Probably other stuff somewhere in charters. Maybe more stuff in other areas. Maybe it needs to track monsters defeated today in each area instead of turns spent there today to cover all the stuff like that.

The reason I'm spending so much effort talking about implementing things differently than what you've got going so far is that it reminds me of the discussion and eventual implementation of turns_spent tracking. First people asked for turns spent to be tracked to keep track of delay. I pointed out that there were more areas than the requester realized were relevant for the request, and I didn't think it was a good idea to have lots of settings for that, so I rejected the request. Several years later, a bunch of those settings started being made anyway. Thanks to roippi's queue tracking code, I had a way to replace those settings and still track that information.

So that's where my thoughts about this are coming from.
 
I understand the thought, I'm just uncertain that all the zones count the same sort of information in the same way. I also think there is quite a lot of spading needed on some other zones - eg, which count monsters killed, which count monsters fought, which ones count wandering monsters or not, whether copied monsters from those zones count, etc.

If there is an easy way to make it work, go ahead.

In this case, the easiest way was to just count the snowman pieces, which also recovers from bugs and stuff done outside mafia, and this can't be done in a generic way.
 
Is snojoSetting being reset on ascension? I'm not sure of the answer, so pardon me if I am saying anything unnecessary.

snojoSetting should be reset to NONE when ascending. If the Snowman is approached before the control console it tells me that it is deactivated and I need to visit the console to activate it. When I visit the console it tells me that it is set to my current primestat. Only when I visit the console and the result is parsed should snojoSetting be set to a stat. That way a script can know if it needs to activate it from the console.

Also, the default setting for snojoSetting should be NONE instead of blank. For the reason in the above sentence. Although mostly because $stat[NONE] is a thing which won't throw an error.
 
Last edited:
Thanks. I thought it was darn weird that I had to visit the console and do nothing before I could start training.
 
Back
Top