mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fixed Event Touch not working, fixed misnamed variables in module Effectiveness
This commit is contained in:
@@ -498,15 +498,13 @@ class Game_Character
|
||||
|
||||
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 can_move_in_direction?(dir)
|
||||
turn_generic(dir)
|
||||
@x += x_offset
|
||||
@y += y_offset
|
||||
@x += (dir == 4) ? -1 : (dir == 6) ? 1 : 0
|
||||
@y += (dir == 8) ? -1 : (dir == 2) ? 1 : 0
|
||||
increase_steps
|
||||
else
|
||||
check_event_trigger_touch(@x + x_offset, @y + y_offset)
|
||||
check_event_trigger_touch(dir)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -149,10 +149,20 @@ class Game_Event < Game_Character
|
||||
end
|
||||
end
|
||||
|
||||
def check_event_trigger_touch(check_x, check_y)
|
||||
def check_event_trigger_touch(dir)
|
||||
return if $game_system.map_interpreter.running?
|
||||
return if @trigger != 2 # Event touch
|
||||
return if !at_coordinate?(check_x, check_y)
|
||||
case dir
|
||||
when 2
|
||||
return if $game_player.y != @y + 1
|
||||
when 4
|
||||
return if $game_player.x != @x - 1
|
||||
when 6
|
||||
return if $game_player.x != @x + @width
|
||||
when 8
|
||||
return if $game_player.y != @y - @height
|
||||
end
|
||||
return if !in_line_with_coordinate?($game_player.x, $game_player.y)
|
||||
return if jumping? || over_trigger?
|
||||
start
|
||||
end
|
||||
|
||||
@@ -70,9 +70,9 @@ class Game_Player < Game_Character
|
||||
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 can_move_in_direction?(dir)
|
||||
x_offset = (dir == 4) ? -1 : (dir == 6) ? 1 : 0
|
||||
y_offset = (dir == 8) ? -1 : (dir == 2) ? 1 : 0
|
||||
return if pbLedge(x_offset, y_offset)
|
||||
return if pbEndSurf(x_offset, y_offset)
|
||||
turn_generic(dir, true)
|
||||
@@ -82,10 +82,8 @@ class Game_Player < Game_Character
|
||||
$PokemonTemp.dependentEvents.pbMoveDependentEvents
|
||||
increase_steps
|
||||
end
|
||||
else
|
||||
if !check_event_trigger_touch(@x + x_offset, @y + y_offset)
|
||||
bump_into_object
|
||||
end
|
||||
elsif !check_event_trigger_touch(dir)
|
||||
bump_into_object
|
||||
end
|
||||
end
|
||||
$PokemonTemp.encounterTriggered = false
|
||||
@@ -312,14 +310,16 @@ class Game_Player < Game_Character
|
||||
#-----------------------------------------------------------------------------
|
||||
# * Touch Event Starting Determinant
|
||||
#-----------------------------------------------------------------------------
|
||||
def check_event_trigger_touch(x, y)
|
||||
def check_event_trigger_touch(dir)
|
||||
result = false
|
||||
# If event is running
|
||||
return result if $game_system.map_interpreter.running?
|
||||
# All event loops
|
||||
x_offset = (dir == 4) ? -1 : (dir == 6) ? 1 : 0
|
||||
y_offset = (dir == 8) ? -1 : (dir == 2) ? 1 : 0
|
||||
for event in $game_map.events.values
|
||||
next if ![1, 2].include?(event.trigger) # Player touch, event touch
|
||||
# If event coordinates and triggers are consistent
|
||||
next if !event.at_coordinate?(x, y)
|
||||
next if !event.at_coordinate?(@x + x_offset, @y + y_offset)
|
||||
if event.name[/trainer\((\d+)\)/i]
|
||||
distance = $~[1].to_i
|
||||
next if !pbEventCanReachPlayer?(event,self,distance)
|
||||
@@ -327,7 +327,6 @@ class Game_Player < Game_Character
|
||||
distance = $~[1].to_i
|
||||
next if !pbEventFacesPlayer?(event,self,distance)
|
||||
end
|
||||
next if ![1,2].include?(event.trigger)
|
||||
# If starting determinant is front event (other than jumping)
|
||||
next if event.jumping? || event.over_trigger?
|
||||
event.start
|
||||
|
||||
@@ -89,27 +89,27 @@ module Effectiveness
|
||||
end
|
||||
|
||||
def ineffective_type?(attack_type, defend_type1, defend_type2 = nil, defend_type3 = nil)
|
||||
value = calculate(attack_type, target_type1, target_type2, target_type3)
|
||||
value = calculate(attack_type, defend_type1, defend_type2, defend_type3)
|
||||
return ineffective?(value)
|
||||
end
|
||||
|
||||
def not_very_effective_type?(attack_type, defend_type1, defend_type2 = nil, defend_type3 = nil)
|
||||
value = calculate(attack_type, target_type1, target_type2, target_type3)
|
||||
value = calculate(attack_type, defend_type1, defend_type2, defend_type3)
|
||||
return not_very_effective?(value)
|
||||
end
|
||||
|
||||
def resistant_type?(attack_type, defend_type1, defend_type2 = nil, defend_type3 = nil)
|
||||
value = calculate(attack_type, target_type1, target_type2, target_type3)
|
||||
value = calculate(attack_type, defend_type1, defend_type2, defend_type3)
|
||||
return resistant?(value)
|
||||
end
|
||||
|
||||
def normal_type?(attack_type, defend_type1, defend_type2 = nil, defend_type3 = nil)
|
||||
value = calculate(attack_type, target_type1, target_type2, target_type3)
|
||||
value = calculate(attack_type, defend_type1, defend_type2, defend_type3)
|
||||
return normal?(value)
|
||||
end
|
||||
|
||||
def super_effective_type?(attack_type, defend_type1, defend_type2 = nil, defend_type3 = nil)
|
||||
value = calculate(attack_type, target_type1, target_type2, target_type3)
|
||||
value = calculate(attack_type, defend_type1, defend_type2, defend_type3)
|
||||
return super_effective?(value)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user