New Content - Implemented New path "Actually Ed the Undying"

Bale

Minion
Okay, that's weird. I'd think it should know your gender. I alternate regularly, so I've just been assuming I was a male at the time.
 

Theraze

Active member
Doesn't the text alternate between genders between the fight and the bookends? The wiki article on the combat mentioned that as a potential bug. Or has that been fixed now?
 

Bale

Minion
It occurs to me as I turn off the rat faucet (someone should add default value 1 for choiceAdventure1000), that there isn't a link back to [Bart]. Here's the html:

HTML:
<body><img src='/images/itemimages/blank.gif' id='dragged'><div id='debug'></div><div class=contextmenu id='skillmenu'></div><div class=contextmenu id='itemsmenu'></div><div id=topbar><center><table class=actionbar cellpadding=0 cellspacing=1><tbody><tr class=label><td> </td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr class=blueback><td><a href='cellar.php?action=explore&whichspot=17'><img src='/images/itemimages/plexpock.gif'></td><td class=spacer></td><td><img src='/images/itemimages/blank.gif' id='skills'></td><td class=spacer></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td><img src='/images/itemimages/blank.gif'></td><td class=spacer></td><td class=spacer></td><td><img src='/images/itemimages/blank.gif'></td></tr><tr class=label><td>again</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table></center></div><div class='content' id='content_'><div id='effdiv' style='display: none;'></div><div style='overflow: auto;'>
<Center><div id="results"><!--faaaaaaart--><table  width=95%  cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Results:</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><span class='guts'>You open the valve just a little, and a rat trickles out of it and scurries away. After a few seconds, another one emerges. That seems like a reasonable rate of flow, though what you're basing that estimation on is a mystery.<p>You should probably go tell Bart you've fixed his lack-of-rat problem.</span></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></div><table  width=95%  cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Adventure Again:</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><p><a href="cellar.php?action=explore&whichspot=17">Explore Next Unexplored Square</a><p><a href="cellar.php">Adventure Again (The Typical Tavern Cellar)</a><p><a href="tavern.php">Go back to The Typical Tavern</a></center></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></center><!--faaaaaaart--><script>top.charpane.location.href="charpane.php";</script>
</div></div></body>
 

Veracity

Developer
Staff member
Yeah, I added code to make it give that link, but it didn't work, as you noticed. Thanks for the HTML. I'll see what I can figure out.

I just fought Veracity the Adventurer on the last turn of day 3 of my current HC Ed run.
The good news is that, slow as I am, I'm getting better at this.
The bad news is that I still have a 4-day run, since there is the warehouse left. :(

Veracity the Adventurer was a male accordion thief. Yes, that was my last class, but no, I was most certainly not male.
 

Bale

Minion
Veracity the Adventurer was a male accordion thief. Yes, that was my last class, but no, I was most certainly not male.

They need to unbug the gender. That could be upsetting for someone who likes gender consistency.
 

xKiv

Active member
When did you see that? Was it before Veracity fixed the acquisition code, but after launch of Ed? It wouldn't have worked during that time.

On my last two (at least) ascensions - last time it was two days ago.
 
Twelve images, not six. There are two different genders and they have their own images.
A lot more than that. The <You> the Adventurer image can be one of the new class avatars or the classic one (I've seen both new style and classic used on my ed ascensions). So that's 24 male images and 24 female ones. I haven't seen a female image so far, and from other reports that the avatar always seems to be male I assume that's a kol bug.
 

GValko

Member
For some reason the mummified beef haunch shows up as having a adv/spleen hit of 0.2. This is only off by a factor of 125.
 

lostcalpolydude

Developer
Staff member
Some quick checking shows me that there's classavXY.gif, where X is is 1-6 and Y is a-d, and _f is added on for female. Even if other classes show up, I'm guessing that startsWith( "classav" ) will work here for all 24, 48, or whatever number of images. It would be nice to get a single check that the same image is used for that fight. I should be able to check that later today, if I don't forget and if no one else beats me to it.

For some reason the mummified beef haunch shows up as having a adv/spleen hit of 0.2. This is only off by a factor of 125.
That's a factor of 25 actually, and it's because mafia assumed things give 1 adventure until someone fills in better data.
 

Ezandora

Member
Think combats.txt needs entries for The Secret Council Warehouse:

Code:
> ash $location[The Secret Council Warehouse].get_monsters().to_json()

Returned: [ ]

Should just be the warehouse clerk, warehouse guard, and warehouse janitor at 100% combat rate?
 
Feature request: add Holy MacGuffin as an automatic goal option (in the dropdown) for the Secret Council Warehouse.

I'm not sure what that dropdown list is actually called - but you know, the one that shows under the locations list in the Adventure tab. It'd be awesome to have the Holy MacGuffin listed there, especially since I can never remember whether it's MacGuffin with an 'a' or McGuffin without an 'a' when trying to type it in.
 

Veracity

Developer
Staff member
Some quick checking shows me that there's classavXY.gif, where X is is 1-6 and Y is a-d, and _f is added on for female. Even if other classes show up, I'm guessing that startsWith( "classav" ) will work here for all 24, 48, or whatever number of images. It would be nice to get a single check that the same image is used for that fight. I should be able to check that later today, if I don't forget and if no one else beats me to it.
I looked at that code in AdventureRequest.translateGenericType where we go from image.gif to monster, when I added the secret spelunky monster. I had a few thoughts:

1) There was a big chain of, essentially, if-then-else (well, ternary conditionals) using startsWith on the image file to do the matching. Why not have a single map for (most of) those?
2) In fact MonsterDatabase.findMonsterByImage will look up images that we have registered in monsters.txt and will give you a MonsterData
3) Except, the reason we have all those startsWith things is that are many monsters which have multiple images, and the image we store is the one that Manuel shows you. Presumably, the "main" image.
4) So, why not allow for registering multiple images for each monster? Something like:

