Merge branch 'master' into refactor

This commit is contained in:
Maruno17
2020-11-09 19:17:24 +00:00
15 changed files with 201 additions and 140 deletions

View File

@@ -368,32 +368,34 @@ def pbOnStepTaken(eventTriggered)
Events.onStepTakenTransferPossible.trigger(nil,handled)
return if handled[0]
pbBattleOnStepTaken(repel) if !eventTriggered && !$game_temp.in_menu
$PokemonTemp.encounterTriggered = false # This info isn't needed
end
# Start wild encounters while turning on the spot
Events.onChangeDirection += proc {
repel = ($PokemonGlobal.repel>0)
repel = ($PokemonGlobal.repel > 0)
pbBattleOnStepTaken(repel) if !$game_temp.in_menu
}
def pbBattleOnStepTaken(repel=false)
return if $Trainer.ablePokemonCount==0
def pbBattleOnStepTaken(repel = false)
return if $Trainer.ablePokemonCount == 0
encounterType = $PokemonEncounters.pbEncounterType
return if encounterType<0
return if encounterType < 0
return if !$PokemonEncounters.isEncounterPossibleHere?
$PokemonTemp.encounterType = encounterType
encounter = $PokemonEncounters.pbGenerateEncounter(encounterType)
encounter = EncounterModifier.trigger(encounter)
if $PokemonEncounters.pbCanEncounter?(encounter,repel)
if $PokemonEncounters.pbCanEncounter?(encounter, repel)
if !$PokemonTemp.forceSingleBattle && !pbInSafari? && ($PokemonGlobal.partner ||
($Trainer.ablePokemonCount>1 && PBTerrain.isDoubleWildBattle?(pbGetTerrainTag) && rand(100)<30))
($Trainer.ablePokemonCount > 1 && PBTerrain.isDoubleWildBattle?(pbGetTerrainTag) && rand(100) < 30))
encounter2 = $PokemonEncounters.pbEncounteredPokemon(encounterType)
encounter2 = EncounterModifier.trigger(encounter2)
pbDoubleWildBattle(encounter[0],encounter[1],encounter2[0],encounter2[1])
pbDoubleWildBattle(encounter[0], encounter[1], encounter2[0], encounter2[1])
else
pbWildBattle(encounter[0],encounter[1])
pbWildBattle(encounter[0], encounter[1])
end
$PokemonTemp.encounterType = -1
$PokemonTemp.encounterTriggered = true
end
$PokemonTemp.forceSingleBattle = false
EncounterModifier.triggerEncounterEnd

View File

@@ -11,6 +11,7 @@ end
class PokemonTemp
attr_accessor :encounterTriggered
attr_accessor :encounterType
attr_accessor :evolutionLevels
@@ -251,7 +252,12 @@ def pbWildBattleCore(*args)
playerTrainers = [$Trainer]
playerParty = $Trainer.party
playerPartyStarts = [0]
if $PokemonGlobal.partner && !$PokemonTemp.battleRules["noPartner"] && foeParty.length>1
room_for_partner = (foeParty.length > 1)
if !room_for_partner && $PokemonTemp.battleRules["size"] &&
!["single", "1v1", "1v2", "1v3"].include?($PokemonTemp.battleRules["size"])
room_for_partner = true
end
if $PokemonGlobal.partner && !$PokemonTemp.battleRules["noPartner"] && room_for_partner
ally = PokeBattle_Trainer.new($PokemonGlobal.partner[1],$PokemonGlobal.partner[0])
ally.id = $PokemonGlobal.partner[2]
ally.party = $PokemonGlobal.partner[3]
@@ -391,7 +397,12 @@ def pbTrainerBattleCore(*args)
playerTrainers = [$Trainer]
playerParty = $Trainer.party
playerPartyStarts = [0]
if $PokemonGlobal.partner && !$PokemonTemp.battleRules["noPartner"] && foeParty.length>1
room_for_partner = (foeParty.length > 1)
if !room_for_partner && $PokemonTemp.battleRules["size"] &&
!["single", "1v1", "1v2", "1v3"].include?($PokemonTemp.battleRules["size"])
room_for_partner = true
end
if $PokemonGlobal.partner && !$PokemonTemp.battleRules["noPartner"] && room_for_partner
ally = PokeBattle_Trainer.new($PokemonGlobal.partner[1],$PokemonGlobal.partner[0])
ally.id = $PokemonGlobal.partner[2]
ally.party = $PokemonGlobal.partner[3]
@@ -553,6 +564,7 @@ def pbAfterBattle(decision,canLose)
end
end
Events.onEndBattle.trigger(nil,decision,canLose)
$game_player.straighten
end
Events.onEndBattle += proc { |_sender,e|

View File

@@ -2,7 +2,7 @@ class PokemonTemp
attr_writer :dependentEvents
def dependentEvents
@dependentEvents=DependentEvents.new if !@dependentEvents
@dependentEvents = DependentEvents.new if !@dependentEvents
return @dependentEvents
end
end
@@ -41,7 +41,8 @@ class PokemonGlobalMetadata
attr_writer :dependentEvents
def dependentEvents
return @dependentEvents || []
@dependentEvents = [] if !@dependentEvents
return @dependentEvents
end
end