|
|
|
@ -138,7 +138,10 @@ if here_only
|
|
|
|
|
if not it.kind_of?(DFHack::ItemCagest) and not it.kind_of?(DFHack::ItemAnimaltrapst)
|
|
|
|
|
list = df.world.items.other[:ANY_CAGE_OR_TRAP].find_all { |i| df.at_cursor?(i) }
|
|
|
|
|
end
|
|
|
|
|
puts 'Please select a cage' if list.empty?
|
|
|
|
|
if list.empty?
|
|
|
|
|
puts 'Please select a cage'
|
|
|
|
|
throw :script_finished
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
elsif ids = $script_args.find_all { |arg| arg =~ /^\d+$/ } and ids.first
|
|
|
|
|
list = []
|
|
|
|
@ -153,7 +156,10 @@ elsif ids = $script_args.find_all { |arg| arg =~ /^\d+$/ } and ids.first
|
|
|
|
|
list << it
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
puts 'Please use a valid cage id' if list.empty?
|
|
|
|
|
if list.empty?
|
|
|
|
|
puts 'Please use a valid cage id'
|
|
|
|
|
throw :script_finished
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
list = df.world.items.other[:ANY_CAGE_OR_TRAP]
|
|
|
|
@ -162,18 +168,16 @@ end
|
|
|
|
|
|
|
|
|
|
# act
|
|
|
|
|
case $script_args[0]
|
|
|
|
|
when 'items'
|
|
|
|
|
cage_dump_items(list) if not list.empty?
|
|
|
|
|
when 'armor'
|
|
|
|
|
cage_dump_armor(list) if not list.empty?
|
|
|
|
|
when 'weapons'
|
|
|
|
|
cage_dump_weapons(list) if not list.empty?
|
|
|
|
|
when /^it/i
|
|
|
|
|
cage_dump_items(list)
|
|
|
|
|
when /^arm/i
|
|
|
|
|
cage_dump_armor(list)
|
|
|
|
|
when /^wea/i
|
|
|
|
|
cage_dump_weapons(list)
|
|
|
|
|
when 'all'
|
|
|
|
|
cage_dump_all(list) if not list.empty?
|
|
|
|
|
|
|
|
|
|
cage_dump_all(list)
|
|
|
|
|
when 'list'
|
|
|
|
|
cage_dump_list(list) if not list.empty?
|
|
|
|
|
|
|
|
|
|
cage_dump_list(list)
|
|
|
|
|
else
|
|
|
|
|
puts <<EOS
|
|
|
|
|
Marks items inside all cages for dumping.
|
|
|
|
|