Code:
sleaze bugbear	dvsleazebear1.gif,dvsleazebear2.gif,dvsleazebear3,...
And we store the first one as the "official" image, but enter ALL of the images into the image->monster map - and also save an array of all the images for each monster.

Given that, MonsterDatabase.findMonsterByImage could just do a single lookup and we wouldn't need the chain of ternary conditionals.
5) Except, I think we wouldn't want to do that for You the Adventurer, since new images could presumably be added in the future, so, lost's idea would still be needed.

In any case, it looked like it was turning in to a Project, which I didn't want to spend the time on, for the moment.
 

lostcalpolydude

Developer
Staff member
In the long run that would be easier to maintain, for the most part. It would be slightly slower execution, checking images for monsters that will be recognized without image checking, right?
 

Veracity

Developer
Staff member
We only do image checking for monsters that we can't find by the monster name.

Code:
		if ( KoLAdventure.lastLocationName != null &&
		     KoLAdventure.lastLocationName.startsWith( "Fernswarthy's Basement" ) )
		{
			return BasementRequest.basementMonster;
		}

		String encounter = ConsequenceManager.disambiguateMonster( encounterToCheck, responseText );

		if ( MonsterDatabase.findMonster( encounter, false ) != null )
		{
			return encounter;
		}

		// For monsters that have a randomly-generated name, identify them by the image they use instead
We already have multiple mechanisms to identify the monster. ConsequenceManager will massage monsters into "known" monster names - if the official name does not exactly match what KoL displays on the fight page, for examp. If that suffices to look up the monster, cool. If not, we try looking up via the image name.

Edit: MonsterDatabase.findMonster( encounter, false ) is a lookup in a Map that goes from monster name (a string) -> MonsterData.
MonsterDatabase.findMonsterByImage( image ) is a lookup in a Map that goes from monster image (a string) -> MonsterData

If the image -> MonsterData map had ALL the images in it, seems like we could use ONLY that mechanism and do a single string lookup. Yes, we'd have to do the regexp match to get the image, but we could eliminate the whole ConsequenceManager stuff, which is also time consuming.
 
Last edited:

Veracity

Developer
Staff member
MonsterDatabase.findMonster( encounter, false ) is a lookup in a Map that goes from monster name (a string) -> MonsterData.
MonsterDatabase.findMonsterByImage( image ) is a lookup in a Map that goes from monster image (a string) -> MonsterData

If the image -> MonsterData map had ALL the images in it...
Revision 15497 adds support for multiple images for monsters; you can list just one, or a comma-seperated list of multiple images. The first one listed is deemed to be the "standard" one - the one that Manuel will show you - but all of them are entered into the image -> MonsterData map.

I updated all of the Dreadsylvania elemental monsters to have their three images apiece, but there are many more monsters with multiple images that need to be updated.
 

xKiv

Active member
If the image -> MonsterData map had ALL the images in it, seems like we could use ONLY that mechanism and do a single string lookup. Yes, we'd have to do the regexp match to get the image, but we could eliminate the whole ConsequenceManager stuff, which is also time consuming.

If I parse monsters.txt correctly, then we can't do that, because monster images are not unique.
Ascension relevant examples: warftata (drill sergeant, 151th infantryman), warhipb (space cadet, baker), yeti (knott yeti, panicking knott yeti), whirlwind (oasis monster, tonic elemental), werewolf (warwelf, wolfman), pirate1 (4 pirates), pirate2 (6 pirates + 3 TlaPD wanderers), ....
I see 56 ambiguous image names in total.
 

Bale

Minion
It occurs to me as I turn off the rat faucet (someone should add default value 1 for choiceAdventure1000), that there isn't a link back to [Bart].

I'm just posting to say that both these things are being done correctly now. :D
 
Top