Testlum Posted February 7, 2022 Share Posted February 7, 2022 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" } } ]}] } ] } Link to comment Share on other sites More sharing options...
Elric Galad Posted February 7, 2022 Share Posted February 7, 2022 (edited) 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, 2022 by Elric Galad Link to comment Share on other sites More sharing options...
Testlum Posted February 7, 2022 Author Share Posted February 7, 2022 (edited) 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, 2022 by Testlum Link to comment Share on other sites More sharing options...
Testlum Posted February 13, 2022 Author Share Posted February 13, 2022 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... Link to comment Share on other sites More sharing options...
Elric Galad Posted February 18, 2022 Share Posted February 18, 2022 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. Link to comment Share on other sites More sharing options...
Testlum Posted February 18, 2022 Author Share Posted February 18, 2022 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. Link to comment Share on other sites More sharing options...
Elric Galad Posted February 22, 2022 Share Posted February 22, 2022 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now