New Content Feb 2024 Challenge Path - Were Professor

MCroft

Developer
Staff member
Feature Request: If I am a were professor, I would like a warning when
1: I have one turn left before transforming
2: I have enough research to concoct a new beast skill
3: I am about to start a fight

3 might be optional. I'm just looking to reduce the "oh, I stupidly forgot to improve my beast form!" that I apparently say 2-3 times per wereProf ascension...
 

Veracity

Developer
Staff member
Step one is the current blocker for that, since we don't track turns left before transformation.
 

fronobulax

Developer
Staff member
Breakfast does not complete successfully when it is run as a Beast. I would like to know about this failure or have it not occur.

Some possibilities:

Change the meaning of the preference breakfastCompleted to be breakfastCompleted successfully so the Beast failures can be detected.

Not running breakfast during login if the character is a Beast.

Always running breakfast at the first transition to Professor.

My manual workaround is to run breakfast as the Professor when I remember to do so.
 

Veracity

Developer
Staff member
Change the meaning of the preference breakfastCompleted to be breakfastCompleted successfully so the Beast failures can be detected.
I believe that is already what it means.

I don't run breakfast on login since it is always the case that I want to do it later, but if I type "breakfast" as a beast, it fails to get sewer items and fails to interact with the Hermit. Later, I type "breakfast" as a mild-mannered professor and it runs successfully all the way through.
 

Veracity

Developer
Staff member
Since ChIT decorates charpane.php - and KoL puts that info right there - I assume that's where it gets it.
CharPaneRequest.checkResearchPoints could easily track that, as well.
test_charpane_research.html and test_charpane_compact_research.html are existing text fixtures.
HTML:
<td align=right>Until Transform:</td><td align=left><b>25</b></font></td>
<td align=right>Tranform:</td><td align=left><b>11</b></font></td>
are the standard and compact versions.

For a Relay Warning, tracking via the charpane will suffice, since the Relay Browser sees and parses the charpane.

If we want to track it for the benefit of scripts, we'll need to figure out exactly which adventures do NOT advance it.
I've noticed that noncombats do not. Neither do animated nightstands - even though they do take turns.
Perhaps because the fight.php immediately goes to a choice adventure.
 

ckb

Minion
Staff member
Feature Request: If I am a were professor, I would like a warning when
1: I have one turn left before transforming
2: I have enough research to concoct a new beast skill
3: I am about to start a fight

3 might be optional. I'm just looking to reduce the "oh, I stupidly forgot to improve my beast form!" that I apparently say 2-3 times per wereProf ascension...

I agree it would be nice to have the turns left be available, either through a property or an ash command. Right now I use my own fuction to parse charpane.php

For your (2) and (3) those sounds like great things for a before-/after- adventure script. That is what I am doing now after getting borked in a few runs. Stuff I check now:
If I have enough research to learn another skill
If I have more than 1 HP as a beast
If I have any spare smashed scientific equipment as a Prof
If I need to use my free rests to charge Cinch as a Prof
If I need to buy any supplies or get clovers as a Prof
 

Veracity

Developer
Staff member
Heh. I modified the unstable fulminate warning to allow cooking it if you have a dramatic range installed and the ingredients, but something that caught me yesterday was that I had bought the range as a professor but had not installed it, so when I came in later as a beast with a bunch of ml, it skipped the warning. I COULD add an additional check for having a range in inventory but not installed.

"Buying the range" is something you can't do as a beast, so a relay warning would not have helped with that.

Do we currently know that np stores are not available as a beast, or do we notice that they "fail to yield" after attempting to visit them? I think the former is correct behavior and would prevent us from trying to fish for worthless items as a beast.
 

MCroft

Developer
Staff member
I agree it would be nice to have the turns left be available, either through a property or an ash command. Right now I use my own fuction to parse charpane.php

For your (2) and (3) those sounds like great things for a before-/after- adventure script. That is what I am doing now after getting borked in a few runs. Stuff I check now:
If I have enough research to learn another skill
If I have more than 1 HP as a beast
If I have any spare smashed scientific equipment as a Prof
If I need to use my free rests to charge Cinch as a Prof
If I need to buy any supplies or get clovers as a Prof
nice! I might also want "if I have more than 50 ML as a Professor".

Would you consider sharing your script?
 

fronobulax

Developer
Staff member
I believe that is already what it means.

I don't run breakfast on login since it is always the case that I want to do it later, but if I type "breakfast" as a beast, it fails to get sewer items and fails to interact with the Hermit. Later, I type "breakfast" as a mild-mannered professor and it runs successfully all the way through.
Exactly. But the preference is set in spite of the fact that breakast failed to get clovers from the hermit. Maybe it is a feature because my login script manually executes "breakfast"?

What I did - called "breakfast" via cli_execute at the end of my login script during a Were run at a time when the character was a Beast.

What happened - the gCLI indicated that clovers were not obtained from the Hermit and that the preference breakfastCompleted changed from false to true.

What I expected - the preference breakfastCompleted remained false.

