Bobstah's Equipment Socketing & Upgrade System v1.3.1 - Yanfly Integration & More!

Discussion in 'JS Plugin Releases (RMMV)' started by Bobstah, Nov 11, 2015.

  1. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    Can you press F8 and take a screenshot of the error message in the console please?
     
    #41
  2. Targaryen

    Targaryen Veteran Veteran

    Messages:
    51
    Likes Received:
    11
    First Language:
    Spanish
    Hey, thanks for the new feature (notetags) but i'm testing it and I dont know why it doesnt works... I just put <Passive state: 4> on the gem and it doesnt add to the armor D:
     
    #42
  3. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    It may be that the notetag is parsed on game initialization and not at runtime, or the gem doesn't have the same notes as the parent. Which plugin are you using for Passive States?
     
    #43
  4. Silenity

    Silenity Veteran Veteran

    Messages:
    648
    Likes Received:
    241
    Location:
    Oregon
    First Language:
    English
    Primarily Uses:
    RMMV
    [​IMG]

    It seems to be because I added a new equip type. Because when I remove the new equip type that the gems will be filed under, it no longer crashes.
     
    Last edited by a moderator: Nov 21, 2015
    #44
  5. Black Noise

    Black Noise Veteran Veteran

    Messages:
    94
    Likes Received:
    18
    First Language:
    English
    Primarily Uses:
    RMMV
    Hey. Is it possible to make subcategories of Socketable items and give Equipment limits to how many of each subcategory they can be

    socketed with? Like a piece of armor could only be fitted with one item that gives skills at a item while its remaining three slots are reserved for stat boosting items.
     
    #45
    SpacemanFive likes this.
  6. Targaryen

    Targaryen Veteran Veteran

    Messages:
    51
    Likes Received:
    11
    First Language:
    Spanish
    I'm using Yanfly Passive States, it works properly but not with gems T_T
     
    #46
    gekigengar likes this.
  7. Roguedeus

    Roguedeus It's never too late to procrastinate... Veteran

    Messages:
    527
    Likes Received:
    106
    First Language:
    English
    Primarily Uses:
    N/A
    Bobstah, one of the note tags doesn't seem to be working correctly. Perhaps I'm using it wrong?

    (It works when one type is defined)

    (it breaks if more than one is)

    Edit 1:

    Also, would it be reasonable to ask if you might add the option of allowing a gem to be defined as socket limited per equip?

    Example:

    <SocketEx Limit: 2> That would limit the total number of that gem that can be applied to the same equip to two.

    And since I am asking... What do you think about the idea of making gems incompatible with other gems? Such that adding it to an item will push out other gems its incompatible with?

    Example:

    <SocketEx Incompatible: 13><SocketEx Incompatible: 13,14,15,etc...> That would make this gem push out gem ID:13 if one or more was already socketed in the equip at the moment this gem was applied. It would also cause itself to be pushed out if gem ID:13 was added. Kind of like trying to push two magnets of the same polarity together. :)

    This PUSH feature could even apply to itself... So if a gem is incompatible with itself, then it will only allow one of itself to be applied. Applying it to an equip that already contained one of itself would push the other out.

    Edit 2:

    it just occured to me that the incompatibility wouldn't be necessary if instead you could apply polarity to the gem... Or compliment it.

    <SocketEx Polarity: 1><SocketEx Polarity: 1,2,3,etc...> This would cause any gem to push out any other gem with the same polarity. In the case of a gem with multiple polarities, any match would cause the already socketed match to get pushed out.
     
    Last edited by a moderator: Jan 19, 2016
    #47
    Targaryen likes this.
  8. SpacemanFive

    SpacemanFive Meteor Mage Veteran

    Messages:
    191
    Likes Received:
    23
    Location:
    Canada
    First Language:
    English
    I'd like something similar, but I hope it's not too much work to ask for.

    What I was thinking of was something like the systems in KOTOR II and Fallout 4; various types of gear such as weapons and armor have slots for their various components, which can be swapped out for different parts, or have new ones added to optional slots, like scopes on guns.

    So it might fit with your request, if it could be set up so items can have different socket subcategories. So for example, a gun might take a barrel, firing mechanism, grip, magazine, and scope (and possibly a gem or two), while a sword would take a hilt, guard, blade, and possibly some gems. Each type of slot could only take matching socket item types, so you couldn't put a blade in a gem slot or a barrel on a sword (unless it's a gunblade).

    If this could be possible, it'd be great if each socket subcategory type could have its own icon type, as well.
     
    Last edited by a moderator: Nov 23, 2015
    #48
    Black Noise likes this.
  9. Black Noise

    Black Noise Veteran Veteran

    Messages:
    94
    Likes Received:
    18
    First Language:
    English
    Primarily Uses:
    RMMV
    Exactly, you're right on the money, SpacemanFive.

    Not only that, I wanted my game, which is space opera themed by the way, to feature customizable exoskeletons that would assist the party in adapting to a wide range of planets as well

    as access various combat abilities.
     
    #49
    SpacemanFive likes this.
  10. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    @Targaryen: I will look into compatibility with Yanfly's passive states for the next update. It is something I definitely want in this plugin.

    @Silenity: For now, "gems" need to be an armor type of none in order to function properly. I will try to replicate this bug today, though.

    @Roguedeus, @Spacemanfive, @Black Noise: I should be able to implement the Polarity concept fairly easily. I'm just spitballing here, but how does this sound:

    I'd want socket categories to be defined globally for each weapon type. This way, if you get halfway through you game and decide to add a pommel socket to your sword weapon, you don't have to copy/paste it over and over. I'd look over all actor notetags for weapon socket types, so you can use a blank actor to enter this information. If someone has an alternative idea, please let me know. The tags would look kinda like this:

    <SocketEx SocketInfo>

    Weapon/Armor: WeaponOrArmorTypeID

    Sockets: 3

    SocketInfo1: Blade=10

    SocketInfo2: Hilt=11

    SocketInfo3: Grip=12

    </SocketEx SocketInfo>

    Each SocketInfo line above specifies the name and options for each socket. The =Number that follows the socket name tells the plugin what armor type IDs are valid for this socket. If you want all gems to fit into a socket, you would specify 0 or leave it blank. If you want multiple gem types to fit into a socket, you would separate them with commas: 10, 11, 12, etc.

    All weapons/armors would have the default number of sockets and socket information specified above. You could override it at the weapon/armor level by applying the same tags:

    <SocketEx SocketInfo>

    Sockets: 4

    SocketInfo4: Pommel=13

    </SocketEx SocketInfo>

    It would read the default information, then read the tags above and add a new empty socket to the weapon/armor of the type 'Pommel'. That weapon/armor only would have the additional Pommel socket, and it would only accept gems with an armor type of 13.

    If you do not specify any global options for a socket, it will show the default Socket Empty text from the parameter and accept any gem type.

    Gems would be any armor type, providing freedom from notetags to an extent. (Make a new armor type called "Blade", set the ID of that armor type to the "Blade" socket as specified above). If you want to retain the functionality of the plugin as it is today, you would continue to use armor type none. The gem notetags would look like the following:

    <SocketEx >

    Weapon: 1, 2

    Armor: 1, 2

    </SocketEx>

    This would allow you to still restrict certain gems, say a holy blade from an evil sword, by weapon or armor type IDs. They would also be restricted to specific sockets if you configured that at the global level.

    Does this sound like it would fit your requests, minus specific incompatibility and limiting? I would like to add this functionality first, as it would be a good baseline for socket restrictions that I could then expand in a future update to include the remaining limitation requests.
     
    #50
  11. Roguedeus

    Roguedeus It's never too late to procrastinate... Veteran

    Messages:
    527
    Likes Received:
    106
    First Language:
    English
    Primarily Uses:
    N/A
    That is pretty complex. But sounds great! I hope it's not to laborious for you to accomplish.

    It would also help with my implementation. I was going for an accessory feel rather than a gem feel, and went back to gems... Due to the inability to stop someone from adding 3 blades to the same sword... ;)

    Looking forward to your reversion!
     
    Last edited by a moderator: Nov 23, 2015
    #51
    SpacemanFive likes this.
  12. NeoAmon

    NeoAmon Warper Member

    Messages:
    3
    Likes Received:
    0
    First Language:
    English
    This script is quite cool!

    I wonder -- how hard would it be to implement a feature where a weapon or armor could come with a gem pre-socketed?

    For example, the player obtains Sword of Fire, which has 3 total sockets but one of them comes with a Fire Gem pre-affixed and cannot be removed.

    Would that be something doable?
     
    #52
  13. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    In the short-term, I could accomplish this with a plugin-command to allow you to socket a gem into an item. Would that work?

    At the moment, I'm knee-deep in the SocektInfo updates I mentioned in an above post. I don't want to add too much in one update because then bug-fixing becomes more difficult. :)
     
    #53
    SpacemanFive and NeoAmon like this.
  14. NeoAmon

    NeoAmon Warper Member

    Messages:
    3
    Likes Received:
    0
    First Language:
    English
    I think that would definitely do the job for now!

    And any further support or functionality you offer in the future is very much appreciated! :)
     
    #54
  15. Anime_Fusion

    Anime_Fusion Veteran Veteran

    Messages:
    79
    Likes Received:
    48
    First Language:
    English
    So this all works, but it doesn't add status states? I was going to use it to where you can break down a poison blade and use the material to make the new blade cause poison, but it doesn't work. Is this only for stat bonuses?
     
    #55
  16. Targaryen

    Targaryen Veteran Veteran

    Messages:
    51
    Likes Received:
    11
    First Language:
    Spanish
    I tested notetags on gems with your Custom Stats and it doesnt seem to be working... whta could I do? xDD
     
    #56
  17. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    It should be copying all traits over onto the base item. I didn't test it with states, so it may only be working with things like crit, evade, pharmacology, etc. I will definitely consider this a bug-fix, so it will be in the next version (due sometime next week).

    It looks like Yanfly's Item Core actually strips notetags out of the items when it makes a new copy of them. I can see why he would do this, but it explains why notetags aren't being copied properly.

    That aside, most plugins seem to parse notetags at game start, so I'm not sure this feature would work properly to start with. I will add compatibility for the most requested plugins, but I would hope that plugin authors would also support this since I added two functions in the last update that allow them to take action on gem insertion and removal from an item.
     
    #57
  18. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    I'm not dead, promise!

    I'm very close to releasing the next version. Below is a screenshot of my progress. :)

    [​IMG]
     
    #58
  19. Fernyfer775

    Fernyfer775 Veteran Veteran

    Messages:
    1,302
    Likes Received:
    806
    First Language:
    English
    Heyooooo. Loving what you got going so far. Any update on whether or not you were able to implement the ability to socket items that are currently equipped? It's a pain in the bootie to have to un-equip an item, go to the socket menu, add the sockets, then re-equip the item. 

    If it helps for referencing how it's done, Yanfly was able to do this with his socketing plugin: http://yanfly.moe/2015/10/16/yep-12-item-upgrade-slots/
     
    #59
  20. Bobstah

    Bobstah Pluginstah Veteran

    Messages:
    216
    Likes Received:
    165
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    N/A
    How's this?

    [​IMG]
     
    #60

Share This Page