def pbDoubleBattleAllowed?
return false if !@fullparty1 && @party1.length>MAXPARTYSIZE
return false if !@fullparty2 && @party2.length>MAXPARTYSIZE
_opponent=@opponent
_player=@player
# Wild battle
if !_opponent
if @party2.length==1
return false
elsif @party2.length==2
return true
else
return false
end
# Trainer battle
else
if _opponent.is_a?(Array)
if _opponent.length==1
_opponent=_opponent[0]
elsif _opponent.length!=2
return false
end
end
_player=_player
if _player.is_a?(Array)
if _player.length==1
_player=_player[0]
elsif _player.length!=2
return false
end
end
if _opponent.is_a?(Array)
sendout1=pbFindNextUnfainted(@party2,0,pbSecondPartyBegin(1))
sendout2=pbFindNextUnfainted(@party2,pbSecondPartyBegin(1))
return false if sendout1<0 || sendout2<0
else
sendout1=pbFindNextUnfainted(@party2,0)
sendout2=pbFindNextUnfainted(@party2,sendout1+1)
return false if sendout1<0 || sendout2<0
end
end
if _player.is_a?(Array)
sendout1=pbFindNextUnfainted(@party1,0,pbSecondPartyBegin(0))
sendout2=pbFindNextUnfainted(@party1,pbSecondPartyBegin(0))
return false if sendout1<0 || sendout2<0
else
sendout1=pbFindNextUnfainted(@party1,0)
sendout2=pbFindNextUnfainted(@party1,sendout1+1)
return false if sendout1<0 || sendout2<0
end
return true
end