Remedy (script)

From Elanthipedia
Revision as of 22:17, 28 April 2015 by THIRESDR (talk | contribs) (This is the script I made for making herbs, I have run into any problems with it and figured I would share with others)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Remedy (script)
Category Crafting
Front-end Genie
Author Thires


Description

Remedy crafting script, you need things pre-dryed or crushed.

Also having all the tools (bowl, mixing stick, mortar, pestle, sieve) would be helpful, hehe

It will keep cycling through till main ingredient is exhausted or you are mind locked.

If you do keep then it will be a one time run through.

Instructions

.remedy project herb catalyst or

.remedy project herb catalyst herb or

.remedy project herb catalyst keep or

.remedy project herb catalyst herb keep

Container variables are at the top, 3 of them

One for crafting tools (water, alcohol, catalyst, pestle, mortar, remedy book... you get the idea)

One for storage (dried herb or crushed herb)

One for junk (used when there isn't a bucket or such around)

Script

action put #queue clear; send 1 $lastcommand when ^\.\.\.wait|^Sorry, you may only type

action var sieve yes when Upon completion you see some particulate clouding up the mixture|^A thick froth coats
action var smell yes when As you finish, the mixture begins to transition colors|takes on an odd hue
action var turn yes when Clumps of material stick to the sides|^Once finished you notice clumps of material
action var catalyst yes when ^You need another catalyst material to continue crafting
action var alcohol yes when ^You need another splash of alcohol to continue crafting some unfinished
action var water yes when ^You need another splash of water to continue crafting some unfinished
action var herb yes when ^You need another prepared herb to continue crafting
action var done yes when Applying the final touches, you complete working

if ("%0" = "") then {
	echo Usage is: remedy <project> <material> <catalyst> <material>
	echo You can use example: coal.nugget or red.flower or need be
	echo you can grab other items using similar method
	echo example: first.coal.nugget, second.red.flower...
	echo So .remedy salve sufil coal.nugget
	echo If you want to keep what you make do this
	echo .remedy salve sufil coal.nugget keep
	echo .remedy ointment red.flower coal.nugget plovik keep
	exit
}	
	
var project %1
var material1 %2
var material2 %3
var material3 %4

var craftcontainer utility tote
var storagecontainer schematics tube
var junkcontainer carryall

if matchre("%project", "\b(salve|cream|ungent|balm|ointment|poultice)\b")) then var mortar yes
if matchre("%project", "\b(tonic|wash|potion|draught|elixir)\b")) then var bowl yes

GetMat:
	var crushed no
	var smell no
	var sieve no
	var turn no
	var catalyst no
	var alcohol no
	var water no
	var herb no
	var done no
	
	if "$righthandnoun" = "%material1" then goto Studybook
		else send get my %material1
			
	match Studybook You get
	match Studybook You pick
	match Studybook You are
	match End referring
	matchwait
	
StudyBook:
	send get my remedy book
	send study my book
	pause
	send put my book in my %craftcontainer
	pause 0.8
	
Start:
	pause 0.8
	if "%mortar" = "yes" then goto Mortar
		elseif "%bowl" = "yes" then goto Bowl
	
Main:
	pause 0.8
	if "%done" = "yes" then goto Done
		elseif "%alcohol" = "yes" then goto Alcohol
			elseif "%water" = "yes" then goto Water
				elseif "%catalyst" = "yes" then goto Catalyst
					elseif "%sieve" = "yes" then goto Sieve
						elseif "%herb" = "yes" then goto Herb
							elseif "%smell" = "yes" then goto Smell
								elseif "%turn" = "yes" then goto Turn
									elseif "%mortar" = "yes" then goto Crush
										elseif "%bowl" = "yes" then goto Mix
	pause 0.8
	goto Main		

Mortar:
	var mixer mortar
	pause 0.8
	send get my mortar
	pause 0.8
	send put my %material1 in my mortar
	pause 0.8
	
