Oh yeah, forgot about that tidbit. I just opened up one of the dozens of projects on this computer and it happened to have that method already defined. Nice work figuring it out on your own
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
$game_map.events[@event_id].name.downcase == 'door'Quote from: Aunknown_Artist on July 14, 2026, 06:18:45 pmI don't know if you still update this script, but I was wondering if you could possibly consider adding the ability to animate battlebacks with effects in engine (such as swirl,scrolling, and wave effects) to achieve earthbound like battlebacks without having to hand make each frame.Tons will only get updated if there's any major bugs reported and Blizzard finds the time to do it.
[en-US]
1=Alex
2=Your name is \N[1]
test=\loc[2]
def request_damage_sprite(char, damage = nil)
# stop if no damage sprites flag
return if char.no_dmg_sprites
def request_damage_sprite(char, damage = nil)
return if $game_switches[1]
# stop if no damage sprites flag
return if char.no_dmg_sprites
def request_damage_sprite(char, damage = nil)
return if char.is_a?(Game_Player) && $game_switches[1]
# stop if no damage sprites flag
return if char.no_dmg_sprites
$game_party.actors.each {|a| a.reset_memory } # Make viewports
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 200
@viewport3.z = 5000
...
# Make character sprites
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
# Make weather
@weather = RPG::Weather.new(@viewport1)
# Make picture sprites
@picture_sprites = []
for i in 1..50
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures[i]))
end
class Scene_Battle
def rand_hits(value)
return value if value.is_a?(Integer)
return (rand(value.max - value.min + 1) + value.min)
end
def repeating_action?
return (@repeat[1] - @repeat[0] > 0)
end
alias update_phase4_step1_multi_hit_later update_phase4_step1
def update_phase4_step1(battler = nil)
if battler != nil
update_phase4_step1_multi_hit_later(battler)
return
end
update_phase4_step1_multi_hit_later
@repeat = [1, 1, 0]
return if @active_battler == nil || !$game_system.MULTI_HIT
if @active_battler.current_action.kind == 0
if @active_battler.current_action.basic == 0
if @active_battler.is_a?(Game_Actor)
hits = rand_hits(BlizzCFG.weapon_hits(@active_battler.weapon_id))
elsif @active_battler.is_a?(Game_Enemy)
hits = rand_hits(BlizzCFG.enemy_hits(@active_battler.id))
end
@repeat = [hits, hits, 2]
end
elsif @active_battler.current_action.kind == 1
@repeat[2] = 3
elsif @active_battler.current_action.kind == 2
@repeat[2] = 4
end
end
alias update_phase4_step2_multi_hit_later update_phase4_step2
def update_phase4_step2(battler = nil)
if battler != nil
update_phase4_step2_multi_hit_later(battler)
return
end
update_phase4_step2_multi_hit_later
return if !$game_system.MULTI_HIT
if @phase4_step != 1
if @repeat[2] == 3
hits = rand_hits(BlizzCFG.skill_hits(@skill.id))
@repeat = [hits, hits, 5]
elsif @repeat[2] == 4
hits = rand_hits(BlizzCFG.item_hits(@item.id))
@repeat = [hits, hits, 5]
end
end
if repeating_action?
unless BlizzCFG::SHOW_ANIMATION_PER_HIT
@animation1_id = 0
@animation2_id = 0
end
@help_window.visible = false
end
end
alias update_phase4_step3_multi_hit_later update_phase4_step3
def update_phase4_step3
update_phase4_step3_multi_hit_later
@active_battler.white_flash = false if repeating_action?
end
alias update_phase4_step4_multi_hit_later update_phase4_step4
def update_phase4_step4
update_phase4_step4_multi_hit_later
@wait_count = 0 if repeating_action? && !BlizzCFG::SHOW_ANIMATION_PER_HIT
end
alias update_phase4_step5_multi_hit_later update_phase4_step5
def update_phase4_step5(battler = nil)
if battler != nil
update_phase4_step5_multi_hit_later(battler)
return
end
update_phase4_step5_multi_hit_later
return if !$game_system.MULTI_HIT
if @active_battler.current_action.kind == 1
if BlizzCFG::SKILL_RANDOM.include?(@skill.id)
if @active_battler.is_a?(Game_Actor)
@active_battler.current_action.decide_random_target_for_actor
elsif @active_battler.is_a?(Game_Enemy)
@active_battler.current_action.decide_random_target_for_enemy
end
else
if @active_battler.is_a?(Game_Actor)
@active_battler.current_action.decide_last_target_for_actor
elsif @active_battler.is_a?(Game_Enemy)
@active_battler.current_action.decide_last_target_for_enemy
end
end
elsif @active_battler.current_action.kind == 2
if BlizzCFG::ITEM_RANDOM.include?(@item.id)
if @active_battler.is_a?(Game_Actor)
@active_battler.current_action.decide_random_target_for_actor
elsif @active_battler.is_a?(Game_Enemy)
@active_battler.current_action.decide_random_target_for_enemy
end
else
if @active_battler.is_a?(Game_Actor)
@active_battler.current_action.decide_last_target_for_actor
elsif @active_battler.is_a?(Game_Enemy)
@active_battler.current_action.decide_last_target_for_enemy
end
end
elsif @active_battler.is_a?(Game_Actor)
if BlizzCFG::WEAPON_RANDOM.include?(@active_battler.weapon_id)
@active_battler.current_action.decide_random_target_for_actor
else
@active_battler.current_action.decide_last_target_for_actor
end
elsif @active_battler.is_a?(Game_Enemy)
if BlizzCFG::ENEMY_RANDOM.include?(@active_battler.id)
@active_battler.current_action.decide_random_target_for_enemy
else
@active_battler.current_action.decide_last_target_for_enemy
end
end
@phase4_step = 2 if @repeat[0] > 1 && @repeat[2] > 0
@repeat[0] -= 1
end
alias make_skill_action_result_multi_hit_later make_skill_action_result
def make_skill_action_result(battler = nil, plus_id = nil)
if battler != nil
if plus_id != nil
make_skill_action_result_multi_hit_later(battler, plus_id)
else
make_skill_action_result_multi_hit_later(battler)
end
return
end
if @repeat[2] == 5
sp_cost = @skill.sp_cost
if $game_system.SP_COST_MOD
sp_cost = BlizzCFG.get_cost_mod(@active_battler.states, sp_cost)
end
@active_battler.sp += sp_cost
@status_window.refresh
end
make_skill_action_result_multi_hit_later
end
alias make_item_action_result_multi_hit_later make_item_action_result
def make_item_action_result
if @repeat[2] == 5
$game_party.gain_item(@item.id, 1)
@status_window.refresh
end
make_item_action_result_multi_hit_later
end
# Compatibility fix for LockeZ Sacrifice HP
if method_defined?(:sacrifice_hp)
alias sacrifice_hp_if_not_repeating sacrifice_hp
def sacrifice_hp(battler, action)
sacrifice_hp_if_not_repeating(battler, action) unless @repeat[2] == 5
end
end
end