UMIPEquipmentReforgeAsset
Overview
UMIPEquipmentReforgeAsset holds cost rules for the Reforge operation on a specific UMIPEquipmentPieceAsset. Reforge re-rolls all dynamic stats on the item instance. This asset lists required material items (by gameplay tag + amount) under Inventory.Type.Material.Reforge and an optional currency fee (FMIPCurrencyFeeStruct).
Referenced from UMIPEquipmentPieceAsset::ReforgeAsset. If null, reforge is disabled for that equipment.
All paths below are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/.
Key Classes & Files
| Class |
File |
UMIPEquipmentReforgeAsset |
Public/Inventory/DataAsset/MIPEquipmentReforgeAsset.h |
FMIPExchangeRequiredItem |
Public/Exchange/MIPExchangeTypes.h |
FMIPCurrencyFeeStruct |
Public/Currency/Struct/MIPCurrencyFeeStruct.h |
IsDataValid |
Private/Inventory/DataAsset/MIPEquipmentReforgeAsset.cpp |
| Currency fee helper |
Private/Currency/MIPCurrencyFeeDataValidation.h |
Properties
| Property |
Type |
Description |
ReforgeRequiredItems |
TArray<FMIPExchangeRequiredItem> |
Materials consumed per reforge; tags must be under Material.Reforge. |
ReforgeFee |
FMIPCurrencyFeeStruct |
Optional currency charge; leave zero for no fee. |
Editor validation
Currency fee (MIP_AppendErrorsIfCurrencyFeeIncomplete on ReforgeFee)
| Condition |
Message (FieldName = ReforgeFee) |
CurrencyTag valid and FeeAmount <= 0 |
ReforgeFee: CurrencyTag is set ('…') but FeeAmount must be >= 1 (got %lld). |
FeeAmount > 0 and CurrencyTag invalid |
ReforgeFee: FeeAmount is %lld but CurrencyTag must be set. |
FeeAmount > 0 and StorageTag invalid |
ReforgeFee: FeeAmount is %lld but StorageTag must be set. |
Materials
| Severity |
Condition |
Message |
| Error |
ReforgeRequiredItems empty |
ReforgeRequiredItems is empty — at least one material must be required. |
| Error |
Entry ItemTag invalid |
ReforgeRequiredItems[%d]: ItemTag is not set. |
| Error |
Tag not under Inventory.Type.Material.Reforge |
ReforgeRequiredItems[%d]: ItemTag '%s' is not under Inventory.Type.Material.Reforge. |
| Error |
Amount <= 0 |
ReforgeRequiredItems[%d]: Amount must be >= 1. Got: %d |
Implementation: Private/Inventory/DataAsset/MIPEquipmentReforgeAsset.cpp (#if WITH_EDITOR).
Integration