A downloadable add-on

Buy Now$3.99 USD or more

Description:

This extension to the Dual Wield plugin allows for weapons tagged with <SWITCHABLE> to be swapped between one or two handed versions during run time.  Using this plugin, you can make certain weapons one or two handed, like a katana or bastard sword, and allow the player to freely switch between whatever style they'd like to use.

Players can change their weapon between one and two handed types by pressing shift on a switchable weapon while it is equipped to the mainhand weapon slot (slot 0). 

There is also a plugin parameter to show an icon at the end of a weapon's name if it can be switched in this way, which will show in all menu scenes (shop, item scene, equip scene, etc).

Also includes a configurable parameter to make an error sound if shift is pressed on a  non-switchable weapon, or a slot that isn't the main hand.

Updated in v1.10:

  • You can now have multiple keybinds set up, separated with ' + ' in the plugin parameters. A default keybind for pagedown + pageup has been added
  • You can now set custom battle animations for the weapon in one or two handed mode. Make that sword slash look more devastating if the weapon is two-handed.
  • Added support to swap out custom attack formulas set via my Weapon Attack Formulas plugin, based on whether or not the weapon is being used in one or both hands.

Updated in v1.01:

  • The keybind to switch weapons is now configurable
  • Added new note tags to insert text into the help description of a switchable weapon, depending on whether it is in one or two-handed mode.

Terms of Use:

  • You may use this plugin in free or commercial games
  • You may use this plugin in as many projects as you like.
  • You may not share this plugin with anyone else.
  • You may modify this original script in any way you see fit, but you may not claim full ownership of the resulting edited file.
  • You may share edits you made to this script publicly, but only as standalone extensions to this plugin, meaning that your modifications cannot be used without also owning this plugin.
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorRamza
Tagsplugin, RPG Maker

Purchase

Buy Now$3.99 USD or more

In order to download this add-on you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:

Plugin Download 26 kB

Development log

Comments

Log in with itch.io to leave a comment.

Is there a MZ version coming?

Hey there.

Unfortunately, there are no plans to bring this to MZ. The MZ version of the dual wield plugin was deprecated by an update to the VS_BattleCore plugin (which it requires to work), where they essentially built in most of the battle functionality of this plugin into the battle core. As such, the MZ version basically only contains the equipment related changes, such as the ability to lock weapons to the main or off hand, make a weapon two handed, or allow a shield to be equipped by a dual wield actor.

The other issue with it, was that switchable weapons for MV requires independent items to work. Without that feature, switching one sword to two-handed mode would switch all swords to two handed mode, including those equipped to other party members, or in the inventory.  While I did make a patch to get independent items to work in MZ, I never managed to find the time to get switchable weapons working with it, due to the above change in the VS_BattleCore.

There are plans to revamp the MZ dual wield plugin, to make it so it can be used without the VS BattleCore plugin, which would make it a lot more worthwhile, and when I do that, there is the chance that this plugin gets included with it. But work on that had ground to a halt for now as I deal with other things.

P.S. I see you recently bought the MZ Dual Wield plugin. I'd understand if using it for a while if you'd want a refund, since it hardly does anything close to what the MV version does for MV. In that case I might suggest getting the MV version, and using a plugin like FOSSIL to get it, and the switchable weapons, (and item core) working in MZ. Although I haven't heard of anyone trying that, the creator of fossil does have a very large compatibility list, and might be willing to work to get these working as well, if they're not already.

~Ramza

(+1)

I did get the Dual Wield MZ plug in.  It does a lot of what I needed so I am content with it.  Thanks.

I got the plugin and it seems to be working, but I am wondering if the switchable two handed weapons can be used on a touchscreen version of the game? There won't be a shift button on there.

Hey there.

I'm not sure how one would set this up, to be honest. I'm not at all familiar with how touch inputs are handled in the first place, and since touching the item itself would simply select it, I can't think of any other touch action that wouldn't also be touching the item. Even something like touching the icon on the item's name wouldn't work because it'd still be part of the items selection rectangle. Perhaps some sort of onscreen button might work, but again, I'm not really experienced enough with how touch controls work.

I'd say the best bet would be to find a plugin that allows you to map keyboard controls to buttons on screen, and use it that way for now.

~Ramza

(1 edit)

One option for a switchable two handed weapon using a touchscreen could be to just assume the weapon is being used as a two handed weapon when there is no other shield or weapon being used. One hand is empty. It would also be a bit easier to use on the computer.

