Lich:Thaumaturge Tome Script: Difference between revisions

The official GemStone IV encyclopedia.
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:
def self.feed
def self.feed
waitrt?
waitrt?
result = dothistimeout "put ##{GameObj.left_hand.id} in my jewel tome", 2, /lurches forward and splays its covers before slapping them shut around the|Apparently the tome is full./
###YOU WILL NEED TO EDIT "JEWEL TOME" TO THE DESCRIPTION OF YOUR THAUMATURE TOME BELOW THIS LINE###
result = dothistimeout "put ##{GameObj.left_hand.id} in my jewel tome", 2, /lurches forward and splays its covers before slapping them shut around the|Apparently the (.*) is full./
if result =~ /Apparently the tome is full./
if result =~ /Apparently the (.*) is full./
fput "put ##{GameObj.left_hand.id} in #{Vars.scrollsack}"
fput "put ##{GameObj.left_hand.id} in #{Vars.scrollsack}"
return false
return false
Line 28: Line 27:


def self.main
def self.main
loop do
fput "store all" if ( !righthand.nil? ) or ( !lefthand.nil? )
fput "store all" if ( !righthand.nil? ) or ( !lefthand.nil? )
fput "stow all" if ( !righthand.nil? ) or ( !lefthand.nil? )
fput "stow all" if ( !righthand.nil? ) or ( !lefthand.nil? )
###YOU WILL NEED TO EDIT "JEWEL TOME" TO THE DESCRIPTION OF YOUR THAUMATURE TOME BELOW THIS LINE###
fput "get jewel tome"
fput "get jewel tome"
loop do
exit unless self.scroll
exit unless self.scroll
exit unless self.feed
exit unless self.feed
Line 39: Line 37:
self.main
self.main
end</pre>
end
</pre>


==See Also==
==See Also==

Revision as of 17:09, 27 March 2023

This lich script was written with the help of Tysong. It's purpose is to automate the feeding of various types of scrolls to the Thaumature Tome. You will need to have a SCROLLSACK set in variables. You will need to

module ThaumaturgeTome
  def self.scroll
    scroll_types = ['scroll', 'parchment', 'paper', 'papyrus', 'vellum', 'palimpsest']
    
    scroll_types.each { |type|
      waitrt?
      result = dothistimeout "get #{type} from #{Vars.scrollsack}", 2, /You slip|Get what/
      return true if result =~ /You slip/
    }
    return false
  end

  def self.feed
    waitrt?
    result = dothistimeout "put ##{GameObj.left_hand.id} in my jewel tome", 2, /lurches forward and splays its covers before slapping them shut around the|Apparently the tome is full./
    if result =~ /Apparently the tome is full./
      fput "put ##{GameObj.left_hand.id} in #{Vars.scrollsack}"
      return false
    elsif result =~ /lurches forward and splays its covers before slapping them shut around the/
      return true
    end
    return false
  end

  def self.main
    loop do
fput "store all" if ( !righthand.nil? ) or ( !lefthand.nil? )
fput "stow all" if ( !righthand.nil? ) or ( !lefthand.nil? )
fput "get jewel tome"
      exit unless self.scroll
      exit unless self.feed
    end
  end
  
  self.main
end

See Also