Jump to content

Recommended Posts

Posted

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?

Posted (edited)

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 by ydaraishy
Posted

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. :lol:

 

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.

Posted (edited)

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. :lol:

 

Screenshots and code in a moment or twenty.

 

===

 

Screenshot:

 

WJfaS4t.png

 

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 by Zap Gun For Hire
Posted

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).

Posted

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).

Posted (edited)

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)

 

Pillars_of_Eternity_II_Deadfire_Screensh

Edited by kilay
Posted

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

Posted (edited)

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. :lol:

Edited by Zap Gun For Hire

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...