Lo que sucede es que en Essentials tienen puesto los condicionales para que solo si estas haciendo surf te saldrá un encuentro con con el fondo de Agua/Mar, lo que podrías hacer es colocar un condicional adicional para cuando uses la caña para pescar, porque supongo que es ese el método que estas usando para tener un encuentro salvaje en en agua sin hacer surf.
Primero en la sección
PokeBattle_Scene buscas el pbBackdrop y hallarás esto :
Código:
def pbBackdrop
environ=@battle.environment
# Choose backdrop
backdrop="Field"
if environ==PBEnvironment::Cave
backdrop="Cave"
elsif environ==PBEnvironment::MovingWater || environ==PBEnvironment::StillWater || $Pesca_bandera
backdrop="Water"
elsif environ==PBEnvironment::Underwater
backdrop="Underwater"
elsif environ==PBEnvironment::Rock
backdrop="Mountain"
else
if !$game_map || !pbGetMetadata($game_map.map_id,MetadataOutdoor)
backdrop="IndoorA"
end
end
if $game_map
back=pbGetMetadata($game_map.map_id,MetadataBattleBack)
if back && back!=""
backdrop=back
end
end
if $PokemonGlobal && $PokemonGlobal.nextBattleBack
backdrop=$PokemonGlobal.nextBattleBack
end
# Choose bases
base=""
trialname=""
if environ==PBEnvironment::Grass || environ==PBEnvironment::TallGrass
trialname="Grass"
elsif environ==PBEnvironment::Sand
trialname="Sand"
elsif $PokemonGlobal.surfing
trialname="Water"
end
if pbResolveBitmap(sprintf("Graphics/Battlebacks/playerbase"+backdrop+trialname))
base=trialname
end
# Choose time of day
time=""
if ENABLESHADING
trialname=""
timenow=pbGetTimeNow
if PBDayNight.isNight?(timenow)
trialname="Night"
elsif PBDayNight.isEvening?(timenow)
trialname="Eve"
end
if pbResolveBitmap(sprintf("Graphics/Battlebacks/battlebg"+backdrop+trialname))
time=trialname
end
end
# Apply graphics
battlebg="Graphics/Battlebacks/battlebg"+backdrop+time
enemybase="Graphics/Battlebacks/enemybase"+backdrop+base+time
playerbase="Graphics/Battlebacks/playerbase"+backdrop+base+time
pbAddPlane("battlebg",battlebg,@viewport)
pbAddSprite("playerbase",
PokeBattle_SceneConstants::PLAYERBASEX,
PokeBattle_SceneConstants::PLAYERBASEY,playerbase,@viewport)
[MENTION=24071]Sprite[/MENTION]s["playerbase"].x- [MENTION=24071]Sprite[/MENTION]s["playerbase"].bitmap.width/2 if [MENTION=24071]Sprite[/MENTION]s["playerbase"].bitmap!=nil
[MENTION=24071]Sprite[/MENTION]s["playerbase"].y- [MENTION=24071]Sprite[/MENTION]s["playerbase"].bitmap.height if [MENTION=24071]Sprite[/MENTION]s["playerbase"].bitmap!=nil
pbAddSprite("enemybase",
PokeBattle_SceneConstants::FOEBASEX,
PokeBattle_SceneConstants::FOEBASEY,enemybase,@viewport)
[MENTION=24071]Sprite[/MENTION]s["enemybase"].x- [MENTION=24071]Sprite[/MENTION]s["enemybase"].bitmap.width/2 if [MENTION=24071]Sprite[/MENTION]s["enemybase"].bitmap!=nil
[MENTION=24071]Sprite[/MENTION]s["enemybase"].y- [MENTION=24071]Sprite[/MENTION]s["enemybase"].bitmap.height/2 if [MENTION=24071]Sprite[/MENTION]s["enemybase"].bitmap!=nil
[MENTION=24071]Sprite[/MENTION]s["battlebg"].z=0
[MENTION=24071]Sprite[/MENTION]s["playerbase"].z=1
[MENTION=24071]Sprite[/MENTION]s["enemybase"].z=1
end
Aquí es donde los fondos y bases de batallas son definidas, ahora solo cambias las prioridades y condicionales a tu gusto.
Por ejemplo para que te salga el fondo de agua(water) cuando pescas, puedes colocar un condicional extra y cambiar el orden en que aparecen, puede ser algo así :
Código:
def pbBackdrop
environ=@battle.environment
# Choose backdrop
backdrop="Field"
#DAMOS PRIORIDAD A LOS ENCUENTROS EN AGUA
# Y AGREGAMOS UNA VARIABLE "$Pesca_bandera"
if environ==PBEnvironment::MovingWater || environ==PBEnvironment::StillWater || $Pesca_bandera
backdrop="Water"
elsif environ==PBEnvironment::Cave
backdrop="Cave"
elsif environ==PBEnvironment::Underwater
backdrop="Underwater"
Ahora en la sección
PItem_ItemEffects buscas los efectos de las cañas y es agregas la variable que activará el fondo de batalla de agua(water) para cada caña.
Código:
ItemHandlers::UseInField.add(:OLDROD,proc{|item|
terrain=Kernel.pbFacingTerrainTag
notCliff=$game_map.passable?($game_player.x,$game_player.y,$game_player.direction,$game_player)
if !PBTerrain.isWater?(terrain) || (!notCliff && !$PokemonGlobal.surfing)
Kernel.pbMessage(_INTL("Can't use that here."))
next 0
end
encounter=$PokemonEncounters.hasEncounter?(EncounterTypes::OldRod)
if pbFishing(encounter,1)
$Pesca_bandera=true
pbEncounter(EncounterTypes::OldRod)
$Pesca_bandera=false
end
next 1
})
ItemHandlers::UseInField.add(:GOODROD,proc{|item|
terrain=Kernel.pbFacingTerrainTag
notCliff=$game_map.passable?($game_player.x,$game_player.y,$game_player.direction,$game_player)
if !PBTerrain.isWater?(terrain) || (!notCliff && !$PokemonGlobal.surfing)
Kernel.pbMessage(_INTL("Can't use that here."))
next 0
end
encounter=$PokemonEncounters.hasEncounter?(EncounterTypes::GoodRod)
if pbFishing(encounter,2)
$Pesca_bandera=true
pbEncounter(EncounterTypes::GoodRod)
$Pesca_bandera=false
end
next 1
})
ItemHandlers::UseInField.add(:SUPERROD,proc{|item|
terrain=Kernel.pbFacingTerrainTag
notCliff=$game_map.passable?($game_player.x,$game_player.y,$game_player.direction,$game_player)
if !PBTerrain.isWater?(terrain) || (!notCliff && !$PokemonGlobal.surfing)
Kernel.pbMessage(_INTL("Can't use that here."))
next 0
end
encounter=$PokemonEncounters.hasEncounter?(EncounterTypes::SuperRod)
if pbFishing(encounter,3)
$Pesca_bandera=true
pbEncounter(EncounterTypes::SuperRod)
$Pesca_bandera=false
end
next 1
})
Si te das cuenta, la "active" ($Pesca_bandera=true)antes de que inicie el encuentro y "desactive" ($Pesca_bandera=false) después de que este acabe.
Si lo dejas así, cada vez que se de un encuentro de pesca el fondo de batalla y las bases serán como si estuvieras haciendo surf.
Pero en caso de que quieras que el fondo sea de agua(water) y las bases de suelo(Field) debido a que no estas en el agua sino pescando en la orilla, solo tienes que editar los condicionales para las bases, estas se encuentran en el mismos pbBackdrop solo que más abajo.
Código:
# Choose bases
base=""
trialname=""
#AQUI TE PONDRA LA BASE "enemybaseWaterCave" y "playerbaseWaterCave" si estas en una cueva o
#"enemybaseWaterField" y "player baseWaterField" para cuando pesques fuera.
if $Pesca_bandera
trialname="Field"
trialname="Cave" if environ==PBEnvironment::Cave
elsif environ==PBEnvironment::Grass || environ==PBEnvironment::TallGrass
trialname="Grass"
elsif environ==PBEnvironment::Sand
trialname="Sand"
elsif $PokemonGlobal.surfing
trialname="Water"
end
También puedes agregar otros condicionales para diferentes circunstancias, todo depende de lo que estés buscando hacer.
Saludos.