View Full Version : [SORTA-REQUEST] kitycore anti-mistake
ammy55
12-04-2009, 06:29 PM
is there a kittycore mistake prevention script (i.e doesn't let you adventure without black cat)
if it dosn't exist would it be hard to create one (i don't think it would be hard i just don't know how to write scripts)
my best guess at how it would work would be
when you try to adventure check if black cat is equiped
if its true it continues with the adventure
if its false then it equips the black cat and checks again
i'm sorry if any of this is unclear
Weatherboy
12-04-2009, 07:13 PM
This thread (http://kolmafia.us/showthread.php?t=1240) has a section that strictly enforces 100% familiar runs.
By "strictly enforce" you mean that it won't let you make a mistake in automated adventuring. Unfortunately that won't prevent any errors if you use the relay browser. I use the relay browser 95% of the time and I suspect many others do also.
Spiny
12-04-2009, 08:38 PM
Allegedly this greasemonkey script (http://userscripts.org/scripts/source/33792.user.js) will nag you if you don't have your intended 100% run familiar active. But I've never tried it myself and it is Greasemonkey so it may not be useful to you.
Edit: In afterthought, it is possible you'd have to tweak the Included Pages so that it affects the pages provided by mafia's relay browser as well as vanilla KoL connections. Ie for any listed page that begins with *kingdomofloathing.com/(referenced page)* add an entry to match it that says h t t p://127.0.0.1:60*/(referenced page)* This is assuming it's not there already.
Spaces in http added to avoid being turned into a bad url.
lostcalpolydude
12-04-2009, 09:01 PM
Allegedly this greasemonkey script (http://userscripts.org/scripts/source/33792.user.js) will nag you if you don't have your intended 100% run familiar active. But I've never tried it myself and it is Greasemonkey so it may not be useful to you.
Edit: In afterthought, it is possible you'd have to tweak the Included Pages so that it affects the pages provided by mafia's relay browser as well as vanilla KoL connections. Ie for any listed page that begins with *kingdomofloathing.com/(referenced page)* add an entry to match it that says h t t p://127.0.0.1:60*/(referenced page)* This is assuming it's not there already.
Spaces in http added to avoid being turned into a bad url.
It's already set up to run in the relay browser.
ammy55
12-05-2009, 01:18 AM
thanks I'm using both now i can only fail by being extremely clueless (I'm doomed)
zarqon
12-06-2009, 10:50 AM
If it makes you feel better, I'm the guy who wrote one of those scripts and I flubbed my last Kittycore effort WITH ONLY ONE COMBAT ADVENTURE LEFT. Be careful when training tower familiars.
ammy55
12-06-2009, 07:14 PM
@zargon i know that's a major fear for me so i plan to buff using pet snacks, knob goblin spray and the hippy arena buff instant win
@drainge09 more people will see your post if you make a new thread for it don't just piggy back on this one
SilentKnight
10-24-2010, 12:28 PM
I've started working on something for this, of course I could use a lot more help/reference material because I can't seem to get the details right.
right now it should fix things whenever you go to adventure.php without your cat
if you adventure without the familiar or its hatchling it forces you into the noob cave, and then next attempt to adventure it should use your terrarium and kitten (fingers crossed)
it's got a whole lot of room for flaws, but if I make a copy for shore.ash, tower.ash, and whatnot it should be usable for a single kittycore run I think?
I do need a complete list of which adventure locations don't use adventure.php though...
shore, tower, guild, hiddencity, dungeon, cellar, barrel, cave, basement (better safe than sorry) .......
(edit: my options were 'insert inline' and 'done' so... wasn't sure..)
so quick, so dirty, need so much more reference material.. I don't even know how to set the 100% familiar to a variable, tho I suspect that if I pour closely over the between combat script I can figure out *that* detail
this is my first attempt at scripting beyond editing slimeling.ash
lostcalpolydude
10-24-2010, 03:49 PM
You would probably be better off using a master relay override (http://kolmafia.us/showthread.php?4750-Master-Relay-Override/page7) for this instead of having a bunch of relay overrides that do the same thing.
Theraze
10-24-2010, 03:57 PM
A quick warning... the developers are under the belief that kittycore should be painful. As such, anything for the code aimed at making kittycore easier is likely to get shot down/rejected... though if this is a script instead of code change, you have the benefit of not needing approval...
First suggestion? Don't put your attachments inline. I didn't find it until after I'd read your message for the third or fourth time.
First script tip... if you're hijacking adventure.php, you can't redirect people back to adventure.php. That's why your 'get_cat()' bit doesn't work. Also, you probably don't want to abort just to throw the message. Equipping a new familiar already updates the gCLI with that change, and your abort won't show up where you can see it in the relay browser anyways, so you either end up with a double message, or cancelling any automation you actually want to have happening.
A question about how relay scripts work... hasn't the page already been loaded by the time the relay scripts are called? As such, isn't it too late to call the relay script to change your familiar once adventure is called and you're already in a battle? I'd almost think you'd want it (the familiar check) tied into either the charpane, or possibly main, so that you get it when you first pop the browser...
Veracity
10-24-2010, 04:08 PM
"The developers" believe that, eh? Huh. Can you show me where I said that, please? Or, perhaps you mean the KoL developers...
Speaking for myself, it's a matter of not wanting to spend my time adding a feature which I can't fully test and will never use myself to help people with a run that they will do exactly once per character. In other words, it's about REDUCING pain - my own.
Theraze
10-24-2010, 04:50 PM
Well, Bale said he was quoting you here (http://kolmafia.us/showthread.php?4742-Black-Cat-batting-used-items-away-not-detected&p=34446&viewfull=1#post34446)... maybe he was misquoting you? He didn't say it was about reducing your pain, it was about not reducing the pain to the users. At least, that's how I interpretted it. :) That being said, he didn't give the original quote, and you're the one he was quoting, so... I won't refer to it anymore if it's not accurate. :)
Veracity
10-24-2010, 05:51 PM
Well, if Bale is agreeing with me, who am I to disagree with him? ;)
I was referring to something you said on the subject back on the old bug tracker so I can't point to the reference. It's possible that my memory is faulty, but I'm pretty sure you said that. It might be that you were referring to your own pain and I misunderstood you or that you were just referring to how you felt at the moment something annoying was proposed.
Veracity
10-24-2010, 11:40 PM
Well, I have always felt that it's not worth coding special support for doing a run that nobody is going to do more than once that really isn't THAT hard to get right. On the other hand, it's just a special case of a 10%% familiar run, which some people do with some regularity. I've done 30 myself and got a trophy and just recently did another with the Hippo Ballerina. Once I pulled myself together and got out of thinking "what familiar should I use now? Oh, leave my current one in place, duh", it was painless.
The main difficulty in supporting something like that is figuring out a good user interface for you to declare that this run is going to be 100% for a particular familiar. The Black Cat would then be an extra wrinkle because you wouldn't already have a Black Cat.
bordemstirs
01-12-2011, 07:18 AM
Well, -I'm- under the belief that the Black Cat run should be painful (having failed at -the- last moment once myself, that's saying something). Though support for 100% runs (or even 90%) would be nice, even if it's just a tracker (current tracking methods that I'm aware of are imperfect) and not something that enforces it. Having it enforce it would be pretty awesome though.
As for:
The Black Cat would then be an extra wrinkle because you wouldn't already have a Black Cat.
You could just have the user wait till they find the black cat and -then- they could choose it via whatever user interface you'd have set up. Because in all seriousness, if you fail a kittycore run -before- getting the black cat, then you kinda deserve it.
Fluxxdog
01-12-2011, 07:38 AM
Though support for 100% runs...... is in zlib. And trust me when I say it's not very hard from there to mooch a 90% either.
bordemstirs
01-12-2011, 07:56 AM
... is in zlib.
Does zlib accurately track familiar usage?
The script I'm currently using makes a nice guess based on familiar kills, and optionally (with use of a logout script) counts free runaways, but combats lost or ran away from (as well as possibly other overlooked scenarios) aren't properly counted.
Winterbay
01-12-2011, 08:21 AM
Well, no but zlib lets you set a familiar to use 100% of the time and BBB then uses that to make sure that every adventure is made with said familiar. Not that between battle scripts fire between battles in the relay browser but anyway... (at least this is the way I think Fluxxdog meant, I may be completely wrong)
Fluxxdog
01-12-2011, 08:34 AM
I think I remember zlib and BBB having the is_100_run was done for Kittycore. Always remember, a program is only as smart as its user. Which reminds me, I have to tidy some scripts of mine... damn saplings...
Theraze
01-12-2011, 01:29 PM
100% run doesn't need tracking... if you're doing something 100%, that just means you need to not screw it up and be sure you do it every time. Only potential wrinkle using BBB with the is_100_run variable is after familiar trainer in the tower... it won't switch back to your 100% run familiar on going to the NS, so you either change back manually, or remind yourself to adventure once somewhere else to fix it.
zarqon
01-12-2011, 02:31 PM
The point of adding is_100_run was so that all scripts that use ZLib can avoid swapping your familiar in case you are going for a 100% run (which is rather common). I later added familiar enforcement to BBB as an aid to Kittycorers, but the original purpose was not as a Kittycore failsafe but as a way to specify a 100% run across scripts, without needing to change a lot of variables or be nervous about scripts swapping your familiar.
tgetgel
03-30-2011, 08:47 PM
Does zlib accurately track familiar usage?
How can I find out my familiar usage before ascending? (I'm in a 100% black cat run.)
I tried the ascension visualizer, but disagree with it's results. It said I used 259 turns with the mosquito. I manually searched through my session logs and only found the mosquito when I put it in the Terrarium or trained in the arena.
icon315
03-30-2011, 09:02 PM
Here is a relay script.
It is a snippet from an old version of Peacy's script (http://kolmafia.us/showthread.php?4284-relay_Hardcore_Deeds.ash-Your-daily-tasks)
tgetgel
03-31-2011, 12:56 AM
Thanks for the reply, Icon315.
This shows the arena training as well. Is there a way to show non-arena combats only? (Make sure I am still 100%?)
4423
zarqon
03-31-2011, 08:30 AM
Nope. The counter for combats started with a certain familiar (what matters for 100% runs) is invisible, and you can't figure it out from familiar kills or experience.
Just ascend and hope you got it. If not, join the club.
icon315
04-08-2011, 12:40 AM
A way you could do it is by maybe writing a script that gets all the kills for the familiars, maybe a post/pre ascension script, and writes them in a .txt file.
then another that uses the differences in kills later on to determine %'s.
zarqon already pointed out in the post above yours that such a method will only produce an approximation at best. He indicated your method doesn't account for runways (free or otherwise) or getting beaten up in a fight. How can you account for that?
In addition to his qualms, a non-combat will count against familiar percent if it is possible for it to lead to a combat, even if you don't get in a fight.
Powered by vBulletin® Version 4.1.12 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.