Jump to content

How to change/remove the "If successful" conditional in spells/abilities


Recommended Posts

Hi,

I'm trying to modify how some spell/abilities works, and in particular there're effects that try to be applied after a first successful throw.

For example "Dazing Shout":

Foe AoE:
18-30 | Accuracy vs. Fortitude
If successful: Shaken, Dazed for 20.0 sec | Accuracy vs. Will

In this case the second throw on "Will" is done only after the success of the first throw on "Fortitude".
This is ruled by the following fields in the dazing shout line of the attack.gamedatabundle:

"StatusEffectsIDs": ["...Shaken ID...","...Dazed ID..."],                          for the 2 conditions.

 

"DefendedBy": "Fortitude",
"AfflictionsDefendedBy": "Will",                          I think these 2 lines control the "If successful" behavior

 

I would like to maintain the two throws without the necessity to pass the first throw.

 

A possible way is to make "None" the "AfflictionSDefendedBy" field, but in this way the status effects will have the same throw of the attack, something not reasonable.

 

I think that another workaround is to add an "ExtraAttackID" with the same radius, no damage, same status effect and the "Will" throw.

But in this way the two attack ranges indicators will overlap creating a not so pleasant visual indicator.

 

Is there a way to:

1) maintain the two different throws meanwhile getting rid of the "If successful" conditional?

2) hide one of the attack range indicator?

 

Thank you :)

Edited by mammasaura

CzSyX91.jpg

Link to comment
Share on other sites

I haven't tested this at all but was curious.  Would AttackOnImpactID:"guid" work?  Does it require a hit or just the spell to "impact"?  I'm not sure if Require****Object":"false" is relevant here but I'd probably try coupling them and see if it fires on miss otherwise your idea with ExtraAttackID is the only simple solution I can think of.

Link to comment
Share on other sites

Hi! Tried to use "AttackOnImpactID", seems corresponding to "AfflictionsDefendedBy" but for attacks.
In the description doesn't appear the "If successful" note, but the behavior is the same.

If you land a successful attack, then the attack referenced in the "AttackOnImpactID" triggers.

Edited by mammasaura

CzSyX91.jpg

Link to comment
Share on other sites

Part of my post was censored because of no spaces in code but did you try it with "Requires Hit Object" (remove spaces lol) set to false?  I'm not sure what that links to myself.  I'm still digging and playing around with the parameters to see what affects what.

 

Other than that, to avoid the overlapping targeting, you would need to set up some conditional behaviour and I haven't got there at this point.  Someone around here will know so stay tuned. 

 

I really wish we had some documentation.  I don't care how rough it is.... even just a list of all valid parameters etc that may not appear in the exported files. 

Link to comment
Share on other sites

> I really wish we had some documentation. I don't care how rough it is.... even just a list of all valid parameters etc that may not appear in the exported files.

 

Use something like jq to take a slice through the bundles. That won't be definitive but it'll at least give you a map of what values are used for a given field.

 

If you need help for a particular field value I can do this for you too, if you like.

Edited by ydaraishy
Link to comment
Share on other sites

Use something like jq to take a slice through the bundles. That won't be definitive but it'll at least give you a map of what values are used for a given field.

 

If you need help for a particular field value I can do this for you too, if you like.

 