Side comment - when the Beast transformed to the Professor, "breakfast" was run from the gCLI and the clovers were successfully obtained, implying that breakfastCompleted being true did NOT mean that running breakfast again would have no effect.
 

ckb

Minion
Staff member
nice! I might also want "if I have more than 50 ML as a Professor".

Would you consider sharing your script?
Right - I also check that +ML <= 25 as a Prof.

I don't have a single script that does this... more like a giant web of scripts that is tied to the rest of my custom ascension scripts I have been working on. I'll try to pull out the relevant parts to share.
 

Veracity

Developer
Staff member
Revision r27863 does this:
  1. The WereProfessor is class 31.
  2. A Mild-Mannered Professor has no equipment stat requirements.
  3. Parse Turns until Transform from the charpane and save in "wereProfessorTransformTurns".
    This will not be useful for scripting, but will suffice for a Relay Browser warning.
  4. unstable fulminate warning will work if you have ingredients and dramatic range in inventory.
    I've been bitten by this.
  5. relay warning if potentially entering a fight as your last turn as a Mild-Mannered Professor and you have enough Research Points to learn something.
Proposed work from up thread:

Maximize for -combat suggests "uneffect Savage Beast (+25)".
Add 'Punt' to BanishManager
Track 'Hunt' monster
Track locations where [smashed scientific equipment] has been gathered
Track resting at "place.php?whichplace=wereprof_cottage&action=wereprof_sleep"
Override the outfit rules
- including "Your Previous Outfit"
Tune short beast skill descriptions.
- feed is no longer (Unimplemented)
CCS should not try casting non-dart skills as a mild-mannered professor
Beast cannot access NPC stores
Track Transform Turns without needing charpane
 

Veracity

Developer
Staff member
Upon login, I see this in my shell:

Code:
Unknown skill ID in charsheet.php: 31000
Ignoring unknown skill name in charsheet.php:

Yeah. Looking at charsheet.php:

HTML:
<b><p>Skills:</b><br>
<font size=1>(click the skill name for a description)</font><br>
<table>
  <tr>
    <td height=1 bgcolor=black></td>
  </tr>
  <tr>
    <td>
      <a onClick='javascript:poop("desc_skill.php?whichskill=1&self=true","skill", 350, 300)'>Liver of Steel</a><br>
      <a onClick='javascript:poop("desc_skill.php?whichskill=12&self=true","skill", 350, 300)'>Torso Awareness</a> (<b>HP</b>)<br>
      <a onClick='javascript:poop("desc_skill.php?whichskill=15&self=true","skill", 350, 300)'>CLEESH</a> (<b>HP</b>)<br>
      <a onClick='javascript:poop("desc_skill.php?whichskill=219&self=true","skill", 350, 300)'>Insectologist</a><br>
      <a onClick='javascript:poop("desc_skill.php?whichskill=31000&self=true","skill", 350, 300)'></a><br>
    </td>
  </tr>
  <tr>

Since the WereProfessor is class 31, one might expect to see WereProfessor skills here, but there aren't any such skills.
 

ckb

Minion
Staff member
Protector Beast monster needs attributes updated to match Protector Spectre
Code:
Protector Beast    2442    protspect.gif    BOSS NOCOPY Atk: 164 Def: 151 HP: 100 Init: 30 P: undead Article: a    [2180]ancient amulet (n100)    spectre scepter (n100)
Protector Spectre    450    protspect.gif    NOCOPY Atk: 164 Def: 151 HP: 100 Init: 30 P: undead GHOST Phys: 100 EA: hot EA: spooky Article: a    [2180]ancient amulet (n100)    spectre scepter (n100)
 

Erosion

Member
_cosmicBowlingSkillsUsed doesn't increment when the banish is used as a Beast, causing the cooldown and associated tracking to also desynchronize.
 

fronobulax

Developer
Staff member
Is anyone thinking about a way to manage equipping outfits as the Professor? I'm thinking of cases where KoLmafia will switch something to visit a NPC or location as well as just trying to equip an outfit via script or relay browser or KoLmafia.

I sort of looked and I think everything goes to an equipment request so an approach might be to try and equip missing pieces as a Prof or deconstruct the outfit request into multiple requests.
 

VladYvhuce

Member
From what I saw on the wiki article on the path, you can't equip outfits as prof, but you can equip the pieces separately. I'm assuming that's something within KOL itself, and not just Mafia. So, mafia would need to be able to equip pieces individually.
 

fronobulax

Developer
Staff member
From what I saw on the wiki article on the path, you can't equip outfits as prof, but you can equip the pieces separately. I'm assuming that's something within KOL itself, and not just Mafia. So, mafia would need to be able to equip pieces individually.

I have equipped outfits as a Prof. If one or more items cannot be equipped because of stats there is an error message but elements of the outfit that are not subject to stat checks do get equipped.
 

VladYvhuce

Member
I have equipped outfits as a Prof. If one or more items cannot be equipped because of stats there is an error message but elements of the outfit that are not subject to stat checks do get equipped.
Ah. I guess I don't have any outfits that fit that category.
 
Top