I'm using Falcao Pearl ABS:
https://www.rpgmakercentral.com/topic/8809-falcao-pearl-abs-liquid-v3-update/
In my game, I've been having trouble properly balancing the main weapon and the skills. The damage output tends to lean in one way or another where the skills are either too powerful and make the weapon redundant, too costly and never used, or the difference is negligible and skills are pointless. One of my friends suggested I gave the main weapon a special perk aside from that that makes it unique and useful. After trying a few things out, I thought maybe the main weapon can have a unique ability that allows the player to run and attack at the same time.
So after playing around with the script, I found the three areas that dictated the player movement behavior:
This stops the player.
def force_stopped?
return true if @anime_speed > 0 || @knockdown_data[0] > 0 ||
@stopped_movement > 0 || @hookshoting[0] || @angle_fx != 0.0
return true if @making_spiral
return false
end
This stops the running animation.
alias falcaopearl_update_anime_pattern update_anime_pattern
def update_anime_pattern
return if @anime_speed > 0 || @knockdown_data[0] > 0
falcaopearl_update_anime_pattern
end
This sets the character to a still frame while they use their tools.
if @anime_speed > 0
@Pattern = 0
@anime_speed -= 1
end
The player stopping is dependent on the animation speed. But I think there's an easy fix to this. If I made and condition "if animation speed is greater than 0 and the player is using something other than a weapon" then the player would be able to move freely while swinging their main weapon. I'm not familiar with Ruby, but I'm guessing it'd look something like this?
def force_stopped?
return true if
(@anime_speed > 0 && !toolplayerisusing.is_a?(RPG::Weapon)) || @knockdown_data[0] > 0 ||
@stopped_movement > 0 || @hookshoting[0] || @angle_fx != 0.0
return true if @making_spiral
return false
end
However, I don't know how to properly check if the current tool the player is using is a weapon or not. I was wondering if anyone with more coding experience could tell me the appropiate way to check? Thank you!