Fixed Battle Tower/Cups/Palace, fixed bug when using Metronome, fixed bad AI for Conversion/Conversion 2

This commit is contained in:
Maruno17
2021-05-04 20:36:49 +01:00
parent b563e73027
commit 3d88b85f56
10 changed files with 151 additions and 140 deletions

View File

@@ -22,10 +22,10 @@ class PBPokemon
itm = GameData::Item.try_get(item)
@item = itm ? itm.id : nil
@nature = nature
@move1 = move1 ? move1 : 0
@move2 = move2 ? move2 : 0
@move3 = move3 ? move3 : 0
@move4 = move4 ? move4 : 0
@move1 = move1 ? move1 : nil
@move2 = move2 ? move2 : nil
@move3 = move3 ? move3 : nil
@move4 = move4 ? move4 : nil
@ev = ev
end
@@ -55,7 +55,9 @@ class PBPokemon
move_data = GameData::Move.try_get(moves[i])
moveid.push(move_data.id) if move_data
end
moveid=[GameData::Move.get(1)] if moveid.length==0
if moveid.length==0
GameData::Move.each { |mov| moveid.push(mov.id); break }
end
return self.new(species, item, nature, moveid[0], moveid[1], moveid[2], moveid[3], ev_array)
end
@@ -154,9 +156,7 @@ class PBPokemon
pokemon=Pokemon.new(@species,level,trainer,false)
pokemon.item = @item
pokemon.personalID = rand(2**16) | rand(2**16) << 16
pokemon.personalID -= pokemon.personalID % 25
pokemon.personalID += nature
pokemon.personalID &= 0xFFFFFFFF
pokemon.nature = nature
pokemon.happiness=0
pokemon.moves[0] = Pokemon::Move.new(self.convertMove(@move1))
pokemon.moves[1] = Pokemon::Move.new(self.convertMove(@move2))
@@ -468,7 +468,7 @@ class BattleChallenge
end
def start(*args)
ensureType(@id)
t = ensureType(@id)
@currentChallenge=@id # must appear before pbStart
@bc.pbStart(t,@numRounds)
end
@@ -680,8 +680,9 @@ end
def pbBattleChallengeGraphic(event)
nextTrainer=pbBattleChallenge.nextTrainer
bttrainers=pbGetBTTrainers(pbBattleChallenge.currentChallenge)
filename=GameData::TrainerType.charset_filename_brief((bttrainers[nextTrainer][0] rescue 0))
filename=GameData::TrainerType.charset_filename_brief((bttrainers[nextTrainer][0] rescue nil))
begin
filename = "NPC 01" if nil_or_empty?(filename)
bitmap=AnimatedBitmap.new("Graphics/Characters/"+filename)
bitmap.dispose
event.character_name=filename

View File

@@ -1,5 +1,5 @@
def pbRandomMove
keys = GameData::Move::DATA.keys.sort
keys = GameData::Move::DATA.keys
loop do
move_id = keys[rand(keys.length)]
move = GameData::Move.get(move_id)
@@ -249,7 +249,7 @@ def pbRandomPokemonFromRule(rule,trainer)
iteration+=1
species=nil
level=rule.ruleset.suggestedLevel
keys = GameData::Species::DATA.keys.sort
keys = GameData::Species::DATA.keys
loop do
loop do
species = keys[rand(keys.length)]
@@ -910,9 +910,10 @@ def pbTrainerInfo(pokemonlist,trfile,rules)
if GameData::TrainerType.exists?(:YOUNGSTER) && rand(30) == 0
trainerid = :YOUNGSTER
else
tr_type_values = GameData::TrainerType::DATA.values
tr_typekeys = GameData::TrainerType::DATA.keys
loop do
tr_type_data = tr_type_values[rand(tr_type_values.length)]
tr_type = tr_typekeys[rand(tr_typekeys.length)]
tr_type_data = GameData::TrainerType.get(tr_type)
next if tr_type_data.base_money >= 100
trainerid = tr_type_data.id
end