Glows on DX9 version

keichan2

New Pirate
Registered
LV
0
 
Joined
Mar 3, 2026
Messages
1
Reaction score
0
Points
1
I could not find a way to fix the glows in this file, all glows seems to be capped at the +6 or +9 glows forever, those swords are +27, anyone know how can i unlock the other glows? like the wave effects.
1773025165908.webp

1773025303277.webp
 
If it's simple, then take the ItemRefineInfo.txt and ItemRefineEffectInfo.txt files from another client that has a glow. If it's complicated, then read the following spoiler:
# CItemRefineSet and CItemRefineEffectSet Tables
Two client-side loadable tables that control **visual effects for weapons and equipment** during forging and gem enhancement. They define item texture glow and particle attachment to the model.
---
## 1. CItemRefineSet (ItemRefineInfo)
### Purpose
Maps **item ID** to a set of **effect IDs** and **scales** for different character types. Indexed by item ID (nItemID).
### Data Source
- **File:** `scripts/table/ItemRefineInfo` (txt/bin)
- **Loading:** `GameAppInterface.cpp`, during client initialization
- **ID range:** 0 … `g_Config.m_nMaxItemType`
### CItemRefineInfo Structure
| Field | Type | Description |
|-------|------|-------------|
| `Value[14]` | short[ITEM_REFINE_NUM] | 14 effect indices. Each index is an ID of a record in ItemRefineEffectInfo. The index is chosen based on gem type combination (see Lua `Item_Stoneeffect`). |
| `fChaEffectScale[4]` | float[4] | Particle scale for 4 character types (Lance, Carsise, Phyllis, Ami). Used in `SetForgeEffect` when creating effects. |
### Table Format (ItemRefineInfo.txt)
- **Columns 1–14:** `Value[0]` … `Value[13]` — effect IDs from ItemRefineEffectInfo
- **Columns 15–18:** `fChaEffectScale[0]` … `fChaEffectScale[3]`
Example row:
```
4 Serpentine Sword 3 9 0 12 26 0 25 0 24 0 0 27 0 0 0.6 1.0 1.0 0.7
```
- Item ID: 4
- Value: 3, 9, 0, 12, 26, 0, 25, 0, 24, 0, 0, 27, 0, 0
- fChaEffectScale: 0.6, 1.0, 1.0, 0.7
---
## 2. CItemRefineEffectSet (ItemRefineEffectInfo)
### Purpose
Defines a **specific visual effect**: texture glow ID and particle IDs for each character type and attachment point (dummy).
### Data Source
- **File:** `scripts/table/ItemRefineEffectInfo` (txt/bin)
- **Loading:** `GameAppInterface.cpp`
- **ID range:** 0 … 5000
### CItemRefineEffectInfo Structure
| Field | Type | Description |
|-------|------|-------------|
| `nLightID` | int | Texture glow set ID (ItemLit). 0 = no glow. Used in `LitResetTexture(item_id, level)`. |
| `sEffectID[4][4]` | short[REFINE_EFFECT_CHA_NUM][REFINE_EFFECT_NUM] | 4×4 matrix: [character type][effect slot] → base effect ID. Final ID = `sEffectID * 10 + Level` (Level 0–3). |
| `chDummy[4]` | char[4] | Item model dummy bone indices for particle attachment (0–5, etc.). |
| `_sEffectNum[4]` | int[4] (private) | Number of active effects per character type (computed at load time). |
### Table Format (ItemRefineEffectInfo.txt)
- **Column 1:** Record ID
- **Column 2:** Name (not used in code)
- **Column 3:** nLightID (Glow ID)
- **Columns 4–7:** Effect ID 1 for Lance, Carsise, Phyllis, Ami
- **Column 8:** Dummy 1
- **Columns 9–12:** Effect ID 2 for four characters
- **Column 13:** Dummy 2
- … same pattern for Effect 3 and 4
Example:
```
1 Staff Bonus 3 0 0 300 300 4 0 0 301 301 4 0 0 302 302 0 0 0 0 0 0
```
- nLightID = 3
- Effects: 300, 301, 302 for Phyllis/Ami, dummy 4
---
## 3. Usage Chain
### 3.1. Effect Selection by Gems
Lua function `Item_Stoneeffect(Stone_Type1, Stone_Type2, Stone_Type3)` returns 1–14 (or 0 if no effect). This is the index into the `Value[]` array of ItemRefineInfo.
Gem types are defined in `CStoneInfo::nType`. Combinations determine which of the 14 effect slots to use (single type, two types, three types, etc.).
### 3.2. Data Retrieval in Code
```
SItemForge::Refresh(nItemID):
1. Item_Stoneeffect(nStoneType[0], nStoneType[1], nStoneType[2]) → nEffectID (1-based)
2. nEffectID-- (convert to 0-based)
3. pRefineInfo = GetItemRefineInfo(nItemID) // by item ID
4. pEffectInfo = GetItemRefineEffectInfo(pRefineInfo->Value[nEffectID]) // by effect ID
5. nEffectLevel = (nLevel - 1) / 4 // 0–3 by forge level
```
### 3.3. Applying the Effect (CSceneItem::SetForgeEffect)
1. **Texture glow:**
`LitResetTexture(pInfo->nLightID, Level)` — replace item texture with animated glow by level (0–3).
2. **Particles:**
For each active effect:
- `nEffectID = pInfo->sEffectID[nCharID] * 10 + Level`
- `pEffect->Create(nEffectID)` — create effect
- `pEffect->setFollowObj(pItem, NODE_ITEM, pInfo->chDummy)` — attach to dummy
- `pEffect->SetScale(Forge.pRefineInfo->fChaEffectScale[nCharID], ...)` — scale from ItemRefineInfo
- `pEffect->SetAlpha(SItemForge::GetAlpha(Forge.nLevel))` — alpha by forge level
---
## 4. Constants
| Constant | Value | Description |
|----------|-------|-------------|
| `ITEM_REFINE_NUM` | 14 | Number of effect slots in ItemRefineInfo |
| `REFINE_EFFECT_NUM` | 4 | Maximum particles per effect |
| `REFINE_EFFECT_CHA_NUM` | 4 | Number of character types (Lance, Carsise, Phyllis, Ami) |
---
## 5. Code Usage
| File | Usage |
|------|-------|
| `SceneItem.cpp` | `SetForgeEffect` — glow and particles on world items |
| `GameAppMsg.cpp` | Handling `left/right` and `forge` commands — effects on character equipment |
| `UIItemCommand.cpp` | `SItemForge::Refresh`, `GetForgeInfo` — hints and forge level display |
| `GameAppInterface.cpp` | Table loading, binary export |
---
## 6. Relation to Other Systems
- **ItemLit (lwItemLit):** glow textures by `nLightID` and level
- **CEffectObj:** particles by `sEffectID * 10 + Level`
- **CStoneSet / CStoneInfo:** gem types for `Item_Stoneeffect`
- **SItemForge:** structure combining forge, gem, and effect data
 
Last edited:
You also have a cloak on your ass. In the iteminfo for the Admiral's cloak, the effect id and attachment bone are set in the effects column. You have 4015,3 - try setting 4015,24