raidlog override a la Dr. Evi1

I'd like to report a bug.

End index 5 out of bounds (clan_raidlogs.ash, line 523)

If the index is out of bounds, instead of crashing, it would be good if the script wrote page to the relay browser and ended execution gracefully.

In case that was unclear, the reason it crashed is because I didn't have dungeon access in that clan. I have an icon on my top menu that brings me straight to the raidlog. It is quite handy. At least KoLmafia should not have gone into an error state, even if I do get a blank page to look at. For extra credit you could add an explanatory message for the user to look at, but that would be a bit above-and-beyond.
 
Hm, I'll look into that. Shouldn't be too hard to be like "yo, no logs for no dungeon".

Anyway, sadly the new dungeon comes at a time when I'm too busy to even PLAY KoL let alone write scripts for it. However, I did drop in for a few minutes last night to look at things, and I've started formulating how I might set up the tables. I'm not sure what new info has come to light, so if I'm wrong or something sounds stupid, I'm open to adjusting things.

AFAIK, each area is basically the same: 10 monsters (2 species 5 elements) and 2 noncombats that each player can only do once, plus a boss. I haven't heard if there's an overall boss or a 4th area that opens up or whatever.
So, I'm thinking each area will have its own table, arranged thusly: Player, Element, Element, Element, Element, Element, Defeats, Noncom 1, Noncom 2, Total.
Then, in the data rows, each element column will actually be two columns, one for each species.
Then, new to the raidlog, instead of a tally under each Noncombat, I will just put which choice was taken by that user.

I'm thinking a smaller boss table like the the Hobo overhead one, and maybe including the kiss count there.

So... now that that's out of the way, discuss.

EDIT: Also, once this cools down a bit and I have more free time, I'm planning on rebuilding a crapton of the script so that the table layouts, headers, colors, everything is customizable (for all dungeons). How this will work will be explained at a later date, so if you aren't very fond of some organizational tool right now, just wait.
 
Last edited:
Okay. Scratch that. Instead of separating out all the elements and species, each area's table will just be Player Name, Kills, Defeats, NC1, NC2, NC3, Total.
I will include a second, hidden, table that has a more detailed kill/defeat information, for anybody that wants to know (but they seem to be irrelevant for most purposes).
Now, I just have one problem: What the crap do the logs say for all the various possible noncombat decisions? Here's where I need help, if you guys could just copy paste the exact lines from the logs HTML (from <br> to <br>) and what area it's under, that'd be awesome, I can do some detective work to find out which noncombat they belong to (or post that too if you know).
The sooner I have all this, the sooner the script will get finished.
 
Detailed kill information is pretty irrelevant I believe.

Now, I just have one problem: What the crap do the logs say for all the various possible noncombat decisions?

