PDA

View Full Version : fire phantoms for a col ranger



IorakeWarhammer
06-18-2010, 08:33 AM
I MEANT FIRE GUARDIANS!!! AGGGHHH!!! FUCK!!! lol but the script works awesome, enjoy
this is a lich script i modified, it was originally fireguardians.lic in the repository, I simply tailored it to my needs:

how to edit: where it says "rhi broad" just put your weapon


#stow container, ready list (weapon and shield), anything you did or did not want picked up (defined in grabthese and craplist)
#and the whole gemshop routine currently references a "greatcloak"
# ***Written by Psighs/Sixbits - intended for educational purposes, it probably won't work that well for you.

def rest
echo "**RESTING** will hunt when mind is clear"
until percentmind < 65
pause 100
end
gohunting
end

def attack_routine
stand
killingtime
fput "stance def"
loot
end



def loot
grabthese=["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"
craplist=[/heavy .*? orb/]
if RoomObj.loot and !(checkloot.to_a & grabthese).empty?
fput "store weapon"
(0..RoomObj.loot.length).each do |x|
echo "checking loot object number #{x}"
if grabthese.include?(RoomObj.loot[x].noun) and craplist.include?(RoomObj.loot[x].name)
echo "Item found is a piece of shit. Ignoring it."
elsif grabthese.include?(RoomObj.loot[x].noun)
echo "Good item found, grabbing it:"
fput "get ##{RoomObj.loot[x].id}"
fput "stow right"
end
end
fput "get my rhi broad"
end
end

def stand
if !Char.standing?
fput "stand"
waitrt?
end
end

def killingtime
waitrt?
while target = RoomObj.npcs.find { |npc| npc.status != 'dead' and npc.name != "firephantom"}
stand
fput "stance offensive"
fput "attack ##{target.id}"
if matchtimeout(1,"You currently have no valid target|What were you referring to?") and checknpcs
walk
break
end
if RoomObj.npcs.find { |npc| npc.status == 'dead'}
pause 1
fput "stance def"
pause 1
fput "loot"
fput "sign swords"
fput "sign smiting"
fput "sign striking"
pause 2
fput "sign defending"
fput "sign warding"
pause 1
fput "get my rhi broad"

end
end
loot
end

def wander
bad_rooms = ['4121','8141','7902','7905']
pastfried=0
until pastfried >= 2 or dead?
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 RoomObj.npcs.find { |npc| npc.status == 'dead' }
loot
elsif checknpcs and RoomObj.npcs.find { |npc| npc.status != 'dead' and npc.name != "firephantom"}
if checkmind(7)
pastfried=pastfried+1
end
echo "what have we here?"
until !checknpcs or dead? or !RoomObj.npcs.find { |npc| npc.status != 'dead' and npc.name != "firephantom"}
attack_routine
end
end
end
end

def gohunting
stand
multifput("unhide","stance def","ready weapon","ready shield")
fput "prep 601"
fput "cast"
pause 4
fput "prep 613"
fput "cast"
pause 4
fput "prep 101"
fput "cast"
pause 4
fput "prep 107"
fput "cast"
pause 4
fput "prep 103"
fput "cast"
pause 4
fput "e"
pause 1
fput "out"
pause 1
fput "prep 606"
fput "cast"
pause 1
start_script 'go2', [ '4124', '_disable_confirm_' ]
waitfor "The walls and ceiling of this room curve gently around, blending into each other without any sharp corners or straight lines."
wander
if dead?
fput "quit"
end
start_script 'go2', [ '1776', '_disable_confirm_' ]
pause 20
multifput("put my broad in my void","remove my void","sell my void","wear my void","get my rhi broad")
pause 10
start_script 'go2', [ '400', '_disable_confirm_' ]
waitfor "First Elanith Bank, Teller"
fput "deposit all"
start_script 'go2', [ '9400', '_disable_confirm_' ]
rest
end

if Room.current.id == 9400
rest
elsif
gohunting
end