mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 21:24:59 +00:00
randomizer - items
This commit is contained in:
@@ -45,6 +45,10 @@ module GameData
|
|||||||
return "Graphics/Items/000"
|
return "Graphics/Items/000"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.list_all()
|
||||||
|
return self::DATA
|
||||||
|
end
|
||||||
|
|
||||||
def self.held_icon_filename(item)
|
def self.held_icon_filename(item)
|
||||||
item_data = self.try_get(item)
|
item_data = self.try_get(item)
|
||||||
return nil if !item_data
|
return nil if !item_data
|
||||||
@@ -77,6 +81,8 @@ module GameData
|
|||||||
@move = hash[:move]
|
@move = hash[:move]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# @return [String] the translated name of this item
|
# @return [String] the translated name of this item
|
||||||
def name
|
def name
|
||||||
return pbGetMessage(MessageTypes::Items, @id_number)
|
return pbGetMessage(MessageTypes::Items, @id_number)
|
||||||
|
|||||||
@@ -757,7 +757,11 @@ end
|
|||||||
# Picking up an item found on the ground
|
# Picking up an item found on the ground
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
def pbItemBall(item, quantity = 1, item_name = "", canRandom = true)
|
def pbItemBall(item, quantity = 1, item_name = "", canRandom = true)
|
||||||
item = GameData::Item.get(item)
|
if canRandom
|
||||||
|
item = pbGetRandomItem(item) if canRandom #fait rien si pas activé
|
||||||
|
else
|
||||||
|
item = GameData::Item.get(item)
|
||||||
|
end
|
||||||
return false if !item || quantity < 1
|
return false if !item || quantity < 1
|
||||||
itemname = (quantity > 1) ? item.name_plural : item.name
|
itemname = (quantity > 1) ? item.name_plural : item.name
|
||||||
pocket = item.pocket
|
pocket = item.pocket
|
||||||
|
|||||||
@@ -1,37 +1,54 @@
|
|||||||
def pbGetRandomItem(item)
|
NON_RANDOMIZE_ITEMS = [:CELLBATTERY,:MAGNETSTONE]
|
||||||
|
|
||||||
|
|
||||||
|
def pbGetRandomItem(item_id)
|
||||||
|
item = GameData::Item.get(item_id)
|
||||||
|
|
||||||
#keyItem ou HM -> on randomize pas
|
#keyItem ou HM -> on randomize pas
|
||||||
return item if $ItemData[item][ITEMTYPE] == 6 || $ItemData[item][ITEMUSE] == 4
|
return item if item.is_key_item?
|
||||||
return item if isConst?(item, PBItems, :CELLBATTERY)
|
return item if item.is_HM?
|
||||||
return item if isConst?(item, PBItems, :MAGNETSTONE)
|
return item if NON_RANDOMIZE_ITEMS.include?(item.id)
|
||||||
|
|
||||||
#TM
|
#TM
|
||||||
if ($ItemData[item][ITEMUSE] == 3)
|
if (item.is_TM?)
|
||||||
return $game_switches[959] ? pbGetRandomTM() : item
|
return $game_switches[SWITCH_RANDOM_TMS] ? pbGetRandomTM() : item
|
||||||
end
|
end
|
||||||
#item normal
|
#item normal
|
||||||
return item if !$game_switches[958]
|
return item if !$game_switches[SWITCH_RANDOM_ITEMS]
|
||||||
|
|
||||||
#berries
|
#berries
|
||||||
return pbGetRandomBerry() if $ItemData[item][ITEMTYPE] == 5
|
return pbGetRandomBerry() if item.is_berry?
|
||||||
newItem = rand(PBItems.maxValue)
|
|
||||||
#on veut pas de tm ou keyitem
|
items_list = GameData::Item.list_all
|
||||||
while ($ItemData[newItem][ITEMUSE] == 3 || $ItemData[newItem][ITEMUSE] == 4 || $ItemData[newItem][ITEMTYPE] == 6)
|
newItem_id = items_list.keys.sample
|
||||||
newItem = rand(PBItems.maxValue)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
|
while (newItem.is_machine? || newItem.is_key_item?)
|
||||||
|
newItem_id = items_list.keys.sample
|
||||||
|
newItem = GameData::Item.get(newItem_id)
|
||||||
end
|
end
|
||||||
return newItem
|
return newItem
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def pbGetRandomBerry()
|
def pbGetRandomBerry()
|
||||||
newItem = rand(PBItems.maxValue)
|
items_list = GameData::Item.list_all
|
||||||
while (!($ItemData[newItem][ITEMTYPE] == 5))
|
newItem_id = items_list.keys.sample
|
||||||
newItem = rand(PBItems.maxValue)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
|
while (!newItem.is_berry?)
|
||||||
|
newItem_id = items_list.keys.sample
|
||||||
|
newItem = GameData::Item.get(newItem_id)
|
||||||
end
|
end
|
||||||
return newItem
|
return newItem
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbGetRandomTM()
|
def pbGetRandomTM()
|
||||||
newItem = rand(PBItems.maxValue)
|
items_list = GameData::Item.list_all
|
||||||
while (!($ItemData[newItem][ITEMUSE] == 3)) # || $ItemData[newItem][ITEMUSE]==4))
|
newItem_id = items_list.keys.sample
|
||||||
newItem = rand(PBItems.maxValue)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
|
while (!newItem.is_TM?)
|
||||||
|
newItem_id = items_list.keys.sample
|
||||||
|
newItem = GameData::Item.get(newItem_id)
|
||||||
end
|
end
|
||||||
return newItem
|
return newItem
|
||||||
end
|
end
|
||||||
|
|||||||
Binary file not shown.
@@ -1542,7 +1542,7 @@ Pokemon = B69H100,21 #bellsprout + voltorb,
|
|||||||
#--------------------------------------
|
#--------------------------------------
|
||||||
|
|
||||||
[GENTLEMAN,Tucker]
|
[GENTLEMAN,Tucker]
|
||||||
Pokemon = B66H8,23 #Machop + magnemite,
|
Pokemon = B66H81,23 #Machop + magnemite,
|
||||||
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
|||||||
Reference in New Issue
Block a user