Fixed dynamic shadows not disappearing after a transfer, fixed events not seeing the player at a distance if facing left, fixed crash when starting a battle against two trainers

This commit is contained in:
Maruno17
2021-04-28 23:25:35 +01:00
parent 17d1344e74
commit 1685bbc4d4
4 changed files with 12 additions and 6 deletions

View File

@@ -67,6 +67,7 @@ class Scene_Map
pbCancelVehicles($game_temp.player_new_map_id) if cancelVehicles
autofade($game_temp.player_new_map_id)
pbBridgeOff
@spritesetGlobal.playersprite.clearShadows
if $game_map.map_id!=$game_temp.player_new_map_id
$MapFactory.setup($game_temp.player_new_map_id)
end

View File

@@ -149,6 +149,11 @@ class Sprite_Character < RPG::Sprite
update
end
def clearShadows
@ombrelist.each { |s| s.dispose if s }
@ombrelist.clear
end
alias shadow_update update
def update

View File

@@ -369,7 +369,7 @@ def pbEventCanReachPlayer?(event, player, distance)
when 2 # Down
real_distance = player.y - event.y - 1
when 4 # Left
real_distance = event.x - player.x + 1
real_distance = event.x - player.x - 1
when 6 # Right
real_distance = player.x - event.x - event.width
when 8 # Up

View File

@@ -368,12 +368,12 @@ def pbTrainerBattleCore(*args)
foePartyStarts = []
for arg in args
raise _INTL("Expected an array of trainer data, got {1}.",arg) if !arg.is_a?(Array)
if arg.is_a?(NPCTrainer)
foeTrainers.push(arg)
if arg[0].is_a?(NPCTrainer)
foeTrainers.push(arg[0])
foePartyStarts.push(foeParty.length)
arg.party.each { |pkmn| foeParty.push(pkmn) }
foeEndSpeeches.push(arg.lose_text)
foeItems.push(arg.items)
arg[0].party.each { |pkmn| foeParty.push(pkmn) }
foeEndSpeeches.push(arg[0].lose_text)
foeItems.push(arg[0].items)
else
# [trainer type, trainer name, ID, speech (optional)]
trainer = pbLoadTrainer(arg[0],arg[1],arg[2])