Abilities cancelling out each other

UPDATE:

Both abilities are now working fine..:)

Moving on to "Jump Drive" and "Teleporting missiles"

 

I`m writing a number of abilities and i`m always putting them on a basic frigate first to test how they work.

 

Now that i have several working abilities i`m trying to apply to a single target, i`m seeing that they cancell each other.

 

Ability 1 - Warp scramble - disables phase jump of single target inside 8K radius.

              The ability works as it should

 

Ability 2 - Stasis Webification - reduces speed of target vessel, inside 18K radius, by 60%

              The ability works as it should.

 

When applied to the same ship. They activate normally, but the second cancells the first.

 

What i`ve tried:

I set stacking limit to -1 and i tried setting "allowFirstSpawnerToStack TRUE", but that caused minidump and seems to be a no go..

 

I CAN ONLY MAKE THE ABILITIES WORK WITH "STACKINGLIMIT" SET TO "1".

 

UPDATE:

I might have broken the abilities myself somehow. I`m not sure they cancel each other out.

Apparantly they`re only having effect when activated. Even though both cooldown and duration have been set to 15

the effect seems to be limited to the time of activation. Will have to look into it.. "Warp scramble" was working fine for a week before i introduced "stasis webification"

7,311 views 6 replies
Reply #1 Top


I set stacking limit to -1 and i tried setting "allowFirstSpawnerToStack TRUE", but that caused minidump and seems to be a no go..
End of quote

The reason for this is that the computer will only want the "allowFirstSpawnerToStack" line if the stacking limit is not -1...

If you have an infinite stacking limit (-1), then do not have the first spawner line...

If you have a finite stacking limit, then you will need the "allowFirstSpawnerToStack" line...

As for abilities cancelling each other out...this is unlikely to be the issue but you may need to change the value for  "onReapplyDuplicateType" from "PrioritizeNewBuffs" to "PrioritizeOldBuffs"...this is a weird quirk with the game that causes abilities like nano disruptor and incendiary shells to not work properly...however, I have never seen this cause two different abilities to cancel each other out, only an ability to cancel itself out...

If you are still having problems your issue probably lies with your finish conditions...

numFinishConditions 1
finishCondition
finishConditionType "TimeElapsed"
time
Level:0 10.000000
Level:1 10.000000
Level:2 10.000000

This is one type of finish condition that may be useful for you...of course, you probably already know all this but since I don't have your entity file it is hard to see where the error may be...

Make sure you have the correct number of finish conditions in the line "numFinishConditions"...if you left that at 1 but have 2 different conditions, you are going to have problems...

numFinishConditions 1
finishCondition
finishConditionType "FirstSpawnerNoLongerHasBuff"
buffTypeToQuery "BuffTauntSelf"
If you have this type of finish condition, this could also be your problem...make sure the value for "buffTypeToQuery" is correct, and make sure this is actually the finish condition you want...

 

Reply #2 Top

I haven`T been using the "bufftypetoquery"

 

The ability was working fine until i implemented the web. Now i`ve screwed the ability so it doesn`t work regardless.

 

Previous setup was:

AbilityWarpScramble

BuffWarpScrambleActivated

BuffWarpScrambleEffect

 

It was working fine and i`ve fixed most issues but for some reason the "entityBoolModifier" won`t activate.

 

I switched to the following setup:

AbilityWarpScramble

BuffWarpScrambleActivated

 

