VladimirPootin's Mafia Log Parser v5.0: Linux compatible!

For stuff related to KoLmafia, KoLproxy, Ascension Log Visualizer, and greasemonkey scripts. Maybe other stuff too.
VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

VladimirPootin's Mafia Log Parser v5.0: Linux compatible!

Post by VladimirPootin » Wed Mar 28, 2007 11:20 pm

This is no longer being maintained, and has been superseded by the Ascension Log Visualizer. --deus

CHANGELOG

v1.1: added total adventures from eating/drinking/using
v1.2: fixed usage error for using more than 10 items at a time (check the soda water counter now, boys and girls)
v1.3: consolidated the cyrpt, copse, and cooking adventures
v1.4: added command line arguments to allow output suppression/enabling
v1.5: added breakdown of combat/noncombat adventures by level
v1.5.1: fixed donation printouts
v1.6: added -all and -debug options
v1.6.1: much more accurate breakdown of combats, non-combats, and "other"; added wok to cooking/creating
v1.7: added preliminary bottleneck breakdown, grouping of pirate's adventures
v1.7.1: very much improved combat/noncombat differentiation
v1.8: added pulls option, fixed some noncombat/combat decisions
v1.8.1: more combat decisions, also fixed trinket counter
v1.9: switched over to algorithmically separating combats from noncombats; should be more reliable
v2.0: added -casts option, some dramatic format improvement
v2.0.1: added grouping for opening spookyraven
v2.0.2: attempted to fix stats from "other" (aka shore) to no avail
v2.1: added familiars
v2.2: added drops
v2.3: added critical drops, added percents and stats for louvre, other minor bottleneck formatting
v2.3.1: minor louvrestats bug

##QN revisions:
#2.3.2: NS-13 update: added more grouping and critical drops, display critical item drops from noncombats
#2.4: Semi-rare readout, adventure gains now displayed inline
#2.4.1: Display tower familiars, track turncount of semi-rares
#2.5: Substats at ascension and from all noncombats now counted
#2.6: Created class of drops that are only displayed the first X times they drop
#2.6.1: Improved tracking of semi-rare turns, added bad moon tracker
#2.6.2: Changes to the item drop code
#2.7: Fixed meat drops. Print large amounts, and dictionary autosells
#2.8: Added support for subzones not recognized by mafia
#2.8.1: Fixed familiar percent calculations....somehow
#2.9: Added daycount calculator
#2.9.1: Added -statgains option
#2.9.2: -statgains should now only display adventuring substats (combats and noncombats)
#2.9.3: Improved autosell support, now includes dense meat stacks. Added -meat option
#3.0: Added -skills option, which displays badmoon skill acquisitions
#3.0.1: supports up to level 30
#3.0.2: -skills removed, included in -badmoon. Now displays badmoon and combat semirares in main display
#3.1: No longer cuts off the last turn of incomplete logs
#3.1.1: Fix to catch ascensions done with mafia 11.9
#3.2: Fixed bug with daycount calculator
#3.2.1: Fixed drops with mafia 11.9
#3.3: Fixed pirate grouping, repetition of meat gain displays, semirares display, and vacation turncounts
#3.3.1: Fixed trinket bug
#3.4: Attempt to fix "Got" bug
#3.4.1: Added tracking for lucre/olfaction usage
#3.5: Fixed Daily Dungeon grouping, olfaction MP usage
#3.6: Added -mlbreakdown option, stat/turn update at the start of each day
#3.6.1: Fixed -mlbreakdown across ascensions
#3.7: Attempt to fix banked turns error (campground items should now be counted)
#3.8: Skipped turns no longer included in final adventure summary
#3.9: -bakula option. Works for DB's and muscle classes. Assume's MMJ all run for myst classes.
#4.0: Class checker fixed
#4.0.1: Stats attempt to update on login
#4.1: Daycount no longer tracked by drunkeness level, works with teet and oxy runs
#4.2: Higher level support
#4.2.1: Generalize ascension recognition
#4.3: Rewrite ascension recognition (again), glimmering feather / gong support
#4.4: Added tracking for navel ring retreats
#4.5: More ascension recognition, including incomplete day 1
#4.6: All ascension recognition now done by tracking turncounts
#4.6.1: Ascensions in first log file should now be recognized
#4.6.2: -files option added, various bugfixes
#4.7: Added comments in [code] tags
#4.8: Ascension files now have "_daycount_turncount.txt" added to the end of the filename
#4.9: Logging ends on beating the NS, unless -aftercore option is used.
#5.0: Support for linux linebreaks, revamp bottleneck section, end-of-run olfaction summary, bookshelf summons

HOW TO GET IT

http://www.lobitlandscapes.org/kol/mafiaLogParser.pl <-- Vlad's official version
http://joshua.now.googlepages.com/mafiaLogParser.pl <-- Quantum's updated version

HOW TO GET PERL IF YOU DON'T HAVE IT OR THINK I MISSPELLED "PEARL"

if you run linux, and you don't know how to run a perl script... who are you? skip to step 5 (and see quirk 2).

if you have a mac with any OS X, you probably aren't using mafia, but if you somehow are, you probably have perl installed already. skip to step 5 (and potentially be aware of quirk 2).

if you have a pc:

1. go get cygwin setup.
http://www.cygwin.com
Cygwin is a program that does a simply bang up job of translating unix system calls for an intel chip. it will let you run things like the perl parser and any other unix program you can think of. you probably don't care.

2. run cygwin setup. choose "install from internet". go with the defaults (c:\cygwin\ install dir, c:\temp for temporary downloads). Direct Connection... Pick a mirror; preferably one geographically close to you, but they are all the same (though some can be slow). It should download a file called setup.bz2 or something.

3. You will be confronted with a bewildering series of unix program to download and install. You only care about one: the perl parser. It can be found under "Interpreters" - just check the box and hit next; cygwin will do its thing.

4. save the script to your kolmafia/sessions folder.

5. run cygwin. you will get a command prompt. type
[code]
cd c:
cd kolmafia
cd sessions
./mafiaLogParser.pl [-OPTIONS] YOURNAMEHERE[/code]


Of course you will actually have to get to your own KoLmafia directory. Only you have the power to know where that is, but the above should be demonstrative. if it's on your desktop, do yourself a favor and just make a new directory on your harddrive.

You will also have to know your username. That too is something only you have in your power. To see what options to use, see below. Running the script with no options will give you a help message.

If you have spaces in your username, tough nuts. No, actually it should be OK, just put double quotes around your name (have not been able to test this though - if you do it and it works, let me know).

6. watch it run; it will create a file YOURNAME_ascendDATE.txt for each ascension it finds. you can open the these files but you might want to just go to step 7.

7. type
[code]unix2dos *ascend*.txt[/code]
to make all those files openable in notepad.

Hints: in cygwin, if you're stuck, you can type "cd " and then hit tab twice to see a list of available directories. you can type "ls" to see the list of files in that directory ("ls -ltr" to see them in dated order). you can type "less YOURNAME_ascendDATE.txt" to view the contents of a file.

If you plan on posting your results to a phpBB board, use the code tags. if you are posting on an html board or website, try the pre tags. these preserve the formatting which increases the readability dramatically.


HOW TO USE IT

./mafiaLogParser.pl [-adventures] [-levels] [-familiar] [-stats] [-items] [-eating] [-casts] [-pulls] [-criticaldrops] [-drops] [-badmoon] [-semirares] [-files] [-aftercore] YourUserName


the options should be self explanatory (things in brackets are computer speak for "optional" - don't use the brackets)... they are all NOT printed by default, so to get all the output you would run:

(-criticaldrops will tell you when you got a drop required for hardcore ascension, or one that is very very useful)

[code]./mafiaLogParser.pl -adventures -levels -familiar -stats -items -eating -casts -pulls -criticaldrops -drops NameOfComradeYou[/code]

Now that's a lot to type, so if you just want to see your run in all its crunched up glory, warts and all, you can just do:

[code]./mafiaLogParser.pl -all NameOfComradeYou[/code]

IMPORTANT NOTE: the -drops option is seriously verbose and is not included in the -all switch, you must specify -all and -drops to get it. I do not recommend using the -drops option!

if you use this script, please either post the results here or send me a small token of your appreciation for display purposes. if you can do neither, at least let me know you're using it.

known quirks :
1. DO NOT just edit out one complete ascension from you mafia logs. just put it in the sessions folder and run. if you want, you can create a new folder, but just throw a whole slew of sequential mafia logs in there.

2. If the thing is cutting off the last letter for you: open the script in a text editor, and find/replace chop/chomp. mafia puts some weird non whitespace characters in its logs on my computer so unfortunately this probably won't change.

3. due to mafia logging weirdness, some things appear to take turns in the breakdown that do not take turns... usually this doesn't matter but it throws off the turns spent in the daily dungeon numbers and also will occasionally think you spent an adventure when none are spent (i.e. getting a box turtle, using a tattered scrap of paper, possibly cooking if you have a chef although i can't test this). some of these have been fixed but not all.

4. if you open this is notepad, it will look like one big ass line of junk. just open it in wordpad it'll look normal. alternatively, see the above step involving "unix2dos". I've mentioned this twice here; kmailing me about it gives me Annoyance of the Developer (8000 turns) .

5. special note for 1 day runs: because the script generates a new file for each ascension each time you run it, it will overwrite your 1 day run log with the other run you started that day. to prevent this, change the line:

6. the MP used to summon candy hearts is just a guess, there is no way for me to figure this out so i assumed an average of 5mp/cast.

[code]open (OUTLOG, "> $ascensionLog") or die "can't output to ascension log";[/code]
to
[code]open (OUTLOG, ">> $ascensionLog") or die "can't output to ascension log";[/code]

