BatMan Relay -- more info, less clicking

Fluxxdog

Active member
Came across this when fighting my shadow in Heavy Rains:
Code:
[774] Sorceress Tower: Shadow Fight
Encounter: Shadow Marinara Mage
Round 0: fluxxdog loses initiative!
Round 1: Shadow Marinara Mage takes 8 damage.
You lose 155 hit points
1 HP costs 1.5μ. ( 223 / 378 )
1 MP costs 8μ. ( 900 / 1006 )
Base round: 0 damage, 0 player damage, 0 meat
ATT: 210 (100% × 158, death in 2)
DEF: 90,059 (8.59% × 16.9 (5), win in 185)
HP: 387, Value: 291.59 μ, RES: 0.24 (0.24) (0.24) (0.24) (0.24) (0.24) (0.24) (0.24)
Expression syntax errors for 'modifier_eval()':
Expected end, found ,none (zlib.ash, line 186)
 

zarqon

Well-known member
@camperdave: I've fixed the scrolling issue, but have been working on two fantastic additions to this script and want to get them functional before posting the update. Here are teasers!

Factoid Manager (Factroid!)
screen-Factroid.png

Semirare Helper (Sera!)
screen-Sera.png

Each of these is both integrated with BatMan RE and a functional standalone script. w00t w00t
 

zarqon

Well-known member
Get ready everyone, because r24 is a big one. Let's start with some updates to the existing script:

  • Fix the scroll issue camperdave mentioned with mafia buttons enabled.
  • Thanks to image information for phyla and elements being added to mafia, we can now fairly easily show all of Manuel's information now rather than cutting off the right column.
  • Also, we'll go even further and show the number of factoids known for this particular monster under the Manuel table.
"Factoids? What?" you say. (Hypothetically. I mean, maybe you say that.) Don't worry, all this shall be explained in due time! But now, some more tweaks to the Adventure Again box!

  • A-Boo Peak: Using an A-Boo clue uses the clue and then dumps you directly at the adventure page.
  • Smut Orc Logging Camp: Fixed link to use building materials at the chasm. Show fastener info in addition to planks.
  • Show the number of factoids known beneath the queue image of each monster.
"What?" you ask again (possibly). "Are you hitting Manuel all the time for factoid information? That's irresponsible!" Calm down, hypothetical you. Of course I'm not doing that. I'll explain in due time.

...

It's Due Time!

Factroid!

Ladies and gentlemen, I am proud to introduce: Factroid! The ultimate factoid tracker/checker. The focus of this script design was on ease of information, with particular attention to a quick loading time. It's a relay script (you load it from your relay script menu) with images because visual groupings and monster images make the information very easy to take in at a glance. It also tracks your factoids known in an external datafile, meaning that if nothing has changed it doesn't need to rescrape Manuel for data and can load almost instantly! Tracking for factoids was also integrated with BatBrain, so when you gain a factoid in combat, BatBrain saves that information to Factroid's data file and Manuel still doesn't need to be rescraped! Of course, if you want to, there's a button at the bottom to refresh the data directly from Manuel to ensure that your data is correct. Also, since KoL names sometimes differ from mafia names, Manuel needs to be rescraped whenever you get your first factoid for a given monster, but don't worry; BatBrain will set that flag for you so that Factroid knows when it needs to refresh and when it can just load the cached data.

So, you can see which factoids you still need to collect. Awesome. But wait! There's more!

  • If you click a given monster, Manuel's information table loads underneath that monster, and also provides a set of handy links to wiki, fax, or Rain Man said monster (Rain Man is still not complete; all it does at the moment is cast Rain Man, dumping you at the monster selection page).
  • Faxing monsters is easy with this script -- it only provides fax links if you can still fax for the day and if can_faxbot() is true for that monster. Note that faxing will fail if your clan hasn't whitelisted the relevant faxbots. I believe it may also fail due to timeout if you're not logged into chat.
  • If you have CanAdv installed, Factroid provides a link to adventure at available parent locations! In keeping with the emphasis on fast loading, this information is AJAX'd in after the page loads, and only for visible elements (more load if you scroll).
I'd like to give a big shoutout to turing's missingManuel script, which I referenced a lot in figuring out how to handle the differences between mafia's monster list and KoL's.

Sera

I'm ALSO proud to introduce another integrated/standalone addition to the BatMan RE/Factroid relay stable: Sera, the semirare helper! Sera is a handy informational script that includes all the semirare info you could hope for!

  • All semirares are listed, sorted into handy categories: buffs, combat items, edible items, elemental items, fights, and a miscellaneous category for the handful of oddballs.
  • Your fortune cookie counter information is displayed on the top right, with a link to eat a cookie if relevant.
  • For profit-driven adventurers, mall price information for each semirare is listed.
  • For ascending adventurers, Sera suggests ascension-relevant semirares you might want by presenting the links in boldface.
  • If you have CanAdv installed (highly recommended for this script), it will also filter out all the locations you are unable to adventure in, narrowing down your list quite handily. If you still wish to see the impossible locations, click "Show unavailable" at the top to restore the full list.

