From a80dd5adb215773c580aa68b588bd4d982966d19 Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Sat, 20 Apr 2024 18:29:48 +0100 Subject: [PATCH] Anim Editor: added Insert/Delete keyboard shortcuts --- .../901_Anim utilities/001_Anim utilities.rb | 10 +- .../902_Anim GameData/001_Animation.rb | 2 +- .../903_Anim Compiler/002_Anim writer.rb | 11 - .../904_Anim Editor/001_AnimationEditor.rb | 30 ++ .../904_Anim Editor/901_ParticleDataHelper.rb | 49 ++- .../Anim Editor elements/001_Canvas.rb | 4 +- .../Example anims/Common/ShadowSky.txt | 4 +- .../Example anims/Move/FLAMETHROWER.txt | 24 +- .../Example anims/Move/FURYATTACK.txt | 301 +++--------------- PBS/Animations/Example anims/Move/GROWL.txt | 10 +- PBS/Animations/Example anims/Move/GUST.txt | 66 ---- PBS/Animations/Example anims/Move/LEER.txt | 13 +- .../Example anims/Move/MEGADRAIN.txt | 10 +- .../Example anims/Move/POISONSTING.txt | 22 +- PBS/Animations/Example anims/Move/ROAR.txt | 10 +- .../Example anims/Move/WATERGUN.txt | 4 +- 16 files changed, 158 insertions(+), 412 deletions(-) diff --git a/Data/Scripts/901_Anim utilities/001_Anim utilities.rb b/Data/Scripts/901_Anim utilities/001_Anim utilities.rb index 83072c9ef..43ca7e7da 100644 --- a/Data/Scripts/901_Anim utilities/001_Anim utilities.rb +++ b/Data/Scripts/901_Anim utilities/001_Anim utilities.rb @@ -119,7 +119,7 @@ module Compiler next if value.nil? case schema[1][i, 1] when "e", "E" # Enumerable - enumer = schema[2 + i] + enumer = schema[2 + i - start] case enumer when Array file.write(enumer[value]) @@ -136,7 +136,7 @@ module Compiler end end when "y", "Y" # Enumerable or integer - enumer = schema[2 + i] + enumer = schema[2 + i - start] case enumer when Array file.write((enumer[value].nil?) ? value : enumer[value]) @@ -146,14 +146,14 @@ module Compiler when Module file.write(getConstantNameOrValue(enumer, value)) when Hash - hasenum = false + has_enum = false enumer.each_key do |key| next if enumer[key] != value file.write(key) - hasenum = true + has_enum = true break end - file.write(value) unless hasenum + file.write(value) if !has_enum end else if value.is_a?(String) diff --git a/Data/Scripts/902_Anim GameData/001_Animation.rb b/Data/Scripts/902_Anim GameData/001_Animation.rb index 7409726f8..12687a0f3 100644 --- a/Data/Scripts/902_Anim GameData/001_Animation.rb +++ b/Data/Scripts/902_Anim GameData/001_Animation.rb @@ -338,7 +338,7 @@ module GameData new_cmd = cmd.clone if @particles[index][:name] != "SE" && new_cmd[1] > 0 new_cmd.pop if new_cmd.last == :linear # This is the default - ret.push([@@cmd_to_pbs_name[key][1]] + new_cmd) # ["MoveXYZ", keyframe, duration, value] + ret.push([@@cmd_to_pbs_name[key][1]] + new_cmd) # ["MoveXYZ", keyframe, duration, value, interpolation] else case key when :se diff --git a/Data/Scripts/903_Anim Compiler/002_Anim writer.rb b/Data/Scripts/903_Anim Compiler/002_Anim writer.rb index 263c616ac..3370529b3 100644 --- a/Data/Scripts/903_Anim Compiler/002_Anim writer.rb +++ b/Data/Scripts/903_Anim Compiler/002_Anim writer.rb @@ -54,17 +54,6 @@ module Compiler f.write("\r\n") end # Write each particle in turn - element.particles.sort! do |a, b| - a_val = 0 - a_val = -2 if a[:name] == "User" - a_val = -1 if a[:name] == "Target" - a_val = 1 if a[:name] == "SE" - b_val = 0 - b_val = -2 if b[:name] == "User" - b_val = -1 if b[:name] == "Target" - b_val = 1 if b[:name] == "SE" - next a_val <=> b_val - end element.particles.each_with_index do |particle, i| # Write header f.write("<" + particle[:name] + ">") diff --git a/Data/Scripts/904_Anim Editor/001_AnimationEditor.rb b/Data/Scripts/904_Anim Editor/001_AnimationEditor.rb index 4c900b1f1..1cdb760e8 100644 --- a/Data/Scripts/904_Anim Editor/001_AnimationEditor.rb +++ b/Data/Scripts/904_Anim Editor/001_AnimationEditor.rb @@ -744,10 +744,40 @@ class AnimationEditor def update_input if Input.triggerex?(:S) + # Swap battler sides @settings[:user_opposes] = !@settings[:user_opposes] refresh elsif Input.triggerex?(:SPACE) + # Play animation @ready_to_play = true + elsif Input.triggerex?(:INSERT) + # Insert empty keyframe for selected particle or all particles + this_frame = keyframe + if this_frame >= 0 && this_frame < @components[:particle_list].duration + if Input.pressex?(:LSHIFT) || Input.pressex?(:RSHIFT) + @anim[:particles].each do |particle| + AnimationEditor::ParticleDataHelper.insert_frame(particle, this_frame) + end + else + AnimationEditor::ParticleDataHelper.insert_frame(@anim[:particles][particle_index], this_frame) + end + @components[:particle_list].set_particles(@anim[:particles]) + refresh + end + elsif Input.triggerex?(:DELETE) + # Delete keyframe for selected particle or all particles + this_frame = keyframe + if this_frame >= 0 && this_frame < @components[:particle_list].duration + if Input.pressex?(:LSHIFT) || Input.pressex?(:RSHIFT) + @anim[:particles].each do |particle| + AnimationEditor::ParticleDataHelper.remove_frame(particle, this_frame) + end + else + AnimationEditor::ParticleDataHelper.remove_frame(@anim[:particles][particle_index], this_frame) + end + @components[:particle_list].set_particles(@anim[:particles]) + refresh + end end end diff --git a/Data/Scripts/904_Anim Editor/901_ParticleDataHelper.rb b/Data/Scripts/904_Anim Editor/901_ParticleDataHelper.rb index 4867bbe26..674c10aa1 100644 --- a/Data/Scripts/904_Anim Editor/901_ParticleDataHelper.rb +++ b/Data/Scripts/904_Anim Editor/901_ParticleDataHelper.rb @@ -103,9 +103,9 @@ module AnimationEditor::ParticleDataHelper def get_particle_commands_timeline(particle) ret = [] durations = [] - particle.each_pair do |property, value| - next if !value.is_a?(Array) - value.each do |cmd| + particle.each_pair do |property, values| + next if !values.is_a?(Array) || values.empty? + values.each do |cmd| ret[cmd[0]] = true if cmd[1] > 0 ret[cmd[0] + cmd[1]] = true @@ -224,7 +224,7 @@ module AnimationEditor::ParticleDataHelper # * SetXYZ and MoveXYZ start - delete SetXYZ (leave MoveXYZ alone) # * SetXYZ and MoveXYZ end - (unlikely) delete both # * SetXYZ and MoveXYZ start and end - (unlikely) delete SetXYZ, merge Moves together - def delete_command(particle, property, frame) + def delete_command(particle, property, frame, full_delete = false) # Find all relevant commands set_now = nil move_ending_now = nil @@ -246,7 +246,7 @@ module AnimationEditor::ParticleDataHelper particle[property].delete(move_starting_now) elsif move_ending_now # Delete MoveXYZ ending now particle[property].delete(move_ending_now) - elsif move_starting_now && !set_now # Turn into SetXYZ at its end point + elsif move_starting_now && (full_delete || !set_now) # Turn into SetXYZ at its end point move_starting_now[0] += move_starting_now[1] move_starting_now[1] = 0 move_starting_now[3] = nil @@ -457,6 +457,45 @@ module AnimationEditor::ParticleDataHelper #----------------------------------------------------------------------------- + # Inserts an empty frame at the given frame. Delays all commands at or after + # the given frame by 1, and increases the duration of all commands that + # overlap the given frame. + def insert_frame(particle, frame) + particle.each_pair do |property, values| + next if !values.is_a?(Array) || values.empty? + values.each do |cmd| + if cmd[0] >= frame + cmd[0] += 1 + elsif cmd[0] < frame && cmd[0] + cmd[1] > frame + cmd[1] += 1 + end + end + end + end + + # Removes a frame at the given frame. Deletes all commands in that frame, then + # brings all commands after the given frame earlier by 1, and reduces the + # duration of all commands that overlap the given frame. + def remove_frame(particle, frame) + particle.keys.each do |property| + next if !particle[property].is_a?(Array) || particle[property].empty? + delete_command(particle, property, frame, true) + end + particle.delete_if { |property, values| values.is_a?(Array) && values.empty? } + particle.each_pair do |key, values| + next if !values.is_a?(Array) || values.empty? + values.each do |cmd| + if cmd[0] > frame + cmd[0] -= 1 + elsif cmd[0] < frame && cmd[0] + cmd[1] > frame + cmd[1] -= 1 + end + end + end + end + + #----------------------------------------------------------------------------- + # Creates a new particle and inserts it at index. If there is a particle above # the new one, the new particle will inherit its focus; otherwise it gets a # default focus of :foreground. diff --git a/Data/Scripts/904_Anim Editor/Anim Editor elements/001_Canvas.rb b/Data/Scripts/904_Anim Editor/Anim Editor elements/001_Canvas.rb index 280d05b5a..d42d41aa6 100644 --- a/Data/Scripts/904_Anim Editor/Anim Editor elements/001_Canvas.rb +++ b/Data/Scripts/904_Anim Editor/Anim Editor elements/001_Canvas.rb @@ -642,7 +642,7 @@ class AnimationEditor::Canvas < Sprite if GameData::Animation::FOCUS_TYPES_WITH_USER.include?(particle[:focus]) relative_to_index = user_index elsif GameData::Animation::FOCUS_TYPES_WITH_TARGET.include?(particle[:focus]) - relative_to_index = target_idx + relative_to_index = first_target_index end end new_pos *= -1 if relative_to_index >= 0 && relative_to_index.odd? && particle[:foe_invert_x] @@ -679,7 +679,7 @@ class AnimationEditor::Canvas < Sprite if GameData::Animation::FOCUS_TYPES_WITH_USER.include?(particle[:focus]) relative_to_index = user_index elsif GameData::Animation::FOCUS_TYPES_WITH_TARGET.include?(particle[:focus]) - relative_to_index = target_idx + relative_to_index = first_target_index end end new_pos *= -1 if relative_to_index >= 0 && relative_to_index.odd? && particle[:foe_invert_y] diff --git a/PBS/Animations/Example anims/Common/ShadowSky.txt b/PBS/Animations/Example anims/Common/ShadowSky.txt index b5feba8a8..aaba06e98 100644 --- a/PBS/Animations/Example anims/Common/ShadowSky.txt +++ b/PBS/Animations/Example anims/Common/ShadowSky.txt @@ -8,9 +8,9 @@ NoTarget = true Graphic = Examples/shadow sky Focus = Foreground SetOpacity = 0,0 - MoveOpacity = 0,5,255, + MoveOpacity = 0,5,255 SetOpacity = 5,255 SetOpacity = 15,255 - MoveOpacity = 15,5,0, + MoveOpacity = 15,5,0 SetOpacity = 20,0 diff --git a/PBS/Animations/Example anims/Move/FLAMETHROWER.txt b/PBS/Animations/Example anims/Move/FLAMETHROWER.txt index 4033a72a6..37e26bd4b 100644 --- a/PBS/Animations/Example anims/Move/FLAMETHROWER.txt +++ b/PBS/Animations/Example anims/Move/FLAMETHROWER.txt @@ -81,14 +81,10 @@ Name = Example anim [OppMove,FLAMETHROWER] Name = Example anim - SetX = 0,0 - SetY = 0,0 - SetX = 0,0 - SetY = 0,0 Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 0,2 SetX = 0,-3 SetY = 0,2 @@ -132,7 +128,7 @@ Name = Example anim SetVisible = 19,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 1,2 SetX = 1,-23 SetY = 1,9 @@ -169,7 +165,7 @@ Name = Example anim SetVisible = 18,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 2,2 SetX = 2,-42 SetY = 2,16 @@ -207,7 +203,7 @@ Name = Example anim SetVisible = 17,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 3,1 SetX = 3,-71 SetY = 3,24 @@ -242,7 +238,7 @@ Name = Example anim SetVisible = 16,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 4,1 SetX = 4,-85 SetY = 4,41 @@ -269,7 +265,7 @@ Name = Example anim SetVisible = 15,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 5,1 SetX = 5,-117 SetY = 5,38 @@ -291,7 +287,7 @@ Name = Example anim SetVisible = 14,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 6,1 SetX = 6,-146 SetY = 6,56 @@ -313,7 +309,7 @@ Name = Example anim SetVisible = 13,false Graphic = Examples/Flames - Focus = Target + Focus = User SetFrame = 8,1 SetX = 8,-195 SetY = 8,68 @@ -330,7 +326,7 @@ Name = Example anim SetVisible = 13,false Graphic = Examples/Flames - Focus = Target + Focus = User SetX = 9,-248 SetY = 9,98 SetZ = 9,35 @@ -339,7 +335,7 @@ Name = Example anim SetVisible = 11,false Graphic = Examples/Flames - Focus = Target + Focus = User SetX = 10,-262 SetY = 10,131 SetZ = 10,36 diff --git a/PBS/Animations/Example anims/Move/FURYATTACK.txt b/PBS/Animations/Example anims/Move/FURYATTACK.txt index f2871c4ec..4c5dd909f 100644 --- a/PBS/Animations/Example anims/Move/FURYATTACK.txt +++ b/PBS/Animations/Example anims/Move/FURYATTACK.txt @@ -238,289 +238,66 @@ Name = Example anim SetX = 0,0 SetY = 0,0 - - Graphic = Examples/003-Attack01 - Focus = User - SetX = 3,1 - SetY = 3,18 - SetZ = 3,27 - SetVisible = 4,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 3,5 - SetX = 3,40 - SetY = 3,-48 - SetZ = 3,28 - SetAngle = 3,180 - SetFrame = 4,6 - SetX = 4,78 - SetY = 4,-96 - SetFrame = 5,7 - SetX = 5,128 - SetY = 5,-157 - SetVisible = 6,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 4,1 - SetX = 4,199 - SetY = 4,-228 - SetZ = 4,27 - SetFrame = 5,2 - SetFrame = 6,1 - SetFrame = 7,2 Graphic = Examples/003-Attack01 Focus = UserAndTarget SetFrame = 0,5 SetX = 0,35 SetY = 0,-50 - SetZ = 0,27 SetAngle = 0,180 + MoveX = 0,3,182 + MoveY = 0,3,-207 SetFrame = 1,6 - SetX = 1,75 - SetY = 1,-92 SetFrame = 2,7 - SetX = 2,133 - SetY = 2,-167 - SetVisible = 3,false - - Play = 3,normaldamage,80 - Play = 5,normaldamage,80 -#------------------------------- -[OppMove,FURYATTACK,1] -Name = Example anim - - SetX = 0,0 - SetY = 0,0 - - SetX = 0,0 - SetY = 0,0 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 0,5 - SetX = 0,35 - SetY = 0,-50 - SetZ = 0,27 - SetAngle = 0,180 - SetFrame = 1,6 - SetX = 1,75 - SetY = 1,-92 - SetFrame = 2,7 - SetX = 2,133 - SetY = 2,-167 + SetX = 3,182 + SetY = 3,-207 SetVisible = 3,false Graphic = Examples/003-Attack01 - Focus = User - SetX = 3,1 - SetY = 3,18 - SetZ = 3,27 - SetVisible = 4,false + Focus = Target + SetFrame = 3,0 + SetFrame = 4,1 + SetFrame = 5,2 + SetZoomX = 5,100 + SetZoomY = 5,100 + SetOpacity = 5,255 + MoveZoomX = 5,2,125 + MoveZoomY = 5,2,125 + MoveOpacity = 5,2,0 + SetZoomX = 7,125 + SetZoomY = 7,125 + SetVisible = 7,false + SetOpacity = 7,0 Graphic = Examples/003-Attack01 Focus = UserAndTarget SetFrame = 3,5 - SetX = 3,40 - SetY = 3,-48 - SetZ = 3,28 + SetX = 3,35 + SetY = 3,-50 SetAngle = 3,180 + MoveX = 3,3,182 + MoveY = 3,3,-207 SetFrame = 4,6 - SetX = 4,78 - SetY = 4,-96 SetFrame = 5,7 - SetX = 5,128 - SetY = 5,-157 + SetX = 6,182 + SetY = 6,-207 SetVisible = 6,false Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 4,1 - SetX = 4,199 - SetY = 4,-228 - SetZ = 4,27 - SetFrame = 5,2 - SetFrame = 6,1 - SetFrame = 7,2 + Focus = Target + SetFrame = 6,0 + SetFrame = 7,1 + SetFrame = 8,2 + SetZoomX = 8,100 + SetZoomY = 8,100 + SetOpacity = 8,255 + MoveZoomX = 8,2,125 + MoveZoomY = 8,2,125 + MoveOpacity = 8,2,0 + SetZoomX = 10,125 + SetZoomY = 10,125 + SetVisible = 10,false + SetOpacity = 10,0 Play = 3,normaldamage,80 - Play = 5,normaldamage,80 -#------------------------------- -[OppMove,FURYATTACK,2] -Name = Example anim - - SetX = 0,0 - SetY = 0,0 - - SetX = 0,0 - SetY = 0,0 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 4,1 - SetX = 4,199 - SetY = 4,-228 - SetZ = 4,27 - SetFrame = 5,2 - SetFrame = 6,1 - SetFrame = 7,2 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 0,5 - SetX = 0,35 - SetY = 0,-50 - SetZ = 0,27 - SetAngle = 0,180 - SetFrame = 1,6 - SetX = 1,75 - SetY = 1,-92 - SetFrame = 2,7 - SetX = 2,133 - SetY = 2,-167 - SetVisible = 3,false - - Graphic = Examples/003-Attack01 - Focus = User - SetX = 3,1 - SetY = 3,18 - SetZ = 3,27 - SetVisible = 4,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 3,5 - SetX = 3,40 - SetY = 3,-48 - SetZ = 3,28 - SetAngle = 3,180 - SetFrame = 4,6 - SetX = 4,78 - SetY = 4,-96 - SetFrame = 5,7 - SetX = 5,128 - SetY = 5,-157 - SetVisible = 6,false - - Play = 3,normaldamage,80 - Play = 5,normaldamage,80 -#------------------------------- -[OppMove,FURYATTACK,3] -Name = Example anim - - SetX = 0,0 - SetY = 0,0 - - SetX = 0,0 - SetY = 0,0 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 3,5 - SetX = 3,40 - SetY = 3,-48 - SetZ = 3,28 - SetAngle = 3,180 - SetFrame = 4,6 - SetX = 4,78 - SetY = 4,-96 - SetFrame = 5,7 - SetX = 5,128 - SetY = 5,-157 - SetVisible = 6,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 4,1 - SetX = 4,199 - SetY = 4,-228 - SetZ = 4,27 - SetFrame = 5,2 - SetFrame = 6,1 - SetFrame = 7,2 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 0,5 - SetX = 0,35 - SetY = 0,-50 - SetZ = 0,27 - SetAngle = 0,180 - SetFrame = 1,6 - SetX = 1,75 - SetY = 1,-92 - SetFrame = 2,7 - SetX = 2,133 - SetY = 2,-167 - SetVisible = 3,false - - Graphic = Examples/003-Attack01 - Focus = User - SetX = 3,1 - SetY = 3,18 - SetZ = 3,27 - SetVisible = 4,false - - Play = 3,normaldamage,80 - Play = 5,normaldamage,80 -#------------------------------- -[OppMove,FURYATTACK,4] -Name = Example anim - - SetX = 0,0 - SetY = 0,0 - - SetX = 0,0 - SetY = 0,0 - - Graphic = Examples/003-Attack01 - Focus = User - SetX = 3,1 - SetY = 3,18 - SetZ = 3,27 - SetVisible = 4,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 3,5 - SetX = 3,40 - SetY = 3,-48 - SetZ = 3,28 - SetAngle = 3,180 - SetFrame = 4,6 - SetX = 4,78 - SetY = 4,-96 - SetFrame = 5,7 - SetX = 5,128 - SetY = 5,-157 - SetVisible = 6,false - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 4,1 - SetX = 4,199 - SetY = 4,-228 - SetZ = 4,27 - SetFrame = 5,2 - SetFrame = 6,1 - SetFrame = 7,2 - - Graphic = Examples/003-Attack01 - Focus = UserAndTarget - SetFrame = 0,5 - SetX = 0,35 - SetY = 0,-50 - SetZ = 0,27 - SetAngle = 0,180 - SetFrame = 1,6 - SetX = 1,75 - SetY = 1,-92 - SetFrame = 2,7 - SetX = 2,133 - SetY = 2,-167 - SetVisible = 3,false - - Play = 3,normaldamage,80 - Play = 5,normaldamage,80 + Play = 6,normaldamage,80 diff --git a/PBS/Animations/Example anims/Move/GROWL.txt b/PBS/Animations/Example anims/Move/GROWL.txt index 545daedc2..2f5b88c14 100644 --- a/PBS/Animations/Example anims/Move/GROWL.txt +++ b/PBS/Animations/Example anims/Move/GROWL.txt @@ -70,14 +70,10 @@ Name = Example anim [OppMove,GROWL] Name = Example anim - SetX = 0,0 - SetY = 0,0 - SetX = 0,0 - SetY = 0,0 Graphic = Examples/Growl - Focus = Target + Focus = User SetFrame = 0,1 SetFlip = 0,true SetX = 0,-58 @@ -99,7 +95,7 @@ Name = Example anim SetY = 7,-36 Graphic = Examples/Growl - Focus = Target + Focus = User SetFrame = 0,1 SetX = 0,-58 SetY = 0,39 @@ -120,7 +116,7 @@ Name = Example anim SetY = 7,77 Graphic = Examples/Growl - Focus = Target + Focus = User SetFlip = 0,true SetX = 0,-58 SetY = 0,14 diff --git a/PBS/Animations/Example anims/Move/GUST.txt b/PBS/Animations/Example anims/Move/GUST.txt index 006d8754d..5e87b6350 100644 --- a/PBS/Animations/Example anims/Move/GUST.txt +++ b/PBS/Animations/Example anims/Move/GUST.txt @@ -63,69 +63,3 @@ Name = Example anim Play = 0,gust,80,82 Play = 21,hit,80 -#------------------------------- -[OppMove,GUST] -Name = Example anim - - SetX = 0,0 - SetY = 0,0 - - SetX = 0,0 - SetY = 0,0 - - Graphic = Examples/Gust - Focus = Target - SetX = 0,-256 - SetY = 0,133 - SetZ = 0,27 - SetZoomX = 0,200 - SetZoomY = 0,200 - SetX = 1,-240 - SetX = 2,-224 - SetY = 2,131 - SetX = 3,-208 - SetX = 4,-200 - SetY = 4,123 - SetFlip = 5,true - SetX = 5,-195 - SetY = 5,119 - SetX = 6,-200 - SetY = 6,111 - SetX = 7,-212 - SetY = 7,103 - SetX = 8,-220 - SetY = 8,99 - SetX = 9,-240 - SetY = 9,97 - SetFlip = 10,false - SetX = 10,-255 - SetX = 11,-266 - SetY = 11,99 - SetX = 12,-280 - SetY = 12,101 - SetX = 13,-288 - SetY = 13,103 - SetX = 14,-308 - SetY = 14,107 - SetFlip = 15,true - SetX = 15,-320 - SetY = 15,115 - SetX = 16,-312 - SetY = 16,123 - SetX = 17,-306 - SetY = 17,127 - SetX = 18,-296 - SetY = 18,131 - SetX = 19,-282 - SetFlip = 20,false - SetX = 20,-255 - SetY = 20,130 - SetFrame = 21,1 - SetX = 21,-256 - SetY = 21,126 - SetOpacity = 21,150 - SetOpacity = 22,255 - SetOpacity = 25,150 - - Play = 0,gust,80,82 - Play = 21,hit,80 diff --git a/PBS/Animations/Example anims/Move/LEER.txt b/PBS/Animations/Example anims/Move/LEER.txt index 83e86cee5..3ea45e950 100644 --- a/PBS/Animations/Example anims/Move/LEER.txt +++ b/PBS/Animations/Example anims/Move/LEER.txt @@ -38,20 +38,13 @@ Name = Example anim SetY = 0,0 Graphic = Examples/leer - Focus = UserAndTarget - SetX = 0,26 - SetY = 0,26 + Focus = User + SetX = 0,-39 + SetY = 0,-26 SetZ = 0,27 SetFrame = 1,1 - SetY = 1,29 SetFrame = 2,2 - SetX = 2,25 - SetY = 2,32 SetFrame = 3,3 - SetX = 3,28 - SetY = 3,29 SetFrame = 4,4 - SetX = 4,21 - SetY = 4,32 Play = 0,Saint9 diff --git a/PBS/Animations/Example anims/Move/MEGADRAIN.txt b/PBS/Animations/Example anims/Move/MEGADRAIN.txt index 5e82ee3be..35acf3c6e 100644 --- a/PBS/Animations/Example anims/Move/MEGADRAIN.txt +++ b/PBS/Animations/Example anims/Move/MEGADRAIN.txt @@ -237,7 +237,7 @@ Name = Example anim SetVisible = 8,false Graphic = Examples/leech-seed - Focus = UserAndTarget + Focus = User SetFrame = 9,10 SetX = 9,-8 SetY = 9,-1 @@ -267,7 +267,7 @@ Name = Example anim SetY = 19,25 Graphic = Examples/leech-seed - Focus = UserAndTarget + Focus = User SetFrame = 10,10 SetX = 10,11 SetY = 10,26 @@ -295,7 +295,7 @@ Name = Example anim SetVisible = 19,false Graphic = Examples/leech-seed - Focus = UserAndTarget + Focus = User SetFrame = 11,10 SetX = 11,-11 SetY = 11,37 @@ -319,7 +319,7 @@ Name = Example anim SetVisible = 18,false Graphic = Examples/leech-seed - Focus = UserAndTarget + Focus = User SetFrame = 12,10 SetX = 12,14 SetY = 12,-48 @@ -338,7 +338,7 @@ Name = Example anim SetVisible = 17,false Graphic = Examples/leech-seed - Focus = UserAndTarget + Focus = User SetFrame = 13,10 SetX = 13,-11 SetY = 13,14 diff --git a/PBS/Animations/Example anims/Move/POISONSTING.txt b/PBS/Animations/Example anims/Move/POISONSTING.txt index 209ff1072..7076f226c 100644 --- a/PBS/Animations/Example anims/Move/POISONSTING.txt +++ b/PBS/Animations/Example anims/Move/POISONSTING.txt @@ -40,18 +40,13 @@ Name = Example anim [OppMove,POISONSTING] Name = Example anim - SetX = 0,0 - SetY = 0,0 - SetX = 0,0 - SetY = 0,0 Graphic = Examples/003-Attack01 Focus = UserAndTarget SetFrame = 0,5 SetX = 0,25 SetY = 0,-67 - SetZ = 0,27 SetAngle = 0,180 SetX = 1,50 SetY = 1,-90 @@ -67,14 +62,15 @@ Name = Example anim SetY = 5,-179 SetX = 6,175 SetY = 6,-203 - SetFrame = 7,9 - SetX = 7,204 - SetY = 7,-195 - SetAngle = 7,0 - SetFrame = 8,3 - SetX = 8,200 - SetY = 8,-218 - SetFrame = 9,4 + SetVisible = 6,false + + Graphic = Examples/003-Attack01 + Focus = Target + SetFrame = 6,3 + SetVisible = 6,true + SetFrame = 7,4 + SetFrame = 8,2 + SetFrame = 9,2 Play = 0,throw,80 Play = 6,Slash10,80 diff --git a/PBS/Animations/Example anims/Move/ROAR.txt b/PBS/Animations/Example anims/Move/ROAR.txt index ccd10004f..6cf93c9e6 100644 --- a/PBS/Animations/Example anims/Move/ROAR.txt +++ b/PBS/Animations/Example anims/Move/ROAR.txt @@ -60,14 +60,10 @@ Name = Example anim [OppMove,ROAR] Name = Example anim - SetX = 0,0 - SetY = 0,0 - SetX = 0,0 - SetY = 0,0 Graphic = Examples/Growl - Focus = Target + Focus = User SetFrame = 0,1 SetFlip = 0,true SetX = 0,-32 @@ -81,7 +77,7 @@ Name = Example anim SetY = 3,-61 Graphic = Examples/Growl - Focus = Target + Focus = User SetFrame = 0,1 SetX = 0,-32 SetY = 0,36 @@ -94,7 +90,7 @@ Name = Example anim SetY = 3,104 Graphic = Examples/Growl - Focus = Target + Focus = User SetFlip = 0,true SetX = 0,-40 SetY = 0,4 diff --git a/PBS/Animations/Example anims/Move/WATERGUN.txt b/PBS/Animations/Example anims/Move/WATERGUN.txt index 7298923c7..608706d27 100644 --- a/PBS/Animations/Example anims/Move/WATERGUN.txt +++ b/PBS/Animations/Example anims/Move/WATERGUN.txt @@ -225,7 +225,7 @@ Name = Example anim SetVisible = 9,false Graphic = Examples/fly copy - Focus = User + Focus = Target SetFrame = 8,6 SetX = 8,0 SetY = 8,-4 @@ -234,7 +234,7 @@ Name = Example anim SetVisible = 9,false Graphic = Examples/fly copy - Focus = User + Focus = Target SetFrame = 9,6 SetX = 9,1 SetY = 9,-4