lunariafantasia/Scripts/_.36.rb
2024-01-12 03:12:38 -06:00

72 lines
2.3 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#module FAKEREAL
#EX_DROP = "ドロップ変更"
#end
class RPG::Enemy < RPG::BaseItem
=begin
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def ex_drop_items(base_level)
@ex_drop_items ||= ex_drop_items_set
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def ex_drop_items_set
r = {}
self.note.each_line {|l|
next unless /<#{FAKEREAL::EX_DROP}[:](\d+),(\d+),(\d+),?l?v?(\d*?)>/ =~ l
lv = $4.empty? ? @base_level : $4.to_i
r[lv] ||= []
a = [$1.to_i,$2.to_i,$3.to_i]
r[lv].push(a) if a.any? {|i| i > 0}
}
r.keys.each {|k| r[k].sort!{|a,b| a[2] <=> b[2] }}
r
end
=end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def item_steal_total(base_level)
@item_steal_total ||= item_steal_total_set
lv = level_select(@item_steal_total.keys, base_level)
@item_steal_total[lv] ? @item_steal_total[lv] : 0
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def item_steal_total_set
t = {}
keys = self.item_steal_list(@base_level, true).keys
keys.each {|k| t[k] = 0 }
keys.each {|k| self.item_steal_list(@base_level, true)[k].each{|l| t[k] += l[2] } }
return t
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def list_select(list, level)
list[level_select(list.keys, level)] ? list[level_select(list.keys, level)] : []
#if list[level]
#list[level]
#else
#key = list.keys.delete_if {|k| k > level }
#list[key[-1]]
#end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def level_select(keys, level)
if keys.include?(level)
level
else
key = keys.delete_if {|k| k > level }
key[-1]
end
end
end