Crush:
	if "$righthandnoun" != "pestle" then {
		if "$righthandnoun" != "" then send put my $righthandnoun in my %craftcontainer
		pause 0.8
		send get my pestle
	}
	pause 0.8
	if ("%crushed" = "yes") then send crush my %project with my pestle
		else send crush my %material1 with my pestle
	var crushed yes
	pause 0.8
	goto Main
	
Bowl:
	var mixer bowl
	pause 0.8
	send get my bowl
	pause 0.8
	send put my %material1 in my bowl
	pause 0.8
	
Mix:
	if "$righthandnoun" != "stick" then {
		if "$righthandnoun" != "" then send put my $righthandnoun in my %craftcontainer
		pause 0.8
		send get my mix stick
	}
	pause 0.8
	if ("%crushed" = "yes") then send mix my %mixer with my stick
		else send mix my %mixer with my stick
	var crushed yes
	pause 0.8
	goto Main
	
Catalyst:
	pause 0.8
	if (matchre ("$righthandnoun", "\b(pestle|stick)\b") then {
		send put my $righthandnoun in my %craftcontainer
		pause 0.8
	}
	pause 0.8
	send get my %material2
	pause 0.8
	send put my %material2 in my %mixer
	pause 0.8
	send put my %material2 in my %craftcontainer
	var catalyst no
	pause 0.8
	goto Main
	
Water:
	pause 0.8
	if (matchre ("$righthandnoun", "\b(pestle|stick)\b") then {
		send put my $righthandnoun in my %craftcontainer
		pause 0.8
	}
	pause 0.8
	send get my water
	pause 0.8
	send pour my water in my %mixer
	pause 0.8
	send put my water in my %craftcontainer
	var water no
	pause 0.8
	goto Main
	
Alcohol:
	pause 0.8
	if (matchre ("$righthandnoun", "\b(pestle|stick)\b") then {
		send put my $righthandnoun in my %craftcontainer
		pause 0.8
	}
	pause 0.8
	send get my alcohol
	pause 0.8
	send pour my alcohol in my %mixer
	pause 0.8
	send put my alcohol in my %craftcontainer
	var alcohol no
	pause 0.8
	goto Main
	
Smell:
	pause 0.8
	send smell my %project
	pause 0.8
	var smell no
	pause 0.8
	goto Main
	
Turn:
	pause 0.8
	send turn my %mixer
	var turn no
	pause 0.8
	goto Main
	
Sieve:
	pause 0.8
	if (matchre ("$righthandnoun", "\b(pestle|stick)\b") then {
		send put my $righthandnoun in my %craftcontainer
		pause 0.8
	}
	pause 0.8
	send get my sieve
	pause 0.8
	send push my %project with my sieve
	pause 1
	send put my sieve in my %craftcontainer
	var sieve no
	pause 0.8
	goto Main
	
Herb:
	if (matchre ("$righthandnoun", "\b(pestle|stick)\b") then {
		send put my $righthandnoun in my %craftcontainer
		pause 0.8
	}
	pause 0.8
	send get my %material3
	pause 0.8
	send put my %material3 in my %mixer
	pause 0.8
	send put my %material3 in my %storagecontainer
	pause 0.8
	var herb no
	pause 0.8
	goto Main
	
Done:
	pause 0.8
	send put my $righthandnoun in my %craftcontainer
	pause 0.8
	###if (("%4" = "keep") || ("%5" = "keep")) then goto Keep
	pause 3
	if (matchre ("$roomobjs", "\b(bucket|bin|barrel)\b") then send get my %project from my %mixer;put my %project in $1
		else send get my %project from my %mixer;put my %project in my %junkcontainer
	echo *****************
	echo ***** DONE ******
	echo *****************
	pause 0.8
	send put my %mixer in my %craftcontainer
	if ($Alchemy.LearningRate > 33) then exit
	pause 2
	goto GetMat
	
Keep:
	pause 0.8
	send get my %project from my %mixer;put my %project in my %craftcontainer
	pause 0.8
	send put my %mixer in my %craftcontainer
	pause 0.8
	exit
	
End:
	echo Materials exhausted. Script ending.
	exit