RPG Maker Forums

Updated 12/22/2015 08:09 AM ET. If upgrading from version 1.12 or lower, the notetags have changed!

 

Introduction

Implements an equipment socket system similar to the one found in Diablo II. You can create pieces of armor that can be socketed into another item that has sockets. All stat bonuses and traits are copied from the socketable item into the item it is socketed into. You can also remove these items from the sockets at a later time. You can also hide socketable items from the standard inventory view via parameters.

 

Features

  • Specify the number of sockets a piece of equipment has!
  • Create socketable items that relay all stat and trait changes, including skills, double attack, etc!
  • Restrict a socketable item to only work on everything, only on weapons or armors, or specific weapon and armor types.
  • Name sockets for each weapon or armor type, so a Sword can have sockets named Blade, Hilt, etc!
  • Restrict the type of socketable (gem) that each socket will accept, so a Blade socket will only accept Blade items!
  • Add additional sockets to a rare weapon or armor with a special name and item requirement!
  • Hide socketable (gem) items from your inventory list and give them their own category that you name!
  • Combine with Yanfly's Auto Passive States to have socketables (gems) grant passive states while socketed!
  • Combine with Yanfly's Skill Cooldowns to have socketables (gems) manipulate cooldowns and warmups!
  • Combine with Yanfly's Element Absorb to have socketables (gems) adjust the actor's elemental absorbion!
  • Combine with Yanfly's Element Reflect to have socketables (gems) adjust the actor's element reflection!
  • Combine with Bobstah's Level Up Bonuses plugin to grant bonuses on leveling while socketed! (Materia!)
How to Use
Add the plugin in your game and view the help information. It describes the parameters, notetags, and how to use it.

Screenshots

Below screenshots were taken with all plugins from the dependencies section enabled with all settings from the compatibility section in-place.

------------------------------

Socketing a 'blade' item into a Sword's 'blade' slot

Socketing a 'Magic' item into a specal sword that has a unique socket:

Socketed weapons on equipment selection screen:

Socketed equipment on the equipment screen:


Parameters

Socket Menu Name - Name of the item in the main menu.

Socket Equip Type - The Equip Type (From database types screen) that socketables (gems) are.

Hide Socket Items - Hide socketable items from the standard inventory view. 1 to hide, 0 to show.

Socket Category - Name of the category to list socketable items in.

Socket Category Order - The position the Socketable (gem) item category appears in the inventory.

Empty Socket Icon - The icon to draw for empty sockets.

Empty Socket Text - The text to display if a socket is empty.

Owner Display - How to display who owns a piece of equipment in the socket scene. Face draws the actor's face, Name writes their name.
Notetags - Basic Weapons & Armor

Socket Gems can be any armor type. For generic gems, set the type to 'None'.

Next, make sure the Equip Type matches what you set for the Socket Equip Type

parameter.

Once those are set, add the following to make it a socketable item:

<SocketEx>

Optionally, you can restrict it to be only for weapons or armor:

<SocketEx Weapon>

<SocketEx Armor>

You can drill down even further and restrict it to a limited number

of weapon and armor types:

<SocketEx Weapon: wtypeId, wtypeId, etc>

<SocketEx Armor: atypeId, atypeId, etc>

To give a weapon or armor sockets, use the following notetag:

<Sockets: X>

Where X is the number of sockets the item has.

For more customization options based on weapon and armor types,

see the next section.
Notetags - Weapon & Armor Types

You can configure weapon and armor types to have special sockets.

For example, a sword could have a blade, hilt, and pommel socket and

only accept gems that are the correct armor type.

For the desired effect, you'll need to set the socketable gems to

be restricted to the specific weapon or armor types that they apply

to, and you'll also want to make sure that you define all of your

sockets under the SocketInfo notetag.

To use this functionality, find an Actor (I recommend using a blank actor)

and add the following notetags. They will be applied globally.

<SocketInfo OType: X>

SocketIndex(Name,Icon): ArmorType, ArmorType, etc

</SocketInfo>

In the above example, OType is either WType for Weapon Type or

AType for Armor Type. X is the ID of the weapon or armor type

you wish to apply these options to.

SocketIndex is the number of the socket. (Name) is the text used

when the socket is empty, and (Icon) is the icon used if the socket

is empty. If nothing is set, it will use the parameter values.

ArmorType, ArmorType, etc is the armor type ID that can be placed

into these sockets.

In the below example, we are changing Weapon Type 1's socket info:

<SocketInfo WType: 1>

1(Blade,30): 15, 23

</SocketInfo>

Now, socket one will be called 'Blade' and show icon 30 when empty.

Armor types 15 and 23 can be socketed into this slot.

Here is a fleshed-out weapon and armor example:

<SocketInfo WType: 1>

1(Blade,30): 15, 23

2(Hilt, 31): 16

3(Pommel, 32): 24, 25

</SocketInfo>

<SocketInfo AType: 1>

1(Shoulders,101): 18

2(Lining, 102): 19, 20

3(Hood, 103): 21, 22

</SocketInfo>

If you fail to specify SocketInfo for a socket, then any item can be

placed into that socket, including items you want reserved for other

sockets. Using the above example, if you had a fourth socket for AType 1

and didn't place it inside of the SocketInfo tag, it would use the default

socket settings. Best practice is to include all sockets in a socket info

notetag.

You can also give specific weapons and armors additional named slots

by specifying a SocketInfo command on the weapon or armor level. See

the below example for more information.
Notetags - Advanced Weapons & Armor

What if you had a magical sword that had unique sockets? You can also

apply the <SocketInfo> tag to specific weapons and armors. Below is

an example of a sword that has 4 slots, matching our SocketInfo WType: 1

example from the prior section, but with unique settings:

<SocketInfo>

1(Holy Blade, 43): 30

4(Pommel Gem, 44): 31

</SocketInfo>

In the above example, it takes the default settings from WType: 1, which give

it three named sockets: Blade, Hilt, and Pommel. It then overwrites the Blade

socket with a 'Holy Blade' socket that takes different armor types. It also

adds a fourth socket named 'Pommel Gem' that takes another armor type.

If a piece of equipment has more sockets than the SocketInfo tag has

defined, they will be set take 'generic' gems.
Plugin
Get it here - File name is CASE SENSITIVE: BOB_SocketsEx.js

Dependencies
Yanfly's Item Core  - Strongly recommended. Without it, your items will not be unique/individual. This means that socketing a gem into a sword will give the benefits of that gem to all swords in the game.

Yanfly's Equip Core - Strongly recommended. Helps restrict/hide equipment slots for Gems from the equip scene.

Any Main Menu Manager - Strongly recommended. Allows you to reorder menu commands without me overwriting the core menu feature.

Yanfly's Engine Plugins - Strongly recommended.

Compatibility

General Yanfly Plugins- Add this plugin below all others.

YEP_MainMenuManager - Add the below settings to your desired Menu item, leave other settings blank:

Name - Bobstah.SocketsEx.commandName()

Symbol - Bobstah.SocketsEx.commandSymbol()

Show - this.needsCommand('sockets')

Enabled - true

Main Bind - this.commandSocketsEx.bind(this)
FAQ

1. How do have socketable items teach skills over time?

Use Bobstah's Level Up Bonuses plugin in conjunction with this one.

2. How do I use this plugin?

Read the plugin help and ask any questions here.

Changelog

1.3.1 (12/22/2015) - Fixed a crash bug when using Yanfly's Element Reflect and this plugin's compatibility functions.

1.3 (12/17/2015) - See the below spoiler section for the complete changelog.


  • Fixed an issue where multiple types on one socketable would be ignored. Thanks for the report, Roguedeus!
  • Fixed an issue where socketables wouldn't be returned to the party after loading a save. Thanks for the report, Fernyfer775!
  • Fixed an issue where the Sockets menu item would display twice if using Yanfly's Main Menu Manager.
  • Added support for Yanfly's Skill Cooldowns and Warmups.
  • Added support for Yanfly's Element Absorb.
  • Added Support for Yanfly's Element Reflect.


1.2.1 (12/11/2015) - Fixed a bug that was preventing games from saving and loading properly.

1.2 (12/10/2015) - See the below spoiler section for the complete changelog.


  • Fixed an issue where gems wouldn't display properly in the gem category under certain conditions.
  • Added equipped items support to the socket scene.
  • Added support to show who has an item equipped in the socket scene.
  • Added new parameters:
    Socket Equip Type, Socket Category Order, Owner Display
  • Added the ability to reorder the Socket Category in the inventory screen without overwriting the method.
  • Added new SocketInfo notetag.
    You can now name sockets for each weapon and armor type.
    You can overwrite these settings on specific weapons and armors, including adding extra slots.
  • Added support for Yanfly's Auto Passive States.


1.12 (11/19/2015) - Fixed a bug where equipment items weren't displaying properly in the equipment menu with this plugin enabled.

1.11 (11/19/2015) - Fixed a crash bug that occurred when opening the equipment menu. Fixed a bug that allowed you to socket a null item under certain conditions.

1.1 (11/19/2015) - Fixed numerous bugs. Added new socketable item view. Added new functions other plugins can alias for modding.

1.0 (11/11/2015) - Initial release.

 

Legal

Free to use in commercial and non-commercial projects with credit. A free copy of the finished game would be nice, but is not required.

Credit and Thanks
- Bobstah 

 

Latest Threads

Latest Posts

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.

Forum statistics

Threads
106,040
Messages
1,018,473
Members
137,823
Latest member
yossiii
Top