July 4, 20187 yr items.gamedatabundle lists figurines as ConsumableGameData. The documentation says these only have an ItemComponent and a ConsumableComponent. But the usageType Attribute is only on GenericAbilityGameData. So if i try { "GameDataObjects": [{ "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Figurine_Laughing_Imp", "ID": "1f0190e6-4257-4571-9b79-aabd215767f0", "Components": [ { "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "UsageType": "None", "UsageValue": 0 } ] } } it does nothing. Adding the GenericAbilityComponent as 3rd array item into the ConsumableGameData does also nothing. Whats the correct way? Is it possible at all? More modding for PoE II | How to Work with Stringtables
July 4, 20187 yr I don't think this would be possible as a consumable since the docs say ConsumableGameData should have an ItemComponent and a ConsumableComponent. Even though the fields are both called UsageType they index different enums. What you might want to do instead is look at an item that grants an ability, and then use that -- isn't there a number of weapons that grants Garotte or something? I can't quite remember. ah, that would require the item be Equippable... drat. Edited July 4, 20187 yr by ydaraishy
July 4, 20187 yr Ah, more discussion over here. It being a consumable shouldn't be an issue, as it was in 1.1.1. Here is what the item entry was in 1.1.1*: { "$type": "Game.GameData.ConsumableGameData, Assembly-CSharp", "DebugName": "Figurine_Battered_Dog", "ID": "6def4809-892c-4d6b-b1ee-a06be0fc2059", "Components": [{ "$type": "Game.GameData.ItemComponent, Assembly-CSharp", "DisplayName": 4604, "DescriptionText": 4605, "FilterType": "Consumables", "InventoryAudioEventListID": "705deb97-3f84-48c8-a84b-e3c34e2d0e3a", "IsQuestItem": "false", "IsIngredient": "false", "IsCurrency": "false", "IsAdventuringItem": "false", "CanSellForFullValue": "false", "MaxStackSize": 1, "NeverDropAsLoot": "false", "CanBePickpocketed": "true", "IsUnique": "true", "Value": 750, "IconTextureSmall": "gui/icons/items/misc/figurine_battered_dog_s.png", "IconTextureLarge": "gui/icons/items/misc/figurine_battered_dog_l.png", "PencilSketchTexture": "", "InspectOnUseButton": [], "IsPlaceholder": "false" }, { "$type": "Game.GameData.ConsumableComponent, Assembly-CSharp", "Type": "Figurine", "UsageCount": 1, "UsageType": "PerRest", "AnimationVariation": 100, "AbilityID": "d413261a-1919-4924-ab10-23b3e03272b5", "PickpocketAbilityID": "00000000-0000-0000-0000-000000000000", "Timer": 0, "SkillRequirement": { "SkillID": "00000000-0000-0000-0000-000000000000", "Value": 0 }, "ShipMoraleBonus": 1 } ] } * ALWAYS keep backups of the old game data when you can, kiddos. As I said in the thread over in the beta section, it's identical in 1.1.1 and 1.2.0. Only thing different for them in the two versions of the game is what's going on in the abilities gamedatabundle. Checking abilities.gamedatabundle "UseageType": "None" is still valid so this really should be working. My gut instinct says it might be the partial override system causing a problem and the game then reverting to the base values its expecting. When I have some time I'll look into it some more, as it's curious more than anything else.
July 5, 20187 yr DERP DERP DERP DERP DERP Got it to work and it's all on me in my testing. Forgot to put the blessed thing in its own folder in the override section. Gods I can't believe I made that mistake. Screenshots and code in a moment or twenty. === Screenshot: Example gamedatabundle: { "GameDataObjects": [{ "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Figurine_Battered_Dog_Ability", "ID": "d413261a-1919-4924-ab10-23b3e03272b5", "Components": [{ "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "KeywordsIDs": ["ddf90f19-c9a2-4087-a1a7-a00ee46bc3dd"], "DisplayName": 4072, "Description": -1, "UpgradeDescriptions": [], "UpgradedFromID": "00000000-0000-0000-0000-000000000000", "Vocalization": "NoVocalization", "Icon": "", "UsageType": "None", "UsageValue": 0, "AbilityClassID": "00000000-0000-0000-0000-000000000000", "AbilityLevel": 0, "IsPassive": "false", "StackingRuleOverride": "Default", "TriggerOnHit": "false", "IsModal": "false", "ModalGroupID": "00000000-0000-0000-0000-000000000000", "IsCombatOnly": "true", "IsNonCombatOnly": "false", "HideFromUI": "false", "HideFromCombatLog": "false", "UniqueSet": "None", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "DurationOverride": 0, "OverrideEmpower": "Default", "ClearsOnMovement": "false", "CannotActivateWhileInStealth": "false", "CannotActivateWhileInvisible": "false", "ActivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "DeactivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "PowerLevelScaling": { "ScalingType": "ModifiersOnly", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "DamageAdjustment": 1, "DurationAdjustment": 1, "BounceCountAdjustment": 0, "ProjectileCountAdjustment": 0, "AccuracyAdjustment": 0, "PenetrationAdjustment": 0 }, "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [], "VisualEffects": [], "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackID": "7b07ae25-2819-4e32-a025-1459b6b5543d", "AITargetingConditional": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [] }, "AudioEventListID": "00000000-0000-0000-0000-000000000000" }, { "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp" } ] } ] } Use that as a template and keep adding all the figurines one wants. Edited July 5, 20187 yr by Zap Gun For Hire
July 5, 20187 yr Anywho, now that that piece of embarrassment is over, I did a full test and yes this change is retroactive and will apply to all figurines one already owns or has seen in the game world.
July 5, 20187 yr I interpreted OP's question about how to remove the usage requirements on figurines -- in generic terms, to have an item that grants an ability without restrictions on uses. Of course it's trivial to make your own figurines with the usual usage restrictions. I suspect you have to have some restrictions for something to work (otherwise things don't quite make sense).
July 5, 20187 yr Author Ah, damn it, who would think that a part of that item is defined in abilities.gamedatabundle. More modding for PoE II | How to Work with Stringtables
July 5, 20187 yr The Image linked shows 1 usage per rest when valuetype is changed to none from charges? Is this just a tooltip default minimum? Can you spam the thing? (I guess you could change charges to a silly amount as well).
July 5, 20187 yr Author 1 per rest is the default limit since ever.Only the charges are new. https://www.nexusmods.com/pillarsofeternity2/mods/137 And yes, you can change it to spam it if you set theConsumableComponent from the item file to per encounter and the UsageCount to something like 10 Edited July 5, 20187 yr by Xaratas More modding for PoE II | How to Work with Stringtables
July 5, 20187 yr The Image linked shows 1 usage per rest when valuetype is changed to none from charges? Is this just a tooltip default minimum? Can you spam the thing? (I guess you could change charges to a silly amount as well). I did that mod before the patch and seem work like before "UsageCount": 1 just change that as you like below i've set it to 5 in this mod based on 1.1 (just to try) Edited July 5, 20187 yr by kilay Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
July 5, 20187 yr Ok, to explain better wait i wrote before , i've tried that on an old mine mod based on 1.1.0064 where "UsageType": "None", "UsageValue": 0, in AbilityComponent ends to have one use per rest and changing it to "UsageType": "None", "UsageValue": 5, result to 5 per rest usages (with infinite charges) (in both the patches) instead with "UsageType": "Charged", "UsageValue": 5, (like we had in 1.2.0.0017 on default ) we have just 5 charges before that the item become useless Random Reader'Plinio il Vecchio asseriva che un rimedio alla sbronza fosse quello di mangiare uova crude di gufo' I° secolo D.C. My Mods on Nexus Nexus Mods Translated to Italian Italian Localization Fix PATCH More Custom AI Conditions Enhanced UI - Afflictions and Inspirations Extended Spell TT1 Unique Items More Priest Subclasses_Ondra Hylea Abydon Channeler Cipher Subclass Are you looking for a group of modders ?Request an invite to our Slack group Do you need a mod? Fill this mod request
July 6, 20187 yr Ah, damn it, who would think that a part of that item is defined in abilities.gamedatabundle. It's because the actual summoning is an ability. If you take a look, many items will either call an ability, cause a status effect, or have an attack. The FUN ones are when an item calls an ability which calls an attack which calls a status effect. The REALLY FUN ones are the ones that loop back and forth all three. Edited July 6, 20187 yr by Zap Gun For Hire
Create an account or sign in to comment