Skip to content

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

Topic Link
Equipment piece (references this asset) UMIPEquipmentPieceAsset
Reforge component Reforge
Data assets index Data assets index