Enjoy these crazy awesome additions to the BatMan family!

"I will!" you affirm. (Probably? I mean, maybe you might affirm that.)
 
Thank you very much for everything, and especially for factroid! This will make the rest of my quest to collect every monster in the game even more fun!

(and it will make me even more sad every time I see that I have one factoid from the Frattlesnake...)

Anyway, just a little bug report: It shows that I miss all three factoids for:

* Orcish Frat Boy (Paddler)
* Ninja Snowman (Chopsticks)
* Ninja Snowman (Hilt)

However, I have all three factoids for all of those monsters.

Apparently, in the fixmon() function, you check for "uniformly terrible grades" twice and return Orcish Frat Boy (Music Lover), so it never gets to check for the Paddler. One of the distinguishing phrases could be "has an IQ of 60", but I don't know if that one is the Paddler or the Music Lover.

And it appears that the ninja snowmen also need an entry in fixmon(). It appears the Ninja Snowman (Chopsticks) is the one with "eat rice without taking off their masks", and Ninja Snowman (Hilt) is "use carrots for noses".

Kind regards,

[0-9]
 

Fluxxdog

Active member
fight.ash keeps throwing a 'Filthy Crown' is not an item. error.

Correct me if I'm wrong, but if a function returns false, isn't that supposed to cause a stop? The vprint line at line 87 uses a -2 which return false, so couldn't that cause problems?
 

Theraze

Active member
It's because the semirare file suggests getting the Filthy Crown. I just delete that line and it stops whining.
 
Factroid bug: When a location is skipped on line 194, none of the monsters inside it are added to considered. This means they show up in the Orphans section.
 

zarqon

Well-known member
Fluxx: That's more of a debugging message than an error. I didn't delete it because I wanted to remind myself to make a special case for that non-item in the code.

bigevildan: Hmmm. Will investigate.

EDIT: Fixed in r27. Thanks!
 
Last edited:

Fluxxdog

Active member
In the Haunted Kitchen, you can only open 1-4 drawers a fight. When the adventure again told me I could open 10, I was skeptical. In fight.ash, line 219 should read:
Code:
            abox.append("<p>You will open <b>"+rnum(minmax(floor(max(numeric_modifier("Hot Resistance"), numeric_modifier("Stench Resistance"))/3),1,4))+"</b> drawers per fight.<p>");
 

zarqon

Well-known member
r28 Update

First, don't print that Filthy Crown warning, as it was mainly a reminder to myself anyway and not really a debugging concern since the data file is on SVN.

Secondly, we have yet more improvements to the ever-more-amazing Adventure Again box:

  • Make the location names clicky to wiki the location.
  • You cannot open more than 4 drawers (thanks Fluxx!).
  • Mob of Zeppelin Protesters. New zone support! Show current progress, and give spoilers and equip/maximize/inventory links (respectively) for lynyrd gear, sleaze damage, and Flaming Thatoneguys. Also link to use lynyrd musk when appropriate.
  • Darzil's awesome revamp of appearance_rates() made banished monsters have an appearance rate of 0 (just like bosses or semirare monsters or other monsters not part of the regular queue), and thus completely disappear from the display. Continue to show them dimmed, as previously.
Enjoy!
 

Darzil

Developer
zarqon;116230[* said:
Darzil's awesome revamp of appearance_rates() made banished monsters have an appearance rate of 0 (just like bosses or semirare monsters or other monsters not part of the regular queue), and thus completely disappear from the display. Continue to show them dimmed, as previously
Hmm, they should have returned -3, or do you mean they do, and you are handling that?

Edit - -3, -4 is temporarily unavailable due to something else being guaranteed that turn.
 

zarqon

Well-known member
Sorry, I should have said "0 or less". Didn't check the exact number, just noted that my <=0 check to filter out non-queue monsters was also filtering banished ones.
 

zopiate

New member
How do you completely uninstall this script...? It apparently has locked me up and I can no longer adventure
 

zarqon

Well-known member
You have three options:

1) Enter "zlib BatMan_RE_enabled = false" in the CLI to disable the script for that character without actually uninstalling it.

2) Enter "svn delete batman-re" to completely uninstall the script.

3) Tell me in more detail what's going on so that I can try to fix it.
 

heeheehee

Developer
Staff member
Well, for one, it plays poorly with the CAB --- "attack" and "adventure again" don't work (the javascript throws an error, iirc. I never bothered trying to fix that).
 
Top