I think that is how Final Fantasy 5 does it when using the double handed skill, which is a game you can play on mobile devices.

Perhaps.

In retrospect I can probably also make it so that it optionally gives a 'switch' option at the top of the equipment list when you select the weapon, much like the 'remove' option in EquipCore.

I'll see what I can do on my backshifts in the next couple of days.

(4 edits)

Hey Ramza. Tagging weapons as switchable seems to negate "<Text Color: x>" notetags. Which is unfortunate since my project utilizes randomized Text Color Rarities like you'd see in MMOs and such.

with <SWITCHABLE> notetag:

without the <SWITCHABLE> notetag:



These examples are produced without random affixes, just to make sure they weren't just incompatible. ItemCore's text color tag was the only thing used outside of <SWITCHABLE>. The issue is present on the Equip and Item scenes.

(1 edit)

That is a weird one, but the solution is probably really simple. I'll look into it shortly.

edit:

I have corrected this in v1.11. The problem was that I was simply drawing the item name myself, rather than calling the function used to do so, which caused this plugin to ignore any changes made to that function, such as color changes.

Thanks for the report.

Thanks a ton Ramza!

Picked up your plugins today and -love- the lot!  I thought I'd drop a nudge for a possible request, if it struck a chord with you: as a subset of this, might it be possible to set up tags via a state or otherwise so that a particular actor could wield 'two handed' weapons as one-handed and potentially by extension eventually dual wield them? 

I love the idea of 'flexible grip' weapons, but would also really like to have weapons that are ordinarily two-handed only--but means for some characters to wield them one-handed once they got the right state / skill / whatever.  It would be neat to be able to model the equivalent of 'titan grip' or the like from some tabletop games, with a character getting so strong they can treat two-handed weapons as one-handed weapons.

Cheers!

Quick follow-up thoughts:

  • Could there be a setting so that weapons which are switchable but also have the <Twohanded> note tag default to not adding 50% when wielded two-handed, but instead have their atk reduced accordingly when swapped to one-handed?  This would be helpful for showing the player stats visually.
  • Alternatively, would it be possible to incorporate a toggled eval or other means to switch text and / or an icon printed in the description for a piece of gear that works off of the switch?  Essentially it would be slick to be able to have a small block of a weapon description to display an icon that represents one-handed or two-handed, presenting information that's context-sensitive to which state the weapon is in.
  • Would it be possible to explore states based on which handedness is switched?  It would be neat for comboing with other plugins, such as different attack replacements whether you're wielding two-handed or one-handed, or things like a parry bonus when one-handed or an armor penetration bonus when two-handed, that kind of shenanigans.
  • Would it be possible to make the hotkey to switch handedness configurable, or able to support gamepad inputs?

