@title Money Grenade Changes: Diamond Keys
@version 1.0.0
@author Apocalyptech
@contact https://apocalyptech.com/contact.php
@categories joke, gear-grenade, cheat

@license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
@license-url https://creativecommons.org/licenses/by-sa/4.0/

@screenshot https://raw.githubusercontent.com/BLCM/bl3mods/master/Apocalyptech/gear_changes/money_grenade_changes/screenshot_diamondkeys.png

###
### Changes the 'Money' grenade part to drop Diamond Keys instead of money.
###
### Generated by gen_money_grenade_changes.py
###

###
### Update item prefixes
###

SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,SingleNames.SingleNames[20].NamePart.Object..PartName,0,,Diamond
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,TripleNames.TripleNames[11].NamePart.Object..PartName,0,,Mr. Shine
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[19].NamePart.Object..PartName,0,,Diversifying
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[36].NamePart.Object..PartName,0,,Make It Rain
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[52].NamePart.Object..PartName,0,,Investing
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[67].NamePart.Object..PartName,0,,Big Spender
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[81].NamePart.Object..PartName,0,,Bullish
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[94].NamePart.Object..PartName,0,,Depreciating
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[106].NamePart.Object..PartName,0,,Price Fixing
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[117].NamePart.Object..PartName,0,,Windfall
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[127].NamePart.Object..PartName,0,,Jackpot
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[136].NamePart.Object..PartName,0,,Compounding
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[144].NamePart.Object..PartName,0,,Moneysink
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[151].NamePart.Object..PartName,0,,ROI Rage
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[157].NamePart.Object..PartName,0,,Pyramid Scheme
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[162].NamePart.Object..PartName,0,,Infusion
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[166].NamePart.Object..PartName,0,,Taxing
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[169].NamePart.Object..PartName,0,,Infusion
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[171].NamePart.Object..PartName,0,,Bailout
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/Naming/GrenadeModNamingStrategy.GrenadeModNamingStrategy,ExtractedCombinationNames.ExtractedCombinationNames[172].NamePart.Object..PartName,0,,Engagement

###
### Update part name
###

SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/UIStat_Grenade_Money_Icon.UIStat_Grenade_Money_Icon,Text,0,,DIAMOND KEYS

###
### Update drop pools and card descriptions
###

# Single-part grenade
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/ItemPool_GrenadeMod_Money_1.ItemPool_GrenadeMod_Money_1,BalancedItems,0,,((InventoryBalanceData=/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey,ResolvedInventoryBalanceData=InventoryBalanceData'"/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey"',Weight=(BaseValueConstant=1)))
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/UIStat_Grenade_Money_Description_Single.UIStat_Grenade_Money_Description_Single,FormatText,0,,Enemies drop [skill]some[/skill] diamond keys when damaged.

# Double-part grenade
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/ItemPool_GrenadeMod_Money_2.ItemPool_GrenadeMod_Money_2,BalancedItems,0,,((InventoryBalanceData=/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey,ResolvedInventoryBalanceData=InventoryBalanceData'"/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey"',Weight=(BaseValueConstant=1)))
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/UIStat_Grenade_Money_Description_Double.UIStat_Grenade_Money_Description_Double,FormatText,0,,Enemies drop [skill]lots[/skill] of diamond keys when damaged.

# Triple-part grenade
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/ItemPool_GrenadeMod_Money_3.ItemPool_GrenadeMod_Money_3,BalancedItems,0,,((InventoryBalanceData=/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey,ResolvedInventoryBalanceData=InventoryBalanceData'"/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey"',Weight=(BaseValueConstant=1)))
SparkPatchEntry,(1,1,0,),/Game/Gear/GrenadeMods/_Design/PartSets/Part_Behavior/Money/UIStat_Grenade_Money_Description_Triple.UIStat_Grenade_Money_Description_Triple,FormatText,0,,Enemies drop [skill]a buttload[/skill] of diamond keys when damaged.

###
### Fixing up droppable Diamond Key object
###
### We're making a few changes here which affect the item card specifically,
### though the item card will basically never be seen since we're enabling
### auto-pickup as well.  If you *do* get a glimpse of the card (using Photo
### Mode or the like) you'll see a bit of weirdness still -- the card might
### inherit the visual price of whatever card was last looked at, and the
### loot beam icon might inherit the last-looked-at item as well.  In the
### end I'm not bothering to track that down, though, since you've gotta
### work hard to see the card anyway.
###

# Use an actual key mesh
SparkPatchEntry,(1,1,0,),/Game/PatchDLC/VaultCard/Data/Currency/BP_DiamondKey_Single.Default__BP_DiamondKey_Single_C,ItemMeshComponent.Object..StaticMesh,0,,StaticMesh'"/Game/LevelArt/Environments/_Global/Props/Keys/Key_Scooters/Model/Meshes/SM_Key_Scooters.SM_Key_Scooters"'

# Set a different item card type
SparkPatchEntry,(1,1,0,),/Game/PatchDLC/VaultCard/Data/Currency/InvData_DiamondKey.InvData_DiamondKey,ItemCardTypeFrameName,0,,Mission

# Set monetary value to 1; might prevent currency from inheriting from previously-viewed items
SparkPatchEntry,(1,1,0,),/Game/PatchDLC/VaultCard/Data/Currency/InvData_DiamondKey.InvData_DiamondKey,MonetaryValue,0,,(BaseValueConstant=1,DataTableValue=(DataTable=None,RowName="",ValueName=""),BaseValueAttribute=None,AttributeInitializer=None,BaseValueScale=1)

# Assign Legendary rarity (instead of Eridium), for loot bar + frame color
SparkPatchEntry,(1,1,0,),/Game/PatchDLC/VaultCard/Data/Currency/InventoryBalance_DiamondKey.InventoryBalance_DiamondKey,RarityData,0,,RarityData'"/Game/GameData/Loot/RarityData/RarityData_05_Legendary.RarityData_05_Legendary"'

# Auto-pickup Diamond Keys
SparkPatchEntry,(1,1,0,),/Game/Gear/_Shared/_Design/InventoryCategories/InventoryCategory_DiamondKey.InventoryCategory_DiamondKey,PickupActionType,0,,OnUseOrTouch