HTML:
The Village
<br>LAnGsuir (#145735) collected a ghost pencil (1 turn)<br>
<br>LAnGsuir (#145735) looted the tinker's shack (1 turn)<br>
<br>Asharaxx (#556893) robbed some graves (1 turn)<br>
<br>Tuga (#622147) swam in a sewer (1 turn)<br>
<br>Bale (#754005) made the vilage less stinky (1 turn)<br>
<br>NotJim (#771603) unlocked the schoolhouse (1 turn)<br>
<br>MoonageDaydream (#2000953) unlocked the ballroom (1 turn)<br>
<br>Alden (#1382351) read some lurid epitaphs (1 turn)<br>
<br>YoMama1 (#1610439) looted the blacksmith's till (1 turn)<br>
<br>MoonageDaydream (#2000953) drove some skeletons out of the castle (1 turn)<br>

The Castle
<br>LAnGsuir (#145735) got some roast beast (1 turn)<br>
<br>LAnGsuir (#145735) sifted through some ashes (1 turn)<br>
<br>Bale (#754005) raided a dresser (1 turn)<br>
<br>Asharaxx (#556893) got a wax banana (1 turn)<br>
<br>Shugars (#1158602) drove some skeletons out of the castle (1 turn)<br
<br>MoonageDaydream (#2000953) unlocked the ballroom (1 turn)<br>
<br>MoonageDaydream (#2000953) twirled on the dance floor (1 turn)<br>
<br>MoonageDaydream (#2000953) made the castle less sleazy (1 turn)<br>

The Woods
<br>LAnGsuir (#145735) rifled through a footlocker (1 turn)<br>
<br>LAnGsuir (#145735) unlocked the fire watchtower (1 turn)<br>
<br>LAnGsuir (#145735) found and sold a rare baseball card (1 turn)<br>
<br>Tuga (#622147) recycled some newspapers (1 turn)<br>
<br>Tuga (#622147) got a cool seed pod (1 turn)<br>
<br>MoonageDaydream (#2000953) acquired a chunk of moon-amber (1 turn)<br>

That's a nice start.
 
Here's some bale's didn't have:

HTML:
The Woods:
<br>mattkingcole (#2114360) acquired some dread tarragon (1 turn)<br>
<br>Nematocyst (#2186263) made the forest less hot (1 turn)<br>
<br>mattkingcole (#2114360) got intimate with some hot coals (1 turn)<br>

The Village:
<br>ricardo1234567890 (#2222771) made the village less spooky (1 turn)<br>
<br>ricardo1234567890 (#2222771) moved some bricks around (1 turn)<br>
<br>HasteBro (#930575) drove some zombies out of the village (1 turn)<br>

The Castle:
<br>ricardo1234567890 (#2222771) frolicked in a freezer (1 turn)<br>
<br>mattkingcole (#2114360) did a whole bunch of pushups (1 turn)<br>
<br>Ricardo4316 (#2079186) made the castle less spooky (1 turn)<br>
<br>Saucy Sally (#975363) took a nap on a prison cot (1 turn)<br>
<br>Saucy Sally (#975363) read some ancient secrets (1 turn)<br>
 
BTW, kill info might be important actually, more specifically, the type of monster most/least killed in each area. Or has it been confirmed that that has nothing to do with which boss shows up at the end of the area?
 
BTW, kill info might be important actually, more specifically, the type of monster most/least killed in each area. Or has it been confirmed that that has nothing to do with which boss shows up at the end of the area?

Interesting theory. I'll look out for that info.

Okay, this is nearing ready to post, but um... does anybody know the image name of the Zombie HOA? That's the only thing I'm missing for the preliminary update.
 
Player Name (#000000) was defeated by the Zombie Homeowners' Association (1 turn)
Player Name (#000000) defeated the Zombie Homeowners' Association (1 turn)
 
BTW, kill info might be important actually, more specifically, the type of monster most/least killed in each area. Or has it been confirmed that that has nothing to do with which boss shows up at the end of the area?

That's... not it. We'll probably have a thread out later today discussing our findings ("CG presents" or something).
 
Okay. So, basic info is up. Kills/defeats. I'll work on getting up the element/species kill tables up too, since I've been hearing that some people want the info.
Noncombats are a mess. I've only *just* started to actually play in the dungeon, seeing how things work, and I've picked up a few ghost pencils, so hopefully I'll be able to get most of the log messages filled out by elimination. Seems most people are busy collecting Freddies though, so help is hard to come by.
Code:
----
Cabin
-Kitchen
--Spice: ) acquired some dread tarragon (
--Mill:
--Disposal:
-Basement
--Newspapers: ) recycled some newspapers (
--Diary: ) read an old diary (
--Lockbox:
--Banana:
-Attic
--Music:
--Wolfsbane:
--Burn:
--Poke:
Tree
-Climb
--Stomp:
--Kick:
--Shiny: ) acquired a chunk of moon-amber (
-Firetower: ) unlocked the fire watchtower ( NO TURNS
--Siren:
--Footlocker: ) rifled through a footlocker (
--Weights:
-Base
--Stand up:
--Stand down: ) got a cool seed pod (
Roots
-Heat
--Cork: ) made the forest less hot (
--Fire: ) got intimate with some hot coals (
-Cold
--Read:
--Listen:
--Drink:
-Smelly
--Eggs:
--Garbage: ) found and sold a rare baseball card (
----
Estate
-Plot
--Gates: ) drove some zombies out of the village (
--Graves: ) robbed some graves (
--Tombstones: ) read some lurid epitaphs (
-Quarters
--Ovens:
--Cabinets:
-Suite:
--Whistle:
--Nightstand:
--Loom:
Square
-Schoolhouse: ) unlocked the schoolhouse ( NO TURNS
--Erasers:
--Teacher: ) collected a ghost pencil (
--Students:
-Blacksmith
--Stoke:
--Till: ) looted the blacksmith's till (
-Gallows
--Noose: ) made the village less spooky (
--Trap:
--Gawk:
--Level:
EMDPoT
-Sewers
--Grate: ) made the vilage less stinky (** Check
--Muck: ) swam in a sewer (
-Tenements
--Rats: ) drove some skeletons out of the castle (
--Graffiti:
--Bricks: ) moved some bricks around (
-Shack
--Shelves: ) looted the tinker's shack (
--Boxes:
--Bird:
----
Dungeon
-Cell
--Toilet: ) made the castle less spooky (
--Pushups: ) did a whole bunch of pushups (
--Nap: ) took a nap on a prison cot (
-Boiler
--Steam:
--Incinerator: ) sifted through some ashes (
--Furnace:
-Guardroom
--Break:
--Roll:
Hall
-Ballroom: ) unlocked the ballroom ( NO TURNS
--Organ:
--Light: ) twirled on the dance floor (
-Kitchen
--Lower:
--Hang: ) frolicked in a freezer (
-Dining
--Roast: ) got some roast beast (
--Dishes:
--Levitate: ) got a wax banana (
Tower
-Labratory:
--Lamp:
--Brains:
--Machine:
-Books
--Bone: ) drove some skeletons out of the castle (
--Secrets: ) read some ancient secrets (
--Jewelry:
-Bedroom
--Parrot: ) made the castle less sleazy (
--Dresser: ) raided a dresser (
--Fingers:
Thank you guys for giving me what you had, it covered everything in my own clan logs and more.

One thing I was wondering is if a fourth table (to come before the current 3) with totals turns spent from each zone would be useful (like the one for Hobopolis). If so, blue like the one from Hobop, or no? And speaking of colors, I'm happy with Castle, indifferent to the Woods, and I think the Village could be... something else. I just don't know what. Not terribly important, but easy to fix, I just don't have a designer's eye.
 
Got some new ones for you:

HTML:
<b>The Woods</b>
<br>BaddeMulti (#788080) drank some nutritious forest goo (1 turn)<br>
<br>Darsel (#956958) made an impression of a complicated lock (1 turn)<br>
<br>Ardlen (#1223387) listened to the forest's heart (1 turn)<br>
<br>cs61cl_hd (#1770227) wasted some fruit (1 turn)<br>
<br>Mutantopia (#2307398) got a Dreadsylvanian auditor's badge (1 turn)<br>

<b>The Village</b>
<br><b>Lightwolf (#61661) defeated the Zombie Homeowners' Association (1 turn)</b><br>
<br>WoolyImbibe (#386967) got some old fuse (1 turn)<br>
<br>WoolyImbibe (#386967) got a bottle of eau de mort (1 turn)<br>
<br>Darsel (#956958) polished some moon-amber (1 turn)<br>
<br>xKiv (#1718146) read some naughty carvings (1 turn)<br>
<br>Serhina (#1801436) was hung by a clanmate (1 turn)<br>
<br>HotCha0 (#2005407) unlocked the master suite (1 turn)<br>
<br>HotCha0 (#2005407) made a complicated key (1 turn)<br>
<br>SupermancerPrime (#2264980) hung a clanmate (1 turn)<br>

<b>The Castle</b>
<br>WoolyImbibe (#386967) relaxed in a furnace (1 turn)<br>
<br>BaddeMulti (#788080) got magically fingered (1 turn)<br>
<br><b>CofLBelgarion (#1104634) defeated  The Unkillable Skeleton (1 turn)</b><br>
<br><b>CofLBelgarion (#1104634) was defeated by  The Unkillable Skeleton x 3 (3 turns)</b><br>
<br>The GREAT Stubb (#1865487) got some stinking agaric (1 turn)<br>
 
For me, at present, the key bits of info I'd want would be :
For each 1/instance item, has it been got yet.
For each 10/instance item, how many have been got.
For each zone, how many kisses is it on, and which elemental remain.
For each zone, has the balance of monsters changed, and to what.

I might give it a go as an exercise.
 
Trying this out in my MasterOverride I get a name collision in that both you and zlib defines a kmail(string to, string message, int meat, int[item] stuff)-function. Any chance you could either rename yours or adapt to use the zlib version?
I'll rename the one in my copy for now at least.
 
I got the castle 100% clear, and the raid log tells me this: Area not open yet or unavailable to you. Looking at formatDreadTable(), it's getting a -1 instead of a 100, even though we don't know who the boss is yet.
 
What I love most about SVN is that I can make a change to a script and it is merged in when the script is updated:


PHP:
void formatData(){
 if(((runType<0)||(runType==4))&&(data[".data","Dread",".hasdata"]!=-1)) formatDread();
 #if(((runType<0)||(runType==1))&&(data[".data","Hobo",".hasdata"]!=-1)) formatHBT();
 #if(((runType<0)||(runType==1))&&(data[".data","Hobo",".hasdata"]!=-1)) formatHB();
 #if(((runType<0)||(runType==3))&&(data[".data","Haunted",".hasdata"]!=-1)) formatHH();
 #if(((runType<0)||(runType==2))&&(data[".data","Slime",".hasdata"]!=-1)) formatST();
 write("</center>");
}

I only care about Dreadsylvania dungeon right now, so I don't want to see tables for the others. I just can remove them! Another point of view is that might be a nice option for the script to have, even though I don't need it.
 
Instead of big question marks, I'd like to suggest percentage killed of each critter in that area. The most critters that get killed in an area determine which boss shows up.
The non-combats that "reduce" monsters of a given type are a mechanism to tilt in favor of a certain boss. Maybe you could do something cute like have a half picture of
each boss with the percentage chance he shows up.
 
For me, at present, the key bits of info I'd want would be :
For each 1/instance item, has it been got yet.
For each 10/instance item, how many have been got.
For each zone, how many kisses is it on, and which elemental remain.
For each zone, has the balance of monsters changed, and to what.

I might give it a go as an exercise.

Kiss Level, elements, and species balance were all going to be included. As for keeping track of the per-instance items, I was wondering if I should handle the noncombats differently than I was planning. I'd have to look into exactly how many per-instance items there are and see what the best fitting way to include that information would be, but I will find a way to show it somehow.


And, in response to... I can't see who right now, I was under the impression that amount of species killed did not influence the boss. I'll dig around and decide based on what I find.

And to Bale: yay svn! I actually had to code something *twice* because I was working on it in /relay, and launched a second instance of mafia, which svn updated and overwrote all the changes I had made in the past hour. I was very grumpy. Then I was like "why do I even have this checked out?" and fixed that right up.
Um, I'd like for there to be a way to automate that option (since handling options is cumbersome for the end user) but I can't think of one. So it'd basically have to be manually set to "only show me the following dungeons"

Though maybe I'll do that anyway, because then table order could be controlled.
 
As for the way NCs are handled, my suggestion would be similar what you have done for hobo and ST. If someone looted a ghost pencil, a new column "looted ghost pencil [x/10]" shows up, where x is how many have been looted that instance and a 1 in the player's line.

Items that can be looted once per instance can be done in a similar fashion, but instead of having a column for each, a single column for "one per instance", and instead of a 1 showing in the player's line, it shows the name of the item.

Krugger looting can have it's own column if it's important enough, or just band it with other NC options in a single column.

To track which elements are banished and which monsters are predominant: Add 2 lines beneath the % completed, divide the first line into 15 squares and have their background colors be according to the elements, whenever an element is banished it's square becomes white. For monsters, have them written out "Werewolf | Bugbear", when someone drive the bugbears out, make it's font color faded and the werewolf's bolded. I guess the kill count for each could go there too.
 
Back
Top