Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Hey there.

This appears to be an issue with a change I implemented a while back. Originally I had modified the actor.isDualWield() function to return false in battle if the actor was dual wield type, but wasn't currently wielding two weapons. A couple of updates ago, I undid this change, and replaced most of those checks with a new function actor.isCurrentlyDualWielding(), the purpose of this change was so that in battle equipment changing plugins didn't incorrectly determine that an actor couldn't wield an offhand weapon.

It appears after I made this change, the function causing your crash was not updated. With the original change to the dual wield function, it would not have checked the wtype of the offhand item if the actor was barehanded or using a shield, but now it does both. 

I have uploaded a fix for this, in the newest version. The second issue you posted about below is also because of the same thing, the function that determines if an actor is dual wielding, and adds the second attack action was also checking if they were dual wield type, and not if they were currently dual wielding.

~Ramza

(1 edit)

Thank you for your quick update!^^

Unfortunately the second issue is still present and the character double attacks when he wields only one weapon and nothing in the other hand.

I just found out that now a two handed char will always attack twice, when he does NOT wield a shield. Unfortunately even if barehanded attacks are turned off.

I'm looking into this further, but the test project has no such issue. When equipped with only one two handed weapon, there is no extra attack, with or without the barehanded attack option enabled.

Are you also using the monkeygrip extension? The extension might be overwriting some of the changes I just made. Also, if the actor we're talking about has monkeygripping enabled, the two handed weapon in the main hand would be considered a one handed weapon, meaning he should be able to get a barehanded attack as an offhand attack, at least if that parameter was enabled. 

~Ramza

No monkeygrip plugin. All of your plugins are close of the bottom of the list.

*note: I haven´t used the bock chance plugin, thats the reason its disabled.^^

Block chance should be above dual wield in the load order, it should also be loaded immediately after YEP_BattleCore, before other battle plugins. Since it's disabled, that won't matter just now, but when you do use it later, that'll be a thing.

Dual wield should be loaded with the other Yanfly battle plugins, at least after the action sequence packs. It's probably fine where it is right now, but I'd consider moving it, just in case that's what's causing this.


With it set like this, a normal dual wield actor with only a two handed weapon, and nothing in the offhand does not attack twice using the normal attack skill.

I'd also have to ask you to check a couple of other things as well.

  • Is this actually the default attack skill we're talking about, or a clone/copy of the attack skill with a different skillId? Are you using the weapon unleash plugin to replace the attack skill with something else?
  • Are you using an action sequence for that skill, or just the default one?
  • If you are using a custom sequence for the attack skill, could you share the <target action> section of it?

Still looking into the barehanded attack thing. I don't test very often with that parameter, so it's very likely it's been broken for some time after the 2.68 update.

I placed the plugins in your order, but no change.

It is the default attack and not a clone and I´m not using the weapon unleash plugin.

But I use action sequences. Here the target section:

<target action>

if user.isActor()

move user: target, base, 22, offset x +100

else

move user: target, base, 22, offset x -60

end

motion escape: user

face user: backward

wait for movement

motion thrust: user, no weapon

face user: forward

wait: 8

action animation

ACTION EFFECT

if user.bp >= 1

wait: 15

motion swing: user, no weapon

face user: forward

wait: 8

action animation

ACTION EFFECT

end

if user.bp === 2

wait: 15

motion missile: user, no weapon

face user: forward

wait: 8

action animation

ACTION EFFECT

else if user.bp === 3

wait: 15

motion skill: user, no weapon

face user: forward

wait: 8

action animation

ANIMATION 4: target

ACTION EFFECT

end

</target action>

Hmm.

If you temporarily remove that target action section entirely (including the tags), does the extra attack still happen?

I'm not sure what bp is used for, but it would seem that if you had 2, you'd get the first swing attack motion + action effect, and then the thrust one. If your two handed weapon has 2 bp, that could be the problem.

The bp are like boost points from octopath traveler. They are used to get more hits from your basic attack.

But I think it is more confusing than helping for to include them in my post. I´m almost 100% sure it´s not my action sequence, because my character still attacks twice, if I remove it entirely.

Like I said, I can't duplicate the problem in my test project, so it's either a configuration issue on your end (action sequence, passive state granting extra attack times+, etc) or a plugin conflict with something.

From a test play if your project, outside of battle, open the console, and type in $gameParty.actors()[0].isCurrentlyDualWielding() . It should return a true or false (replace the 0 with the party position of the two handing actor, 0 being the first party slot, 1 the second, etc).

Then, go into battle and do the same thing again while in battle. Once again, the result should return a true or false.

In battle, there are many extra checks made, including if the actor has a two handed weapon, a shield, a barehand, etc, so it's normal for the function to return different things inside and outside of battle.