New Content - Implemented Source Terminal

heeheehee

Developer
Staff member
Isn't there a third daily cast that you can unlock, either from an extruded chip or an extract drop?

(not that it matters here)
 

Bale

Minion
Yes. Both TRAM and TRIGRAM add +1 casts per day. However the TRAM needs to be extruded so he might have had higher upgrade priorities for his three extrudes a day.
 

tuga

New member
I can confirm that the counter for the third digitized monster shows up correctly in r17009. I will report on the counter for the second monster tomorrow after my first digitize. Thanks!
 

Bale

Minion
Updated list of features needed to support the Source Terminal
  • The coinmaster for extruding creations. Or is this going to be a creation method with an extrude command?
  • Commands for enhance and enquire.
  • A preference to track enquire. This is reset on ascension.
  • A preference to track enhances used today.
  • Tracking for today's educational choices. I suppose two preferences since there can be two skills since that is easier than one preference and separating them with a comma.
  • A preference (or maybe four preferences) that keeps track of all .edu, ext, enq, enh that are known by the user. Check it whenever an appropriate command is issued and add whenever a file is successfully used.
  • It would be best if mp_cost() knows the cost of a Terminal educate.
  • Enhance and Enquire duration is based on RAMS. KoLmafia should know that duration for the maximizer.
  • Terminal can give two or three buffs based on RAM. KoLmafia should know that limit, for the maximizer.
  • A preference _sourceTerminalDigitizeMonster should be used to store the name of the currently digitized monster.
 

tuga

New member
I can confirm that the counter for the second digitized monster showed up correctly today in 17010. Thanks for the fix!
 

Bale

Minion
Thanks to lost for r17011. Now the list is much more manageable...

Updated list of features needed to support the Source Terminal
  • The coinmaster for extruding creations. Or is this going to be a creation method with an extrude command?
  • Commands for enhance and enquire.
  • A preference (or maybe four preferences) that keeps track of all .edu, ext, enq, enh that are known by the user. Check it whenever an appropriate command is issued and add whenever a file is successfully used.
  • It would be best if mp_cost() knows the cost of a Terminal educate.
  • Enhance and Enquire duration is based on RAMS. KoLmafia should know that duration for the maximizer.
  • Terminal can give two or three buffs based on RAM. KoLmafia should know that limit, for the maximizer.
 

fxer

Member
Don't know if it's a big deal but looks like sourceTerminalEducate1/2 aren't trimmed, the skill has a preceding space
 

Rapsynrev

