mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-01-30 18:21:03 +00:00
More item randomization options
This commit is contained in:
@@ -25,6 +25,10 @@ Frogman
|
|||||||
The story and dialogues were based off Pokémon Red and Blue, as well as
|
The story and dialogues were based off Pokémon Red and Blue, as well as
|
||||||
Pokémon Gold and Silver. Both games are made by Game Freak.
|
Pokémon Gold and Silver. Both games are made by Game Freak.
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
Modern Mode by Tomate & Blaquaza
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
### Fusion Sprites ###
|
### Fusion Sprites ###
|
||||||
##########################################################
|
##########################################################
|
||||||
@@ -149,7 +153,6 @@ kakakiamekerasakia#3792, ItsThatSimple#6320, Gelos#9875, GalaxyDJx#0001, Fullmet
|
|||||||
Evil Mailman#0604, elpano2#9588, Cenna#6226, Catdesu#0845, CaseyAether#2205, carni#0124, Buttlu#7240
|
Evil Mailman#0604, elpano2#9588, Cenna#6226, Catdesu#0845, CaseyAether#2205, carni#0124, Buttlu#7240
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Triple fusion sprites
|
Triple fusion sprites
|
||||||
########################
|
########################
|
||||||
Legendary birds fusion sprite by Universez
|
Legendary birds fusion sprite by Universez
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -786,7 +786,8 @@ 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)
|
||||||
if canRandom
|
canRandom = false if !$game_switches[SWITCH_RANDOM_ITEMS_GENERAL]
|
||||||
|
if canRandom && ($game_switches[SWITCH_RANDOM_FOUND_ITEMS] || $game_switches[SWITCH_RANDOM_FOUND_TMS])
|
||||||
item = pbGetRandomItem(item) if canRandom #fait rien si pas activé
|
item = pbGetRandomItem(item) if canRandom #fait rien si pas activé
|
||||||
else
|
else
|
||||||
item = GameData::Item.get(item)
|
item = GameData::Item.get(item)
|
||||||
@@ -833,9 +834,23 @@ end
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
|
|
||||||
def pbReceiveItem(item, quantity = 1, item_name = "", music = nil)
|
def pbReceiveItem(item, quantity = 1, item_name = "", music = nil, canRandom=true)
|
||||||
#item_name -> pour donner un autre nom à l'item. Pas encore réimplémenté et surtout là pour éviter que ça plante quand des events essaient de le faire
|
#item_name -> pour donner un autre nom à l'item. Pas encore réimplémenté et surtout là pour éviter que ça plante quand des events essaient de le faire
|
||||||
|
canRandom = false if !$game_switches[SWITCH_RANDOM_ITEMS_GENERAL]
|
||||||
|
if canRandom && ($game_switches[SWITCH_RANDOM_GIVEN_ITEMS] || $game_switches[SWITCH_RANDOM_GIVEN_TMS])
|
||||||
|
item = pbGetRandomItem(item) if canRandom #fait rien si pas activé
|
||||||
|
else
|
||||||
item = GameData::Item.get(item)
|
item = GameData::Item.get(item)
|
||||||
|
end
|
||||||
|
# item = GameData::Item.get(item)
|
||||||
|
# if $game_switches[SWITCH_RANDOM_ITEMS] && $game_switches[SWITCH_RANDOM_GIVEN_ITEMS]
|
||||||
|
# item = pbGetRandomItem(item.id)
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# if $game_switches[SWITCH_RANDOM_ITEMS] && $game_switches[SWITCH_RANDOM_GIVEN_TMS]
|
||||||
|
# item = getRandomGivenTM(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
|
||||||
|
|||||||
@@ -648,10 +648,30 @@ class PokemonMartScreen
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def replaceShopStockWithRandomized(stock)
|
||||||
|
if $PokemonGlobal.randomItemsHash != nil
|
||||||
|
newStock = []
|
||||||
|
for item in stock
|
||||||
|
newItem =$PokemonGlobal.randomItemsHash[item]
|
||||||
|
if newItem != nil && GameData::Item.get(newItem).price >0
|
||||||
|
newStock << newItem
|
||||||
|
else
|
||||||
|
newStock << item
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return newStock
|
||||||
|
end
|
||||||
|
return stock
|
||||||
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
#
|
#
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
def pbPokemonMart(stock,speech=nil,cantsell=false)
|
def pbPokemonMart(stock,speech=nil,cantsell=false)
|
||||||
|
if $game_switches[SWITCH_RANDOM_ITEMS] && $game_switches[SWITCH_RANDOM_SHOP_ITEMS]
|
||||||
|
stock = replaceShopStockWithRandomized(stock)
|
||||||
|
end
|
||||||
|
|
||||||
for i in 0...stock.length
|
for i in 0...stock.length
|
||||||
stock[i] = GameData::Item.get(stock[i]).id
|
stock[i] = GameData::Item.get(stock[i]).id
|
||||||
stock[i] = nil if GameData::Item.get(stock[i]).is_important? && $PokemonBag.pbHasItem?(stock[i])
|
stock[i] = nil if GameData::Item.get(stock[i]).is_important? && $PokemonBag.pbHasItem?(stock[i])
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ class RandomizerOptionsScene < PokemonOption_Scene
|
|||||||
@openTrainerOptions = false
|
@openTrainerOptions = false
|
||||||
@openWildOptions = false
|
@openWildOptions = false
|
||||||
@openGymOptions = false
|
@openGymOptions = false
|
||||||
|
@openItemOptions = false
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def getDefaultDescription
|
def getDefaultDescription
|
||||||
@@ -26,14 +28,19 @@ class RandomizerOptionsScene < PokemonOption_Scene
|
|||||||
|
|
||||||
def pbGetOptions(inloadscreen = false)
|
def pbGetOptions(inloadscreen = false)
|
||||||
options = [
|
options = [
|
||||||
EnumOption.new(_INTL("Starters"), [_INTL("On"), _INTL("Off")],
|
EnumOption.new(_INTL("Pokémon"), [_INTL("On"), _INTL("Off")],
|
||||||
proc { $game_switches[SWITCH_RANDOM_STARTERS] ? 0 : 1 },
|
proc {
|
||||||
|
$game_switches[SWITCH_RANDOM_WILD] ? 0 : 1
|
||||||
|
},
|
||||||
proc { |value|
|
proc { |value|
|
||||||
$game_switches[SWITCH_RANDOM_STARTERS] = value == 0
|
if !$game_switches[SWITCH_RANDOM_WILD] && value == 0
|
||||||
}, "Randomize the selection of starters to choose from at the start of the game"
|
@openWildOptions = true
|
||||||
|
openWildPokemonOptionsMenu()
|
||||||
|
end
|
||||||
|
$game_switches[SWITCH_RANDOM_WILD] = value == 0
|
||||||
|
}, "Select the randomizer options for Pokémon"
|
||||||
),
|
),
|
||||||
|
EnumOption.new(_INTL("NPC Trainers"), [_INTL("On"), _INTL("Off")],
|
||||||
EnumOption.new(_INTL("Trainers"), [_INTL("On"), _INTL("Off")],
|
|
||||||
proc { $game_switches[SWITCH_RANDOM_TRAINERS] ? 0 : 1 },
|
proc { $game_switches[SWITCH_RANDOM_TRAINERS] ? 0 : 1 },
|
||||||
proc { |value|
|
proc { |value|
|
||||||
if !$game_switches[SWITCH_RANDOM_TRAINERS] && value == 0
|
if !$game_switches[SWITCH_RANDOM_TRAINERS] && value == 0
|
||||||
@@ -41,7 +48,7 @@ class RandomizerOptionsScene < PokemonOption_Scene
|
|||||||
openTrainerOptionsMenu()
|
openTrainerOptionsMenu()
|
||||||
end
|
end
|
||||||
$game_switches[SWITCH_RANDOM_TRAINERS] = value == 0
|
$game_switches[SWITCH_RANDOM_TRAINERS] = value == 0
|
||||||
}, "Select the randomizer options for regular trainers"
|
}, "Select the randomizer options for trainers"
|
||||||
),
|
),
|
||||||
|
|
||||||
EnumOption.new(_INTL("Gym trainers"), [_INTL("On"), _INTL("Off")],
|
EnumOption.new(_INTL("Gym trainers"), [_INTL("On"), _INTL("Off")],
|
||||||
@@ -55,30 +62,17 @@ class RandomizerOptionsScene < PokemonOption_Scene
|
|||||||
}, "Limit gym trainers to a single type"
|
}, "Limit gym trainers to a single type"
|
||||||
),
|
),
|
||||||
|
|
||||||
EnumOption.new(_INTL("Wild Pokémon"), [_INTL("On"), _INTL("Off")],
|
|
||||||
proc {
|
|
||||||
$game_switches[SWITCH_RANDOM_WILD] ? 0 : 1
|
|
||||||
},
|
|
||||||
proc { |value|
|
|
||||||
if !$game_switches[SWITCH_RANDOM_WILD] && value == 0
|
|
||||||
@openWildOptions = true
|
|
||||||
openWildPokemonOptionsMenu()
|
|
||||||
end
|
|
||||||
$game_switches[SWITCH_RANDOM_WILD] = value == 0
|
|
||||||
}, "Select the randomizer options for wild Pokémon"
|
|
||||||
),
|
|
||||||
EnumOption.new(_INTL("Items"), [_INTL("On"), _INTL("Off")],
|
EnumOption.new(_INTL("Items"), [_INTL("On"), _INTL("Off")],
|
||||||
proc { $game_switches[SWITCH_RANDOM_ITEMS] ? 0 : 1 },
|
proc { $game_switches[SWITCH_RANDOM_ITEMS_GENERAL] ? 0 : 1 },
|
||||||
proc { |value|
|
proc { |value|
|
||||||
$game_switches[SWITCH_RANDOM_ITEMS] = value == 0
|
if !$game_switches[SWITCH_RANDOM_ITEMS_GENERAL] && value == 0
|
||||||
}, "Randomize the items picked up on the ground"
|
@openItemOptions = true
|
||||||
),
|
openItemOptionsMenu()
|
||||||
EnumOption.new(_INTL("TMs"), [_INTL("On"), _INTL("Off")],
|
end
|
||||||
proc { $game_switches[SWITCH_RANDOM_TMS] ? 0 : 1 },
|
$game_switches[SWITCH_RANDOM_ITEMS_GENERAL] = value == 0
|
||||||
proc { |value|
|
}, "Select the randomizer options for items"
|
||||||
$game_switches[SWITCH_RANDOM_TMS] = value == 0
|
|
||||||
}, "Randomize the TMs picked up on the ground"
|
|
||||||
),
|
),
|
||||||
|
|
||||||
]
|
]
|
||||||
return options
|
return options
|
||||||
end
|
end
|
||||||
@@ -93,6 +87,16 @@ class RandomizerOptionsScene < PokemonOption_Scene
|
|||||||
@openGymOptions = false
|
@openGymOptions = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def openItemOptionsMenu()
|
||||||
|
return if !@openItemOptions
|
||||||
|
pbFadeOutIn {
|
||||||
|
scene = RandomizerItemOptionsScene.new
|
||||||
|
screen = PokemonOptionScreen.new(scene)
|
||||||
|
screen.pbStartScreen
|
||||||
|
}
|
||||||
|
@openItemOptions = false
|
||||||
|
end
|
||||||
|
|
||||||
def openTrainerOptionsMenu()
|
def openTrainerOptionsMenu()
|
||||||
return if !@openTrainerOptions
|
return if !@openTrainerOptions
|
||||||
pbFadeOutIn {
|
pbFadeOutIn {
|
||||||
@@ -117,7 +121,6 @@ end
|
|||||||
|
|
||||||
class RandomizerTrainerOptionsScene < PokemonOption_Scene
|
class RandomizerTrainerOptionsScene < PokemonOption_Scene
|
||||||
RANDOM_TEAMS_CUSTOM_SPRITES = 600
|
RANDOM_TEAMS_CUSTOM_SPRITES = 600
|
||||||
RANDOM_HELD_ITEMS = 843
|
|
||||||
RANDOM_GYM_TYPES = 921
|
RANDOM_GYM_TYPES = 921
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@@ -152,12 +155,6 @@ class RandomizerTrainerOptionsScene < PokemonOption_Scene
|
|||||||
$game_switches[RANDOM_TEAMS_CUSTOM_SPRITES] = value == 0
|
$game_switches[RANDOM_TEAMS_CUSTOM_SPRITES] = value == 0
|
||||||
},
|
},
|
||||||
"Use only Pokémon that have custom sprites in trainer teams"
|
"Use only Pokémon that have custom sprites in trainer teams"
|
||||||
),
|
|
||||||
EnumOption.new(_INTL("Trainer Held items"), [_INTL("On"), _INTL("Off")],
|
|
||||||
proc { $game_switches[RANDOM_HELD_ITEMS] ? 0 : 1 },
|
|
||||||
proc { |value|
|
|
||||||
$game_switches[RANDOM_HELD_ITEMS] = value == 0
|
|
||||||
}, "Give random held items to all trainers"
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
return options
|
return options
|
||||||
@@ -219,6 +216,12 @@ class RandomizerWildPokemonOptionsScene < PokemonOption_Scene
|
|||||||
"Randomizes the encounters in each route individually"
|
"Randomizes the encounters in each route individually"
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
|
EnumOption.new(_INTL("Starters"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_STARTERS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_STARTERS] = value == 0
|
||||||
|
}, "Randomize the selection of starters to choose from at the start of the game"
|
||||||
|
),
|
||||||
EnumOption.new(_INTL("Static encounters"), [_INTL("On"), _INTL("Off")],
|
EnumOption.new(_INTL("Static encounters"), [_INTL("On"), _INTL("Off")],
|
||||||
proc { $game_switches[RANDOM_STATIC] ? 0 : 1 },
|
proc { $game_switches[RANDOM_STATIC] ? 0 : 1 },
|
||||||
proc { |value|
|
proc { |value|
|
||||||
@@ -303,3 +306,105 @@ class RandomizerGymOptionsScene < PokemonOption_Scene
|
|||||||
return options
|
return options
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class RandomizerItemOptionsScene < PokemonOption_Scene
|
||||||
|
RANDOM_HELD_ITEMS = 843
|
||||||
|
def initialize
|
||||||
|
@changedColor = false
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbStartScene(inloadscreen = false)
|
||||||
|
super
|
||||||
|
@sprites["option"].nameBaseColor = Color.new(35, 130, 200)
|
||||||
|
@sprites["option"].nameShadowColor = Color.new(20, 75, 115)
|
||||||
|
@changedColor = true
|
||||||
|
for i in 0...@PokemonOptions.length
|
||||||
|
@sprites["option"][i] = (@PokemonOptions[i].get || 0)
|
||||||
|
end
|
||||||
|
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||||
|
_INTL("Randomizer settings: Items"), 0, 0, Graphics.width, 64, @viewport)
|
||||||
|
@sprites["textbox"].text = _INTL("Set the randomizer settings for items")
|
||||||
|
|
||||||
|
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbFadeInAndShow(sprites, visiblesprites = nil)
|
||||||
|
return if !@changedColor
|
||||||
|
super
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbGetOptions(inloadscreen = false)
|
||||||
|
options = [
|
||||||
|
EnumOption.new(_INTL("Type"), [_INTL("Mapped"), _INTL("Dynamic")],
|
||||||
|
proc {
|
||||||
|
if $game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC]
|
||||||
|
1
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end
|
||||||
|
},
|
||||||
|
proc { |value|
|
||||||
|
if value == 0
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS_MAPPED] = true
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC] = false
|
||||||
|
else
|
||||||
|
value == 1
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS_MAPPED] = false
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC] = true
|
||||||
|
end
|
||||||
|
},
|
||||||
|
# proc { $game_switches[SWITCH_RANDOM_ITEMS_FULL] ? 0 : 1 },
|
||||||
|
# proc { |value|
|
||||||
|
# $game_switches[SWITCH_RANDOM_ITEMS_MAPPED] = value == 0
|
||||||
|
# $game_switches[SWITCH_RANDOM_ITEMS_FULL] = value == 1
|
||||||
|
# }, ["Random items are decided at the start of the game", "Random items are decided as you obtain them"]
|
||||||
|
),
|
||||||
|
EnumOption.new(_INTL("Found items"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_FOUND_ITEMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_FOUND_ITEMS] = value == 0
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS] = $game_switches[SWITCH_RANDOM_FOUND_ITEMS] || $game_switches[SWITCH_RANDOM_GIVEN_ITEMS]
|
||||||
|
}, "Randomize the items picked up on the ground"
|
||||||
|
),
|
||||||
|
EnumOption.new(_INTL("Found TMs"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_FOUND_TMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_FOUND_TMS] = value == 0
|
||||||
|
$game_switches[SWITCH_RANDOM_TMS] = $game_switches[SWITCH_RANDOM_FOUND_TMS] || $game_switches[SWITCH_RANDOM_GIVEN_TMS]
|
||||||
|
}, "Randomize the TMs picked up on the ground"
|
||||||
|
),
|
||||||
|
EnumOption.new(_INTL("Given items"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_GIVEN_ITEMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_GIVEN_ITEMS] = value == 0
|
||||||
|
$game_switches[SWITCH_RANDOM_ITEMS] = $game_switches[SWITCH_RANDOM_FOUND_ITEMS] || $game_switches[SWITCH_RANDOM_GIVEN_ITEMS]
|
||||||
|
}, "Randomize the items given by NPCs (might make some quests impossible to complete)"
|
||||||
|
),
|
||||||
|
EnumOption.new(_INTL("Given TMs"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_GIVEN_TMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_GIVEN_TMS] = value == 0
|
||||||
|
$game_switches[SWITCH_RANDOM_TMS] = $game_switches[SWITCH_RANDOM_FOUND_TMS] || $game_switches[SWITCH_RANDOM_GIVEN_TMS]
|
||||||
|
}, "Randomize the TMs given by NPCs"
|
||||||
|
),
|
||||||
|
|
||||||
|
EnumOption.new(_INTL("Shops items"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[SWITCH_RANDOM_SHOP_ITEMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[SWITCH_RANDOM_SHOP_ITEMS] = value == 0
|
||||||
|
}, "Randomizes the items available in shops (always mapped)"
|
||||||
|
),
|
||||||
|
|
||||||
|
EnumOption.new(_INTL("Trainer Held items"), [_INTL("On"), _INTL("Off")],
|
||||||
|
proc { $game_switches[RANDOM_HELD_ITEMS] ? 0 : 1 },
|
||||||
|
proc { |value|
|
||||||
|
$game_switches[RANDOM_HELD_ITEMS] = value == 0
|
||||||
|
}, "Give random held items to all trainers"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
return options
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -20,11 +20,40 @@ HELD_ITEMS = [:AIRBALLOON, :BRIGHTPOWDER, :EVIOLITE, :FLOATSTONE, :DESTINYKNOT,
|
|||||||
:PETAYABERRY, :APICOTBERRY, :LANSATBERRY, :STARFBERRY, :ENIGMABERRY, :MICLEBERRY, :CUSTAPBERRY,
|
:PETAYABERRY, :APICOTBERRY, :LANSATBERRY, :STARFBERRY, :ENIGMABERRY, :MICLEBERRY, :CUSTAPBERRY,
|
||||||
:JABOCABERRY, :ROWAPBERRY, :FAIRYGEM]
|
:JABOCABERRY, :ROWAPBERRY, :FAIRYGEM]
|
||||||
|
|
||||||
ITEM_EXCEPTIONS= [:COVERFOSSIL, :PLUMEFOSSIL, :ACCURACYUP,:DAMAGEUP,:ANCIENTSTONE,:ODDKEYSTONE_FULL,:TM00 ]
|
INVALID_ITEMS = [:COVERFOSSIL, :PLUMEFOSSIL, :ACCURACYUP, :DAMAGEUP, :ANCIENTSTONE, :ODDKEYSTONE_FULL, :TM00]
|
||||||
|
RANDOM_ITEM_EXCEPTIONS = [:DNASPLICERS, :POKEBALL]
|
||||||
|
|
||||||
def pbGetRandomItem(item_id)
|
def getRandomGivenTM(item)
|
||||||
return nil if item_id == nil
|
return item if item == nil
|
||||||
item = GameData::Item.get(item_id)
|
if $game_switches[SWITCH_RANDOM_ITEMS_MAPPED]
|
||||||
|
newItem = $PokemonGlobal.randomTMsHash[item.id]
|
||||||
|
return GameData::Item.get(newItem) if newItem != nil
|
||||||
|
end
|
||||||
|
if $game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC]
|
||||||
|
return pbGetRandomTM
|
||||||
|
end
|
||||||
|
return item
|
||||||
|
end
|
||||||
|
|
||||||
|
def getMappedRandomItem(item)
|
||||||
|
if (item.is_TM?)
|
||||||
|
return item if !$game_switches[SWITCH_RANDOM_TMS]
|
||||||
|
if $game_switches[SWITCH_RANDOM_TMS]
|
||||||
|
newItem = $PokemonGlobal.randomTMsHash[item.id]
|
||||||
|
return GameData::Item.get(newItem) if newItem != nil
|
||||||
|
end
|
||||||
|
return item
|
||||||
|
else
|
||||||
|
return item if !$game_switches[SWITCH_RANDOM_ITEMS]
|
||||||
|
if $game_switches[SWITCH_RANDOM_ITEMS]
|
||||||
|
newItem = $PokemonGlobal.randomItemsHash[item.id]
|
||||||
|
return GameData::Item.get(newItem) if newItem != nil
|
||||||
|
return item
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def getDynamicRandomItem(item)
|
||||||
#keyItem ou HM -> on randomize pas
|
#keyItem ou HM -> on randomize pas
|
||||||
return item if item.is_key_item?
|
return item if item.is_key_item?
|
||||||
return item if item.is_HM?
|
return item if item.is_HM?
|
||||||
@@ -35,7 +64,8 @@ def pbGetRandomItem(item_id)
|
|||||||
return $game_switches[SWITCH_RANDOM_TMS] ? pbGetRandomTM() : item
|
return $game_switches[SWITCH_RANDOM_TMS] ? pbGetRandomTM() : item
|
||||||
end
|
end
|
||||||
#item normal
|
#item normal
|
||||||
return item if !$game_switches[SWITCH_RANDOM_ITEMS]
|
return item if !$game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC] || !$game_switches[SWITCH_RANDOM_ITEMS]
|
||||||
|
|
||||||
|
|
||||||
#berries
|
#berries
|
||||||
return pbGetRandomBerry() if item.is_berry?
|
return pbGetRandomBerry() if item.is_berry?
|
||||||
@@ -43,13 +73,25 @@ def pbGetRandomItem(item_id)
|
|||||||
items_list = GameData::Item.list_all
|
items_list = GameData::Item.list_all
|
||||||
newItem_id = items_list.keys.sample
|
newItem_id = items_list.keys.sample
|
||||||
newItem = GameData::Item.get(newItem_id)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
while (newItem.is_machine? || newItem.is_key_item? || ITEM_EXCEPTIONS.include?(newItem))
|
while (newItem.is_machine? || newItem.is_key_item? || INVALID_ITEMS.include?(newItem))
|
||||||
newItem_id = items_list.keys.sample
|
newItem_id = items_list.keys.sample
|
||||||
newItem = GameData::Item.get(newItem_id)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
end
|
end
|
||||||
return newItem
|
return newItem
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def pbGetRandomItem(item_id)
|
||||||
|
return nil if item_id == nil
|
||||||
|
item = GameData::Item.get(item_id)
|
||||||
|
return item if !($game_switches[SWITCH_RANDOM_ITEMS] || $game_switches[SWITCH_RANDOM_TMS])
|
||||||
|
if $game_switches[SWITCH_RANDOM_ITEMS_MAPPED]
|
||||||
|
return getMappedRandomItem(item)
|
||||||
|
elsif $game_switches[SWITCH_RANDOM_ITEMS_DYNAMIC]
|
||||||
|
return getDynamicRandomItem(item)
|
||||||
|
end
|
||||||
|
return item
|
||||||
|
end
|
||||||
|
|
||||||
def pbGetRandomHeldItem()
|
def pbGetRandomHeldItem()
|
||||||
newItem_id = HELD_ITEMS.sample
|
newItem_id = HELD_ITEMS.sample
|
||||||
newItem = GameData::Item.get(newItem_id)
|
newItem = GameData::Item.get(newItem_id)
|
||||||
|
|||||||
@@ -27,14 +27,11 @@
|
|||||||
###############################################################
|
###############################################################
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#GYM_TYPES_ARRAY = [0,5,11,13,12,3,14,10,4,1,0,6,2,16,7,15,1,8,15,1,7,16,18,17,7,16]
|
#GYM_TYPES_ARRAY = [0,5,11,13,12,3,14,10,4,1,0,6,2,16,7,15,1,8,15,1,7,16,18,17,7,16]
|
||||||
GYM_TYPES_CLASSIC = [:NORMAL, :ROCK, :WATER, :ELECTRIC, :GRASS, :POISON, :PSYCHIC, :FIRE, :GROUND, :FIGHTING, :NORMAL, :BUG, :FLYING, :DRAGON, :GHOST, :ICE, :FIGHTING, :STEEL, :ICE, :FIGHTING, :GHOST, :DRAGON, :FAIRY, :DARK, :GHOST, :DRAGON]
|
GYM_TYPES_CLASSIC = [:NORMAL, :ROCK, :WATER, :ELECTRIC, :GRASS, :POISON, :PSYCHIC, :FIRE, :GROUND, :FIGHTING, :NORMAL, :BUG, :FLYING, :DRAGON, :GHOST, :ICE, :FIGHTING, :STEEL, :ICE, :FIGHTING, :GHOST, :DRAGON, :FAIRY, :DARK, :GHOST, :DRAGON]
|
||||||
GYM_TYPES_MODERN = [:NORMAL, :STEEL, :ICE, :FIGHTING, :BUG, :DARK, :FAIRY, :PSYCHIC, :NORMAL, :FIGHTING, :FAIRY, :GRASS, :BUG, :DRAGON, :FIRE, :GHOST, :GROUND, :ELECTRIC, :WATER, :ROCK, :POISON, :FLYING, :FAIRY, :DARK, :GHOST, :DRAGON]
|
GYM_TYPES_MODERN = [:NORMAL, :STEEL, :ICE, :FIGHTING, :BUG, :DARK, :FAIRY, :PSYCHIC, :NORMAL, :FIGHTING, :FAIRY, :GRASS, :BUG, :DRAGON, :FIRE, :GHOST, :GROUND, :ELECTRIC, :WATER, :ROCK, :POISON, :FLYING, :FAIRY, :DARK, :GHOST, :DRAGON]
|
||||||
GYM_TYPES_ARRAY = ($game_switches && $game_switches[SWITCH_MODERN_MODE]) ? GYM_TYPES_MODERN : GYM_TYPES_CLASSIC
|
GYM_TYPES_ARRAY = ($game_switches && $game_switches[SWITCH_MODERN_MODE]) ? GYM_TYPES_MODERN : GYM_TYPES_CLASSIC
|
||||||
|
|
||||||
|
|
||||||
#$randomTrainersArray = []
|
#$randomTrainersArray = []
|
||||||
|
|
||||||
#[fighting dojo est 9eme (1), 0 au debut pour pasavoir a faire -1]
|
#[fighting dojo est 9eme (1), 0 au debut pour pasavoir a faire -1]
|
||||||
@@ -44,7 +41,6 @@ def Kernel.initRandomTypeArray()
|
|||||||
$game_variables[VAR_GYM_TYPES_ARRAY] = $game_switches[SWITCH_RANDOMIZED_GYM_TYPES] ? typesArray : GYM_TYPES_ARRAY
|
$game_variables[VAR_GYM_TYPES_ARRAY] = $game_switches[SWITCH_RANDOMIZED_GYM_TYPES] ? typesArray : GYM_TYPES_ARRAY
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def setRivalStarter(starter1, starter2, starter3, choice)
|
def setRivalStarter(starter1, starter2, starter3, choice)
|
||||||
starters = [starter1, starter2, starter3]
|
starters = [starter1, starter2, starter3]
|
||||||
starters.delete_at(choice)
|
starters.delete_at(choice)
|
||||||
@@ -62,7 +58,6 @@ def setRivalStarterSpecific(rivalStarter)
|
|||||||
$game_switches[SWITCH_DEFINED_RIVAL_STARTER] = true
|
$game_switches[SWITCH_DEFINED_RIVAL_STARTER] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
class PokeBattle_Battle
|
class PokeBattle_Battle
|
||||||
CONST_BST_RANGE = 25 #unused. $game_variables[197] a la place
|
CONST_BST_RANGE = 25 #unused. $game_variables[197] a la place
|
||||||
def randomize_opponent_party(party)
|
def randomize_opponent_party(party)
|
||||||
@@ -91,9 +86,12 @@ def randomizedRivalFirstBattle(party)
|
|||||||
for m in party
|
for m in party
|
||||||
next if !m
|
next if !m
|
||||||
case playerChoice
|
case playerChoice
|
||||||
when 0 then newspecies = starter2*NB_POKEMON+starter3
|
when 0 then
|
||||||
when 1 then newspecies = starter1*NB_POKEMON+starter3
|
newspecies = starter2 * NB_POKEMON + starter3
|
||||||
when 2 then newspecies = starter1*NB_POKEMON+starter2
|
when 1 then
|
||||||
|
newspecies = starter1 * NB_POKEMON + starter3
|
||||||
|
when 2 then
|
||||||
|
newspecies = starter1 * NB_POKEMON + starter2
|
||||||
else
|
else
|
||||||
end
|
end
|
||||||
m.species = newspecies
|
m.species = newspecies
|
||||||
@@ -104,11 +102,11 @@ def randomizedRivalFirstBattle(party)
|
|||||||
return party
|
return party
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#######
|
#######
|
||||||
# end of class
|
# end of class
|
||||||
######
|
######
|
||||||
|
|
||||||
|
|
||||||
####methodes utilitaires
|
####methodes utilitaires
|
||||||
|
|
||||||
# def getBaseStats(species)
|
# def getBaseStats(species)
|
||||||
@@ -150,9 +148,6 @@ def getLeaderType()
|
|||||||
return typeIndex
|
return typeIndex
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##Version alternatives de fonctions pour fonctionner avec numero de species
|
##Version alternatives de fonctions pour fonctionner avec numero de species
|
||||||
def SpeciesHasType?(type, species)
|
def SpeciesHasType?(type, species)
|
||||||
if type.is_a?(String) || type.is_a?(Symbol)
|
if type.is_a?(String) || type.is_a?(Symbol)
|
||||||
@@ -172,12 +167,8 @@ end
|
|||||||
return $pkmn_dex[species][4]
|
return $pkmn_dex[species][4]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
############
|
############
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#summarize random options
|
#summarize random options
|
||||||
def Kernel.sumRandomOptions()
|
def Kernel.sumRandomOptions()
|
||||||
answer = $game_switches[954] ? "On" : "Off"
|
answer = $game_switches[954] ? "On" : "Off"
|
||||||
@@ -206,11 +197,9 @@ def Kernel.sumRandomOptions()
|
|||||||
answer = $game_switches[959] ? "On" : "Off"
|
answer = $game_switches[959] ? "On" : "Off"
|
||||||
stringOptions << "\nTMs: " << answer
|
stringOptions << "\nTMs: " << answer
|
||||||
|
|
||||||
|
|
||||||
return stringOptions
|
return stringOptions
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def countVisitedMaps
|
def countVisitedMaps
|
||||||
count = 0
|
count = 0
|
||||||
for i in 0..$PokemonGlobal.visitedMaps.length
|
for i in 0..$PokemonGlobal.visitedMaps.length
|
||||||
@@ -222,16 +211,12 @@ end
|
|||||||
def Kernel.sumGameStats()
|
def Kernel.sumGameStats()
|
||||||
stringStats = ""
|
stringStats = ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
stringStats << "Seen " << $Trainer.pokedexSeen.to_s << " Pokémon"
|
stringStats << "Seen " << $Trainer.pokedexSeen.to_s << " Pokémon"
|
||||||
stringStats << "\nCaught " << $Trainer.pokedexOwned.to_s << " Pokémon"
|
stringStats << "\nCaught " << $Trainer.pokedexOwned.to_s << " Pokémon"
|
||||||
|
|
||||||
|
|
||||||
stringStats << "\nBeaten the Elite Four " << $game_variables[174].to_s << " times"
|
stringStats << "\nBeaten the Elite Four " << $game_variables[174].to_s << " times"
|
||||||
stringStats << "\nFused " << $game_variables[126].to_s << " Pokémon"
|
stringStats << "\nFused " << $game_variables[126].to_s << " Pokémon"
|
||||||
|
|
||||||
|
|
||||||
stringStats << "\nRematched " << $game_variables[162].to_s << " Gym Leaders"
|
stringStats << "\nRematched " << $game_variables[162].to_s << " Gym Leaders"
|
||||||
stringStats << "\nTook " << $PokemonGlobal.stepcount.to_s << " steps"
|
stringStats << "\nTook " << $PokemonGlobal.stepcount.to_s << " steps"
|
||||||
stringStats << "\nVisited " << countVisitedMaps.to_s << " different areas"
|
stringStats << "\nVisited " << countVisitedMaps.to_s << " different areas"
|
||||||
@@ -249,8 +234,6 @@ def Kernel.sumGameStats()
|
|||||||
end
|
end
|
||||||
stringStats << "\nSpent $" << $game_variables[225].to_s << " at hotels"
|
stringStats << "\nSpent $" << $game_variables[225].to_s << " at hotels"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
stringStats << "\nAccepted " << $game_variables[96].to_s << " quests"
|
stringStats << "\nAccepted " << $game_variables[96].to_s << " quests"
|
||||||
stringStats << "\nCompleted " << $game_variables[98].to_s << " quests"
|
stringStats << "\nCompleted " << $game_variables[98].to_s << " quests"
|
||||||
stringStats << "\nDiscovered " << $game_variables[193].to_s << " secrets"
|
stringStats << "\nDiscovered " << $game_variables[193].to_s << " secrets"
|
||||||
@@ -264,7 +247,6 @@ def Kernel.sumGameStats()
|
|||||||
return stringStats
|
return stringStats
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def Kernel.pbRandomizeTM()
|
def Kernel.pbRandomizeTM()
|
||||||
tmList = []
|
tmList = []
|
||||||
for item in $itemData
|
for item in $itemData
|
||||||
@@ -292,7 +274,6 @@ def getNewSpecies(oldSpecies,bst_range=50, ignoreRivalPlaceholder = false, maxDe
|
|||||||
return newspecies_dex
|
return newspecies_dex
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def getNewCustomSpecies(oldSpecies, customSpeciesList, bst_range = 50, ignoreRivalPlaceholder = false)
|
def getNewCustomSpecies(oldSpecies, customSpeciesList, bst_range = 50, ignoreRivalPlaceholder = false)
|
||||||
oldSpecies_dex = dexNum(oldSpecies)
|
oldSpecies_dex = dexNum(oldSpecies)
|
||||||
return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder)
|
return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder)
|
||||||
@@ -311,7 +292,6 @@ def getNewCustomSpecies(oldSpecies,customSpeciesList,bst_range=50, ignoreRivalPl
|
|||||||
return newspecies_dex
|
return newspecies_dex
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def playShuffleSE(i)
|
def playShuffleSE(i)
|
||||||
if i % 40 == 0 || i == 0
|
if i % 40 == 0 || i == 0
|
||||||
pbSEPlay("Charm", 60)
|
pbSEPlay("Charm", 60)
|
||||||
@@ -326,7 +306,6 @@ def getTrainersDataMode
|
|||||||
return mode
|
return mode
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def Kernel.pbShuffleTrainers(bst_range = 50, customsOnly = false, customsList = nil)
|
def Kernel.pbShuffleTrainers(bst_range = 50, customsOnly = false, customsList = nil)
|
||||||
bst_range = pbGet(VAR_RANDOMIZER_TRAINER_BST)
|
bst_range = pbGet(VAR_RANDOMIZER_TRAINER_BST)
|
||||||
|
|
||||||
@@ -382,7 +361,7 @@ def Kernel.pbShuffleTrainersCustom(bst_range = 50)
|
|||||||
|
|
||||||
Kernel.pbMessage(_INTL("Parsing custom sprites folder"))
|
Kernel.pbMessage(_INTL("Parsing custom sprites folder"))
|
||||||
customsList = getCustomSpeciesList()
|
customsList = getCustomSpeciesList()
|
||||||
Kernel.pbMessage(_INTL("{1} Pokémon found",customsList.length.to_s))
|
Kernel.pbMessage(_INTL("{1} sprites found", customsList.length.to_s))
|
||||||
|
|
||||||
if customsList.length == 0
|
if customsList.length == 0
|
||||||
Kernel.pbMessage(_INTL("To use custom sprites, please place correctly named sprites in the /CustomBattlers folder. See readMe.txt for more information"))
|
Kernel.pbMessage(_INTL("To use custom sprites, please place correctly named sprites in the /CustomBattlers folder. See readMe.txt for more information"))
|
||||||
@@ -417,8 +396,6 @@ end
|
|||||||
# end
|
# end
|
||||||
# $PokemonGlobal.randomTrainersHash = randomTrainersHash
|
# $PokemonGlobal.randomTrainersHash = randomTrainersHash
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#def getRandomCustomSprite()
|
#def getRandomCustomSprite()
|
||||||
# filesList = Dir["./Graphics/CustomBattlers/*"]
|
# filesList = Dir["./Graphics/CustomBattlers/*"]
|
||||||
# i = rand(filesList.length-1)
|
# i = rand(filesList.length-1)
|
||||||
@@ -430,7 +407,6 @@ end
|
|||||||
# return (body*NB_POKEMON)+head
|
# return (body*NB_POKEMON)+head
|
||||||
#end
|
#end
|
||||||
|
|
||||||
|
|
||||||
def getCustomSpeciesList()
|
def getCustomSpeciesList()
|
||||||
filesList = Dir["./Graphics/CustomBattlers/*"]
|
filesList = Dir["./Graphics/CustomBattlers/*"]
|
||||||
speciesList = []
|
speciesList = []
|
||||||
@@ -452,7 +428,6 @@ def getCustomSpeciesList()
|
|||||||
return speciesList
|
return speciesList
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def Kernel.getBaseStats(species)
|
def Kernel.getBaseStats(species)
|
||||||
if $pkmn_dex[species] == nil
|
if $pkmn_dex[species] == nil
|
||||||
print species
|
print species
|
||||||
@@ -467,7 +442,6 @@ def Kernel.getBaseStats(species)
|
|||||||
return basestatsum
|
return basestatsum
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def Kernel.gymLeaderRematchHint()
|
def Kernel.gymLeaderRematchHint()
|
||||||
hints = [
|
hints = [
|
||||||
"I heard that Brock has a huge interest in Pokémon fossils. He donated a lot of fossils he excavated to the Pewter City Museum.",
|
"I heard that Brock has a huge interest in Pokémon fossils. He donated a lot of fossils he excavated to the Pewter City Museum.",
|
||||||
@@ -524,7 +498,6 @@ def inverseFusion(pokemon)
|
|||||||
return pokemon
|
return pokemon
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def addRandomHeldItems(trainerParty)
|
def addRandomHeldItems(trainerParty)
|
||||||
for poke in trainerParty
|
for poke in trainerParty
|
||||||
if poke.item == nil
|
if poke.item == nil
|
||||||
@@ -533,7 +506,6 @@ def addRandomHeldItems(trainerParty)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def addHealingItem(items)
|
def addHealingItem(items)
|
||||||
if $Trainer.numbadges < 1
|
if $Trainer.numbadges < 1
|
||||||
items << PBItems::ORANBERRY
|
items << PBItems::ORANBERRY
|
||||||
@@ -667,7 +639,6 @@ def getRematchId(trainername, trainerid)
|
|||||||
return trainername + trainerid.to_s
|
return trainername + trainerid.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def replaceRivalStarterIfNecessary(species)
|
def replaceRivalStarterIfNecessary(species)
|
||||||
if species == RIVAL_STARTER_PLACEHOLDER_SPECIES
|
if species == RIVAL_STARTER_PLACEHOLDER_SPECIES
|
||||||
if !$game_switches[840] || pbGet(250) == 0 #not DEFINED_RIVAL_STARTER
|
if !$game_switches[840] || pbGet(250) == 0 #not DEFINED_RIVAL_STARTER
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ class PokemonGlobalMetadata
|
|||||||
attr_accessor :psuedoBSTHash
|
attr_accessor :psuedoBSTHash
|
||||||
attr_accessor :randomTrainersHash
|
attr_accessor :randomTrainersHash
|
||||||
attr_accessor :randomGymTrainersHash
|
attr_accessor :randomGymTrainersHash
|
||||||
|
attr_accessor :randomItemsHash
|
||||||
|
attr_accessor :randomTMsHash
|
||||||
|
|
||||||
|
|
||||||
alias random_init initialize
|
alias random_init initialize
|
||||||
|
|
||||||
@@ -11,6 +14,9 @@ class PokemonGlobalMetadata
|
|||||||
@randomGymTrainersHash = nil
|
@randomGymTrainersHash = nil
|
||||||
@psuedoHash = nil
|
@psuedoHash = nil
|
||||||
@psuedoBSTHash = nil
|
@psuedoBSTHash = nil
|
||||||
|
@randomItemsHash = nil
|
||||||
|
@randomTMsHash = nil
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -82,7 +88,60 @@ def Kernel.pbShuffleDex(range = 50, type = 0)
|
|||||||
$PokemonGlobal.psuedoBSTHash = get_randomized_bst_hash(pokemon_list,range,should_include_fusions)
|
$PokemonGlobal.psuedoBSTHash = get_randomized_bst_hash(pokemon_list,range,should_include_fusions)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def itemCanBeRandomized(item)
|
||||||
|
return false if item.is_machine?
|
||||||
|
return false if item.is_key_item?
|
||||||
|
return false if INVALID_ITEMS.include?(item.id)
|
||||||
|
#return false if RANDOM_ITEM_EXCEPTIONS.include?(item.id)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbShuffleItems()
|
||||||
|
$game_switches[SWITCH_RANDOMIZED_AT_LEAST_ONCE] = true
|
||||||
|
randomItemsHash = Hash.new
|
||||||
|
available_items = []
|
||||||
|
for itemElement in GameData::Item.list_all
|
||||||
|
item=itemElement[1]
|
||||||
|
if itemCanBeRandomized(item)
|
||||||
|
if !available_items.include?(item.id)
|
||||||
|
available_items << item.id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
remaining_items = available_items.clone
|
||||||
|
for itemId in available_items
|
||||||
|
if itemCanBeRandomized(GameData::Item.get(itemId))
|
||||||
|
chosenItem = remaining_items.sample
|
||||||
|
randomItemsHash[itemId] = chosenItem
|
||||||
|
remaining_items.delete(chosenItem)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
$PokemonGlobal.randomItemsHash = randomItemsHash
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def pbShuffleTMs()
|
||||||
|
$game_switches[SWITCH_RANDOMIZED_AT_LEAST_ONCE] = true
|
||||||
|
randomItemsHash = Hash.new
|
||||||
|
available_items = []
|
||||||
|
for itemElement in GameData::Item.list_all
|
||||||
|
item=itemElement[1]
|
||||||
|
if item.is_TM?
|
||||||
|
if !available_items.include?(item.id)
|
||||||
|
available_items << item.id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
remaining_items = available_items.clone
|
||||||
|
for itemId in available_items
|
||||||
|
if GameData::Item.get(itemId).is_TM?
|
||||||
|
chosenItem = remaining_items.sample
|
||||||
|
randomItemsHash[itemId] = chosenItem
|
||||||
|
remaining_items.delete(chosenItem)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
$PokemonGlobal.randomTMsHash = randomItemsHash
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -50,8 +50,20 @@ SWITCH_RANDOM_WILD_AREA = 777
|
|||||||
|
|
||||||
SWITCH_RANDOM_TRAINERS = 987
|
SWITCH_RANDOM_TRAINERS = 987
|
||||||
SWITCH_RANDOM_STARTERS = 954
|
SWITCH_RANDOM_STARTERS = 954
|
||||||
SWITCH_RANDOM_ITEMS = 958
|
|
||||||
SWITCH_RANDOM_TMS = 959
|
SWITCH_RANDOM_ITEMS_GENERAL=759
|
||||||
|
SWITCH_RANDOM_ITEMS=751
|
||||||
|
SWITCH_RANDOM_FOUND_ITEMS=755
|
||||||
|
SWITCH_RANDOM_ITEMS_DYNAMIC = 958
|
||||||
|
SWITCH_RANDOM_ITEMS_MAPPED = 752
|
||||||
|
|
||||||
|
SWITCH_RANDOM_TMS = 758
|
||||||
|
SWITCH_RANDOM_GIVEN_ITEMS = 756
|
||||||
|
SWITCH_RANDOM_GIVEN_TMS = 757
|
||||||
|
SWITCH_RANDOM_SHOP_ITEMS = 754
|
||||||
|
|
||||||
|
|
||||||
|
SWITCH_RANDOM_FOUND_TMS = 959
|
||||||
SWITCH_WILD_RANDOM_GLOBAL=956
|
SWITCH_WILD_RANDOM_GLOBAL=956
|
||||||
SWITCH_RANDOM_STATIC_ENCOUNTERS=955
|
SWITCH_RANDOM_STATIC_ENCOUNTERS=955
|
||||||
SWITCH_RANDOM_WILD_ONLY_CUSTOMS=664
|
SWITCH_RANDOM_WILD_ONLY_CUSTOMS=664
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user