Apologies, just kind of geeked about all this business.  Your plugins are a lot of fun to build with!

  1. You can accomplish this using a specific set up in the current version of the dual wield plugin. But the effect will apply to all two-handed weapons, and requires a bit more initial configuration as a result:
    1. Set the two-handed modifier to be 1.00, so two-handing a weapon does not change your base atk value at all.
    2. Set the two handed (and switchable) weapons to use the following note tag:
      1. <TwoHanded Attack Modifier>
        value = Math.round(value * 1.5)
        </TwoHanded Attack Modifier>
    3. The above tag makes the weapon attack value of the weapon 1.5 times greater than normal, but only while it's being two-handed. A weapon with 10 atk in your database will have 15 atk when being two-handed. 
    4. Because you've removed the normal two handing boost, you'll need to make all two-handed (or switchable) weapons use a similar note tag.
    5. The above effect is technically adding atk value when you use a two-handed weapon, rather than taking it away when you swap to a one-handed one, but it has the same effect, so it should work the same way.
  2. This is a good suggestion that sounds like it shouldn't be too difficult to implement. I'd envision a note tag you could set on an item to set its one and two-handed help description text, and then an escape code that would be replaced by that text depending on whether the item is currently one or two handed.
  3. Although I haven't personally tried this yet, I think this request is actually already possible, but isn't particularly user friendly. Using Yanfly's passive states plugin, you can use almost anything to enable a passive condition on your actors, including what they have equipped. 
    1. Put a passive state on a switchable weapon with the following tag on it:
      1. <Custom Passive Condition>
        if (user.equips()[0]._isTwoHanded {
        condition = true
        } else {
        condition = false
        }
        </Custom Passive Condition>
    2. The above state will only be active if the weapon in the main hand is currently two-handed. Using this state, you can change the weapon unleash, xparams, block chance, applied by the weapon.
    3. Use a second passive state on the same item to have a different state applied if the weapon is not currently being two-handed:
      1. <Custom Passive Condition>
        if (!user.equips()[0]._isTwoHanded){
        condition = true
        } else {
        condition = false
        }
        </Custom Passive Condition>
    4. You can use this state to set up a different set of bonuses or traits when that weapon is being one-handed.
    5. If each of your weapons use different passive states for one and two handed bonuses in this way, you'll have an issue where the one-handed bonus of the offhand weapon will also be active with the one-handed bonus of a main handed weapon. This won't cause any problems, and might even be what you're looking for. The only issue is that, as mentioned somewhere above, the Weapon Unleash plugin only supports one weapon being unleashes, so the specific unleash of the offhand weapon will not happen
  4. I can certainly look into allowing the dev to configure which key is used to switch the weapons. I'm not at all familiar with gamepad support for the same thing, so that might take me a bit longer to figure out.

Good news.

I have just uploaded version 1.01 of this plugin, which implements a couple of your feature requests:

  • You can now configure the keybind for switching weapons in the plugin parameters.
    • I haven't had a chance to check this yet, but I believe the default keybind options correspond to specific gamepad buttons as well, so they should be working as well (shift would be the dash button... X I think on an xbox controller)
  • I have added some note tags and an escape code to allow you to conditionally show different text in the help box depending on whether the weapon is currently in one or two-handed mode.
    • %h is replaced with the text set by these new note tags. See the help file for more information.
(2 edits)

These sound like fantastic changes--I seem to be having issues getting this version of the file to work, however.  I have the plugin in the same order placement as the prior version, which worked OK for reference.  

Trying to switch with the default shift hotkey isn't doing anything, Edit: Got it to toggle again by removing the plugin and re-adding it fresh.  Not sure why that made a difference, but it did.  

A weapon that I have with the <TWOHANDED> tag set as its default grip is printing the <ONEHANDED HELP TEXT> in its description block.  On further checking, it just seems to ignore the <TWOHANDED> tag in general and defaults to one-handed for stats + the help text blocks.

I'll try tweaking my plugin order and other troubleshooting, but figured I ought to report in just in case.  I have this plugin towards the very bottom of my list currently.

(1 edit)

Hello.

Sorry for the inconvenience, that was a bug caused by a typo. I have corrected it in revision a, which I just uploaded. 

The first (crossed out) problem you encountered is actually a problem with RPGMaker.... sort of. In this update I added the plugin parameter to set the keybind of the switching weapons. When you updated your plugin, if you didn't go into the plugin settings to set this new parameter, it would be blank, as it didn't exist on your plugin settings. This would cause a crash the firs time the plugin tried to access that value, which is on boot. Removing the plugin and re-adding it fixed the issue because the plugin has a default value for that plugin command, but opening the plugin parameters and double clicking the new parameter, which would've been blank will also load the default value into it. Something to know for the future.

Edit:

I got a chance to test gamepads now that I'm at home, and the default 'shift' value for the keybind binds to the X button on an xbox controller, while control and alt don't have any equivalent on the controller. pageup is LB and pagedown is RB. I'm not sure how to set up control and alt as keybinds on the gamepad, but I think there are already plugins that do that kind of thing kicking around. So if you want it on the gamepad, shift, pageup and pagedown are all usable on the scene to switch weapons.

Perfect, everything is working accordingly now!  Thank you again for such swift resolution!

That's interesting to hear in the gamepad department, I'll try to do some more exploring.  The only remaining avenue control-wise is my ongoing efforts to try to incorporate stronger mouse support for the game, but I can't really fathom any practical way to handle the switching via mouse in this case.

As an aside, it may be worthwhile to add a screenshot that shows off the slick new %h incorporation, it's really a fantastic feature.

Cheers!

Indeed, this is a feature planned in an extension. It's called Monkey Grip, and it allows anyone with a state, or a tag on their actor, or class to wield a weapon that is normally two-handed in only one hand, allowing an offhand weapon (which could also be two handed), or a heavy shield to be wielded normally.

This extension was actually part of an early version of the base plugin, but I had to remove it before releasing the update it was in, because the menu extension plugin was broken beyond fixing that the time. I've been slowly working on trying to fix it, and get it out there for most of the year now, but it's not exactly a high priority right now. Rest assured, though, that it is being worked on, as I also want it working in my own project. :)