#===============================================================================
# Earthbound Confusion Walk Script
# Max
# rainkimahri@gmail.com
# This script will test to see if an Actor is confused, and, if so, it will
# change the controls for movement rotating them randomly.
#===============================================================================
class Game_Player < Game_Character
@maxtemp = 0
alias max_move_by_input :move_by_input
def move_by_input
return unless movable?
return if $game_map.interpreter.running?
#Here, 001 is the Actor ID of the
#party member I'm checking for confusion
if $game_actors.[](001).confusion?
case @maxtemp
when 0
case Input.dir4
when 2; move_down
when 4; move_left
when 6; move_right
when 8; move_up
end
when 1
case Input.dir4
when 4; move_down
when 8; move_left
when 2; move_right
when 6; move_up
end
when 2
case Input.dir4
when 8; move_down
when 6; move_left
when 4; move_right
when 2; move_up
end
when 3
case Input.dir4
when 6; move_down
when 2; move_left
when 8; move_right
when 4; move_up
end
end
if Input.dir4 != 0
#Here, 10 means 10% chance on player walk
#that the direction keys rotate
if rand(100) <= 10
@maxtemp = rand(4)
end
end
else
case Input.dir4
when 2; move_down
when 4; move_left
when 6; move_right
when 8; move_up
end
end
max_move_by_input
end
end
class Game_Battler
attr_accessor :hidden
alias max_confusion? :confusion?
def confusion?
return (not @hidden and restriction == 3)
max_confusion?
end
end
# Earthbound Confusion Walk Script
# Max
# rainkimahri@gmail.com
# This script will test to see if an Actor is confused, and, if so, it will
# change the controls for movement rotating them randomly.
#===============================================================================
class Game_Player < Game_Character
@maxtemp = 0
alias max_move_by_input :move_by_input
def move_by_input
return unless movable?
return if $game_map.interpreter.running?
#Here, 001 is the Actor ID of the
#party member I'm checking for confusion
if $game_actors.[](001).confusion?
case @maxtemp
when 0
case Input.dir4
when 2; move_down
when 4; move_left
when 6; move_right
when 8; move_up
end
when 1
case Input.dir4
when 4; move_down
when 8; move_left
when 2; move_right
when 6; move_up
end
when 2
case Input.dir4
when 8; move_down
when 6; move_left
when 4; move_right
when 2; move_up
end
when 3
case Input.dir4
when 6; move_down
when 2; move_left
when 8; move_right
when 4; move_up
end
end
if Input.dir4 != 0
#Here, 10 means 10% chance on player walk
#that the direction keys rotate
if rand(100) <= 10
@maxtemp = rand(4)
end
end
else
case Input.dir4
when 2; move_down
when 4; move_left
when 6; move_right
when 8; move_up
end
end
max_move_by_input
end
end
class Game_Battler
attr_accessor :hidden
alias max_confusion? :confusion?
def confusion?
return (not @hidden and restriction == 3)
max_confusion?
end
end