Equipt - an item selection tool

Alhifar

Member
In "equipt Moxie -sim" it sees the space after Moxie and before -sim, and thinks that it is part of the modifier name, or so it seems.
 

DerDrongo

Member
Failed to generate Item Map for 'Moxie ', is this the case correct?
Like Alhifar noticed there is a trailing space, i will post a fix for that (and case sensitivity) later today
Unfortunately that character has two bottle-rocket crossbows, so my off-hand shouldn't be empty.
if you do -trace Moxie and have a look for the bottle-rocket entry that should help work out why it isnt finding it
 

DerDrongo

Member
New Version 1.4b

Version 1.4b (View attachment 1486)
added a workaround to kolmafia's case-sensitivity
trims excess blank spaces after a modifier as well as before
added new item map: Hatrack Hats ...this is just to store a list of hats to check against, without a patched mafia client we have no way of working out what they do
( I will be posting a new .patch file on the bugtracker soon, if anyone wants to help test familiar numeric_modifier's (and is willing to build from the SVN and add a patch) their help is much appreciated )
 

jasonharper

Developer
A new version of your patch would be great, as I'm just now getting to the point where I have significant time available to work on KoLmafia again.

However, you should be able to get all the Hatrack effects already - you just need to look at the modifiers for "FamEq:name-of-hat" rather than just "name-of-hat"
 

Bale

Minion
Like Alhifar noticed there is a trailing space, i will post a fix for that (and case sensitivity) later today

if you do -trace Moxie and have a look for the bottle-rocket entry that should help work out why it isnt finding it

Code:
Slot: weapon
bottle-rocket crossbow [can_equip: true] [available: 2] [storage: 0] [remaining: 2] [score: 210]
That doesn't look real insightful to me, but maybe it will help you.
 

Bale

Minion
Using equipt--v1.4b.ash

> equipt Moxie -sim

Searching for Moxie
[outfit: (none)] [hobo: (none)] [rate: 888]
[outfit: Swashbuckling Getup] [hobo: (none)] [rate: 454]
[outfit: Star Garb] [hobo: (none)] [rate: 470]
[outfit: Glad Bag Glad Rags] [hobo: (none)] [rate: 261]
[outfit: Palmist Paraphernalia] [hobo: (none)] [rate: 268]
hat: Disco 'Fro Pick
shirt: grungy flannel shirt
pants: plexiglass pants
weapon: bottle-rocket crossbow
offhand: (empty)
acc1: Elvish sunglasses
acc2: dead guy's memento
acc3: tube sock
familiar: (empty)

Sim Complete.
done.
Nope.
 

DerDrongo

Member
found the problem, for some reason it was only looking for 1handed muscle or 1handed mysticality... any 1 handed moxie weapon where considered to be a 2handed weapon... cant figure out what i was thinking when writing it but should get it fixed sometime tomorrow (just seen the time, no wonder the caffeine isnt helping :) )
 
> call scripts/equipt1.4b.ash

Bad item value: "flaming familiar doppelg‰nger" (equipt1.4b.ash, line 138)

To fix it, I had to change it to the equivalent of the string in the file

kolmafia/src/data/modifiers.txt

flaming familiar doppelgänger
 
Hodgman outfit stuff isn't quite working. It put on the outfit, but not the
garbage sticker. Also, the primary hand should be weilding a bottle-rocket
crossbow rather than a penguin whip.

> call scripts/equipt1.4b.ash

