IorakeWarhammer
06-07-2010, 11:08 AM
ALL ISSUES RESOLVED - REMOVED ALL BUT MODIFIED FIRE GUARDIAN SCRIPT IN CASE ANYONE NEEDS TO COPY. Go into this and edit it for your own spells or signs, etc. Also, make sure to change "put broadsword in void" to stow or whatever weapons command you use. Necessary edits should be clear even to the most seasoned noobs.
***********
def rest
echo "**RESTING** will hunt when mind is clear"
until (checkmind(1) or checkmind(2) or checkmind(3)) and !checkmind(4)
pause 200
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 broad"
fput "sign swords"
pause 1
fput "sign smiting"
fput "sign striking"
pause 1
fput "sign defending"
fput "sign warding"
end
end
def stand
if !Char.standing?
fput "stand"
waitrt?
end
end
def killingtime
waitrt?
fput "stance neutral"
while target = RoomObj.npcs.find { |npc| npc.status != 'dead' and npc.name != "firephantom"}
stand
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'}
fput "loot"
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("stance def","ready weapon","ready shield")
pause 1
fput "prep 601"
fput "cast"
pause 4
fput "prep 606"
fput "cast"
pause 4
fput "prep 107"
fput "cast"
pause 4
fput "prep 613"
fput "cast"
pause 4
fput "prep 103"
fput "cast"
pause 4
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 broad in void","remove my void","sell my void","wear my void","get broad from void")
pause 10
start_script 'go2', [ '400', '_disable_confirm_' ]
waitfor "First Elanith Bank, Teller"
fput "deposit all"
start_script 'go2', [ '3600', '_disable_confirm_' ]
rest
end
if Room.current.id == 3600
rest
elsif
gohunting
***********
def rest
echo "**RESTING** will hunt when mind is clear"
until (checkmind(1) or checkmind(2) or checkmind(3)) and !checkmind(4)
pause 200
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 broad"
fput "sign swords"
pause 1
fput "sign smiting"
fput "sign striking"
pause 1
fput "sign defending"
fput "sign warding"
end
end
def stand
if !Char.standing?
fput "stand"
waitrt?
end
end
def killingtime
waitrt?
fput "stance neutral"
while target = RoomObj.npcs.find { |npc| npc.status != 'dead' and npc.name != "firephantom"}
stand
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'}
fput "loot"
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("stance def","ready weapon","ready shield")
pause 1
fput "prep 601"
fput "cast"
pause 4
fput "prep 606"
fput "cast"
pause 4
fput "prep 107"
fput "cast"
pause 4
fput "prep 613"
fput "cast"
pause 4
fput "prep 103"
fput "cast"
pause 4
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 broad in void","remove my void","sell my void","wear my void","get broad from void")
pause 10
start_script 'go2', [ '400', '_disable_confirm_' ]
waitfor "First Elanith Bank, Teller"
fput "deposit all"
start_script 'go2', [ '3600', '_disable_confirm_' ]
rest
end
if Room.current.id == 3600
rest
elsif
gohunting