i've got a list from the exported section but I have a feeling that wouldn't be the complete list.  i haven't unpacked the unity bundles to see what's in there or "other" places to check for values etc though.  If someone had a complete list for values that would be good (example all values for statuseffecttype) or if we can create our own somehow (I'm not at this level yet).

Link to comment
Share on other sites

Ah, you have a list already. FWIW, if you want to compare:

$ sed -e 's/\[,,*/[/g' statuseffects.gamedatabundle | \
jq '.. | try select(.StatusEffectType) | .StatusEffectType' | sort | uniq
"AOEDamageMultiplier"
"AOEDefense"
"AbilityPowerPoolMaximum"
"AccuracyAgainstRace"
"AddEmpowerPoints"
"AddFocus"
"AddInjury"
"AddPhrases"
"AddResource"
"AddWounds"
"AdjustDurationOfBeneficialEffects"
"AdjustDurationOfHostileEffects"
"AdjustMaxEmpowerPoints"
"AdjustSoulboundProgress"
"AfflictionImmunity"
"AfflictionResistance"
"AfflictionTypeDurationAdjustment"
"AfflictionTypeDurationMult"
"AllAccuracy"
"AllDefense"
"AllDefenseExceptDeflection"
"AoEMult"
"ApplyStatusEffectOnEvent"
"ApplyStatusEffectOnEventWithChance"
"ApplyStatusEffectToEnemyByDamageDealt"
"ApplyStatusEffectToEnemyByDamageRecieved"
"ApplyStatusEffectToEnemyOnEvent"
"ApplyStatusEffectToEnemyOnEventWithChance"
"ApplyStatusEffectToSelfByDamageDealt"
"ApplyStatusEffectToSelfByDamageRecieved"
"ApplyStatusEffectToSelfByDamageTypeReceived"
"ArmorRating"
"ArmorSpeedFactorAdj"
"AttackEnemyOnEvent"
"AttackEnemyOnEventWithChance"
"AttackReflectChance"
"AttackResistance"
"AttackSpeedMultiplier"
"AttackTargetOnEvent"
"AttacksCanGraze"
"AttacksInterrupt"
"AttacksInterruptOnCrit"
"AttacksTargetAll"
"BackstabAccuracy"
"BeneficialEffectDurationMultiplier"
"BonusAccuracyForNearestAllyOnSameEnemy"
"BonusCritToHitChance"
"BonusDamageProc"
"BonusGrazeToHitChance"
"BonusGrazeToHitChanceMeleeOneHand"
"BonusGrazeToMissChance"
"BonusHealMult"
"BonusHealingGivenMult"
"Bonu****ToCritChance"
"Bonu****ToCritChanceEnemyDistance"
"Bonu****ToCritChanceEnemyHealth"
"Bonu****ToGrazeChance"
"BonusMeleeDamage"
"BonusMissToGrazeChance"
"BonusPotionEffectOrDurationPercent"
"BonusQuickSlots"
"BonusRangedWeaponCloseEnemyDamageMult"
"BonusShieldDeflection"
"BonusUnarmedDamage"
"BonusWeaponSets"
"BreakAllEngagement"
"CannotEngage"
"CannotEquipOffhand"
"CannotEquipShields"
"CannotMove"
"CannotUseFoodDrinkDrugs"
"CannotUsePotions"
"CannotUseScrolls"
"ChangeForm"
"ChanterPhraseAoEMult"
"Concentration"
"Constitution"
"ConvertDamageToHealing"
"CriticalDamageMultiplier"
"DOTTickMult"
"Damage"
"DamageMinimum"
"DamageMultiplier"
"DamageMultiplierByRace"
"DamagePlusStatusEffect"
"DamageShield"
"Deflection"
"DelayUnconsciousness"
"Destroy"
"Dexterity"
"DisableActiveAbilities"
"DisableHostileAbilities"
"DisableKeywordAbilities"
"DisableModalAbilities"
"DisableSpellcasting"
"DisengagementAccuracy"
"DisengagementDamage"
"DisengagementDefense"
"DistantEnemyBonus"
"DistantEnemyWeaponAccuracyBonus"
"DualWieldWeaponRecoveryMultiplier"
"EnemiesNeededToFlankAdj"
"EnemyCritToHitChance"
"EnemyCriticalDamageMultiplier"
"EnemyDamageMultiplier"
"EnemyDeflectReflexHitToGrazeChance"
"EnemyFortitudeWillHitToGrazeChance"
"EnemyGrazeToMissChance"
"EnemyHitToCritChance"
"EnemyHitToGrazeChance"
"EnemyReflexGrazeToMissChance"
"EngagementLimit"
"EngagementRadius"
"ExtraStraightBounces"
"FinishingBlowDamageMult"
"FocusGainMult"
"ForceWalk"
"Fortitude"
"FrenzyDurationMult"
"GrimoireCooldownBonus"
"Health"
"HealthRechargeRate"
"HealthRechargeRateMultiplier"
"HidesHealth"
"HostileEffectDurationMultiplier"
"Immunity"
"InjuryMaxHealthMultiplier"
"Intellect"
"InverseKeywordImmunity"
"Invisible"
"KnockedDown"
"MarkedPrey"
"MaxFocus"
"MaxHealth"
"MaxHealthMultiplier"
"MeleeAccuracy"
"MeleeAttackDistanceMultiplier"
"MeleeDamageMultiplier"
"MeleeWeaponDamageMultiplier"
"MeleeWeaponRecoveryMultiplier"
"Might"
"MinimumWeaponDamageMultiplier"
"ModifyResourceCost"
"ModifyResourceCostMult"
"MovementRate"
"MovementRateMult"
"NegMoveTickMult"
"NegateNextRecovery"
"NonEngageable"
"NonEngageableByLowerLevel"
"NonTargetable"
"None"
"OutgoingAfflictionTypeDurationMult"
"Paralyzed"
"PenetrationMult"
"PenetrationRating"
"Perception"
"PhraseLingerMultiplier"
"PhraseRateMultiplier"
"PowerLevel"
"PreventDeath"
"PreventInterrupts"
"ProjectileCountMult"
"Push"
"PushDefense"
"PushImmune"
"QuickItemRecoveryMult"
"RangedAccuracy"
"RangedAttackDistanceMultiplier"
"RangedMovingRecoverySpeedMultiplier"
"RangedWeaponDamageMultiplier"
"RangedWeaponRecoveryMultiplier"
"RecoveryTimeMultiplier"
"RedirectMeleeAttacks"
"Reflex"
"ReloadTimeMultiplier"
"RepeatAttacks"
"Resolve"
"ReviveAndAddHealth"
"ScaleMultiplier"
"ScriptEvent"
"SetAnimationStatus"
"SharedDefense"
"ShieldDeflectionExtendToReflex"
"SingleWeaponRecoveryMultiplier"
"SkewDamageRangeUp"
"Skill"
"SkillAll"
"SpellCastBonus"
"SpellSteal"
"StalkersLinkDamageMult"
"StatusEffectDefense"
"StatusEffectDurationAdjustment"
"StatusEffectDurationMultiplier"
"Stunned"
"SummonConsumable"
"SummonWeaponPrimarySlot"
"SummonWeaponSecondarySlot"
"SuspendBeneficialEffects"
"SuspendHostileEffects"
"TakeControl"
"Terrified"
"TransferDamageReceivedToOwner"
"TransitionOVS"
"TrapAccuracy"
"TrapBonusDamageOrDurationPercentMult"
"TwoHandedDeflectionBonus"
"UnadjustedDamageBonus"
"UnarmedAccuracy"
"VeilDeflection"
"VerticalLaunch"
"WeaponProficiency"
"WeaponSwitchCooldownBonus"
"WhileKnockedDownDefense"
"WhileStunnedDefense"
"WildstrikeDamageMult"
"Will"
"WoundDelay"
"ZealousAuraAoEMult"
Link to comment
Share on other sites

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