Making Abilities Trouble

Hey Ive been tyring to make an ability to add to the Vasari Kol. So far I created the Ability entity, the buff, added the ability name and description to my English.str and added the ability name to the capship entitiy file. The problem is that when I look over the capship the infocard that pops up does not show the ability and when I make the cap ship and try to spend the ability point I get minidumped. The English.str file is inside the folder of the mod im running.

 

Can anyone walk me thorugh making abilities or what I forgot to do?

10,695 views 9 replies
Reply #1 Top

Open your user.setting file in the Settings folder, and at the bottom set showErrors to TRUE. Then run the mod again and re-create the crash, and it should tell you why it crashed beyond the basic minidump message.

It almost sounds like you didn't set the ability's levelSourceType to Intrinsic with 3 levels in the ability entity file.

Reply #2 Top

Im getting these errors

 

Text FileArchive missing Label.

File: C:\Users\Peter Brobbey\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\04-Speed Increase\GameInfo\AbilityFinalStand.entity
Label: range
Line Number:12
Line Contents:effectInfo

Text FileArchive missing Label.
File: C:\Users\Peter Brobbey\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\04-Speed Increase\GameInfo\AbilityFinalStand.entity
Label: minExperienceLevelRequired
Line Number:25
Line Contents:aiUseTime "OnlyInCombat"

 

and those only happen when I try and look over the ability's infocard

Reply #3 Top

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToTarget"
instantActionTriggerType "AlwaysPerform"
buffType "BuffFinalStand"
targetFilter
    numOwnerships 1
    ownership "Player"
    numObjects 1
    object "Frigate"
    numConstraints 1
    constraint "HasHullDamage"
effectInfo
    effectAttachInfo
        attachType "Center"
    smallEffectName ""
    largeEffectName ""
    soundID ""
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "Intrinsic"
aiUseTime "OnlyInCombat"
aiUseTargetCondition "Any"
isAutoCastAvailable TRUE
isAutoCastOnByDefault FALSE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
isPassive FALSE
antiMatterCost
    Level:0 300.000000
    Level:1 0.000000
    Level:2 0.000000
cooldownTime
    Level:0 180.000000
    Level:1 0.000000
    Level:2 0.000000
researchPrerequisites
    NumResearchPrerequisites 0
nameStringID "IDS_ABILITY_LASTSTANDELITE_NAME"
descStringID "IDS_ABILITY_LASTSTANDELITE_DESCRIPTION"
hudIcon "HUDICON_ABILITY_LASTSTAND"
smallHudIcon "HUDICON_ABILITY_LASTSTAND"
infoCardIcon ""

 

thats whats in the file. Anything Wrong? I think its because I dont know how to add a name string and desc string. I only get this error after I change those. I created the ID values in the english.str file and copied the String folder into the Speed Increase mod file too. Did I do something wrong?

Reply #4 Top

How do I add descriptions to abilities? Thats what I really need to know. I loaded the string file and it says there are errors in there too...

Reply #5 Top

Okay, a couple of things:

Text FileArchive missing Label.

File: C:\Users\Peter Brobbey\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\04-Speed Increase\GameInfo\AbilityFinalStand.entity
Label: range
Line Number:12
Line Contents:effectInfo

Your buff is ApplyBuffToTarget, which requires a targetFilter, and a "range" field. The error you're getting shows that you're missing the range field.

Here's an example:

targetFilter
    numOwnerships 1
    ownership "Enemy"
    numObjects 3
    object "CapitalShip"
    object "Frigate"
    object "PlanetModule"
    numConstraints 0
range
    Level:0 5000.000000
    Level:1 5000.000000
    Level:2 5000.000000

 

Text FileArchive missing Label.
File: C:\Users\Peter Brobbey\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\04-Speed Increase\GameInfo\AbilityFinalStand.entity
Label: minExperienceLevelRequired
Line Number:25
Line Contents:aiUseTime "OnlyInCombat"

Your ability's levelSourceType is set to "Intrinsic". This means it's based off the capital ship's level, which means you need to define which ship levels open up ranks of the ability. An example:

levelSourceType "Intrinsic"
minExperienceLevelRequired
    Level:0 0.000000
    Level:1 2.000000
    Level:2 4.000000

For a generic capital ship ability that opens up at level 1, upgrades at 3 and 5. If you're not putting the ability on a capital ship, you cannot use Intrinsic levelSourceType because no other ship can gain levels.

How do I add descriptions to abilities? Thats what I really need to know. I loaded the string file and it says there are errors in there too...

Simply add a StringInfo block into the English.str file that contains the ID and the Value, for example for your line:

nameStringID "IDS_ABILITY_LASTSTANDELITE_NAME"

You would add this to the English.str file:

StringInfo

      ID "IDS_ABILITY_LASTSTANDELITE_NAME"

      Value "Last Stand"

You would then increase the NumStrings number at the top of the file since you added one.

What the game does is it looks at the ID you assigned in the entity file, then it goes to the Strings file and tries to find that exact ID. The Value field is the actual text that is displayed in-game.

+1 Loading…
Reply #6 Top

wow thanks alot! +1 Karma for the great help!

Reply #7 Top

Thanks alot man everything you said worked!

Reply #9 Top

One small correction to your previous post Annatar11,

If you're not putting the ability on a capital ship, you cannot use Intrinsic levelSourceType because no other ship can gain levels.

This is not true as I have moved a ship Ability to a PlanetOrbital and not changed the levelSourceType from Intrinsic. The Ability works like this. I will qualify this by saying that I have Zeroed Level 1 and 2 entries so that only Level 0 has relevant data.

I also think its a bit non-sensical to have it set to Intrinsic and intend to change it to ResearchWithBase shortly.