the only difference is the number of less-than-enormous-greater-than-signs.


output looks like this (sans -drops option, because it's too much data):


[code]NEW Pastamancer ASCENSION STARTED 20070411
------------------------------

mafiaLogParser.pl 2.3 by VladimirPootin, Supreme Leader and National Sovereign of all the Russian Lands


[1-5] Unlucky Sewer
+> [5] Got worthless gewgaw, ten-leaf clover
[6] Lemon Party
o> Ate 1 Retenez L'Herbe Pat・
18 adventures gained
=> Level 2 (Turn 6)! (6/6/0)
o> Ate 1 Retenez L'Herbe Pat・
19 adventures gained
=> Level 3 (Turn 6)! (9/9/6)
[7-16] Spooky Forest
o> Turn [16] Used 1 purple snowcone
[17-19] Bugbear Pens
+> [19] Got annoying pitchfork
[20-22] Typical Tavern Quest
[23-26] 8-Bit Realm
=> Level 4 (Turn 25)! (11/13/11)
-> Turn [27] Dandy Lion (16 lbs)
[27-32] Guano Junction
+> [27] Got sonar-in-a-biscuit
+> [28] Got broken skull
+> [31] Got sonar-in-a-biscuit
-> Turn [33] Spirit Hobo (35 lbs)
+> [32] Got loose teeth
[33-55] 8-Bit Realm
o> Turn [45] Used 1 orange snowcone
=> Level 5 (Turn 55)! (16/20/15)
-> Turn [56] Dandy Lion (17 lbs)
[56] Outskirts of The Knob
[57-58] Knob Goblin Kitchens
+> [57] Got Knob sausage
+> [58] Got Knob sausage
[59-61] Fun House
+> [59] Got bottle of rum, bottle of tequila, bottle of whiskey
+> [60] Got disease
+> [61] Got box
[62] Guano Junction
-> Turn [63] Spirit Hobo (35 lbs)
+> [62] Got sonar-in-a-biscuit
[63-66] 8-Bit Realm
[67] Guild Challenge
[68-74] Pre-Cyrpt Cemetary
+> [69] Got smart skull
+> [73] Got grave robbing shovel
[75-77] Guild Challenge
[78-83] Pre-Cyrpt Cemetary
+> [78] Got loose teeth
+> [80] Got skeleton bone
+> [82] Got loose teeth
-> Turn [84] Dandy Lion (18 lbs)
[84-95] Fernswarthy's Tower
[96-111] Battlefield (No Uniform)
-> Turn [112] Spirit Hobo (25 lbs)
[112] Create 1 sauce of the ages
[113] Create 1 spaghetti with Skullheads
o> Ate 1 spaghetti with Skullheads
28 adventures gained
[114] Battlefield (No Uniform)
[115-122] Battlefield (Cloaca Uniform)
o> Ate 1 Retenez L'Herbe Pat・
19 adventures gained
-> Turn [123] Dandy Lion (19 lbs)

[123-124] Dark Neck of the Woods
-> Turn [125] Spirit Hobo (35 lbs)
[125] Dark Heart of the Woods
[126] Dark Elbow of the Woods
-> Turn [127] Dandy Lion (20 lbs)
[127-134] Dark Neck of the Woods
-> Turn [134] Spirit Hobo (35 lbs)
+> [133] Got wussiness potion
[135] Dark Heart of the Woods
[136-140] Dark Elbow of the Woods
[141-143] Dark Heart of the Woods
=> Level 6 (Turn 143)! (25/29/22)
[144-147] Dark Elbow of the Woods
[148] Dark Heart of the Woods
-> Turn [149] Dandy Lion (20 lbs)
[149] Dark Neck of the Woods
+> [149] Got ruby W, wussiness potion
[150] Friar Ceremony Location
[150-154] Fernswarthy's Tower
[155-158] Barrel Full of Barrels
+> [155] Got ten-leaf clover
-> Turn [159] Spirit Hobo (25 lbs)
[159] The Boss Bat's Lair
+> [159] Got Boss Bat bandana
[160] Fernswarthy's Tower
+> [160] Got nothing-in-the-box
[161-166] Typical Tavern
o> Drank 1 ducha de oro
15 adventures gained
o> Drank 1 shot of flower schnapps
2 adventures gained
o> Drank 1 shot of flower schnapps
2 adventures gained
+> [166] Got beer lens, bartender-skull-in-the-box, bartender-in-the-box
[167-168] Unlucky Sewer
-> Turn [169] Dandy Lion (10 lbs)
+> [168] Got worthless trinket, tires
[169-171] Whitey's Grove
[172-182] The Road to the White Citadel
+> [179] Got Orcish baseball cap
[183] Cook 1 spices + 1 herbs
[184] Cook 1 secret blend of herbs and spices + 1 spooky mushroom
o> Drank 1 ducha de oro
14 adventures gained
[185] Cook 1 spooky stir-fry + 1 rat appendix
[186] Wok 1 rat appendix stir-fry
o> Ate 1 rat appendix chow mein
25 adventures gained
[186-192] Knob Goblin Harem
-> Turn [193] Spirit Hobo (35 lbs)
[193-197] Haunted Pantry
+> [194] Got razor-sharp can lid
-> Turn [198] Ancient Yuletide Troll (16 lbs)
[198-201] Haunted Billiards Room
-> Turn [202] Spirit Hobo (35 lbs)
[202] 8-Bit Realm
[203-207] Haunted Library
[208-209] 8-Bit Realm
[210-211] Haunted Library
o> Turn [211] Used 1 red snowcone
o> Turn [211] Used 1 pink candy heart
o> Turn [211] Used 1 orange candy heart
[212] Haunted Conservatory
[213-235] Haunted Gallery
o> Turn [213] Used 1 yellow candy heart
-> Turn [219] Dandy Lion (21 lbs)
+> [219] Got broken sword
o> Turn [223] Used 1 white candy heart
-> Turn [225] Spirit Hobo (35 lbs)
+> [224] Got antique spear, antique shield
+> [229] Got antique greaves
=> Level 7 (Turn 233)! (32/40/29)
[236-238] 8-Bit Realm
[239-242] Barrel Full of Barrels
o> Drank 1 horizontal tango
18 adventures gained
o> Drank 1 roll in the hay
15 adventures gained
o> Drank 1 extra-spicy bloody mary
8 adventures gained
o> Drank 1 white Canadian
8 adventures gained
[243-244] 8-Bit Realm
-> Turn [245] Dandy Lion (22 lbs)
[245-246] Knob Goblin Harem
-> Turn [247] Spirit Hobo (35 lbs)
+> [246] Got Knob Goblin perfume
[247] The King's Chamber
-> Turn [248] Dandy Lion (22 lbs)
+> [247] Got Crown of the Goblin King
[248-251] Haunted Gallery
-> Turn [252] Spirit Hobo (35 lbs)
+> [251] Got antique greaves, antique spear
[252-253] 8-Bit Realm
[254-255] Defiled Nook
+> [254] Got skeleton bone, smart skull
+> [255] Got skeleton bone
[256-263] Defiled Alcove
+> [256] Got loose teeth
+> [257] Got loose teeth
+> [260] Got loose teeth, rusty grave robbing shovel
+> [261] Got loose teeth
[264-270] Daily Dungeon
[271] Create 1 hot and sour sauce
[272] Create 1 hot hi mein
[273] Create 1 Hell broth
[274] Create 1 Hell ramen
[275] Create 1 sauce of the ages
[276] Create 1 spaghetti with Skullheads
[277] Create 1 boring spaghetti
o> Ate 1 Hell ramen
29 adventures gained
o> Ate 1 spaghetti with Skullheads
21 adventures gained
o> Ate 1 hot hi mein
25 adventures gained
o> Ate 1 boring spaghetti
8 adventures gained
o> Turn [277] Used 15 twinkly wad
15 adventures gained
o> Drank 1 fuzzbump
13 adventures gained
[278-285] Daily Dungeon
[286-289] Defiled Alcove
o> Turn [289] Used 1 red snowcone
+> [289] Got loose teeth
[290-293] Defiled Cranny
[294] Defiled Niche
[295-297] Haunted Gallery
o> Turn [295] Used 1 pink candy heart
-> Turn [298] Dandy Lion (22 lbs)
[298-317] Itznotyerzitz Mine
=> Level 8 (Turn 298)! (40/53/36)
+> [304] Got 7-Foot Dwarven mattock
-> Turn [306] Spirit Hobo (35 lbs)
[318-322] Haunted Gallery
[323-330] Itznotyerzitz Mine (In Disguise)
[331-345] Moxie Vacation
[346-349] Unlucky Sewer
-> Turn [350] Dandy Lion (12 lbs)
o> Turn [349] Used 1 green snowcone
o> Turn [349] Used 1 green candy heart
o> Turn [349] Used 1 lavender candy heart
+> [349] Got worthless trinket
[350-359] Goatlet
+> [352] Got bottle of whiskey
+> [353] Got goat cheese
+> [355] Got bottle of whiskey
+> [356] Got bottle of whiskey
+> [359] Got goat cheese, glass of goat's milk
[360-367] Pirate Cove
+> [362] Got bottle of rum
[368] Goatlet
-> Turn [369] Spirit Hobo (40 lbs)
+> [368] Got goat cheese, glass of goat's milk
[369-370] Haunted Gallery
-> Turn [371] Dandy Lion (23 lbs)
[371-375] Pirate Cove
[376-378] Goatlet
o> Turn [376] Used 1 lavender candy heart
+> [378] Got goat cheese
[379-384] Pirate Cove
+> [379] Got bottle of rum
+> [384] Got stuffed shoulder parrot
[385-396] Goatlet
+> [387] Got bottle of whiskey
+> [389] Got goat cheese
+> [392] Got bottle of whiskey
-> Turn [397] Spirit Hobo (35 lbs)
+> [396] Got goat cheese
[397-402] Haunted Gallery
+> [397] Got antique helmet
=> Level 9 (Turn 402)! (45/68/40)
-> Turn [403] Dandy Lion (24 lbs)
o> Turn [402] Used 1 green snowcone
o> Turn [402] Used 1 green candy heart
[403] Pirate Cove
[404-411] Pirate Cove In Disguise
[412-426] Valley Beyond Orc Chasm
o> Turn [413] Used 1 white candy heart
+> [415] Got lowercase N
+> [417] Got 334 scroll
+> [418] Got 30669 scroll
+> [420] Got 33398 scroll
+> [421] Got lowercase N
+> [422] Got 33398 scroll
+> [426] Got 334 scroll
[427-428] Goatlet
-> Turn [429] Spirit Hobo (35 lbs)
+> [428] Got goat cheese
[429-430] Haunted Gallery
[431] Create 1 milk of magnesium
[432] Create 1 hot and sour sauce
[433] Create 1 hot hi mein
[434] Create 1 stench and sour sauce
[435] Create 1 stinky hi mein
[436] Create 1 fancy schmancy cheese sauce
[437] Create 1 fettucini Inconnu
[438] Create 1 grue egg omelette
o> Turn [438] Used 1 milk of magnesium
o> Ate 1 hot hi mein
28 adventures gained
o> Ate 1 stinky hi mein
32 adventures gained
o> Ate 1 fettucini Inconnu
27 adventures gained
o> Ate 1 grue egg omelette
27 adventures gained
[439-444] Barrel Full of Barrels
o> Drank 1 ocean motion
18 adventures gained
o> Drank 1 slap and tickle
16 adventures gained
o> Drank 1 perpendicular hula
18 adventures gained
o> Turn [444] Used 1 twinkly wad
1 adventures gained
o> Turn [444] Used 1 orange candy heart
o> Turn [444] Used 1 yellow candy heart
[445-448] Palindome
+> [447] Got bottle of gin
[449-464] Haunted Gallery
+> [449] Got antique helmet
o> Turn [459] Used 2 stench wad
2 adventures gained
o> Turn [459] Used 1 hot wad
1 adventures gained
o> Turn [459] Used 2 twinkly wad
2 adventures gained
*> Donated 5000 to jarlsberg
+> [463] Got snake shield
-> Turn [465] Dandy Lion (26 lbs)
[465] Beanbat Chamber
+> [465] Got enchanted bean
[466-485] Penultimate Fantasy Airship
-> Turn [472] Spirit Hobo (35 lbs)
+> [471] Got metallic A
=> Level 10 (Turn 474)! (53/85/49)
-> Turn [486] Dandy Lion (26 lbs)
o> Turn [485] Used 1 pink candy heart
o> Turn [485] Used 1 orange candy heart
[486-497] Castle in the Clouds in the Sky
+> [486] Got awful poetry journal
+> [488] Got furry fur
+> [489] Got heavy D, original G
o> Turn [496] Used 1 white candy heart
o> Turn [496] Used 1 pink candy heart
+> [497] Got giant needle
[498-520] Hole in the Sky
o> Turn [498] Used 1 orange snowcone
+> [498] Got star chart
+> [504] Got star chart
o> Turn [506] Used 1 white candy heart
+> [514] Got star chart
+> [518] Got star chart
-> Turn [521] Spirit Hobo (35 lbs)
[521-529] Haunted Gallery
+> [525] Got antique helmet, antique spear
[530-546] Palindome
+> [531] Got bottle of gin
o> Turn [533] Used 5 twinkly wad
5 adventures gained
o> Turn [533] Used 1 hot wad
1 adventures gained
+> [533] Got bottle of gin
[547-549] Haunted Gallery
[550-565] Enormous Greater-Than Sign
[566] Haiku Dungeon
[566] Spooky Forest
[567] Outskirts of The Knob
[568-573] Dungeons of Doom
+> [573] Got dead mimic
[574-576] Palindome
[577-580] Unlucky Sewer
+> [580] Got worthless knick-knack
[581] Haert of the Cyrpt
o> Turn [581] Used 1 chest of the Bonerdagon
+> [581] Got skull of the Bonerdagon, chest of the Bonerdagon
[582-584] Castle in the Clouds in the Sky
=> Level 11 (Turn 583)! (61/104/60)
-> Turn [585] none
-> Turn [585] Star Starfish (16 lbs)
-> Turn [585] Spirit Hobo (35 lbs)
-> Turn [585] Dandy Lion (28 lbs)
+> [584] Got skeleton bone, loose teeth
[585-592] Sorceress' Hedge Maze
-> Turn [593] Hovering Sombrero (16 lbs)
[593] Sorceress Tower: Level 1
[594] Sorceress Tower: Level 2
+> [594] Got barbed-wire fence
[595] Sorceress Tower: Level 3
-> Turn [596] Dandy Lion (28 lbs)
o> Turn [595] Used 1 green candy heart
o> Turn [595] Used 1 lavender candy heart
[596-597] Guano Junction
-> Turn [598] Hovering Sombrero (19 lbs)
+> [597] Got baseball, sonar-in-a-biscuit
[598] Sorceress Tower: Level 3
[599] Sorceress Tower: Level 4
[600] Sorceress Tower: Level 5
[601] Sorceress Tower: Level 6
o> Turn [601] Used 3 twinkly wad
3 adventures gained
*> Donated 5000 to boris
*> Donated 4000 to boris
[602] Sorceress Tower: Door Puzzles
[603] Cook 1 tomato + 1 scrumptious reagent
o> Turn [603] Used 1 yellow candy heart
[603] Sorceress Tower: Shadow Fight
-> Turn [604] Mosquito (19 lbs)
o> Turn [603] Used 1 green snowcone
-> Turn [604] Barrrnacle (24 lbs)
-> Turn [604] Mosquito (24 lbs)
-> Turn [604] Sabre-Toothed Lime (24 lbs)
-> Turn [604] Ninja Pirate Zombie Robot (24 lbs)
[604-608] Fight the Naughty Sorceress
+> [608] Got ten-leaf clover, ten-leaf clover
[609-619] Haunted Bathroom

Ascended! 619 turns used
Summary info:

ADVENTURES
----------

Haunted Gallery: 74
8-Bit Realm: 42
Mining: 29
Itznotyerzitz Mine (In Disguise): 9
Itznotyerzitz Mine: 20
Pirates: 28
Pirate Cove In Disguise: 8
Pirate Cove: 20
Goatlet: 28
Copse of the Deep Fat Friars: 27
Dark Heart of the Woods: 6
Dark Neck of the Woods: 11
Dark Elbow of the Woods: 10
Hole in the Sky: 26
Cola Wars: 25
Battlefield (No Uniform): 17
Battlefield (Cloaca Uniform): 8
Palindome: 24
Cooking and Creating: 22
Cook stinky hi mein: 1
Cook hot and sour sauce: 2
Cook Hell ramen: 1
Cook sauce of the ages: 2
Cook boring spaghetti: 1
Cook grue egg omelette: 1
Cook spices + 1 herbs: 1
Cook spaghetti with Skullheads: 2
Cook milk of magnesium: 1
Cook tomato + 1 scrumptious reagent: 1
Cook fancy schmancy cheese sauce: 1
Cook secret blend of herbs and spices + 1 spooky mushroom: 1
Cook rat appendix stir-fry: 1
Cook spooky stir-fry + 1 rat appendix: 1
Cook stench and sour sauce: 1
Cook Hell broth: 1
Cook hot hi mein: 2
Cook fettucini Inconnu: 1
Getting the Wand: 22
Dungeons of Doom: 6
Enormous Greater-Than Sign: 16
The Defiled Cyrpt: 20
Defiled Niche: 1
Defiled Alcove: 12
Haert of the Cyrpt: 1
Defiled Cranny: 4
Defiled Nook: 2
Daily Dungeon: 20
Penultimate Fantasy Airship: 20
Fernswarthy's Tower: 18
Opening Spookyraven: 17
Haunted Library: 7
Haunted Conservatory: 1
Haunted Billiards Room: 4
Haunted Pantry: 5
Castle in the Clouds in the Sky: 17
Unlucky Sewer: 15
Valley Beyond Orc Chasm: 15
Moxie Vacation: 15
Pre-Cyrpt Cemetary: 14
Barrel Full of Barrels: 14
Spooky Forest: 12
Haunted Bathroom: 11
Knob Goblin Harem: 10
The Road to the White Citadel: 10
Guano Junction: 9
Sorceress' Hedge Maze: 8
Typical Tavern: 6
Fight the Naughty Sorceress: 5
Typical Tavern Quest: 5
Guild Challenge: 4
Whitey's Grove: 3
Sorceress Tower: Door Puzzles: 3
Bugbear Pens: 3
Fun House: 3
Outskirts of The Knob: 2
Sorceress Tower: Level 3: 2
Knob Goblin Kitchens: 2
Sorceress Tower: Level 5: 1
Sorceress Tower: Level 4: 1
Haiku Dungeon: 1
The Boss Bat's Lair: 1
The King's Chamber: 1
Sorceress Tower: Shadow Fight: 1
Beanbat Chamber: 1
Sorceress Tower: Level 6: 1
Lemon Party: 1
Friar Ceremony Location: 1
Sorceress Tower: Level 1: 1
Sorceress Tower: Level 2: 1


PULLS
-----

Pulled 1 Knob Goblin tongs
Pulled 1 Gnollish flyswatter
Pulled 1 sprocket
Pulled 1 cog



LEVELS
------
Hit Level 3 on turn 6, 6 from last level.
Combats:
Noncombats:
Other:
Hit Level 4 on turn 25, 19 from last level.
Combats: 11
Noncombats: 7
Other: 1
Hit Level 5 on turn 55, 30 from last level.
Combats: 30
Noncombats:
Other:
Hit Level 6 on turn 143, 88 from last level.
Combats: 60
Noncombats: 22
Other: 6
Hit Level 7 on turn 233, 90 from last level.
Combats: 49
Noncombats: 32
Other: 9
Hit Level 8 on turn 298, 65 from last level.
Combats: 41
Noncombats: 13
Other: 11
Hit Level 9 on turn 402, 104 from last level.
Combats: 62
Noncombats: 15
Other: 27
Hit Level 10 on turn 474, 72 from last level.
Combats: 42
Noncombats: 16
Other: 14
Hit Level 11 on turn 583, 109 from last level.
Combats: 64
Noncombats: 41
Other: 4


Total COMBATS: 386 (62.3%)
Total NONCOMBATS: 153 (24.7%)
Total OTHER: 81 (13.1%)



STATS
-----
Muscle Myst Moxie
Totals: 4430 12624 4349
Combats: 2940 7153 2737
Noncombats: 160 3900 501
Others: 0 0 0
Eating: 482 378 404
Drinking: 105 158 70
Using: 673 978 637
Donate 14000: 70 57


FAMILIARS
---------
Spirit Hobo : 208 combat turns (53.9%)
Dandy Lion : 159 combat turns (41.2%)
Ninja Pirate Zombie Robot : 9 combat turns (2.3%)
Hovering Sombrero : 8 combat turns (2.1%)
Ancient Yuletide Troll : 2 combat turns (0.5%)


CASTS
-----
Cast 322 lunging thrust-smack
Cast 108 Tongue of the Walrus
Cast 107 stream of sauce
Cast 53 entangling noodles
Cast 48 Empathy of the Newt
Cast 48 Leash of Linguini
Cast 35 Springy Fusilli
Cast 30 Fat Leon's Phat Loot Lyric
Cast 26 Aloysius' Antiphon of Aptitude
Cast 25 Tenacity of the Snapper
Cast 22 Smooth Movement
Cast 20 Summon Candy Hearts
Cast 19 The Sonata of Sneakiness
Cast 17 Ur-Kel's Aria of Annoyance
Cast 10 Advanced Cocktailcrafting
Cast 10 The Moxious Madrigal
Cast 9 Astral Shell
Cast 9 Advanced Saucecrafting
Cast 9 Pastamastery
Cast 8 The Magical Mojomuscular Melody
Cast 8 Rage of the Reindeer
Cast 6 Manicotti Meditation
Cast 4 The Ode to Booze
Cast 3 Elemental Saucesphere
Cast 3 Summon Snowcone
Cast 1 cleesh
Cast 1 return
Cast 1 Jabaro Saucesphere


BY COST
-------
Cast 322 lunging thrust-smack (2576 MP)
Cast 108 Tongue of the Walrus (1080 MP)
Cast 26 Aloysius' Antiphon of Aptitude (1040 MP)
Cast 48 Empathy of the Newt (720 MP)
Cast 48 Leash of Linguini (576 MP)
Cast 17 Ur-Kel's Aria of Annoyance (510 MP)
Cast 19 The Sonata of Sneakiness (380 MP)
Cast 35 Springy Fusilli (350 MP)
Cast 30 Fat Leon's Phat Loot Lyric (330 MP)
Cast 107 stream of sauce (321 MP)
Cast 22 Smooth Movement (220 MP)
Cast 4 The Ode to Booze (200 MP)
Cast 25 Tenacity of the Snapper (200 MP)

Cast 53 entangling noodles (159 MP)
Cast 10 Advanced Cocktailcrafting (100 MP)
Cast 20 Summon Candy Hearts (100 MP)
Cast 9 Astral Shell (90 MP)
Cast 9 Advanced Saucecrafting (90 MP)
Cast 9 Pastamastery (90 MP)
Cast 8 Rage of the Reindeer (80 MP)
Cast 3 Elemental Saucesphere (30 MP)

Cast 8 The Magical Mojomuscular Melody (24 MP)
Cast 10 The Moxious Madrigal (20 MP)
Cast 3 Summon Snowcone (15 MP)
Cast 1 cleesh (10 MP)
Cast 1 Jabaro Saucesphere (10 MP)
Cast 6 Manicotti Meditation (6 MP)
Cast 1 return ( MP)

------------------
| Total Casts | 962
------------------

------------------
| Total MP Spent | 9327
------------------


EATING AND DRINKING AND USING
------
Adventures gained eating: 306
Adventures gained drinking: 153
Adventures gained using: 30

Ate 3 Retenez L'Herbe Pat・
Ate 2 spaghetti with Skullheads
Ate 2 hot hi mein
Ate 1 stinky hi mein
Ate 1 boring spaghetti
Ate 1 fettucini Inconnu
Ate 1 Hell ramen
Ate 1 grue egg omelette
Ate 1 rat appendix chow mein

Drank 2 shot of flower schnapps
Drank 2 ducha de oro
Drank 2 white Canadian
Drank 1 fuzzbump
Drank 1 ocean motion
Drank 1 slap and tickle
Drank 1 extra-spicy bloody mary
Drank 1 roll in the hay
Drank 1 perpendicular hula
Drank 1 horizontal tango

Used 171 magical mystery juice
Used 26 twinkly wad
Used 6 Dyspepsi-Cola
Used 4 pink candy heart
Used 4 white candy heart
Used 3 orange candy heart
Used 3 yellow candy heart
Used 3 lavender candy heart
Used 3 green snowcone
Used 3 cast
Used 3 sonar-in-a-biscuit
Used 3 green candy heart
Used 2 orange snowcone
Used 2 Warm Subject gift certificate
Used 2 hot wad
Used 2 stench wad
Used 2 Doc Galaktik's Ailment Ointment
Used 2 tiny house
Used 2 red snowcone
Used 2 dinghy plans
Used 2 soda water
Used 1 wussiness potion
Used 1 enchanted bean
Used 1 Dolphin King's map
Used 1 thin black candle
Used 1 blue pixel potion
Used 1 plus sign
Used 1 chest of the Bonerdagon
Used 1 bartender-in-the-box
Used 1 green pixel potion
Used 1 ten-leaf clover
Used 1 phonics down
Used 1 Knob Goblin superseltzer
Used 1 milk of magnesium
Used 1 Fernswarthy's letter
Used 1 64735 scroll
Used 1 tomato juice of powerful power
Used 1 Frobozz Real-Estate Company Instant House (TM)
Used 1 disassembled clover
Used 1 goofballs
Used 1 giant castle map
Used 1 dead mimic
Used 1 scroll of drastic healing
Used 1 Letter from King Ralph XI
Used 1 reodorant
Used 1 Angry Farmer candy
Used 1 purple snowcone
Used 1 handful of hand chalk
Used 1 Penultimate Fantasy chest
Used 1 Manual of Transmission
Used 1 pork elf goodies sack
Used 1 Mountain Stream soda
Used 1 Knob Goblin perfume


MEAT
----
Total Combat Meat gained: 18466


ITEMS
-----

pretty flower 60
green pixel 35
heart of rock and roll 31
big rock 28
line 25
magical mystery juice 22
spaghetti with rock-balls 22
black pixel 22
white pixel 21
star 18
blue pixel 17
Rock and Roll Legend 16
stolen accordion 16
hot buttered roll 16
red pixel 13
pasta spoon 12
ravioli hat 12
Pasta of Peril 11
loose teeth 9
Imp Ale 8
cranberries 8
goat cheese 7
hedge maze puzzle 6
bottle of whiskey 6
Dyspepsi-Cola 6
olive 5
coconut shell 5
wad of dough 5
ten-leaf clover 4
mariachi pants 4
spices 4
sonar-in-a-biscuit 4
white candy heart 4
hermit permit 4
star chart 4
pink candy heart 4
skeleton bone 4
MSG 4
uncooked chorizo 4
orange candy heart 3
flaregun 3
yellow candy heart 3
batgut 3
scrumdiddlyumptious solution 3
green candy heart 3
snakehead charrrm 3
dense meat stack 3
cocoa eggshell fragment 3
green snowcone 3
antique spear 3
little paper umbrella 3
Mick's IcyVapoHotness Rub 3
Mountain Stream soda 3
soda water 3
hot wing 3
lavender candy heart 3
toast 3
cast 3
bat wing 3
dry noodles 3
Trollhouse cookies 3
antique helmet 3
rat whisker 3
shysterweed 3
delectable catalyst 3
bottle of rum 3
bottle of gin 3
chrome ore 3
Warm Subject gift certificate 2
thin black candle 2
ghuol guolash 2
Knob sausage 2
taco shell 2
Doc Galaktik's Ailment Ointment 2
sabre teeth 2
tomato 2
red snowcone 2
soft green echo eyedrop antidote 2
magical ice cubes 2
safarrri hat 2
antique greaves 2
1337 7r0uZ0RZ 2
spaghetti with Skullheads 2
banjo strings 2
roll of toilet paper 2
33398 scroll 2
ghuol ears 2
glass of goat's milk 2
dead guy's watch 2
hot hi mein 2
meat vortex 2
wussiness potion 2
meat engine 2


stench wad 2
snifter of thoroughly aged brandy 2
334 scroll 2
fuzzbump 2
tiny house 2
sauce of the ages 2
sunken chest 2
orange snowcone 2
hot wad 2
smart skull 2
worthless trinket 2
suntan lotion of moxiousness 2
twinkly wad 2
whiskey sour 2
dope wheels 2
hot and sour sauce 2
lowercase N 2
demon skin 2
spooky mushroom 2
drab sonata 2
pr0n legs 2
purple snowcone 2
hellion cube 1
enchanted bean 1
scrumptious reagent 1
64067 scroll 1
white Canadian 1
eXtreme mittens 1
blue pixel potion 1
Knob Goblin tongs 1
chaos butterfly 1
furry fur 1
Knob Goblin scimitar 1
tattered scrap of paper 1
slap and tickle 1
cocktailcrafting kit 1
bartender-in-the-box 1
stench nuggets 1
Boss Bat bandana 1
stuffed shoulder parrot 1
rat appendix 1
continuum transfunctioner 1
sweet rims 1
bartender-skull-in-the-box 1
worthless gewgaw 1
batblade 1
Fernswarthy's key 1
dingy planks 1
viking helmet 1
makeshift SCUBA gear 1
Colander of Em-er'il 1
stone tablet (Really Evil Rhythm) 1
huge mirror shard 1
salamander spleen 1
secret blend of herbs and spices 1
NG 1
sprocket 1
Knob Goblin pants 1
broken sword 1
cog and sprocket assembly 1
Crown of the Goblin King 1
Knob Goblin spatula 1
Dyspepsi grenade 1
dinghy plans 1
rusty screwdriver 1
massive bag of catnip 1
beer goggles 1
snake shield 1
bridge 1
crowbarrr 1
stone tablet (Squeezings of Woe) 1
brainy skull 1
bottle of Pinot Renoir 1
fancy schmancy cheese sauce 1
dictionary 1
giant discarded plastic fork 1
titanium assault umbrella 1
casino pass 1
disease 1
nothing-in-the-box 1
draggin' ball hat 1
gnoll teeth 1
giant needle 1
fraudwort 1
green pixel potion 1
photoprotoneutron torpedo 1
awful poetry journal 1
ruby W 1
heavy D 1
boring spaghetti 1
rat appendix chow mein 1
broken skull 1
668 scroll 1
Hell broth 1
64735 scroll 1
Knob Goblin elite polearm 1
enchanted barbell 1
stench and sour sauce 1
8-ball 1
giant castle map 1
grue egg omelette 1
oversized pizza cutter 1
tires 1
intragalactic rowboat 1
reodorant 1
hedge maze key 1
herbs 1
tenderizing hammer 1
whiskey and soda 1
stinky hi mein 1
disco ball 1
Angry Farmer candy 1
ND 1
handful of hand chalk 1
Hell ramen 1
catgut 1
red pixel potion 1
stalk of asparagus 1
Knob Goblin perfume 1
scroll of turtle summoning 1
worthless knick-knack 1
roll in the hay 1
fettucini Inconnu 1
white satin pants 1
fishbowl 1
evil golden arch 1
fish hose 1
fishtank 1
shiny ring 1
salty dog 1
asparagus knife 1
star crossbow 1
E-Z Cook Oven&trade; 1
swindleblossom 1
chest of the Bonerdagon 1
grave robbing shovel 1
annoying pitchfork 1
box 1
diamond-studded cane 1
bottle of tequila 1
star hat 1
30669 scroll 1
Sneaky Pete's key 1
milk of magnesium 1
meat stack 1
bartender skull 1
filthy corduroys 1
Frobozz Real-Estate Company Instant House (TM) 1
magicalness-in-a-can 1
strange leaflet 1
bitchin' meatcar 1
asbestos ore 1
razor-sharp can lid 1
baseball 1
disco mask 1
wine spritzer 1
disintegrating sheet music 1
rat appendix stir-fry 1
stone tablet (Sinister Strumming) 1
skull of the Bonerdagon 1
extra-strength strongness elixir 1
beer lens 1
sprocket assembly 1
bloody mary 1
saucepan 1
metallic A 1
extra-spicy bloody mary 1
barbed-wire fence 1
gnatwing 1
cog 1
WA 1
Degrassi Knoll shopping list 1
spooky stir-fry 1
badass belt 1
Doc Galaktik's Homeopathic Elixir 1
snorkel 1
inkwell 1
hosed tank 1
Knob Goblin superseltzer 1
rusty grave robbing shovel 1
can of hair spray 1
stone banjo 1
antique shield 1
full meat tank 1
Fernswarthy's letter 1
original G 1
bowl of cottage cheese 1
vodka and cranberry 1
perpendicular hula 1
tomato juice of powerful power 1
goofballs 1
Richard's star key 1
leotarrrd 1
letter from King Ralph XI 1
dead mimic 1
Wand of Nagamar 1
bone rattle 1
horizontal tango 1
leather mask 1
ocean motion 1
Spam Witch sammich 1
Boris's key 1
Orcish baseball cap 1
Talisman o' Nam 1
goat beard 1
royal jelly 1
empty meat tank 1
digital key 1
strawberry daiquiri 1
pirate pelvis 1
chrome staff 1
7-Foot Dwarven mattock 1
monkey wrench 1



BOTTLENECKS
-----------

Sewered 15 times for 4 trinkets
Fought 3 bloopers
Fought 7 dairy goats for 7 cheeses
Fought 16 armours for 9 antiques

Took 8 disguised turns to get the dictionary
Received 14 louvres in 74 gallery adventures (18.9%)
Louvred for 0 / 3109 / 0
Summoned 2 red snowcones out of 9 cones
Received 0 muscle castle adventures
Received 0 myst castle adventures
Received 0 mox castle adventures[/code]
Last edited by VladimirPootin on Sun May 06, 2007 3:13 pm, edited 56 times in total.

Sinshlad
Inscrutable Pi
Posts: 273
Joined: Tue Jan 30, 2007 7:40 am
Location: Australia

Post by Sinshlad » Thu Mar 29, 2007 1:39 am

Wow, this script dosen't miss much. The separation of non-combat and combats stats looks interesting. I might have to break my usual no script policy just to try it out.
[img]http://img.photobucket.com/albums/v300/dvmaprezson/AFHV1.gif[/img]

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

Post by QuantumNightmare » Thu Mar 29, 2007 10:16 am

Would you mind writing a basic guide to using this script started, for someone who has never used or installed perl before? I tried getting cygwin to install to run dirk's script a few weeks ago and got...confused.

/em is not perl proficient!

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

before i finish this thing

Post by VladimirPootin » Thu Mar 29, 2007 2:55 pm

(moved to first post)
Last edited by VladimirPootin on Sun Apr 22, 2007 9:30 pm, edited 2 times in total.

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

Post by QuantumNightmare » Thu Mar 29, 2007 9:08 pm

Wow, it works! Great script. Small bug: I tried parsing runs from last year as well, and I ran into this error:

Code: Select all

Month '12' out of range 0..11 at ./afhparser.pl line 73

I changed that line to read

Code: Select all

my $month = substr($date, 4, 2)-1;
with the -1 bit added in by me, and it works fine.

It's a bit amazing how many stats come in from non-combats relative to combats, and how much soda water i go through in a run even with stasis! Can you make the output files default to MS-word or some sort? The formatting is all messed up if i open the .txt outputs in notepad. Also, can the level gains be outputted in the same way familiar changes are.... between the list of turns used? An update of our off-stats at each level change would great too, if it's possible.

EDIT: can you standardize the output filenames? It would be great if each run would have a log-standard name, such as HCNP-AT (wallaby) 650 turn. Even better, give it the turncount on beating the NS, not on ascension. If not, could you print this data as the first line in each output file?

blackbelt02

Post by blackbelt02 » Fri Mar 30, 2007 3:23 pm

I don't have Perl or Linux on my system, but I have Ultraedit-32, and it still works. I tried it, and it seems does work with Ultraedit-32. Basically copy and paste the code above to a notepad. Save the file as .pl.ash - for instance, my file name is testing.pl.ash - I recommend using Ultraedit-32 because it's much easier to edit a script.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri Mar 30, 2007 4:22 pm

i'm not sure what ultraedit is or if it has a perl interpreter built in or whatever but cool that it works...

i'm really fixing it up and trying to make it easy for even non programmers (or those with the most rudimentary knowledge) to at least access stats if they want to change the script to look at other stats.

blackbelt02

Post by blackbelt02 » Fri Mar 30, 2007 9:05 pm

Greatly appreciated!

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

Post by QuantumNightmare » Sat Mar 31, 2007 8:34 pm

This version of your script is some great work. Can you include a readout such as that found at the end of dirk's script? It gives a general idea of the amount of RNG screwage found during a run. You can also include number of gnollish toolboxes opened and number of meat engines found, as well as number of DD runs and number of keys found.

Here's an example:

Code: Select all

Tower Farming :                    4   .
Castle Muscle:                     .   .
Castle Myst:                       .   .
Castle Moxie:                      1   .
Castle Wheel:                      3   .
Louvre:                           13   .
empty suit:                       22   .
antique gear:                     18   .
dairy goat:                        6   .
goat cheese:                       6   .
Blooper:                           .   .
W imp:                             1   .
wussiness:                         1   .
ruby W:                            1   .
skullbat:                          1   .
broken skull:                      1   .
Shore Fence:                       1   .
Vicious Easel:                     2   .
Enraged Cow:                       .   .

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sun Apr 01, 2007 2:58 pm

i could do something like that for sure... the problem is a lot of versions of mafia don't properly log the actual monsters you fight (10.7 for example) so it might not work all the time.

make a complete list of the specific adventures you want to see - is that all of them?

Archayts
AFH
Posts: 241
Joined: Sat Mar 31, 2007 6:48 am

Post by Archayts » Tue Apr 03, 2007 4:15 am

Wow, this records a LOT of information. I'll have to go through it and suppress some of the displays before I can consider posting a log with using this script.

Apart from the sheer amount of the information it creates, the script works fine for me.

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

Post by Flolle » Tue Apr 03, 2007 9:14 am

I just ran this through my session logs and man, this thing rocks! :D

Thanks for putting together this awesome little program!

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

Post by QuantumNightmare » Tue Apr 03, 2007 2:06 pm

The only other thing I can think of, is # of worthless items per trip to the sewer. Maybe throw that into the main log, same as you display food and levels gained. The list I had up before, including DD luck and toolboxes/meat engines, seems complete right now.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Wed Apr 04, 2007 12:58 pm

i think the reason my mafia records encounters in such an odd way is due to odd interaction between MonsterStats and playing in the browser via Mafia. If someone wants to post some unadulterated logs or send them to me that would be helpful, because there's no way for me to break out things like dairy goat, etc.

EDIT: that or just tell me of something that does basically the same thing as MonsterStats but doesn't eat logs.

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

Post by QuantumNightmare » Fri Apr 06, 2007 10:21 pm

From what I've read...the problem is when you run an ASH script in the relay browser. This comes up a lot for me, since I have my custom combat linked to a stasis ASH script, and run it against boring monsters. If you throw this bit of code in front of any ASH thing you use, it should be able to find what monster it is. Hopefully this was fixed in the new version of mafia, and what i'm posting is redundant.

Code: Select all

if(eek==zilch) {

      // Try to figure out what we're fighting ... gets around relay browser bug
      iStart = index_of(sText, "You're fighting " )+1;
      if (iStart > 0)
      {
         iEnd = index_of(sText, "", iStart);
      }
      if (iStart > 0 && iEnd > 0)
      {
         sTemp = substring(sText,iStart+34,iEnd );
         // if (dbug) { print("PARSED MONSTER NAME: " + sTemp); }
         int iCutoff = index_of(sTemp," ");
         mName = substring(sTemp,iCutoff+1);
         // if (dbug) { print("Monster Name:  " + mName); }
      }
      eek = string_to_monster(mName);
   }


All credit goes to gemelli, whom this was stolen from at the following link: http://kolmafia.us/index.php/topic,826.0.html

Archayts
AFH
Posts: 241
Joined: Sat Mar 31, 2007 6:48 am

Post by Archayts » Sat Apr 07, 2007 8:51 pm

I think I've figured out how to run it (mostly), a few minor things, you refer to the script as mafiaLogParser.pl in the bold black text/help section and mafiaparser.pl in the one line of green code directly beneath.

It also seems to like saying 'New Turtle tamer ascension started', regardless of my actual class. This is also evident in the example ascension log you posted as koldb records you as a SC that run.

User avatar
Pascal
Inscrutable Pi
Posts: 286
Joined: Sat Apr 14, 2007 2:50 pm
Location: Austin, TX

Post by Pascal » Mon Apr 16, 2007 11:40 pm

Not the most code-savvy KoLer out there, but dammit if I can't follow directions to a T. I got mine running and, so far, it looks great. Thanks for some quality coding Vlad, I'll post some logs once I get out of my embarassingly lengthy Oxy runs.

Now, if we can just get you to use your powers for evil...

charred
Just Plain Old Pie
Posts: 2
Joined: Wed Apr 18, 2007 3:01 am
Location: HCN

Post by charred » Wed Apr 18, 2007 3:07 am

this is really great! thanks! one thing thats screwy with mine are the class for each of my last 3 runs (the only ones i have mafia logs for) are wrong
my logs say
seal clubber, then turtle tamer, and my current is pastamancer
, when in reality they should be
disco bandit, seal clubber, turtle tamer
i actually havent one a pastamancer run in 6 or 7 runs

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

Post by QuantumNightmare » Wed Apr 18, 2007 11:35 am

Minor issue: can you make most displays shown by default, unless you turn them off?

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri Apr 20, 2007 5:53 pm

how about i just put a -all option in there... easier for me and everyone else.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri Apr 20, 2007 7:22 pm

That works too. I'm a believer in KISS - Keep It Simple Stupid. A tool should be as easy to use as it can be, and an -all script fits the bill when it comes to user-friendliness.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sun Apr 22, 2007 3:30 pm

the problem with determining what class you are is just that i don't know the FORM request variables for which class... right now i have this:

Code: Select all

my @CLASS_ARRAY = ("", "Seal Clubber", "Turtle Tamer", "Pastamancer", "Sauceror", "Disco Bandit", "Accordion Thief");


where the position in the list would indicate what class (i.e. the kol request &class=3 says to my script "pastmancer" but that's really based on nothing in reality. maybe someone knows better.

I'm about to post the -all option and a minor tweak to donations output that should...

also this version (1.6) and future versions will use a -debug option that will output the way i break down adventures as noncombat/combat. this is definitely wrong, so any intrepid adventurers who want to include the -debug option and scan their results for errors and post them here or kmail me... that would be great.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Mon Apr 23, 2007 12:54 pm

ok QN my logs finally aren't broken so i have added some of the "general screwage" data... i'll prolly add a "farming for tower items" section but it's a bit trickier than these... what else is there?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Mon Apr 23, 2007 1:13 pm

Something isn't working. This is at the end of a run: "Fought 118 armours for 4 antiques." That was during a long HCO where I ate 5 antiques a day! Actually, it looks like almost all my runs say I got 4 antiques. But I do love the "bottlenecks" section otherwise. Other minor bottlenecks would be # of teleportitis before getting the plus sign, # of toolboxes opened before finishing the knoll... just minor stuff. Good list so far.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Mon Apr 23, 2007 1:32 pm

hmmm... not entirely surprising because that section has been giving me a lot of headaches but i thought i had this fixed. mind downloading the minorly changed version i just posted and running with -debug and -all options and checking that it screams ARMOR ! every time you see an armor (in the LEVELS section)?


EDIT: stupid me... i figured it out.... it was counting the types of armors dropped not the actual number! so it is of course always four. but now it should be fixed...
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Mon Apr 23, 2007 1:53 pm

Great! That line now reads "Fought 118 armours for 190 antiques". Ah, one more feature request. Can you put a "familiar" section, detailing how many combats were spent with each familiar?

Another bug: most of my ascension logs are just fine, but one of them includes the following text:

Code: Select all

     => Level 2107 (Turn 978)! (119/123/258)
     => Level 2108 (Turn 979)! (119/123/258)
     => Level 2109 (Turn 980)! (119/123/258)
     => Level 2110 (Turn 980)! (119/123/258)
     => Level 2111 (Turn 980)! (119/123/258)
     => Level 2112 (Turn 981)! (119/123/258)
     => Level 2113 (Turn 981)! (119/123/258)
     => Level 2114 (Turn 981)! (119/123/258)
     => Level 2115 (Turn 982)! (119/123/258)
     => Level 2116 (Turn 982)! (119/123/258)
     => Level 2117 (Turn 982)! (119/123/258)
     => Level 2118 (Turn 983)! (119/123/258)
     => Level 2119 (Turn 983)! (119/123/258)
     => Level 2120 (Turn 983)! (119/123/258)
     => Level 2121 (Turn 984)! (119/123/258)
     => Level 2122 (Turn 984)! (119/123/258)
     => Level 2123 (Turn 984)! (119/123/258)
     => Level 2124 (Turn 985)! (119/123/258)


I've uploaded the offending log here.

As well, I don't think trinkets are being counted right. "Sewered 20 times for 2 trinkets". Numbers that small are present in a bunch of logs.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Mon Apr 23, 2007 1:59 pm

QuantumNightmare wrote:Can you put a "familiar" section, detailing how many combats were spent with each familiar?


Yeah I've been meaning to do that....

QuantumNightmare wrote:Another bug: most of my ascension logs are just fine, but one of them includes the following text:


is this your first (earliest by date) ascension log being generated? that one is always going to be wrong just because of how the script works.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Mon Apr 23, 2007 2:05 pm

No, it isn't nearly my first ascension that's being processed. I have logs all the way back from last november that are run through your script, this one is from this February. It's not an important bug since it's an older run, just pointing out any issues I find.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Mon Apr 23, 2007 3:11 pm

i've seen that happen before, did you level past 15?

bug notifications are awesome thanks.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Mon Apr 23, 2007 3:17 pm

I've never leveled past 15 in my KOL life :shock:

I did, however, go to level 14 that run, and level 15 the next.

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

Post by QuantumNightmare » Tue Apr 24, 2007 10:58 pm

I didn't realize you fixed this. Great work, it's quite accurate. Some bugs:

Code: Select all

Encounter called NONCombat: one-eyed Gnoll
Encounter called NONCombat: Big Meat Golem
Encounter called NONCombat: mind flayer

Encounter called NONCombat: skullery maid
Encounter called NONCombat: zombie chef
Encounter called NONCombat: paper towelgeist
Encounter called NONCombat: possessed silverware drawer
Encounter called NONCombat: skullery maid
Encounter called NONCombat: demonic icebox
Encounter called NONCombat: skullery maid
Encounter called NONCombat: zombie chef
Encounter called NONCombat: paper towelgeist
Encounter called NONCombat: possessed silverware drawer
Encounter called NONCombat: demonic icebox
Encounter called NONCombat: demonic icebox


Can you put an option for displaying meat remaining every....20, 30, or 40 turns? The exact amount of turns isn't important, just a little update. Also, turns remaining whenever adventures are added. Those are two little things that I find people add to their logs, that make them more readable. Meat gained per level would be a bit nice, as it would help see how big a loss the leprechaun part of a monkey is, if we switch to a sombrero for a speed run. It would also show if the monkey has any real effect on early levels beyond stats!

edit: and it's not quantumnightmare2 in the guinea pig list at the start :wink:

dvmaprezson
Fie the Pie
Posts: 1009
Joined: Mon Jan 29, 2007 9:45 pm
Location: Philly Suburbs
Contact:

Post by dvmaprezson » Wed Apr 25, 2007 10:55 am

Sinshlad wrote:Anyway, you don't happen to have the other 20 pulls recorded? Pulls are one of the few things that Vladimir's parser skips over and are pretty vital when trying to figure what can be improved.


For the sake of us softcore players, if this is true... fix?
[img]http://img.photobucket.com/albums/v300/dvmaprezson/AFHV2.gif[/img]

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Wed Apr 25, 2007 7:18 pm

i would need to see a log with pulls... actually i must have one since i'm always pulling brownies and crap... i'll see what i can do.


edit: pulls added
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Wed Apr 25, 2007 7:58 pm

All taken with the new 1.8 version. Also, trinket counting isn't right, i'm getting numbers from 1-3.

Code: Select all

Encounter called NONCombat: zombie waltzers
Encounter called NONCombat: tapdancing skeleton
Encounter called NONCombat: floating platter of hors d'oeuvres

Encounter called NONCombat: One-Eyed Willie

Encounter called NONCombat: Sub-Assistant Knob Mad Scientist

Encounter called NONCombat: Knob Goblin Labor
Encounter called NONCombat: Knob Goblin Assistant Chef
Encounter called NONCombat: Knob Goblin BBQ

Encounter called NONCombat: pine bat
Encounter called NONCombat: albino bat
Encounter called NONCombat: regular old bat

Encounter called NONCombat: Knob Goblin Bean Counter

Encounter called NONCombat: whitesnake
Encounter called NONCombat: white lion
Encounter called NONCombat: white chocolate golem

Encounter called NONCombat: Knob Goblin Mad Scientist
Encounter called NONCombat: Knob Goblin Very Mad Scientist

Encounter called NONCombat: Big Meat Golem

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Wed Apr 25, 2007 8:24 pm

QuantumNightmare wrote:All taken with the new 1.8 version. Also, trinket counting isn't right, i'm getting numbers from 1-3.


stupidity on my part... as you can imagine, same problem as with the antiques.

Encounter called NONCombat: Knob Goblin BBQ


wait what the hell is this?

all the rest are fixed.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Wed Apr 25, 2007 8:56 pm

Oops, that one is my mistake. Knob Goblin Labor and Knob Goblin BBQ are two retired noncombats that were taken out in november.

EDIT: a couple more. The FOB monsters, as well as:

Code: Select all

Encounter called NONCombat: creepy clown

Encounter called NONCombat: eXtreme Orcish snowboarder
Encounter called NONCombat: sk8 gnome

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Thu Apr 26, 2007 6:48 am

ok enough of this nonsense; i changed the script so it should be able to guess whether it's combat or noncombat... the only places this won't work are places like One Nightstand and Out in the Garden where a choice leads to a combat (i dealt with those and can deal with the rest quite simply but as they come up; those willing to check the output with the -debug options would be appreciated). If you can think of any such adventures, post here.



also apparently mafia thinks you cast a spell called "RETURN" when you use a tattered scrap?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Thu Apr 26, 2007 10:36 pm

added familiar percentages, working on the drops
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri Apr 27, 2007 4:16 pm

drops, costs, familiars... note that drops aren't turned on by the -all option.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri Apr 27, 2007 4:57 pm

I'm getting the error "Illegal Division by Zero at ./mafialogparser.pl line 506"

That seems to be the line calculating the familiar percentages, when you divide by "total combats".

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri Apr 27, 2007 5:10 pm

seriously fuck the number zero...

i wonder why it thinks you have 0 combats? my guess is that this is an old log, try cleaning up your directory down to the past few months maybe?

if you want you can just insert

$totalCombats = 1;

right before hand to stop it from choking.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri Apr 27, 2007 5:27 pm

I killed some of my old logs, that was the problem. Must have been old logs when mafia wasn't recording initiative or combats, so your script was dying.

I love the familiar section, just great work. The drops thing is a bit overdone, can you make it only display the important drops? Stalks of asparagus I don't really care about, but drops of quest items or baseballs I do.

Edit: you use mafia. The items that pop up in the conditions field automatically, those are the drops that should be posted. The ones where the only point of you adventuring in a location are to yield these things.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri Apr 27, 2007 5:31 pm

yeah the drops is really too much, that's why i didn't include it in the default -all. still, people might want to see it.

tell you what, you (or someone) make a list like this of items you'd want to see and we'll put a -criticaldrops option that will be subsumed under -all. i thought about doing it but i'm too lazy right now or in the near future to figure out all the important items.



Code: Select all

/ruby w|wussiness potion|baseball|sonar-in-a|broken skull|giant needle/


partial names are ok as long as they are unique enough, and put pipes ("|") in between.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri Apr 27, 2007 5:38 pm

VladimirPootin wrote:also apparently mafia thinks you cast a spell called "RETURN" when you use a tattered scrap?


It's some sort of a joke on holatuwol's part. His exact words were:

holatuwol wrote:When it says "casts CHANCE" that means KoLmafia suspects you used a skill in battle, but it has no idea what that skill was. When it says "casts RETURN" it equates to an attempt to run away from battle. You'd understand it better if you were a fan of the Dragon Quest series.


I'll work on that list of drops later. Just a matter of copy/pasting from mafia.

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

Post by QuantumNightmare » Sat Apr 28, 2007 2:47 pm

Code: Select all

/razor-sharp can lid | chef's hat | pool cue | Antique hand mirror | antique helmet | antique spear | antique shield | antique greaves | serpentine sword | snake shield | plus sign | spider web | dead mimic | worthless gewgaw | worthless knick-knack | worthless trinket | gnollish toolbox | tires | box | disease | disembodied brain | smart skull | grave robbing shovel | Pine-Fresh air freshener | sonar-in-a-biscuit | broken skull | baseball | enchanted bean | Knob sausage | Knob mushroom | Knob Goblin perfume | harem veil | harem pants | bottle of gin | bottle of rum | bottle of tequila | bottle of vodka | bottle of whiskey | boxed wine | loose teeth | skeleton bone | bar skin | mosquito larva | beer lens | pitchfork | White picket fence | filthy corduroys | filthy knitted dread sack | wussiness potion | ruby W | dodecagram | box of birthday candles | eldritch butterknife | miner's helmet | miner's pants | 7-Foot Dwarven mattock | goat cheese | goat's milk | frigid ninja stars | lowercase N | 334 | 30669 | 33398 | barbed-wire fence | ten-leaf clover | swashbuckling pants | acoustic guitarrr | snakehead charrrm | stuffed shoulder parrot | eyepatch | metallic A | photoprotoneutron torpedo | thin black candle | heavy D | original G | furry fur | awful poetry journal | giant needle | star chart | Baron Von Ratsworth's money clip | Baron Von Ratsworth's tophat | Boss Bat britches | Boss Bat bling | Glass Balls of the Goblin King | Cape of the Goblin King | rib of the Bonerdagon | vertebra of the Bonerdagon | Crown of the Goblin King/


That should be everything. I didn't include white pixels, because that would look like spam to me. Also, nugget smashable items like glowing red eyes and broken swords aren't included, because I think hi-mein diets are rare and those aren't needed. Both the annoying pitchfork and the regular pitchfork are important drops, that's the only ambiguity. And grave robbing shovels.... I'd say they're useless, but some people like opening the rift.

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

Post by QuantumNightmare » Sun Apr 29, 2007 11:58 am

Most of these things are only important the first time they come around, that would help reduce spam quite a bit. And in the bottleneck section, can you display how much of each stat was gained through the louvre?

Received 19 louvres for $$$ muscle, %%% myst, @@@ moxie.

theophrastus
Spy vs. Pie
Posts: 77
Joined: Thu Apr 19, 2007 5:45 am

Post by theophrastus » Wed May 02, 2007 9:32 am

Hi Vlad-

I just used your parser for the first time; thanks for the thorough instructions and for making this public. I am going to have to play with the options, as the output with the "-all" option is very verbose, and it is hard to glean information from it with which one could improve a run. But seeing things like total MP spent and total meat from combats is a real kick.

One minor thing: I farm the conservatory post-king trying to get a complete collection of dusty bones.
The Log Parser wrote:

Code: Select all

Opening Spookyraven:  239
   Haunted Library:  9
   Haunted Conservatory:  219
   Haunted Billiards Room:  6
   Haunted Pantry:  5
It is a minor case, but there are other situations which are similar, i.e. returning to the Library to unlock the upstairs later on. It seems you might have to check for the actual adventure names for it to be completely accurate. As far as the conservatory goes, though, you could always set it to 1 if the Gallery is visited, since IIRC the gallery key adventure is always the first IF you do the right reading before visiting it.

In the "Bottlenecks" section, I got:

Code: Select all

Received 31 louvres
Summoned  red snowcones
Received 1 muscle castle adventures
Received 0 myst castle adventures
Received  mox castle adventures
Maybe you could standardise the zeroes to make it look neater and output "Received x Louvres out of y Gallery advs" or something of that sort.


Just a reminder of two things we discussed in chat:
- adding a flag for fence/no fence at the shore (probably in the "Bottlenecks" section)
- returning reward type for the Tr4pz0r's quest.

Thanks again for your work and for sharing.

-theophrastus

Edit: Similar to above, I got an illegal division by zero in line 508 (sic), and, yes, it is an old log. Does this mean that logs from older versions of mafia are generally incompatible? (Too bad, I wanted to remember how sucky my first runs were and wallow in self-pity.) And if your answer from above applies here as well, where should I insert said line? I assume in the perl code and that it would need to be removed afterward. Thanks.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri May 04, 2007 5:56 pm

ok it's been updated. dunno why i can't get it to figure out if you got a shore at the fence; it's very resistant to the shore for some reason i cannot divine.


edit: theo, just get the new version it should work. let me know if it doesn't.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri May 04, 2007 7:25 pm

Nice work, the drops great. The louvre is good too, but how is it tracked? I normally adventure in the relay browser until i find a louvre, and then let mafia automagically find the right stat, so each louvre is recorded twice in the "session log". You figure a way around that?

DarthDud
Inscrutable Pi
Posts: 265
Joined: Fri Apr 06, 2007 12:41 am

Post by DarthDud » Fri May 04, 2007 7:29 pm

Last few versions aren't working for me... they run, but the file it produces has the Vladimir blahblahblah header, then nothing else in it...

Grah. Help.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Fri May 04, 2007 7:31 pm

QuantumNightmare wrote:Nice work, the drops great. The louvre is good too, but how is it tracked? I normally adventure in the relay browser until i find a louvre, and then let mafia automagically find the right stat, so each louvre is recorded twice in the "session log". You figure a way around that?


actually mafia logs like 10 encounters for each louvre (or however many til you find something), but i start to tabulate encounters AFTER i've gone through all the logs and assigned an encounter value to each turn... thus you end up with the right number. if that makes sense.


darth - check your capitalization maybe?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Fri May 04, 2007 10:31 pm

Are noncombats being checked for drops? I don't see any pool cues or plus signs in my logs. Also, in the "eating, drinking, using" bit at the end, can you post what items were used to gain adventures? I've got "Adventures gained using: 52" in a 3 day run, which doesn't make sense.

DarthDud
Inscrutable Pi
Posts: 265
Joined: Fri Apr 06, 2007 12:41 am

Post by DarthDud » Sat May 05, 2007 1:32 am

VladimirPootin wrote:darth - check your capitalization maybe?

Figured out the problem -- same bug that causes 1-day records to get overwritten, just in this case my 2-day got overwritten. (I did the run right after rollover, so that is why... same result as 1-dayer, due to the dates in the mafia logs.)

A more permanent fix in future versions would be nice.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sat May 05, 2007 2:39 am

QuantumNightmare wrote:Are noncombats being checked for drops? I don't see any pool cues or plus signs in my logs. Also, in the "eating, drinking, using" bit at the end, can you post what items were used to gain adventures? I've got "Adventures gained using: 52" in a 3 day run, which doesn't make sense.


air?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Sat May 05, 2007 12:31 pm

I didn't use air... the canned stuff is too rich for my tastes so far. Wads only.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sat May 05, 2007 12:52 pm

that is kinda weird... can you post the log with all the options on in the forum or something?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Sat May 05, 2007 1:33 pm

Here's the log... link of much spamminess

43 Twinkly wads, and 2 hot wads were used. I spent 4 turns squeezing an ice pick at the end, so on my ascension sheet it shows up as a 631 turn run. Oh, and for some reason only my last...8 or 9 runs are being processed by the script. Was that intentional? I have a couple months of runs in the folder with the script.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sat May 05, 2007 2:10 pm

very strange... hmm. i know how this could happen but it doesn't seem to happening in your log.

is that the only one with the bug?
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

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

Post by QuantumNightmare » Sat May 05, 2007 2:29 pm

It looks like most of my logs are wrong.

Adventures gained using: 44
Used 37 twinkly wad
Used 5 hot wad
Used 3 stench wad

Adventures gained using: 30
Used 23 twinkly wad
Used 8 hot wad
Used 5 stench wad

Adventures gained using: 35
Used 32 twinkly wad
Used 5 stench wad
Used 3 hot wad

Adventures gained using: 109
Used 41 twinkly wad
Used 3 hot wad
Used 3 Breathetastic? Premium Canned Air
Used 2 stench wad
I gained 113 adventures, not 109.



Wait - nevermind. I found the problem. When I smash an antique helmet, I have a "use item" greasemonkey script that let's me eat wads very quickly, one after the other. A lot of the time, the adventure gain from the elemental wad isn't recorded by mafia, even though it occurs. That solves the problem of not enough adventures being recorded, like in these 4 cases. Still don't know why it'd say I gained too many turns.

DarthDud
Inscrutable Pi
Posts: 265
Joined: Fri Apr 06, 2007 12:41 am

Post by DarthDud » Sat May 05, 2007 2:56 pm

IT calculates some areas incorrectly, like it says I did 24 rats in the summary, but it was only 22.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Sat May 05, 2007 3:14 pm

DarthDud wrote:IT calculates some areas incorrectly, like it says I did 24 rats in the summary, but it was only 22.


it counts the rat faucet and some DD rooms and maybe other things that dont take turns. there's a "known quirk" listed in the initial post.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

theophrastus
Spy vs. Pie
Posts: 77
Joined: Thu Apr 19, 2007 5:45 am

Post by theophrastus » Mon May 07, 2007 6:38 am

This is a minor bug, but you might want to fix it; it is not listed in the known quirks. If you run the parser for an incomplete ascension, it denotes for the adventures in the last zone

mafiaLogParser wrote:[nnn

since it is waiting on the ascension message, I suppose.

Also, I recommend recommending Notepad++ for maximum viewing pleasure. It isn't as common as WordPad, but, hey, where else are they gonna learn about it, if you don't recommend it?

-theo

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

Post by KujjieKujjieKoo » Mon May 07, 2007 8:22 am

Vlad- I know you had mentioned part of the reason some people had log oddness for the last adventure line was due to a whitespace issue you had, and it probably wouldn't change. What about a flag to supress the white space eating at the end?
Image

theophrastus
Spy vs. Pie
Posts: 77
Joined: Thu Apr 19, 2007 5:45 am

Post by theophrastus » Mon May 07, 2007 8:39 am

As far as I can tell, the problem with the last adventure line for incomplete ascensions has nothing to do with the whitespace issue. I think it is just a matter of number "mmm" in the expression [nnn - mmm] being determined when the name of the adventure zone changes or you ascend, and neither of those are present in an incomplete log. Changing the use of chop/chomp just resulted in extra punctuation characters appearing in the log.

-theo

A request: I know there can be problems when your system time is far off of AZ time and KoLMafia hangs two day's play together or if you regularly play on both sides of rollover, but I think it might be useful to have a -days option which inserts a "Day n" where a new log file starts. Since there are several conditions which could screw with this, a lot of which apply to USA/Canada-KoLers, it probably shouldn't be included in the "-all" option. Everyone else should get pretty good use out of it, though.

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

Post by KujjieKujjieKoo » Mon May 07, 2007 9:11 am

Oh, hmm. That would make sense. I hadn't actually tested the change, was just guessing that could be it.
Image

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Mon May 07, 2007 5:02 pm

theo yes you are exactly right about the incomplete logs bit. it doesn't output the second numbers of [nn-mm] until you switch areas.

as for the days... it's a real headache and it caused me nothing but problems when i tried to do it before, so don't expect it any time soon.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

Parrithead
AFH
Posts: 52
Joined: Fri Apr 27, 2007 5:09 pm

Post by Parrithead » Tue May 08, 2007 8:04 am

The parser is not generating any summary file for me. Is that because my I don't have a log with "NEW [class] ASCENSIONS STARTED ********"?

Edit: I didn't start keeping logs until after the beginning of my current run

theophrastus
Spy vs. Pie
Posts: 77
Joined: Thu Apr 19, 2007 5:45 am

Post by theophrastus » Tue May 08, 2007 9:00 am

VladimirPootin wrote:as for the days... it's a real headache and it caused me nothing but problems when i tried to do it before, so don't expect it any time soon.

Okay, it was just me being kinda lazy while doing run summaries. I can just as easily look in the log file for the first adventure of the day and search for [nnn in the log. If it's a headache, just forget about it.

@Parrithead: Yeah, if you don't have the start of the ascension, it just throws it out. It would be kind of impractical, otherwise, because no-one knows what you did with those earlier turns.

-theo

Parrithead
AFH
Posts: 52
Joined: Fri Apr 27, 2007 5:09 pm

Post by Parrithead » Tue May 08, 2007 9:15 am

...if you don't have the start of the ascension, it ... would be kind of impractical, otherwise, because no-one knows what you did with those earlier turns.


Wouldn't it be helpful if you're looking for specific data at a certain level? F'rinstance, at Level 28, I'm not particularly interested in the pre-NS portion of my run, just the information that can help me get to Level 30 the fastest.

VladimirPootin
AFH
Posts: 1236
Joined: Tue Mar 27, 2007 2:03 am
Location: Ad Absurdum

Post by VladimirPootin » Tue May 08, 2007 12:41 pm

parrithead -

um, yeah, you need a new ascension started line.

HOWEVER you MIGHT be able to fake it out a bit - there is a line in there that looks like

Code: Select all

unlink "cream.txt"
.

throw a # in front of that line (that makes the perl parser skip that line), run it, and see what kind of junk is in cream.txt.
[b]AFH: Now with more [i]new and improved[/i] moral ambiguity![/b]

Post Reply