New member
Silly Noob question. I am trying to do a custom combat script in KoLmafia using extract as the opener and then just beating on the monster with a standard attack. However, using "skill extract" assumes "extract oil". When I checked the Graphical CLI on a monster I had manually killed this way, it referred the skill as "CHANCE!". So I went and typed "skill chance" and that also did nothing. What is the correct notation for using the skill "Extract" from the source code terminal in a KoLmafia auto-combat (ie what it does when I say "adventure here until I have +1 Filthy Lucre, for instance so I can be constantly farming source essence) script?

Further info: I was able to write a custom combat script in the web interface using the term "skill extract" and that worked, but I don't know how to use that script for my auto combats since it isn't inside the KoL user interface.

I'm clearly new to the scripting world, so I appreciate any education I could get on this!

Fixed it. I was using an old version of KoLmafia and forgot to update, oops!
 
Last edited:

Hellno

Member
Thanks to lost for r17011. Now the list is much more manageable...

Updated list of features needed to support the Source Terminal
  • The coinmaster for extruding creations. Or is this going to be a creation method with an extrude command?
  • Commands for enhance and enquire.
  • A preference (or maybe four preferences) that keeps track of all .edu, ext, enq, enh that are known by the user. Check it whenever an appropriate command is issued and add whenever a file is successfully used.
  • It would be best if mp_cost() knows the cost of a Terminal educate.
  • Enhance and Enquire duration is based on RAMS. KoLmafia should know that duration for the maximizer.
  • Terminal can give two or three buffs based on RAM. KoLmafia should know that limit, for the maximizer.

Came here to mention the maximizer. Just did a run where I'd constantly forget about the buffs because they aren't in the maximizer :p
 

Bale

Minion
Came here to mention the maximizer. Just did a run where I'd constantly forget about the buffs because they aren't in the maximizer :p

Once there's a command to enhance it will be in the maximizer. That is what is most needed.

Perhaps what is needed is a single terminal command...

terminal [enhance|enquire|extrude] parameter
 

lostcalpolydude

Developer
Staff member
I have TerminalCommand and TerminalRequest basically written now. The terminal commands run, and mostly it just needs some useful output text probably. But then it also aborts with a "Unsupported choice adventure" error. I see how this can happen, since the command leaves you in a choice (that you can walk away from), but then I'm confused about the lack of an abort from the florist command, which seems to do the same thing.
 

fxer

Member
Is it possible using spooky putty/rain-doh doesn't actually advance the in-game digitize monster window? If I digitize a monster with my 1 fax of the day, mafia sets the countdown counter window for the 1st digitize monster. Then I use 5x putty and 1x rain doh and the counter window has expired.

However when I start adventuring I don't hit the digitized monster immediately, in fact it just took me 5 regular adventuring turns after using fax/putties to hit the first digitize monster
 

lostcalpolydude

Developer
Staff member
Is it possible using spooky putty/rain-doh doesn't actually advance the in-game digitize monster window? If I digitize a monster with my 1 fax of the day, mafia sets the countdown counter window for the 1st digitize monster. Then I use 5x putty and 1x rain doh and the counter window has expired.

However when I start adventuring I don't hit the digitized monster immediately, in fact it just took me 5 regular adventuring turns after using fax/putties to hit the first digitize monster

It probably works like the Obtuse Angel and Reanimator where you need to hit adventure.php to start the timers. Mafia has never handled that properly, and doing so would be nontrivial.
 

fxer

Member
It probably works like the Obtuse Angel and Reanimator where you need to hit adventure.php to start the timers. Mafia has never handled that properly, and doing so would be nontrivial.

Ah then I can use my fax, adv once, go back to finish putties. That will work fine, thanks for the tip
 

Hellno

Member
It actually happened to me twice in my previous run that I didn't encounter the first digitized wanderer until 1 turn after the displayed mafia window ended. Is it just an off-by-one thing?

Code:
[288] Lair of the Ninja Snowmen
Encounter: ninja snowman assassin NAMED NEIL
[289] The Black Forest
[299] The Defiled Nook
Encounter: ninja snowman assassin NAMED NEIL

Code:
[414] Sonofa Beach
Encounter: lobsterfrogman NAMED NEIL
[415] Next to that Barrel with Something Burning in it
[425] The Arid, Extra-Dry Desert
Encounter: lobsterfrogman WITH SCIENCE!
 
Last edited:

lostcalpolydude

Developer
Staff member
Is it just an off-by-one thing?

Probably, so I just adjusted the initial counters up by 1.

As of 17026, I think I'm finished adding everything I plan to add for this. The only remaining issue is that results from running terminal commands (getting an item, for example) aren't printed to the CLI (due to skipping normal result processing), but I'm not sure how to handle that.
 

fxer

Member
terminal enhance works for me, any reason "terminal enhance meat, meat, meat" wouldn't acquire it 3 times, like the "pool" command can do?
 

Bale

Minion
Most commands don't work that way. pool is the exception, not terminal. I suppose the real question is the reason pool does that.

Thanks to lost, all I have on my list of desired features is this:
  • A preference (or maybe four preferences) that keeps track of all .edu, ext, enq, enh files that are known by the user.
    Check it whenever an appropriate command is issued and add whenever a file is successfully used.
  • Log terminal extrude
 

Bale

Minion
I've finally got my Source Terminal stuff into my logoutScript. In the section for stuff to do when I am overdrunk it now says...

Code:
	// Don't forget to extrude, enquire and enhance from the Source Terminal
	if(get_campground() contains $item[Source terminal]) {
		static { int [item] extrude_cost; item [int] extrude;
			extrude_cost[ $item[browser cookie] ] = 10;
			extrude_cost[ $item[hacked gibson] ] = 10;
			extrude_cost[ $item[software bug] ] = 10000;
			extrude_cost[ $item[source essence] ] = 1;
			foreach it,x in extrude_cost
				extrude[ count(extrude) ] = it;
		}
		int terminalExtrudes = get_property("_sourceTerminalExtrudes").to_int();
		if(terminalExtrudes < 3) {
			sort extrude by -(mall_price(value) / to_float(mall_price($item[source essence]) * extrude_cost[value]));
			if(extrude[0] != $item[source essence]) {
				int x = 3 - terminalExtrudes;
				for i from 1 to x {
					retrieve_item(extrude_cost[ extrude[0] ], $item[source essence]);
					cli_execute("terminal extrude "+ item_type(extrude[0]));
				}
				if(can_interact()) {
					print("sell "+x+" "+to_plural(extrude[0])+" @ "+ mall_price(extrude[0]), "blue");
					put_shop(mall_price(extrude[0]), 0,  extrude[0]);
				}
			}
		}
		if(get_property("_sourceTerminalEnhanceUses").to_int() < 3)
			for i from get_property("_sourceTerminalEnhanceUses").to_int() to 2
				cli_execute("terminal enhance item");
		if(get_property("sourceTerminalEnquiry") == "")
			cli_execute("terminal enquiry familiar.enq");
	}
 
Last edited:
This didn't work for me:

Code:
> terminal enhance items

ATDT1137374242     ... enhance items

ie. I didn't get the items.enh buff. Does this function via chat - in other words, do I need to be logged into chat for it to work? Or should it work in the CLI/a script independent of chat status?
 
Top