But still the entityBoolModifier won`t kick in.. And it`s been working fine for a week..:(

 

I messed around with the ability when i couldn`t get the webifier to work properly and now none of them do. The setup should be fine- it should be working..

 

**50% of my troubles stem from sloppy writing and 50% stem from me still not properly understanding the various commands such as these:

 

buffStackingLimitType ""

allowFirstSpawnerToStack

buffExclusivityForAIType ""

isInterruptable

isChannelling

 

UPDATE:

I`ve gone back to the buff/sub-buff setup but entityboolmodifier is still not doing anything.

 

I`m running the engine in dev.exe and there are no errors..

Reply #3 Top

In general, your best bet to figuring out the first three of those five lines is finding a pre-existing ability that is similar in use...that is a very vague piece of advice but the more you do this the better you'll get at it...

buffStackingLimitType

This has to do with how the limit is applied...the two values for this line I'm familiar with are "ForAllPlayers" and "PerPlayer"...in general, you want "ForAllPlayers"...this means that if the stacking limit is 3, then the targeted ship cannot feel the effects of more than 3 debuffs even if multiple players are targeting with that particular ability...

"PerPlayer" means that I can only affect you up to 3 times but if a 2nd player comes in, he can hit you with the ability too, allowing it to stack 6 times...an example of this is embargo, where multiple players can be stealing resources from the same planet...

allowFirstSpawnerToStack

A good example is incendiary shells...the current stacking limit is 3, but because allowFirstSpawnerToStack = TRUE, a single Marza actually can stack this ability three times by itself...this means that the 3/4.6/6 DPS actually results in about 9/13.5/18 DPS despite having only one Marza...however, if allowFirstSpawnerToStack = FALSE, then you would need 3 marzas in order to stack the ability 3 times...

buffExclusivityForAIType

This is the trickiest, and I'm not entirely sure about it...in general though, find a similar ability and go from there...you do not need to find necessarily an ability with the exact same effect, just something close...for your two abilities, I'd compare them to the gravity warhead that the vasari space egg has or the GRG on the Kol...

isInterruptable

This indicates whether the ability can be interrupted or not...for example, Missile barrage is interruptible...this means that if you hit the marza with ion bolt, detonate antimatter, phase out hull, etc. then the missile barrage will stop...this is often one way to balance very powerful abilities...missile barrage comes in 30 or so waves IIRC, so if you interrupt it at the 10th wave then your fleet only suffers 1/3 of the damage...in general, you don't want abilities to be interruptible unless they are very powerful...in general, really only applies to abilities that use periodic actions or actions over time...

isChannelling

This means that the ship will stop using the ability if it is give new orders...a great example is shield regeneration on the Progenitor...if you tell the ship to move while it is using the ability, the shield regen will stop and you will only get part of the buff...the ability icon will flash with a yellow outline if it is activated and is channeling...this is, like the previous line, only relevant to abilities that act over time or are periodic actions...channeling is more restrictive than being interruptible because giving the ship new orders also cancels using the ability...

As for why you are having problems, I can't really help you without seeing the files...either link them or just copy all the text and make it a post...

 

Reply #4 Top

The ability was working fine earlier- no idea what i did to break it.

This newest setup still won`t apply the "entityBoolModifier"

 

This is the ability and buffs:

 

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToTarget"
instantActionTriggerType "AlwaysPerform"
buffType "BuffWarpScrambleActivated"
targetFilter
    numOwnerships 1
    ownership "Enemy"
    numObjects 2
    object "CapitalShip"
    object "Frigate"
    numSpaces 1
    space "Normal"
    numConstraints 0
range
    Level:0 8000.000000
    Level:1    0.000000
    Level:2    0.000000
effectInfo
    effectAttachInfo
        attachType "Invalid"
    smallEffectName ""
    largeEffectName ""
    soundID ""
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "FixedLevel0"
aiUseTime "OnlyInCombat""
aiUseTargetCondition "Any"
isAutoCastAvailable TRUE
isAutoCastOnByDefault TRUE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
useCostType "AntiMatter"
antiMatterCost
    Level:0 10.000000
    Level:1  0.000000
    Level:2  0.000000
cooldownTime
    Level:0 15.000000
    Level:1 0.000000
    Level:2 0.000000
orderAcknowledgementType "ONGENERALORDERISSUED"
researchPrerequisites
    NumResearchPrerequisites 0
nameStringID "IDS_ABILITY_WARPSCRAMBLE_NAME"
descStringID "IDS_ABILITY_WARPSCRAMBLE_DESCRIPTION"
hudIcon "HUDICON_ABILITY_DEPLOYSTARBASETECH"
smallHudIcon "HUDICON_ABILITY_DEPLOYSTARBASETECH"
infoCardIcon ""

 

BuffWarpScrambleActivated

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 3
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "NotExclusive"
isInterruptable TRUE
isChannelling TRUE
numInstantActions 1
instantAction
    buffInstantActionType "PlayPersistantBeamEffect"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    hasWeaponEffects TRUE
    weaponEffectOriginType "Targetter"
    weaponEffectAttachInfo
        attachType "Ability"
        abilityIndex 0
    weaponEffectImpactOffsetType "RandomMesh"
    canWeaponEffectHitHull TRUE
    canWeaponEffectHitShields TRUE
    weaponEffectsDef
        weaponType "Beam"
        burstCount 1
        burstDelay 0.000000
        muzzleEffectName ""
        muzzleSoundMinRespawnTime 0.100000
        muzzleSounds
            soundCount 1
            sound ""
        hitEffectName "CapitalAbility_BeamBlastImpact"
        hitHullEffectSounds
            soundCount 1
            sound ""
        hitShieldsEffectSounds
            soundCount 1
            sound ""
        beamEffectSounds
            soundCount 1
            sound "EFFECT_BEAMBLAST_ACTIVATE"
        beamGlowTextureName "CapitalAbilityBeamBlast_Glow"
        beamCoreTextureName "CapitalAbilityBeamBlast_Core"
        beamWidth 250.000000
        beamGlowColor ffffffff
        beamCoreColor ffffffff
        beamTilingRate 3.000000
numPeriodicActions 1
periodicAction
    actionCountType "Infinite"
    actionIntervalTime
        Level:0 1.000000
        Level:1 0.000000
        Level:2 0.000000
    buffInstantActionType "ApplyBuffToTarget"
    instantActionTriggerType "AlwaysPerform"
    buffType "BuffWarpScrambleEffect"
    targetFilter
        numOwnerships 1
        ownership "Enemy"
        numObjects 2
        object "CapitalShip"
        object "Frigate"
        numSpaces 1
        space "Normal"
        numConstraints 0
    range
        Level:0 8000.000000
        Level:1 0.000000
        Level:2 0.000000
    effectInfo
        effectAttachInfo
            attachType "Invalid"
        smallEffectName ""
        largeEffectName ""
        soundID ""
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 4
finishCondition
    finishConditionType "TimeElapsed"
    time
        Level:0 15.000000
        Level:1 0.000000
        Level:2 0.000000
finishCondition
    finishConditionType "NoTarget"
finishCondition
    finishConditionType "OwnerChanged"
finishCondition
    finishConditionType "TargetOwnerIsFriendly"

 

BuffWarpScrambleEffect

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 3
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "NotExclusive"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 0
numPeriodicActions 0
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 1
    entityBoolModifier "DisablePhaseJump"
numFinishConditions 1
finishCondition
    finishConditionType "FirstSpawnerNoLongerHasBuff"
    buffTypeToQuery "BuffWarpScrambleActivated"

Reply #5 Top

I got the ability to work again and i`m moving on to getting my stasis webifier to work properly

 

I`m not entirely sure how i fixed it. It might have something to do with the following:

actionCountType "Infinite"

    actionIntervalTime

 

actionintervaltime was set to 1 so i changed it to coincide with "timeElapsed"

 

also changed warpscrambleeffect finishcondition to only "timeElapsed"

 

What is the significance and function of actioncounttype?

i`ve been thinking it`s how many times to perform the action and for how long the action should last?

 

UPDATE:

Both abilities are now working fine..:)

Moving on to "Jump Drive" and "Teleporting missiles"

 

Then i`ll be getting more serious about the graphical updates in regards to my shifting abilities around and making two new 3d models. (later will prob be a 6 month endevour)

 

 

 

Reply #6 Top

if actionCountType is "finite", then it will occur a finite number of times that you set...


periodicAction
actionCountType "Finite"
actionCount
Level:0 25.000000
Level:1 0.000000
Level:2 0.000000
actionIntervalTime
Level:0 1.250000
Level:1 0.000000
Level:2 0.000000
This is taken from missile barrage...it indicates that the ability will fire 25 times, 1.25s between each fire....
If you have an infinite count, then the actionCount and the following three lines should not be there...

 Glad you were able to make things work...best of luck to you on everything else!