February 7, 20223 yr So, I'd like to change the Skald's class passive to this: after casting an Offensive Invocation, trigger a melee Full Attack onto a nearby enemy. The code is based off Mob Stance and I haven't see any errors on the UI side, but it straight up doesn't work. Anyone willing to lend a hand? Spoiler { "GameDataObjects": [ { "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Skald_Passive_B", "ID": "4692e8b0-5dce-4b08-a497-89318707accc", "Components": [ { "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "KeywordsIDs": [], "DisplayName": 2242, "Description": -1, "DescriptionTactical": -1, "UpgradeDescriptions": [ { "String": -1, "StringTactical": -1 } ], "UpgradedFromID": "00000000-0000-0000-0000-000000000000", "Vocalization": "NoVocalization", "Icon": "Chanter_Skald", "UsageType": "None", "UsageValue": 0, "AbilityClassID": "b4a0f1d1-b8f7-47e7-b899-99e478004a37", "AbilityLevel": 0, "IsPassive": "false", "StackingRuleOverride": "Default", "TriggerOnHit": "false", "IsModal": "false", "ModalGroupID": "00000000-0000-0000-0000-000000000000", "IsCombatOnly": "false", "IsNonCombatOnly": "false", "HideFromUI": "false", "ShowStatusEffects": "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": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsMeleeWeaponEquippedInPrimarySlot(Guid)", "Parameters": [ "7d150000-0000-0000-0000-000000000000" ], "Flags": "", "UnrealCall": "", "FunctionHash": -217911750, "ParameterHash": 896845069 }, "Not": false, "Operator": 1 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsMeleeWeaponEquippedInSecondarySlot(Guid)", "Parameters": [ "7d150000-0000-0000-0000-000000000000" ], "Flags": "", "UnrealCall": "", "FunctionHash": 302004422, "ParameterHash": -165622783 }, "Not": false, "Operator": 1 } ] } }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "DeactivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsMeleeWeaponEquippedInPrimarySlot(Guid)", "Parameters": [ "7d150000-0000-0000-0000-000000000000" ], "Flags": "", "UnrealCall": "", "FunctionHash": -217911750, "ParameterHash": 896845069 }, "Not": true, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsMeleeWeaponEquippedInSecondarySlot(Guid)", "Parameters": [ "7d150000-0000-0000-0000-000000000000" ], "Flags": "", "UnrealCall": "", "FunctionHash": 302004422, "ParameterHash": -165622783 }, "Not": true, "Operator": 0 } ] } }, "PowerLevelScaling": { "ScalingType": "Default", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "DamageAdjustment": 1, "DurationAdjustment": 1, "BounceCountAdjustment": 0, "ProjectileCountAdjustment": 0, "AccuracyAdjustment": 0, "PenetrationAdjustment": 0 }, "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [ "319ae71e-0823-47dd-949e-4e01ef1cd082" ], "RandomizeStatusEffect": "false", "VisualEffects": [ { "VisualEffect": "prefabs/effects/abilities/fighter/fx_cleaving_stance_activate.prefab", "AttachPoint": "Root", "AttachObject": "Caster", "AttachMode": "Attach", "MeshType": "None", "Event": "OnActivate" } ], "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackID": "00000000-0000-0000-0000-000000000000", "AITargetingConditional": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [] }, "AudioEventListID": "d11f2ad2-6829-4894-9921-f804d47d66cc", "GrantedViaScript": "false" }, { "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp" } ] }, { "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp", "DebugName": "Skald_SE_AttackOnEvent", "ID": "319ae71e-0823-47dd-949e-4e01ef1cd082", "Components": [ { "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp", "StatusEffectType": "AttackTargetOnEvent", "OverrideDescriptionString": -1, "OverrideDescriptionStringTactical": -1, "UseStatusEffectValueAs": "None", "BaseValue": 0, "DynamicValue": { "Stat": "None", "SkillDataID": "00000000-0000-0000-0000-000000000000", "ClassID": "00000000-0000-0000-0000-000000000000", "MultiplyBy": 1, "Operator": "Add" }, "KeywordsIDs": [], "DurationType": "Infinite", "Duration": 0, "MaxStackQuantity": 0, "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied", "ApplicationType": "ApplyOnStart", "IntervalRateID": "00000000-0000-0000-0000-000000000000", "StackedChildrenApplyEffects": "false", "InclusionConditions": { "Operator": 0, "Components": [] }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "TriggerAdjustment": { "TriggerOnEvent": "None", "TriggerOffEvent": "None", "ValidateWithAttackFilter": "false", "ParamValue": 0, "ValueAdjustment": 0, "DurationAdjustment": 0, "ResetTriggerOnEffectTimeout": "false", "MaxTriggerCount": 0, "IgnoreMaxTriggerCount": "false", "RemoveEffectAtMax": "false", "ChanceToTrigger": 1 }, "PowerLevelScaling": { "UseCharacterLevel": "false", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "ValueAdjustment": 0, "DurationAdjustment": 0 }, "IsHostile": "false", "ClearOnCombatEnd": "false", "ClearOnRest": "false", "ClearOnFoodRest": "false", "ClearWhenAttacks": "false", "ClearOnDeath": "false", "HideFromCombatTooltip": "true", "HideFromCombatLog": "false", "HideFromUI": "false", "HideIfNoValue": "false", "VisualEffects": [], "MaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackFilter": { "KeywordsIDs": [ "bc512967-4b95-4fc8-a430-4e13171afd48" ], "KeywordLogic": "Or", "Race": "None", "IsKith": "false", "HealthPercentage": 0, "HealthOperator": "EqualTo", "Range": "None", "ClassTypeID": "00000000-0000-0000-0000-000000000000", "Source": "None", "DefendedBy": "None", "Empowered": "false", "Disengagement": "false", "Stealthed": "false", "UseStealthLinger": "false", "PowerLevel": 0, "PowerLevelOperator": "EqualTo", "ChanceToApply": 1, "AttackHostility": "Default", "TargetType": "None" }, "AttackTargetFilter": { "KeywordsIDs": [], "KeywordLogic": "Or", "Race": "None", "IsKith": "false", "HealthPercentage": 0, "HealthOperator": "EqualTo", "Distance": 0, "DistanceOperator": "EqualTo", "HasDOT": "false", "IsMarked": "false", "TargetHostility": "Default" }, "ExtraValue": 0, "OverridePenetration": 0, "DamageTypeValue": "All", "KeywordValueID": "00000000-0000-0000-0000-000000000000", "RaceValue": "None", "StatusEffectTypeValue": "None", "ItemValueID": "00000000-0000-0000-0000-000000000000", "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000", "StatusEffectsValueIDs": [], "AttackValueID": "6e67d101-385e-483c-9927-95281f290a68", "AttackOverrideValue": "None", "EventValue": "OnLaunchesAttack", "ClassValueID": "00000000-0000-0000-0000-000000000000", "WeaponTypeValue": "None", "AttackHitType": "None", "SkillValueID": "00000000-0000-0000-0000-000000000000", "AudioEventListID": "00000000-0000-0000-0000-000000000000", "BedRestDaysMinimum": 0, "BedRestDaysMaximum": 0 } ] }, { "$type": "Game.GameData.AttackAOEGameData, Assembly-CSharp", "DebugName": "Skald_AoE", "ID": "6e67d101-385e-483c-9927-95281f290a68", "Components": [ { "$type": "Game.GameData.AttackBaseComponent, Assembly-CSharp", "KeywordsIDs": [], "AttackDistance": 6, "MinAttackDistance": 0, "AttackVariationID": "35abdf41-fc3f-4310-8d5d-5d7da644affc", "UseParentEquippableHand": "false", "CastSpeedID": "eacb53e3-6eb5-422a-92ca-99cc883ae4a9", "RecoveryTimeID": "566840d9-1561-4243-8ca7-889df9869847", "OverrideTacticalActionType": "None", "ImpactDelay": 0, "ForcedTarget": "None", "AffectedTargetType": "Hostile", "AffectedTargetConditional": { "Conditional": { "Operator": 0, "Components": [] } }, "AffectedTargetDeathState": "Alive", "HostilityOverride": "Default", "PushDistance": 0, "FaceTarget": "true", "AccuracyBonus": 0, "PenetrationRating": 0, "DamageData": { "DamageType": "None", "AlternateDamageType": "None", "Minimum": 0, "Maximum": 0, "TacticalMinimumOverride": 0, "TacticalMaximumOverride": 0, "DamageProcs": [] }, "Require****Object": "false", "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [ "5cc57837-3f92-44a4-98bf-4d56c13b1ea4" ], "RandomizeStatusEffect": "false", "CanGraze": "false", "CanCrit": "true", "DefendedBy": "None", "AfflictionsDefendedBy": "None", "AfflictionApplicationModifier": "None", "SubstituteHitVisualEffect": "", "VisualEffects": [ { "VisualEffect": "prefabs/effects/abilities/fighter/fx_cleaving_stance.prefab", "AttachPoint": "Root", "AttachObject": "Caster", "AttachMode": "Attach", "MeshType": "None", "Event": "OnLaunch", "AnimEventID": 0, "Loop": "false", "Scale": "false" } ], "AttackOnImpactID": "00000000-0000-0000-0000-000000000000", "ExtraAttackID": "00000000-0000-0000-0000-000000000000", "LaunchBone": "RightWeapon", "HitBone": "Chest", "OnHitShakeDuration": "None", "OnHitShakeStrength": "None", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "AllReactNoise": "false", "InterruptsOn": "None", "InterruptType": "Normal", "TargetAngle": 0, "ApplyOnceOnly": "false", "PathsToTarget": "true", "HideFromCombatLog": "false", "AdditionalAttackOnTooltip": "false", "DoesNotApplyDamage": "false", "TreatAsWeapon": "false", "BounceData": { "Bounces": 0, "Multiplier": 0.5, "Range": 10, "InRangeOrder": "false", "NoRepeatTargets": "false", "AlwaysBounceAtEnemies": "false", "Delay": 0, "NeverBounce": "false" }, "AttackValidityConditional": { "Conditional": { "Operator": 0, "Components": [] } } }, { "$type": "Game.GameData.AttackAOEComponent, Assembly-CSharp", "BlastSize": "Small", "BlastRadiusOverride": 1.5, "DamageAngle": 360, "ExcludePrimaryTarget": "false", "IgnoreParentTarget": "false", "ExcludeSelf": "true", "BlastPhysicsForce": 500, "PushFromCaster": "false" }, { "$type": "Game.GameData.AttackRangedComponent, Assembly-CSharp", "LaunchAttackOnCollision": "false", "ProjectileCount": 1, "IgnoreMagicDefense": "false", "ProjectileConeAngle": 145, "ProjectilePrefab": "prefabs/projectiles/invisible_projectile.prefab", "IsMultiHit": "false", "MultiHitTravelDist": 10, "MultiHitMaxHits": 0, "LaunchSource": "Caster", "LaunchOffset": { "x": 0, "y": 0, "z": 0 }, "LaunchOffsetRandom": { "x": 0, "y": 0, "z": 0 } }, { "$type": "Game.GameData.AttackPulsedAOEComponent, Assembly-CSharp", "Duration": 0, "PulseIntervalRate": 3, "OneValidTargetPerPulse": "true", "PulsedVisualEffect": "", "LingerVisualEffect": "", "LingerEffectAttachMode": "Position", "LingerEffectAttachPoint": "Root", "Scale": "false" } ] }, { "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp", "DebugName": "Skald_SE_AttackOnApply", "ID": "5cc57837-3f92-44a4-98bf-4d56c13b1ea4", "Components": [ { "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp", "StatusEffectType": "AttackTargetOnEvent", "OverrideDescriptionString": -1, "OverrideDescriptionStringTactical": -1, "UseStatusEffectValueAs": "None", "BaseValue": 0, "DynamicValue": { "Stat": "None", "SkillDataID": "00000000-0000-0000-0000-000000000000", "ClassID": "00000000-0000-0000-0000-000000000000", "MultiplyBy": 1, "Operator": "Add" }, "KeywordsIDs": [], "DurationType": "UseDurationTime", "Duration": 10, "MaxStackQuantity": 0, "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied", "ApplicationType": "ApplyOnStart", "IntervalRateID": "00000000-0000-0000-0000-000000000000", "StackedChildrenApplyEffects": "false", "InclusionConditions": { "Operator": 0, "Components": [] }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "TriggerAdjustment": { "TriggerOnEvent": "None", "TriggerOffEvent": "None", "ValidateWithAttackFilter": "false", "ParamValue": 0, "ValueAdjustment": 0, "DurationAdjustment": 0, "ResetTriggerOnEffectTimeout": "false", "MaxTriggerCount": 0, "IgnoreMaxTriggerCount": "false", "RemoveEffectAtMax": "false", "ChanceToTrigger": 1 }, "PowerLevelScaling": { "UseCharacterLevel": "false", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "ValueAdjustment": 0, "DurationAdjustment": 0 }, "IsHostile": "false", "ClearOnCombatEnd": "false", "ClearOnRest": "false", "ClearOnFoodRest": "false", "ClearWhenAttacks": "false", "ClearOnDeath": "false", "HideFromCombatTooltip": "true", "HideFromCombatLog": "false", "HideFromUI": "false", "HideIfNoValue": "false", "VisualEffects": [], "MaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackFilter": { "KeywordsIDs": [], "KeywordLogic": "Or", "Race": "None", "IsKith": "false", "HealthPercentage": 0, "HealthOperator": "EqualTo", "Range": "None", "ClassTypeID": "00000000-0000-0000-0000-000000000000", "Source": "None", "DefendedBy": "None", "Empowered": "false", "Disengagement": "false", "Stealthed": "false", "UseStealthLinger": "false", "PowerLevel": 0, "PowerLevelOperator": "EqualTo", "ChanceToApply": 1, "AttackHostility": "Default", "TargetType": "None" }, "AttackTargetFilter": { "KeywordsIDs": [], "KeywordLogic": "Or", "Race": "None", "IsKith": "false", "HealthPercentage": 0, "HealthOperator": "EqualTo", "Distance": 0, "DistanceOperator": "EqualTo", "HasDOT": "false", "IsMarked": "false", "TargetHostility": "Default" }, "ExtraValue": 0, "OverridePenetration": 0, "DamageTypeValue": "All", "KeywordValueID": "00000000-0000-0000-0000-000000000000", "RaceValue": "None", "StatusEffectTypeValue": "None", "ItemValueID": "00000000-0000-0000-0000-000000000000", "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000", "StatusEffectsValueIDs": [], "AttackValueID": "00000000-0000-0000-0000-000000000000", "AttackOverrideValue": "FullAttack", "EventValue": "OnApply", "ClassValueID": "00000000-0000-0000-0000-000000000000", "WeaponTypeValue": "None", "AttackHitType": "None", "SkillValueID": "00000000-0000-0000-0000-000000000000", "AudioEventListID": "00000000-0000-0000-0000-000000000000", "BedRestDaysMinimum": 0, "BedRestDaysMaximum": 0 } ] }, { "$type": "Game.GameData.BaseProgressionTableAppendGameData, Assembly-CSharp", "DebugName": "PT_Skald_Passive_B_Append", "ID": "b838bd1d-6ff1-49e3-8ce3-a1d7ea09fba8", "Components": [ { "$type": "Game.GameData.BaseProgressionTableAppendComponent, Assembly-CSharp", "BaseTableID": "6b722b30-d930-43ae-b936-248a1616f48e", "AbilityUnlocks": [ { "Note": "PL 0 Unlock - Skald Passive B", "Category": "General", "UnlockStyle": "AutoGrant", "ActivationObject": "Self", "AddAbilityID": "4692e8b0-5dce-4b08-a497-89318707accc", "RemoveAbilityID": "00000000-0000-0000-0000-000000000000", "Prerequisites": { "MinimumCharacterLevel": 1, "PowerLevelRequirement": { "ClassID": "b4a0f1d1-b8f7-47e7-b899-99e478004a37", "MinimumPowerLevel": 0 }, "RequiresAbilityID": "00000000-0000-0000-0000-000000000000", "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean ProgressionTableIsSubclass(Guid)", "Parameters": [ "57873b18-31c1-4cbe-9845-94520cccf134" ], "Flags": "", "UnrealCall": "", "FunctionHash": 0, "ParameterHash": 0 }, "Not": false, "Operator": 0 } ] }, "VisibilityConditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean AlwaysFalse()", "Parameters": [], "Flags": "", "UnrealCall": "", "FunctionHash": 334029817, "ParameterHash": 334029817 }, "Not": false, "Operator": 0 } ] }, "IsMutuallyExclusiveUpgrade": "true" } } ]}] } ] }
February 7, 20223 yr Not easy. Either it's the OnLaunch Offensive Invocation taht doesn't work. Or it's the attack itself. (captain Obvious debug process...) I'll start by coding a simple status (some Inspiration for example) applied OnLaunch Offensive Invocationto check this part. That said, the attacktargetonevent status having a duration is extremely suspicious. Edited February 7, 20223 yr by Elric Galad
February 7, 20223 yr Author It is certainly strange. I don't think it is the OnLaunchesAttack trigger that's malfunctioning, because I used something similar for my modded Enchanter to cast an AoE after each Enchanting spell cast. My best guess is perhaps something's broken about the AttackOnApply effect, but I'll need to do some more testing too. Edited February 7, 20223 yr by Testlum
February 13, 20223 yr Author Holy crap, I actually figured it out. Turns out that even though the Chanter Invocation abilities were tagged with Offensive / Non-Offensive keywords, the attacks themselves don't have any keywords. That took way too long to discover...
February 18, 20223 yr On 2/13/2022 at 7:52 AM, Testlum said: Holy crap, I actually figured it out. Turns out that even though the Chanter Invocation abilities were tagged with Offensive / Non-Offensive keywords, the attacks themselves don't have any keywords. That took way too long to discover... Ouh, that might explain why Arcane Archer/Chanter get an accuracy malus for their Invocation. Arcane Archer accuracy malus is filtered out for spells using all Spell KW.
February 18, 20223 yr Author I should probably clarify, I mean that the Offensive / Nonoffensive keywords are missing, but the elemental keywords are present. Not sure if Invocations count as spells for the attack filter though.
February 22, 20223 yr On 2/18/2022 at 11:15 PM, Testlum said: I should probably clarify, I mean that the Offensive / Nonoffensive keywords are missing, but the elemental keywords are present. Not sure if Invocations count as spells for the attack filter though. Yeah, elemental offensive invocation were working. Non elemental ones were the issue.
Create an account or sign in to comment