mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fixed X items being unusable by AI, finally fixed step after battle caused by a turn
This commit is contained in:
@@ -265,8 +265,6 @@ class Game_Character
|
||||
@pattern = 0 if @walk_anime or @step_anime
|
||||
@anime_count = 0
|
||||
@prelock_direction = 0
|
||||
@moved_last_frame = false
|
||||
@moved_this_frame = false
|
||||
end
|
||||
|
||||
def force_move_route(move_route)
|
||||
@@ -434,48 +432,34 @@ class Game_Character
|
||||
end
|
||||
end
|
||||
|
||||
def move_up(turn_enabled = true)
|
||||
turn_up if turn_enabled
|
||||
if passable?(@x, @y, 8)
|
||||
turn_up
|
||||
@y -= 1
|
||||
def move_generic(dir, turn_enabled = true)
|
||||
turn_generic(dir) if turn_enabled
|
||||
x_offset = (dir == 4) ? -1 : (dir == 6) ? 1 : 0
|
||||
y_offset = (dir == 8) ? -1 : (dir == 2) ? 1 : 0
|
||||
if passable?(@x, @y, dir)
|
||||
turn_generic(dir)
|
||||
@x += x_offset
|
||||
@y += y_offset
|
||||
increase_steps
|
||||
else
|
||||
check_event_trigger_touch(@x, @y-1)
|
||||
check_event_trigger_touch(@x + x_offset, @y + y_offset)
|
||||
end
|
||||
end
|
||||
|
||||
def move_down(turn_enabled = true)
|
||||
turn_down if turn_enabled
|
||||
if passable?(@x, @y, 2)
|
||||
turn_down
|
||||
@y += 1
|
||||
increase_steps
|
||||
else
|
||||
check_event_trigger_touch(@x, @y+1)
|
||||
end
|
||||
move_generic(2, turn_enabled)
|
||||
end
|
||||
|
||||
def move_left(turn_enabled = true)
|
||||
turn_left if turn_enabled
|
||||
if passable?(@x, @y, 4)
|
||||
turn_left
|
||||
@x -= 1
|
||||
increase_steps
|
||||
else
|
||||
check_event_trigger_touch(@x-1, @y)
|
||||
end
|
||||
move_generic(4, turn_enabled)
|
||||
end
|
||||
|
||||
def move_right(turn_enabled = true)
|
||||
turn_right if turn_enabled
|
||||
if passable?(@x, @y, 6)
|
||||
turn_right
|
||||
@x += 1
|
||||
increase_steps
|
||||
else
|
||||
check_event_trigger_touch(@x+1, @y)
|
||||
move_generic(6, turn_enabled)
|
||||
end
|
||||
|
||||
def move_up(turn_enabled = true)
|
||||
move_generic(8, turn_enabled)
|
||||
end
|
||||
|
||||
def move_upper_left
|
||||
@@ -698,7 +682,7 @@ class Game_Character
|
||||
end
|
||||
end
|
||||
|
||||
def turnGeneric(dir)
|
||||
def turn_generic(dir)
|
||||
return if @direction_fix
|
||||
oldDirection = @direction
|
||||
@direction = dir
|
||||
@@ -706,10 +690,10 @@ class Game_Character
|
||||
pbCheckEventTriggerAfterTurning if dir != oldDirection
|
||||
end
|
||||
|
||||
def turn_up; turnGeneric(8); end
|
||||
def turn_down; turnGeneric(2); end
|
||||
def turn_left; turnGeneric(4); end
|
||||
def turn_right; turnGeneric(6); end
|
||||
def turn_down; turn_generic(2); end
|
||||
def turn_left; turn_generic(4); end
|
||||
def turn_right; turn_generic(6); end
|
||||
def turn_up; turn_generic(8); end
|
||||
|
||||
def turn_right_90
|
||||
case @direction
|
||||
|
||||
@@ -64,75 +64,36 @@ class Game_Player < Game_Character
|
||||
@bump_se = Graphics.frame_rate/4
|
||||
end
|
||||
|
||||
def move_down(turn_enabled = true)
|
||||
turn_down if turn_enabled
|
||||
if passable?(@x, @y, 2)
|
||||
return if pbLedge(0,1)
|
||||
return if pbEndSurf(0,1)
|
||||
turn_down
|
||||
@y += 1
|
||||
def move_generic(dir, turn_enabled = true)
|
||||
turn_generic(dir, true) if turn_enabled
|
||||
if !$PokemonTemp.encounterTriggered
|
||||
x_offset = (dir == 4) ? -1 : (dir == 6) ? 1 : 0
|
||||
y_offset = (dir == 8) ? -1 : (dir == 2) ? 1 : 0
|
||||
if passable?(@x, @y, dir)
|
||||
return if pbLedge(x_offset, y_offset)
|
||||
return if pbEndSurf(x_offset, y_offset)
|
||||
turn_generic(dir, true)
|
||||
if !$PokemonTemp.encounterTriggered
|
||||
@x += x_offset
|
||||
@y += y_offset
|
||||
$PokemonTemp.dependentEvents.pbMoveDependentEvents
|
||||
increase_steps
|
||||
end
|
||||
else
|
||||
if !check_event_trigger_touch(@x, @y+1)
|
||||
if !check_event_trigger_touch(@x + x_offset, @y + y_offset)
|
||||
bump_into_object
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def move_left(turn_enabled = true)
|
||||
turn_left if turn_enabled
|
||||
if passable?(@x, @y, 4)
|
||||
return if pbLedge(-1,0)
|
||||
return if pbEndSurf(-1,0)
|
||||
turn_left
|
||||
@x -= 1
|
||||
$PokemonTemp.dependentEvents.pbMoveDependentEvents
|
||||
increase_steps
|
||||
else
|
||||
if !check_event_trigger_touch(@x-1, @y)
|
||||
bump_into_object
|
||||
end
|
||||
end
|
||||
$PokemonTemp.encounterTriggered = false
|
||||
end
|
||||
|
||||
def move_right(turn_enabled = true)
|
||||
turn_right if turn_enabled
|
||||
if passable?(@x, @y, 6)
|
||||
return if pbLedge(1,0)
|
||||
return if pbEndSurf(1,0)
|
||||
turn_right
|
||||
@x += 1
|
||||
$PokemonTemp.dependentEvents.pbMoveDependentEvents
|
||||
increase_steps
|
||||
else
|
||||
if !check_event_trigger_touch(@x+1, @y)
|
||||
bump_into_object
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def move_up(turn_enabled = true)
|
||||
turn_up if turn_enabled
|
||||
if passable?(@x, @y, 8)
|
||||
return if pbLedge(0,-1)
|
||||
return if pbEndSurf(0,-1)
|
||||
turn_up
|
||||
@y -= 1
|
||||
$PokemonTemp.dependentEvents.pbMoveDependentEvents
|
||||
increase_steps
|
||||
else
|
||||
if !check_event_trigger_touch(@x, @y-1)
|
||||
bump_into_object
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def turnGeneric(dir)
|
||||
def turn_generic(dir, keep_enc_indicator = false)
|
||||
old_direction = @direction
|
||||
super
|
||||
if @direction != old_direction && !@move_route_forcing && !pbMapInterpreterRunning?
|
||||
Events.onChangeDirection.trigger(self, self)
|
||||
$PokemonTemp.encounterTriggered = false if !keep_enc_indicator
|
||||
end
|
||||
end
|
||||
|
||||
@@ -170,8 +131,7 @@ class Game_Player < Game_Character
|
||||
return result
|
||||
end
|
||||
|
||||
def pbCheckEventTriggerAfterTurning
|
||||
end
|
||||
def pbCheckEventTriggerAfterTurning; end
|
||||
|
||||
def pbCheckEventTriggerFromDistance(triggers)
|
||||
ret = pbTriggeredTrainerEvents(triggers)
|
||||
@@ -385,17 +345,18 @@ class Game_Player < Game_Character
|
||||
|
||||
def update_command_new
|
||||
dir = Input.dir4
|
||||
unless pbMapInterpreterRunning? or $game_temp.message_window_showing or
|
||||
$PokemonTemp.miniupdate or $game_temp.in_menu
|
||||
unless pbMapInterpreterRunning? || $game_temp.message_window_showing ||
|
||||
$PokemonTemp.miniupdate || $game_temp.in_menu
|
||||
# Move player in the direction the directional button is being pressed
|
||||
if @moved_last_frame || (dir==@lastdir && Graphics.frame_count-@lastdirframe>Graphics.frame_rate/20)
|
||||
if @moved_last_frame ||
|
||||
(dir > 0 && dir == @lastdir && Graphics.frame_count - @lastdirframe > Graphics.frame_rate / 20)
|
||||
case dir
|
||||
when 2; move_down
|
||||
when 4; move_left
|
||||
when 6; move_right
|
||||
when 8; move_up
|
||||
end
|
||||
elsif dir!=@lastdir
|
||||
elsif dir != @lastdir
|
||||
case dir
|
||||
when 2; turn_down
|
||||
when 4; turn_left
|
||||
@@ -405,7 +366,7 @@ class Game_Player < Game_Character
|
||||
end
|
||||
end
|
||||
# Record last direction input
|
||||
@lastdirframe = Graphics.frame_count if dir!=@lastdir
|
||||
@lastdirframe = Graphics.frame_count if dir != @lastdir
|
||||
@lastdir = dir
|
||||
end
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ class PokeBattle_Battle
|
||||
end
|
||||
end
|
||||
|
||||
# Uses an item on a Pokémon in the player's party.
|
||||
# Uses an item on a Pokémon in the trainer's party.
|
||||
def pbUseItemOnPokemon(item,idxParty,userBattler)
|
||||
trainerName = pbGetOwnerName(userBattler.index)
|
||||
pbUseItemMessage(item,trainerName)
|
||||
@@ -100,14 +100,14 @@ class PokeBattle_Battle
|
||||
pbReturnUnusedItemToBag(item,userBattler.index)
|
||||
end
|
||||
|
||||
# Uses an item on a Pokémon in battle that belongs to the player.
|
||||
def pbUseItemOnBattler(item,idxParty,userBattler)
|
||||
# Uses an item on a Pokémon in battle that belongs to the trainer.
|
||||
def pbUseItemOnBattler(item,idxBattler,userBattler)
|
||||
trainerName = pbGetOwnerName(userBattler.index)
|
||||
pbUseItemMessage(item,trainerName)
|
||||
pkmn = pbParty(userBattler.index)[idxParty]
|
||||
battler = pbFindBattler(idxParty,userBattler.index)
|
||||
idxBattler = userBattler.index if idxBattler<0
|
||||
battler = @battlers[idxBattler]
|
||||
ch = @choices[userBattler.index]
|
||||
if ItemHandlers.triggerCanUseInBattle(item,pkmn,battler,ch[3],true,self,@scene,false)
|
||||
if ItemHandlers.triggerCanUseInBattle(item,battler.pokemon,battler,ch[3],true,self,@scene,false)
|
||||
ItemHandlers.triggerBattleUseOnBattler(item,battler,@scene)
|
||||
ch[1] = 0 # Delete item from choice
|
||||
return
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -11,6 +11,7 @@ end
|
||||
|
||||
|
||||
class PokemonTemp
|
||||
attr_accessor :encounterTriggered
|
||||
attr_accessor :encounterType
|
||||
attr_accessor :evolutionLevels
|
||||
|
||||
|
||||
Reference in New Issue
Block a user