MaxQuest Posted December 6, 2018 Share Posted December 6, 2018 (edited) I find current soulblade playstyle pretty dull. And I'd want a mod that does the following: - Instead of having -5 focus discount, shred powers now place a stackable mark on enemies when these powers deal damage. - This mark, let's call it "Soul Fracture" lasts for 15 seconds (unmodified by INT and PL) and can stack up to 5 instances. - When cipher deals damage with Soul Annihilation, all adjacent soul fractured enemies in 2.0m range from the primary target (but excluding primary target itself) take half of SA raw damage (that was just dealt to primary target). This damage consumes existing "Soul Fracture" instances and is increased by +20% per each. P.S. Tips and directions on how to do it myself are also greatly appreciated. P.P.S. I don't really expect it to be possible... but it also would be really cool if killing someone with SA, was visually kicking their soul out of the body and showing how it dissipates. Edited December 8, 2018 by MaxQuest 1 PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
Fhav6X Posted December 6, 2018 Share Posted December 6, 2018 I hope you have good programming skills in c#, because I'm sure this can only be done by editing the game's code in Assembly-CSharp.dll and it sound like a lot of work. The file is under "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\Managed". You can use dnspy (google it) to edit Assembly-CSharp.dll. 1 Link to comment Share on other sites More sharing options...
Armakoir Posted December 6, 2018 Share Posted December 6, 2018 I *think* this might be possible without dll work, but it is still a fair amount of work. Status effects can stack, so the first step is replacing all the shred powers for the Soulblade. You can also do AoE attacks that ignore the target. The only real tricky part is triggering/removing the stacked SEs. This idea peaks my curiosity, but no guarantees. RL is kicking my ass right now. 1 My PoE2 Mods: The Class Project | Thrown Weaponry Kits | Informative Proficiency Descriptions Link to comment Share on other sites More sharing options...
MaxQuest Posted December 6, 2018 Author Share Posted December 6, 2018 (edited) I hope you have good programming skills in c#, because I'm sure this can only be done by editing the game's code in Assembly-CSharp.dll and it sound like a lot of work. The file is under "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\Managed". You can use dnspy (google it) to edit Assembly-CSharp.dll. I had some.. experience with modding Assembly-CSharp.dll via IEFramework for PoE1. Made a mod with few bug fixes. But still I'd rate my experience as very limited with both C# and Pillars. I mean I can edit some existing stuff. But don't know how to add new stuff. I *think* this might be possible without dll work, but it is still a fair amount of work. Status effects can stack, so the first step is replacing all the shred powers for the Soulblade. You can also do AoE attacks that ignore the target. The only real tricky part is triggering/removing the stacked SEs.So... if step by step it would be: - s1. Create "Soul Fracture" status effect. Which is stackable and has a duration. Probably use Forbidden Curse as starting point, copy and edit it. Also take a look at Modwyr or Gravecaller for how they implemented stack cap. - s2. Edit existing shred powers, to apply "Soul Fracture" onDamage. How? - s3. Create "Soul Splinters" AoE... ability? For starters it can deal fixed 10 raw damage. - s4. Somehow attach "Soul Splinters" to "Soul Annihilation" - s5. Edit "Soul Splinters" damage: > it should know how much damage was dealt by SA (or calculate it itself) > take into account existing "Soul Fracture" instances. And increase damage by +20% for each. Or if there is no instances - don't deal damage at all. > clear "Soul Fractures". (like Wave Walker clears fire effects?) This idea peaks my curiosity, but no guarantees. RL is kicking my ass right now.Fingers crossed Edited December 8, 2018 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
MaxQuest Posted December 7, 2018 Author Share Posted December 7, 2018 So... I have managed to do steps 1, 2 and 3. Also have figured out how to clear/remove "Soul Fracture". If you are interested how: Although I haven't found how to clear specific status effect by id, there is the following workaround: - set an unique keyword; and attach it to initial status_effect - create a clearing status_effect with > "StatusEffectType": "Immunity" > "DurationType": "Instant", > "Duration": 0 > "ApplicationType": "ApplyOnStart", > and add that keyword id to AttackFilter But I am stuck at step 4... I can't attach an AoE to Soul_Annihilation ability. I'm setting AttackID but nothing happens. Have tried with a newly created Game.GameData.AttackAOEGameData and with Silent_Scream_Target and with Silent_Scream_AoE... nothing. Also does someone know how to aggregate stacked effects like that?: 1 PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
MaxQuest Posted December 8, 2018 Author Share Posted December 8, 2018 (edited) Kinda sorted the step4 out... Instead of linking the AoE attack directly to SA ability (like for example Silent Scream does), it was needed to go down to status effects, and from an effect of AttackTargetOnEvent type, link the attack I wanted. I.e. instead of: I had to do: So, it looks like I'll be able to mod this myself, if I'll also find how to: > q1. make "Soul Splinters" deal bonus damage based on "Soul Fracture" count and optionally: > q2. aggregate "Soul Fracture" status effects > q3. make "Soul Splinter" aware of how much damage did "Soul Annihilation". I mean, if SA critted for 100 raw damage, I'd like AoE to use half of that as the baseline (and not make a roll of it's own). So if AoE at least grazes - it deals 50 raw damage. If it misses - it missed. > q4. how to make "Soul Annihilation" get bonus accuracy (e.g. +3 acc per Soul Fracture on target) Edited December 9, 2018 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
Armakoir Posted December 9, 2018 Share Posted December 9, 2018 Remove an SE by applying a 0 time immunity! That makes so much sense. Great progress. Here's a thought regarding the aggregation of Fracture. If 10 stacks are the max, then each shred ability could apply 10 SEs. Each SE has a unique keyword and requires the previous keyword on a target to apply (the first stack wouldnt require a keyword). Annhilation would then filter it's damage according to the appropriate keyword on the target. It's a bit clunky, but I think it could work. You could probably do the Accuracy bonus at the same time via the attack filter and the keywords on the target. Your Excel visuals are awesome. Going to steal that idea for my guide if you don't mind My PoE2 Mods: The Class Project | Thrown Weaponry Kits | Informative Proficiency Descriptions Link to comment Share on other sites More sharing options...
MaxQuest Posted December 9, 2018 Author Share Posted December 9, 2018 (edited) I don't mind As for 10 SE fractures,.. I somewhat see how it can work. But oh boy it's indeed a hulking approach. Hmm. Maybe I'll try a different strategy, and get rid of stacking altogether. Playstesting has shown that mind blades are often the best way to stack "Soul Fractures". So it would require either investigating how to make shred DoTs apply "Soul Fracture" on each tick, and not just when they are applied,.. or alter the concept. As alternative, I'm now thinking about: Gains "Soul Annihilation" ability: A soul enhanced melee strike that consumes the cipher's remaining focus and converts half of it into Raw damage on the target. Shred powers now also place a "Mark of the Beyond" on affected enemies for 15s. Soul Annihilation additionally deals 50% of it's raw damage in 2.5m AoE around the target, to enemies that are affected by "Mark of the Beyond", and consumes their marks. 3 upgrades: > u1: Focused Annihilation: Soul Annihilation gets +20acc bonus vs marked enemies. > u2: Mass Annihilation: adjacent, marked enemies now take 75% of Soul Annihilation raw damage. > u3: Horrifying Fate: hits with Soul Annihilation shaken primary and marked enemies. Kills with Soul Annihilation frighten them. Edited December 9, 2018 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
GrimLefourbe Posted December 10, 2018 Share Posted December 10, 2018 I'm late to the Battle but isn't the whole proc thing similar to Lord Darryn's Voulge effect? Maybe you could look how it's done with the items. "Static Charge: On Hit, applies a stacking effect to an enemy. On Crit, all enemies in an AoE will lose all stacks and take +5 Shock damage for every stack." 2 Link to comment Share on other sites More sharing options...
MaxQuest Posted December 11, 2018 Author Share Posted December 11, 2018 Good point! I've totally forgot about that weapon) I'll look that up. PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
Kaylon Posted December 11, 2018 Share Posted December 11, 2018 This is also similar to monk's Resonant Touch. 1 Link to comment Share on other sites More sharing options...
MaxQuest Posted February 4, 2019 Author Share Posted February 4, 2019 (edited) Hey guys, I have two questions, maybe someone has any ideas?: 1). Soul Annihilation cannot be cast if you have less than 10 focus. But this is set as UsageValue. So if you have 40 current focus, it will first consume 10 and actually use 30 for calculations. The question is: how to make an ability have a minimum requirement of 10 focus, but keep it's UsageValue at 0? 2). Soul Annihilation is a primary attack that has a damage dealing Status Effect attached. This SE is not dealing physical damage, but somehow does benefit from physical damage coefficients like: Sneak Attack, Weapon Quality Enchant, TwoHandedStyle talent, GreatSwordProfficiency modal. How can I change this, without substituting Primary WeaponAttackAbilityComponent with a melee spell? P.S. Here's the unedited json for reference: [ { "$type": "Game.GameData.WeaponAttackAbilityGameData, Assembly-CSharp", "DebugName": "Soul_Annihilation", "ID": "bf41329e-a30c-464c-8c33-67e6d5ea5687", "Components": [ { "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "KeywordsIDs": [], "DisplayName": 2869, "Description": 2870, "DescriptionTactical": -1, "UpgradeDescriptions": [], "UpgradedFromID": "00000000-0000-0000-0000-000000000000", "Vocalization": "AbilityCast", "Icon": "gui/icons/abilities/cipher/soul_annihilation.png", "UsageType": "ClassAccruedResource", "UsageValue": 10, "AbilityClassID": "ccdc9675-e2a7-46fa-83e9-7a5368b56265", "AbilityLevel": 1, "IsPassive": "false", "StackingRuleOverride": "Default", "TriggerOnHit": "false", "IsModal": "false", "ModalGroupID": "00000000-0000-0000-0000-000000000000", "IsCombatOnly": "false", "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": "Default", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "DamageAdjustment": 1, "DurationAdjustment": 1, "BounceCountAdjustment": 0, "ProjectileCountAdjustment": 0, "AccuracyAdjustment": 0, "PenetrationAdjustment": 0 }, "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [ "ff61ecc9-fd46-47a8-be7c-64f42831b811" ], "VisualEffects": [], "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackID": "00000000-0000-0000-0000-000000000000", "AITargetingConditional": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [] }, "AudioEventListID": "09b03696-0fea-496d-8826-cf71a4c3abbc", "GrantedViaScript": "false" }, { "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp" }, { "$type": "Game.GameData.WeaponAttackAbilityComponent, Assembly-CSharp", "Type": "Primary", "Range": "Melee", "AttackVariationID": "00000000-0000-0000-0000-000000000000", "RecoveryTimeID": "00000000-0000-0000-0000-000000000000", "BonusDamageMultiplier": 1, "BonusAccuracy": 0, "BonusPenetration": 0, "BonusPushDistance": 0, "DefendedBy": "Count", "AfflictionsDefendedBy": "Count", "InterruptsOn": "Crit", "InterruptType": "Normal", "ApplyEffectsToPrimaryOnly": "false", "AttackKeywordsIDs": [], "AttackStatusEffectsIDs": [ "122c3921-9d3a-48d0-82ab-04504ca19799" ], "AttackVisualEffects": [ { "VisualEffect": "prefabs/effects/abilities/rogue/fx_finishing_blow_hit.prefab", "AttachPoint": "Chest", "AttachObject": "Target", "AttachMode": "PositionFaceSource", "MeshType": "None", "Event": "OnHit", "AnimEventID": 0, "Loop": "false", "Scale": "false" } ], "IsMultiHit": "false", "ProjectilePrefab": "", "ProjectileCount": 0 } ] }, { "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp", "DebugName": "Soul_Annihilation_SE_ApplyOnEvent", "ID": "ff61ecc9-fd46-47a8-be7c-64f42831b811", "Components": [ { "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp", "StatusEffectType": "ApplyStatusEffectOnEvent", "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": "OneHitUse", "Duration": 0, "MaxStackQuantity": 0, "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied", "ApplicationType": "ApplyOnStart", "IntervalRateID": "00000000-0000-0000-0000-000000000000", "StackedChildrenApplyEffects": "false", "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", "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": [ "4165d186-a5d0-4f11-a01b-6747b401cf1c" ], "AttackValueID": "00000000-0000-0000-0000-000000000000", "AttackOverrideValue": "None", "EventValue": "OnClear", "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.StatusEffectGameData, Assembly-CSharp", "DebugName": "Soul_Annihilation_SE_RawDamage", "ID": "122c3921-9d3a-48d0-82ab-04504ca19799", "Components": [ { "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp", "StatusEffectType": "Damage", "OverrideDescriptionString": -1, "OverrideDescriptionStringTactical": -1, "UseStatusEffectValueAs": "None", "BaseValue": 10, "DynamicValue": { "Stat": "AccruedResource", "SkillDataID": "00000000-0000-0000-0000-000000000000", "ClassID": "ccdc9675-e2a7-46fa-83e9-7a5368b56265", "MultiplyBy": 0.25, "Operator": "Add" }, "KeywordsIDs": [], "DurationType": "Instant", "Duration": 0, "MaxStackQuantity": 0, "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied", "ApplicationType": "ApplyOnStart", "IntervalRateID": "00000000-0000-0000-0000-000000000000", "StackedChildrenApplyEffects": "false", "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasStatusEffect(Guid, Guid)", "Parameters": [ "011111e9-0000-0000-0000-000000000000", "ff61ecc9-fd46-47a8-be7c-64f42831b811" ], "Flags": "", "UnrealCall": "", "FunctionHash": -2101652762, "ParameterHash": 519142437 }, "Not": false, "Operator": 0 } ] } }, "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": "true", "ClearOnCombatEnd": "false", "ClearOnRest": "false", "ClearOnFoodRest": "false", "ClearWhenAttacks": "false", "ClearOnDeath": "false", "HideFromCombatTooltip": "true", "HideFromCombatLog": "false", "HideFromUI": "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": "Raw", "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": "None", "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.StatusEffectGameData, Assembly-CSharp", "DebugName": "Soul_Annihilation_SE_RemoveFocus", "ID": "4165d186-a5d0-4f11-a01b-6747b401cf1c", "Components": [ { "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp", "StatusEffectType": "AddFocus", "OverrideDescriptionString": 335, "OverrideDescriptionStringTactical": -1, "UseStatusEffectValueAs": "None", "BaseValue": -999, "DynamicValue": { "Stat": "None", "SkillDataID": "00000000-0000-0000-0000-000000000000", "ClassID": "00000000-0000-0000-0000-000000000000", "MultiplyBy": 1, "Operator": "Add" }, "KeywordsIDs": [], "DurationType": "Instant", "Duration": 0, "MaxStackQuantity": 0, "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied", "ApplicationType": "ApplyOnStart", "IntervalRateID": "00000000-0000-0000-0000-000000000000", "StackedChildrenApplyEffects": "false", "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", "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": "None", "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 } ] } ] Edited February 4, 2019 by MaxQuest PoE1 useful stuff: attack speed calculator, unofficial patch mod, attack speed mechanics, dot mechanics, modals exclusivity rules PoE2 useful stuff: community patch, attack speed mechanics, enemy AR and defenses Link to comment Share on other sites More sharing options...
Armakoir Posted February 4, 2019 Share Posted February 4, 2019 For 1, can you just refund the minimum requirement as part of the ability? Or is part of the problem that you want the calculation to be based upon 40 (ie, the pre-ability focus value)? For 2, there is a work around for making a spell a weapon attack. IIRC, the vanilla fighter ability Clear Out is an example. Basically, Clear Out is an AOE "spell" that inflicts weapon damage. This might do what you're trying to accomplish: maintaining primary weapon damage but not increase the SE damage via Sneak Attack, etc. 1 My PoE2 Mods: The Class Project | Thrown Weaponry Kits | Informative Proficiency Descriptions 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