Hey there Ramza I found a little issue with this plugin. It seems to have an issue dealing with the Non-Optimize Types, plugin parameter from Yanflys equip core. It works fine from the optimize in the equip window. And it sometimes recognizes that it should not remove items in the non optimize slots when you change classes but some times it does not recognize the parameter.
From what I have been able to tell, I think the issue happens if you change from a class to another class that has a different amount of equipment slots. The slot that I am trying to block from being optimized is id 10 in the equipment types section so it is a ways down the list, I'm not sure if that has anything to do with it.
Anyways, sorry to have found another issue, I hope it isn't too much trouble.
I am unsure what would cause this problem, as in the last update I made it so that the optimization it does on the class change scene is an exact identical copy to the one it does on the equip scene when you hit the optimize command. That it is to say that it contains all of the changes made to the function called when the optimize command is used, including those from all other plugins, even ones I have no idea about.
Is it possible that there is something else going on here too? Since class changing is involved, is it possible that the items being removed are unequippable by the class you're switching into?
Another thought I have is that you mentioned that when this happens, the classes involved have different numbers of slots. Is it possible the cause is that the equipment slot with the unoptimized etype is moving when you change class?
And you have accessories set to be non-optimized, but when you change classes from class a to class b, you lose slot 1 entirely, so everything has to move up a slot, and then because what used to be the feet slot is now accessory 1, it optimizes weird?
Or maybe another possible example, that two classes, a, and b, can both equip a specific etype, type 10 (as you said), but for class A, the slot for this item is the third thing down on the list (x, y, 10, z... etc) and class be it is the second thing down on the list (x, 10, y, z... etc). And because the slot is not the same, some other process has to move items in one slot to the other slot during that class change.
I really don't know here, I'm just grasping at straws, honestly. If you turn off optimization on class change entirely, and then swap classes, do you notice anything weird on the equip scene without optimizing? Like is there an item missing from a slot that shouldn't have been touched? As far I know, the default functionality is to leave equipment that can be equipped by the new class on the actor when they switch class. That might help narrow down where the problem is.
Hey there bud, so the item being removed is equipable by every class it is a sort of an accessory item but it has no stats. It's equipment type id is ten but there are a total of 11 equipment types currently.
I believe it has to be the other situation you listed. It seems that it only occurs where there are a different amount of equip slots so yeah just like you outlined with the Class a and class b portion.
I currently have 17 classes it can change between and nearly each one has a different amount of equip slots so it seems like this might be an issue.
The only thing I can come up with is to either keep the slot for etype 10 in the same position (it's always the third slot for example) on every class, or to include 'blank' equipslots on each class so that it adds up to all classes having the same number of equip slots. The second option might end up being the best, as you might be able to edit equipcore to hide showing equip slots that have a specific etype Id for them, so you could hide the blanks and it would effectively look the same as you currently have it. That'd take some doing though.
Dang that was the last step from being perfect in my game=). I've thought about switching it to the 3rd slot, would probably take a couple hours of reprogramming but the bad part is the slot looks wrong being in the third spot.
If I could find a way to put it in the 3rd spot but then change where it is where it shows up on the equip screen so it's still last that would be amazing but I have no idea if that's something that's possible.
The second option would work as well but again I have no idea how I could go about hiding slots. Being the rare circumstance I doubt there's going to be any info online on how to do that but the moving of a slot might be something thats been asked.
Anyways I'm kind of rambling now hehe. Big thanks for steering me in the right direction here bud, it definitely helps to know what my options are in this situation. I'll let you know if I find a solution in case anyone else has the issue in the future. Take it easy bud.
Hey there, so after some searching and testing I had to go with the move the slot 10 armor to slot 3, there doesn't seem to be a way to move the slot visually so I will just have to live with it in between the hand and armor slots.
Couple issues though. First off the option to hide optimize from sub classes seems to have broke at some point. Now when I change a sub class it is telling me it's optimizing equipment. The enable on sub class is set to false.
The other issue which seems like it may be a pain. So with the armor slot changed to id 3 it is optimizing properly, ie. it stays in it's slot when optimizing on class change and from the optimize in the equip window it always works perfectly.
There were some class changes however that the slot was removing the item. After a lot of testing I finally figured out when it's happening. If the class has a 2 handed weapon equipped and then changes to a dual wield class it removes the slot 3 armor. This happens whether there is a shield in the offhand or not. Also none of my dual wield classes have the ability to equip 2 handers, not sure if that's important.
Heya bud I have been working with this plugin and I had a couple questions and maybe a bug report. When it optimizes from a class change it ignores the Equip requirements from yanflys X_EquipRequirments. Because of this some classes that have a specific equipment pool end up with a 2 handed weapon equipped when they shouldn't have been able to equip 2 handers.
It may just be that it isn't compatible but I thought I would run it by you in case it's a bug. Also I was wondering if there is a way to equip a buckler type shield on a dual wield class. When I add a shield slot to the dual wield classes it ends up with a buckler in both offhand slots. And neither of the slots the bucklers are in allow weapons anymore. No big deal if there is no way to do this I just thought I would ask. Thanks for taking a look.
I don't think your first thing is a bug so much as it is an incompatibility. In this case you might be able to fix it yourself by (probably temporarily) loading the equip requirement plugin before my dual wield plugin. Without looking into it just yet, I suspect the incompatibility comes from the fact that I had to overwrite how the equip menu determines what items can be equipped in the offhand slot. In theory, if you load the equip requirement plugin first, it might resolve that issue, although it might cause more problems.
For your second issue, the plugin already allows dual wield actors to put shields in their offhand slot, there is no need to give them a second shield slot, as their offhand slot is supposed to allow them to put a shield in there, as long as your shields are etypeId 2 (the second slot on the types page in your database under equipment), and the actor (or class, or whatever) has the trait to equip some kind of armor that is this equipment type.
(I was gonna put an image here, but uploads don't seem to be working?)
If this isn't the case for your project, it's probable that the equip requirements plugin is also interfering with that as well, due to the aforementioned incompatibility. I will see if I can remedy this problem.
Edit:
You mentioned it had this problem specifically when you optimize from a class change, yes? Does that mean that the equip scene successfully prevents actors from equipping weapons they shouldn't be able to use? What if you optimize from that scene instead of via class change? Are you using my optimize equips on class change plugin for that?
edit: (didn't realize which plugin thread I was replying to, of course you're using the optimize plugin XD)
Yeah I figured it was probably just incompatible but I was hoping=). I tried the plugin above and below the yanfly equipment ones and no luck. I normally keep the optimize plugin near the bottom of the order, I am kind of wondering if it should be higher on the list now.
I use Yanfly equip core, this plugin is well bellow it. For the classes you have to have the dual wield tag and then something like
<Equip Slot: 1, 1, 3, > a shield slot would look like
<Equip Slot: 1, 2, 3,> or <Equip Slot: 1, 1, 2, 3,>. Not sure which but I tried both. If I use <Equip Slot: 1, 3, > then the second dual wield slot can accept either weapons or the buckler which is armor. If I use any of the other tags The 2nd and 3rd slots are both armor only.
Is it meant to be that you can't dual wield two weapons and a shield? If so I was just understanding it wrong and <Equip Slot: 1, 3, > works as intended.
And yeah with the optimize on class change issue, in the normal equip window you can only select the correct weapon types and optimize works properly from that window, just not from the class change window.
I have uploaded a new version of this plugin that should correct this issue.
This plugin wasn't using the same exact function as the optimize command on the equip scene, due to them being in different scenes, and my general lack of experience at the time. I'd managed to get it to optimize equipments using the actor function, which was a small part of the optimize command, but it ignored anything added to that command by other plugins.
Now I have gone in and made this plugin use the exact same function that the equip scene uses when you use the optimize command there. That should make changes made to the optimize command by other plugins carry through to this one, and should make the two different functions identical. Hopefully fixing your optimize issue.
As for your shield thing, dual wielding two weapons and also a shield is not something that is technically supported by this plugin. A dual wield actor has two weapon slots <1,1, armor slots> and I have modified the second weapon slot to also allow type 2, so it's effectively <1, 1/2, armor slots>. If you use equip core to give your characters an extra shield slot, a normal actor would have <1, 2, 2, armor slots> and a dual wield one would have <1, 1/2, 2 armor slots>, causing both types to be able to wield two shields.
However, and I haven't tried this myself, so I can't guarantee it won't cause other problems, lines 1453-1455 are the check that includes shields in the offhand weapon slot as equippable items. So you could comment out those lines and dual wield actors would no longer be able to wield a shield in their offhand slot. This would allow you to put in a shield slot for dual wield actors without allowing them to have two shields. You'd have to find a way to only apply it to the dual wielding actors though, as if non dual wield actors also have this extra shield slot, they will still be able to wield two shields.
Also, if you're using my shield block plugin, you're gonna run into some problems with it actually detecting the shield for blocking, as it checks the offhand slot exclusively for the shield.
Thanks for the update=). There is a problem though. It does work now on class change but if you use the optimize in the equip window the game locks up with no error code. Sorry to bring you another problem.
As for the dual wield and shield thing that isn't that big of a deal at all. I think it would be best not to mess with the code. Thanks for setting me straight on how that works I was a little off with my understanding.
Revision A is now live which fixes the softlock on the equip scene. An extra function I'd added in for the class scene was also happening on the equip scene, causing the command window to be deactivated.
In the process of fixing this, I also noticed that the optimize command in the equip scene doesn't seem to properly detect monkeygripping weapons, preferring to equip no weapon in the offhand, and a one-handed offhand weapon over a two-handed weapon with higher attack. I guess I'll have to fix that too while I'm at it.
Hey there Ramza. I was just wondering if there is a way to stop optimization from happening, or at least remove the popup, when changing a sub class with yanflys subclass plugin. For my game sub classes shouldn't have any affect on equipment so it can be a little confusing getting the equip optimized popup when changing sub classes.
If not no worries, I just thought I would ask. Thanks for taking a look and have a great day.
With the plugin setup the way it was, this was not something that was previously possible. However, I hadn't previously considered that this could be something someone would be looking for, and see now how useful it would be in a specific case such as your own.
I have updated the plugin to v1.60 which adds a plugin parameter to disable optimization specifically on subclass change. Let me know if you have any issues with it.
Once again you go above and beyond. A huge thanks from me and the new update seems to work perfectly. That little adjustment clears up a lot of confusion with my game so not just from me but for anyone who plays my game, thank you.=)
← Return to plugin
Comments
Log in with itch.io to leave a comment.
Hey there Ramza I found a little issue with this plugin. It seems to have an issue dealing with the Non-Optimize Types, plugin parameter from Yanflys equip core. It works fine from the optimize in the equip window. And it sometimes recognizes that it should not remove items in the non optimize slots when you change classes but some times it does not recognize the parameter.
From what I have been able to tell, I think the issue happens if you change from a class to another class that has a different amount of equipment slots. The slot that I am trying to block from being optimized is id 10 in the equipment types section so it is a ways down the list, I'm not sure if that has anything to do with it.
Anyways, sorry to have found another issue, I hope it isn't too much trouble.
I am unsure what would cause this problem, as in the last update I made it so that the optimization it does on the class change scene is an exact identical copy to the one it does on the equip scene when you hit the optimize command. That it is to say that it contains all of the changes made to the function called when the optimize command is used, including those from all other plugins, even ones I have no idea about.
Is it possible that there is something else going on here too? Since class changing is involved, is it possible that the items being removed are unequippable by the class you're switching into?
Another thought I have is that you mentioned that when this happens, the classes involved have different numbers of slots. Is it possible the cause is that the equipment slot with the unoptimized etype is moving when you change class?
Like, class A has the following slots:
weapon, shield, head, chest, pants, feet, accessory 1, accessory 2
And class B has the following slots:
weapon, head, chest, pants, feet, accessory 1, accessory 2
And you have accessories set to be non-optimized, but when you change classes from class a to class b, you lose slot 1 entirely, so everything has to move up a slot, and then because what used to be the feet slot is now accessory 1, it optimizes weird?
Or maybe another possible example, that two classes, a, and b, can both equip a specific etype, type 10 (as you said), but for class A, the slot for this item is the third thing down on the list (x, y, 10, z... etc) and class be it is the second thing down on the list (x, 10, y, z... etc). And because the slot is not the same, some other process has to move items in one slot to the other slot during that class change.
I really don't know here, I'm just grasping at straws, honestly. If you turn off optimization on class change entirely, and then swap classes, do you notice anything weird on the equip scene without optimizing? Like is there an item missing from a slot that shouldn't have been touched? As far I know, the default functionality is to leave equipment that can be equipped by the new class on the actor when they switch class. That might help narrow down where the problem is.
Hey there bud, so the item being removed is equipable by every class it is a sort of an accessory item but it has no stats. It's equipment type id is ten but there are a total of 11 equipment types currently.
I believe it has to be the other situation you listed. It seems that it only occurs where there are a different amount of equip slots so yeah just like you outlined with the Class a and class b portion.
I currently have 17 classes it can change between and nearly each one has a different amount of equip slots so it seems like this might be an issue.
The only thing I can come up with is to either keep the slot for etype 10 in the same position (it's always the third slot for example) on every class, or to include 'blank' equipslots on each class so that it adds up to all classes having the same number of equip slots. The second option might end up being the best, as you might be able to edit equipcore to hide showing equip slots that have a specific etype Id for them, so you could hide the blanks and it would effectively look the same as you currently have it. That'd take some doing though.
Dang that was the last step from being perfect in my game=). I've thought about switching it to the 3rd slot, would probably take a couple hours of reprogramming but the bad part is the slot looks wrong being in the third spot.
If I could find a way to put it in the 3rd spot but then change where it is where it shows up on the equip screen so it's still last that would be amazing but I have no idea if that's something that's possible.
The second option would work as well but again I have no idea how I could go about hiding slots. Being the rare circumstance I doubt there's going to be any info online on how to do that but the moving of a slot might be something thats been asked.
Anyways I'm kind of rambling now hehe. Big thanks for steering me in the right direction here bud, it definitely helps to know what my options are in this situation. I'll let you know if I find a solution in case anyone else has the issue in the future. Take it easy bud.
Hey there, so after some searching and testing I had to go with the move the slot 10 armor to slot 3, there doesn't seem to be a way to move the slot visually so I will just have to live with it in between the hand and armor slots.
Couple issues though. First off the option to hide optimize from sub classes seems to have broke at some point. Now when I change a sub class it is telling me it's optimizing equipment. The enable on sub class is set to false.
The other issue which seems like it may be a pain. So with the armor slot changed to id 3 it is optimizing properly, ie. it stays in it's slot when optimizing on class change and from the optimize in the equip window it always works perfectly.
There were some class changes however that the slot was removing the item. After a lot of testing I finally figured out when it's happening. If the class has a 2 handed weapon equipped and then changes to a dual wield class it removes the slot 3 armor. This happens whether there is a shield in the offhand or not. Also none of my dual wield classes have the ability to equip 2 handers, not sure if that's important.
Heya bud I have been working with this plugin and I had a couple questions and maybe a bug report. When it optimizes from a class change it ignores the Equip requirements from yanflys X_EquipRequirments. Because of this some classes that have a specific equipment pool end up with a 2 handed weapon equipped when they shouldn't have been able to equip 2 handers.
It may just be that it isn't compatible but I thought I would run it by you in case it's a bug. Also I was wondering if there is a way to equip a buckler type shield on a dual wield class. When I add a shield slot to the dual wield classes it ends up with a buckler in both offhand slots. And neither of the slots the bucklers are in allow weapons anymore. No big deal if there is no way to do this I just thought I would ask. Thanks for taking a look.
I don't think your first thing is a bug so much as it is an incompatibility. In this case you might be able to fix it yourself by (probably temporarily) loading the equip requirement plugin before my dual wield plugin. Without looking into it just yet, I suspect the incompatibility comes from the fact that I had to overwrite how the equip menu determines what items can be equipped in the offhand slot. In theory, if you load the equip requirement plugin first, it might resolve that issue, although it might cause more problems.
For your second issue, the plugin already allows dual wield actors to put shields in their offhand slot, there is no need to give them a second shield slot, as their offhand slot is supposed to allow them to put a shield in there, as long as your shields are etypeId 2 (the second slot on the types page in your database under equipment), and the actor (or class, or whatever) has the trait to equip some kind of armor that is this equipment type.
(I was gonna put an image here, but uploads don't seem to be working?)
https://imgur.com/MXKuGPe
If this isn't the case for your project, it's probable that the equip requirements plugin is also interfering with that as well, due to the aforementioned incompatibility. I will see if I can remedy this problem.
Edit:
You mentioned it had this problem specifically when you optimize from a class change, yes? Does that mean that the equip scene successfully prevents actors from equipping weapons they shouldn't be able to use? What if you optimize from that scene instead of via class change?
Are you using my optimize equips on class change plugin for that?edit: (didn't realize which plugin thread I was replying to, of course you're using the optimize plugin XD)
Yeah I figured it was probably just incompatible but I was hoping=). I tried the plugin above and below the yanfly equipment ones and no luck. I normally keep the optimize plugin near the bottom of the order, I am kind of wondering if it should be higher on the list now.
I use Yanfly equip core, this plugin is well bellow it. For the classes you have to have the dual wield tag and then something like
<Equip Slot: 1, 1, 3, > a shield slot would look like
<Equip Slot: 1, 2, 3,> or <Equip Slot: 1, 1, 2, 3,>. Not sure which but I tried both. If I use <Equip Slot: 1, 3, > then the second dual wield slot can accept either weapons or the buckler which is armor. If I use any of the other tags The 2nd and 3rd slots are both armor only.
Is it meant to be that you can't dual wield two weapons and a shield? If so I was just understanding it wrong and <Equip Slot: 1, 3, > works as intended.
And yeah with the optimize on class change issue, in the normal equip window you can only select the correct weapon types and optimize works properly from that window, just not from the class change window.
I have uploaded a new version of this plugin that should correct this issue.
This plugin wasn't using the same exact function as the optimize command on the equip scene, due to them being in different scenes, and my general lack of experience at the time. I'd managed to get it to optimize equipments using the actor function, which was a small part of the optimize command, but it ignored anything added to that command by other plugins.
Now I have gone in and made this plugin use the exact same function that the equip scene uses when you use the optimize command there. That should make changes made to the optimize command by other plugins carry through to this one, and should make the two different functions identical. Hopefully fixing your optimize issue.
As for your shield thing, dual wielding two weapons and also a shield is not something that is technically supported by this plugin. A dual wield actor has two weapon slots <1,1, armor slots> and I have modified the second weapon slot to also allow type 2, so it's effectively <1, 1/2, armor slots>. If you use equip core to give your characters an extra shield slot, a normal actor would have <1, 2, 2, armor slots> and a dual wield one would have <1, 1/2, 2 armor slots>, causing both types to be able to wield two shields.
However, and I haven't tried this myself, so I can't guarantee it won't cause other problems, lines 1453-1455 are the check that includes shields in the offhand weapon slot as equippable items. So you could comment out those lines and dual wield actors would no longer be able to wield a shield in their offhand slot. This would allow you to put in a shield slot for dual wield actors without allowing them to have two shields. You'd have to find a way to only apply it to the dual wielding actors though, as if non dual wield actors also have this extra shield slot, they will still be able to wield two shields.
Also, if you're using my shield block plugin, you're gonna run into some problems with it actually detecting the shield for blocking, as it checks the offhand slot exclusively for the shield.
Thanks for the update=). There is a problem though. It does work now on class change but if you use the optimize in the equip window the game locks up with no error code. Sorry to bring you another problem.
As for the dual wield and shield thing that isn't that big of a deal at all. I think it would be best not to mess with the code. Thanks for setting me straight on how that works I was a little off with my understanding.
Revision A is now live which fixes the softlock on the equip scene. An extra function I'd added in for the class scene was also happening on the equip scene, causing the command window to be deactivated.
In the process of fixing this, I also noticed that the optimize command in the equip scene doesn't seem to properly detect monkeygripping weapons, preferring to equip no weapon in the offhand, and a one-handed offhand weapon over a two-handed weapon with higher attack. I guess I'll have to fix that too while I'm at it.
Hey there Ramza. I was just wondering if there is a way to stop optimization from happening, or at least remove the popup, when changing a sub class with yanflys subclass plugin. For my game sub classes shouldn't have any affect on equipment so it can be a little confusing getting the equip optimized popup when changing sub classes.
If not no worries, I just thought I would ask. Thanks for taking a look and have a great day.
Greetings.
With the plugin setup the way it was, this was not something that was previously possible. However, I hadn't previously considered that this could be something someone would be looking for, and see now how useful it would be in a specific case such as your own.
I have updated the plugin to v1.60 which adds a plugin parameter to disable optimization specifically on subclass change. Let me know if you have any issues with it.
Thanks,
-Ramza
Once again you go above and beyond. A huge thanks from me and the new update seems to work perfectly. That little adjustment clears up a lot of confusion with my game so not just from me but for anyone who plays my game, thank you.=)