Searching for Meat Drop
Creating item map for: Meat Drop
Creating item map for: Hatrack Hats
[outfit: (none)] [hobo: (none)] [rate: 218]
Creating item map for: Hobo 1.0 Meat Drop
[outfit: (none)] [hobo: Hodgman's garbage sticker] [rate: 283]
[outfit: Hodgman's Regal Frippery] [hobo: (none)] [rate: 178]
[outfit: Hodgman's Regal Frippery] [hobo: Hodgman's garbage sticker] [rate: 283]
hat: Hodgman's porkpie hat
shirt: duct tape shirt
pants: Hodgman's lobsterskin pants
weapon: penguin whip
offhand: bobble-hip hula elf doll
acc1: Hodgman's lucky sock
acc2: Hodgman's bow tie
acc3: natty blue ascot
familiar: Hobo Monkey
familiar item: little box of fireworks

Taking off time sword...
Equipment changed.
Putting Neck Pinch the Disembodied Hand back into terrarium...
Taking Chief Engineer Sooty the Hobo Monkey out of terrarium...
Wielding penguin whip...
Equipment changed.
Holding bobble-hip hula elf doll...
Equipment changed.
Putting on Hodgman's lucky sock...
Equipment changed.
Putting on Hodgman's bow tie...
Equipment changed.
Putting on natty blue ascot...
Equipment changed.
Putting on little box of fireworks...
Equipment changed.
Putting on Hodgman's porkpie hat...
Equipment changed.
Putting on Hodgman's lobsterskin pants...
Equipment changed.
Putting on duct tape shirt...
Equipment changed.
done.
 

psly4mne

Member
Great script, been using it for a while!

Any chance equipt.ash could be modified to handle the Brimstone set bonus?
 

DerDrongo

Member
Hodgman outfit stuff isn't quite working. It put on the outfit, but not the garbage sticker.
Fixed (fingers crossed :) )

Any chance equipt.ash could be modified to handle the Brimstone set bonus?
I have tried to add it to 1.5 but can only test it by forcing item detection, hopefully it will work but shout out if you have any problems (remember to edit the script to enable the outfit)



Version 1.5 (View attachment 1491)
Brimstone outfit handling (disabled by default, until tested without forcing item detection)
Fixed hobo outfit handling
Fixed one handed moxie weapons, before they could only be considered to be two handed weapons by over strict checks
Renamed flaming familiar doppelganger to avoid localisation issue


I am trying to think of new debugging options to add... currently i plan on adding...
a way to follow a specific item, when ever it is used in a check, report what it was compared against and the result, also highlight any non-debugging output that mentions the item

can you think of something that would help trace a problem down to its source?
 
> call scripts/equiptv1.5.ash

Searching for Meat Drop
[outfit: (none)] [hobo: (none)] [rate: 230]
Internal error building outfit? trying to add two items to same slot [slot: off-hand] [original: Hodgman's garbage sticker] [adding: bobble-hip hula elf doll]
 

psly4mne

Member
I have tried to add it to 1.5 but can only test it by forcing item detection, hopefully it will work but shout out if you have any problems (remember to edit the script to enable the outfit)
Unfortunately, Brimstone isn't that simple - wearing less than all 6 pieces gives a smaller bonus, and this is sometimes worthwhile. For example, 4 Brimstone pieces and 3 hockey sticks would give more ML than 6 Brimstone pieces and 1 hockey stick.
 

DerDrongo

Member
Searching for Meat Drop
[outfit: (none)] [hobo: (none)] [rate: 230]
Internal error building outfit? trying to add two items to same slot [slot: off-hand] [original: Hodgman's garbage sticker] [adding: bobble-hip hula elf doll]
I cant reproduce the error, even when forcing detection of the garage sticker (with hobo sock) and bobble-hip hula elf doll the script doesnt fail... i will try adding some more debugging forcing items...
but as recent version are showing the bugs are very dependant on your current stash of items... I think im best trying and add some sort of forced inventory overlay, that way i can test a specific inventory on any character... I might even be able to make some sort of automated check that any new changes are not breaking optimal item selection... If i made a 'standard inventory' to check against what should it include? (tests would probably need a few high scoring items 'in storage' to check pulls ... should a standard set of familiars also be considered? )

Unfortunately, Brimstone isn't that simple - wearing less than all 6 pieces gives a smaller bonus, and this is sometimes worthwhile. For example, 4 Brimstone pieces and 3 hockey sticks would give more ML than 6 Brimstone pieces and 1 hockey stick.
does the script consider (or decide apon) the brimstone outfit for monster level, meat drop or item drop?
if the check is working properly i can modify it to loop from 0 to your brimstone count and work out which number is best... but without some form of modifier weighing i cant compare the different brimstone items to each other...

I was planning on some sort of weighing system for version 2.0... so instead of doing -fill[Farm] you would do something like -weight[Meat Drop@1.0] -weight[Item Drop@0.8] (with unspecified modifiers being considered some positive float to avoid negative modifiers) ... it would help avoid low scoring items from an earlier modifier from blocking a high scoring item from a later modifier, if that was desired by the user...
 

psly4mne

Member
I cant reproduce the error, even when forcing detection of the garage sticker (with hobo sock) and bobble-hip hula elf doll the script doesnt fail... i will try adding some more debugging forcing items...
I observed this error as well:
Code:
> fakeitem 3 hockey stick
> equipt -sim -item[Hockey Stick of Furious Angry Rage] Monster Level

Searching for Monster Level
[outfit: (none)] [hobo: (none)] [rate: 80]
[outfit: Internal-Brimestone Outfit] [hobo: (none)] [rate: 94]
Internal error building outfit? trying to add two items to same slot [slot: acc1] [original: hockey stick of furious angry rage] [adding: hockey stick of furious angry rage]
Only other relevant items available were the 6 brimstone pieces. It seems to happen consistently if the item forced was going to be in the outfit anyway.

does the script consider (or decide apon) the brimstone outfit for monster level, meat drop or item drop?
Yes, that part is working perfectly.
if the check is working properly i can modify it to loop from 0 to your brimstone count and work out which number is best... but without some form of modifier weighing i cant compare the different brimstone items to each other...
The correct implementation would be this: track how good a modifier you are getting from each slot without using brimstone. Then check what you get if you replace the least valuable sot with a brimstone piece, then try replacing the 2 least valuable slots, and so on, for 7 total variations to check. This would need to be done under each outfit. It does help that no brimstone piece gives +ML, meat or items on its own.
 
Last edited:
I cant reproduce the error, even when forcing detection of the garage sticker (with hobo sock) and bobble-hip hula elf doll the script doesnt fail... i will try adding some more debugging forcing items...
but as recent version are showing the bugs are very dependant on your current stash of items... I think im best trying and add some sort of forced inventory overlay, that way i can test a specific inventory on any character... I might even be able to make some sort of automated check that any new changes are not breaking optimal item selection... If i made a 'standard inventory' to check against what should it include? (tests would probably need a few high scoring items 'in storage' to check pulls ... should a standard set of familiars also be considered? )

I would be happy to submit a (for lack of a better term), inventory template. If you
come with a way to generate such a thing.

I think "standard inventory" or "familiars" varies pretty wildly. However making sure
all of the Mr. Store stuff works, and any obviously high powered stuff like Hobopolis
items, or any of the Ascension reward items is probably a good place to start.

For familiars, it depends on the goal .. obviously in my example hobo monkey was
important for meat farming. However, if someone uses the stasis/NPZR for 10 rounds
trick, it's really hard to say which one is better.
 

jasonharper

Developer
I think im best trying and add some sort of forced inventory overlay, that way i can test a specific inventory on any character...
KoLmafia has an undocumented command that may be useful to you here:
fakeitem [num] item
which adds the indicated number of items to mafia's idea of your inventory. The effects last until the end of your session, or you do a "refresh inv". Of course, any attempt to actually use the item will fail - this was intended as a way for developers to verify that a new item shows up in the right places, with the right details, in cases where the actual item isn't easily obtainable. Unfortunately, fakeitem cannot remove items from your inventory.
 
Top