Results 1 to 3 of 3

Thread: Sprite hunter for empath caster (with skinning)

  1. #1

    Smile Sprite hunter for empath caster (with skinning)

    Sprite hunter for casting empaths. Some changes will be needed. Most are easy to change.
    Note: this is a lich script

    Code:
    #########################################################################
    ##########  Sprite Hunting in TI start from Hanging Gardens
    #########################################################################
    
    def rest
    	while ((checkmana != maxmana) || (checkfried))
    		pause 400
    	end
    	gohunting
    end
    
    ################################################
    ######    Global Variables to set    ###########
    ################################################
    
    $GEMCONTAINER = "cloak"
    $LOOTCONTAINER = "cloak"
    $SKINCONTAINER = "cloak"
    $ATTACKSTANCE = "guard"
    $DEFENDSTANCE = "defensive"
    $ATTACKRT = "2"
    $LOOTHAND = "left"
    
    
    ################################################
    ##########    Looting Definition    ############
    ################################################
    
    def loot
    	goodloot=["silver wand", "ring", "stickpin", "bracelet", "scroll", "vellum", "parchment", "diamond", "emerald", "onyx", "faenor-bloom", "star ruby", "wand", "aetherstone", "agate", "azurite", "beryl", "bloodjewel", "bloodstone", "bluerock", "caederine", "cordierite", "deathstone", "doomstone", "dreamstone", "eostone", "firestone", "galena", "geode", "hyacinth", "pyrite", "peridot", "rhimar", "riftshard", "riftstone", "rosepar", "wyrdshard", "spinel", "faenor", "blazestar", "despanal", "feystone", "ruby", "pearl", "sapphire", "opal", "jacinth", "garnet", "moonstone", "topaz", "gem", "coral", "sunstone", "starstone", "quartz", "heliodor", "glimaerstone", "carbuncle", "turquoise", "chalcedony", "tourmaline", "obsidian", "zircon", "amethyst", "lapis", "amber" , "sphene" , "shell", "stone", "lapis","gem","mother-of-pearl","lazuli", "jade", "ivory", "nugget"]
    	fput "loot"
    	badloot=[/heavy .*? orb/]
    	if RoomObj.loot and !(checkloot.to_a & goodloot).empty?
    		(0..RoomObj.loot.length).each do |x|
    			if goodloot.include?(RoomObj.loot[x].noun) and badloot.include?(RoomObj.loot[x].name)
    			elsif goodloot.include?(RoomObj.loot[x].noun)
    				fput "get ##{RoomObj.loot[x].id}"
    				fput "stow #{$LOOTHAND}"
    			end
    		end
    	end
    	pause 2
    end
    
    ###############################################
    ########     Other Definitions     ############
    ###############################################
    
    def bank
    	start_script 'go2', [ '11', '_disable_confirm_' ]
    	waitfor "United Bank of City-States"
    	pause 2
    end
    
    def furrier
    	start_script 'go2', [ '4019', '_disable_confirm_' ]
    	waitfor "Stacks of furs and pelts are thickly layered "
    	pause 2
    	multifput("store weapon","remove my #{$GEMCONTAINER}","sell my #{$GEMCONTAINER}","wear my #{$GEMCONTAINER}","close my #{$GEMCONTAINER}")
    end
    
    def restplace
    	start_script 'go2', [ '188', '_disable_confirm_' ]
    	waitfor "Ta'Illistim, Hanging Gardens"
    	pause 1
    	fput "sit"
    	pause 2
    end
    
    def skinn
    	while RoomObj.npcs.find { |npc| npc.status == 'dead'}
    		multifput("stance def","stow left","get my knife")
    		fput "skin #{$name}"
    		skin = matchfind "yielding an ?.", "yielding a ?.", "You botched the job.", "You cannot skin", "You can only skin creatures", "already been skinned", "wait until after it is dead"
    		skin = skin.split(" ");
    		waitrt?
    		if !skin.empty?
    			fput "stow knife"
    			fput "get #{skin[skin.length-1]}"
    			waitfor "You"
    			fput "put my #{skin[skin.length-1]} in my cloak"
    			waitfor "You put"
    			fput "gird"
    		elsif
    			multifput("put knife in my cloak","gird")
    		end	
    		loot
    	end
    end
    
    def stand
    	if !Char.standing?
    		fput "stand"
    		waitrt?
    	end
    end
    
    def huntinglocation
    	start_script 'go2', [ '4723', '_disable_confirm_' ]
    	waitfor "Gyldemar Forest, Decrepit Shack"
    	pause 2
    end
    
    def wander	
    	bad_rooms = ['4721','14666']
    	pastfried=0
    	until pastfried >= 2 or dead? or checkmana <= 5
    		room = Room.current
    		begin
    		next_room = room.wayto.keys[rand(room.wayto.keys.length)]
    		end while bad_rooms.include?(next_room)
    		way = room.wayto[next_room]
    		if way.class == String 
    			move(way)
    		else
    			way.call
    		end
    		if checkpcs or checkloot.include?("disk")
    			sleep 1
    		elsif checknpcs and RoomObj.npcs.find { |npc| npc.status != 'dead'}
    			if checkmind(7)
    			pastfried=pastfried+1
    
    			end
    			until !checknpcs or dead? or !RoomObj.npcs.find { |npc| npc.status != 'dead'}
    				attack
    			end
    		end
    	end
    end
    
    def attack
    	if (checkmana > 6)
    		stand
    		killroutine
    		fput "stance def"
    		if RoomObj.npcs.find { |npc| npc.status != 'dead'}	
    			attack
    		end
    		skinn
    		loot
    	else
    		restroutine2
    	end
    end
     
    def restroutine2
    	furrier
    	bank
    	fput "deposit all"
    	restplace
    	rest
    end
     
    def killroutine
    	while target = RoomObj.npcs.find { |npc| npc.status != 'dead'} and (checkmana > 1)
    		stand	
    		if (checkmana > 6) and (!checkfried)
    			if RoomObj.npcs.find { |npc| npc.status == 'dead'}
    				skinn
    				loot
    			elsif target = RoomObj.npcs.find { |npc| npc.status != 'dead'}
    				fput "stance #{$ATTACKSTANCE}"
    				fput "prep 1106"
    				fput "cast ##{target.id}"
    				pause $ATTACKRT
    			end
    		elsif (checkmana > 1) and (!checkfried)
    			if RoomObj.npcs.find { |npc| npc.status == 'dead'}
    				skinn
    				loot
    			elsif target = RoomObj.npcs.find { |npc| npc.status != 'dead'}
    				fput "stance #{$ATTACKSTANCE}"
    				fput "prep 1101"
    				fput "cast ##{target.id}"
    				pause $ATTACKRT
    			end
    		else
    		restroutine2
    		end
    		$name = matchfind "You gesture at a ?.", "Could not find a valid target."
    		$name = $name.split(' ')
    		$name = $name.last
    		waitrt?	
    	end
     end
    
     def gohunting
    	stand
    	multifput("stand","stance def","open my cloak","ready weapon")
    	pause 1
    	huntinglocation
    	wander
    	if dead?
    		fput "quit"
    	end
    	furrier
    	bank
    	fput "deposit all"
    	restplace
    	rest
    end
     
    if checkroom "Ta'Illistim, Hanging Gardens"
    	rest
    elsif (checkmana != maxmana)
    	restroutine2
    else
    	gohunting
    end
    Last edited by LilWizzy; 09-01-2009 at 07:13 PM.

  2. Default

    anyone have something like this for the landing, not for lich?
    Last edited by theblueorange; 10-09-2009 at 10:04 AM.

  3. Default

    anyone?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •