Overview
The Synergy system allows players to gain additional stat bonuses when wearing complete item sets. This feature reads set configurations fromSetItem.ini and provides powerful bonuses based on the number of equipped items from the same set.
Synergy requires both client and server-side configuration. The client reads encrypted
SetItem.SData files while the server uses the Drop field in the Items table to identify set membership.Installation
Encrypt Client Data
Ensure
SetItem.SData is encrypted for the client. The client expects this file to be in encrypted format.Server Configuration
Database Setup
The server uses theDrop field in the PS_GameDefs.dbo.Items table to identify which set an item belongs to. All items in a set should share the same Drop value.
Example Query
Example Output
| ItemName | ItemID | Drop |
|---|---|---|
| Bright Emperor’s Helmet | 72003 | 64 |
| Bright Emperor’s Armor | 73003 | 64 |
| Bright Emperor’s Pants | 74003 | 64 |
| Bright Emperor’s Gauntlet | 76003 | 64 |
| Bright Emperor’s Boots | 77003 | 64 |
In the original PS_Game code, there was a limitation that overwrote Drop values greater than 6 with 0. This limitation has been removed in Episode 6 to support vanilla configuration.
Client Display
When a player equips items from a set, the client displays synergy information in the item tooltip:Example Bonus Display
[5] indicates how many items from the set are currently equipped. Bonuses scale based on the number of equipped items.
Code Modifications
Removed Drop Field Limitation
The originalCGameData::LoadConstItem function contained incompatible machine code that limited the Drop field:
Creating Item Sets
Define Set Items
Identify which items will belong to your set. Typically, sets include:
- Helmet
- Upper Armor (Chest)
- Lower Armor (Pants)
- Gloves (Gauntlets)
- Boots
- Optional: Weapon, Shield
Configure Bonuses
Edit
SetItem.ini to define the stat bonuses for each tier of your set:- 2-piece bonus
- 3-piece bonus
- 4-piece bonus
- 5-piece bonus (or more)
Testing
SQL Query to Find Existing Sets
SQL Query to Find Existing Sets
Limitations
Best Practices
- Use High Set IDs: Use Drop values above 100 to avoid conflicts with existing sets
- Document Your Sets: Keep a reference table of which Drop ID corresponds to which set
- Balance Bonuses: Scale bonuses appropriately based on the number of items equipped
- Test Thoroughly: Verify bonuses apply correctly with different combinations of equipped items
Related Features
- Perfect Lapisian - Enhance set items
- Item Ability Move - Transfer enchantments between set items