Modding Abilities

I'm trying to create a weapon for a capital ship that would not be immediately accessible. I've made an ability that works, but it seems you have to level up to get it. I want to have three of these new abilities so they fire from different hardpoints.

1. Is there anyway to make it so capital ship abilities don't require a level up? Like how the colony frigate has two abilities right off the bat, that's how I want this to be.

2. I have multiple abilities that I want to all fire nearly the same time, from different hardpoints so it looks like a normal weapon. The abilities don't seem to want to all work when another ability is being cast. Is there a way to get it so the abilities all fire at the same time or there about?
18,249 views 15 replies
Reply #1 Top
1. Is there anyway to make it so capital ship abilities don't require a level up? Like how the colony frigate has two abilities right off the bat, that's how I want this to be.


Change the abilityLevelType to "FixedLevel0". The capital ship ones are all "Intrinsic" which means their progression depends on capital ship levels. FixedLevel0 is what the colony ship uses, for example.

2. I have multiple abilities that I want to all fire nearly the same time, from different hardpoints so it looks like a normal weapon. The abilities don't seem to want to all work when another ability is being cast. Is there a way to get it so the abilities all fire at the same time or there about?


You mean like if you have an ability that lasts 10 seconds, the ship won't use any other abilities while that one is going? I don't think you can change it, nor do I think you can change where they fire from. Ability effects are not weapons, and they only have 3 attach types as far as I know - Center, Aura, and Above or something like that. I do think they are part of the mesh for the ships, so you may be able to add more but I don't do graphics stuff so someone else would have to take over here :P
+1 Loading…
Reply #2 Top
Change the abilityLevelType to "FixedLevel0". The capital ship ones are all "Intrinsic" which means their progression depends on capital ship levels. FixedLevel0 is what the colony ship uses, for example.


Tried that...minidump. Don't know why. When I change that and only that line, not deleting anything, it says "string not found."
Reply #3 Top
Well, you have to change a little bit more to do it proper. For example:

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

For a generic capital ship ability, vs:

maxNumLevels 1
levelSourceType "ResearchWithoutBase"
improveSourceResearchSubject "RESEARCHSUBJECT_ABILITYACCESS_CLUSTERWARHEADS"

For an ability unlocked through research, vs:

maxNumLevels 1
levelSourceType "FixedLevel0"

For an ability that starts out on a ship.

So if you just changed Intrinsic to FixedLevel0 but didn't remove the minExperienceLevelRequired, I could see why it would minidump. If it still doesn't work, can you post the text from your ability file? To elimite the chance of errors from other stuff, when you test this just use an already present buff.. like, attach the Kol's AbilityGaussBlast to a Cobalt or something to try changing Intrinsic > FixedLevel0 ;)
Reply #4 Top
Tried that...minidump. Don't know why. When I change that and only that line, not deleting anything, it says "string not found."

String not found? Thats a string issue, not an ability issue. Abilities and buff are, in my opinion, the hardest .entity files to work with. I strongly suggest getting a working mod made, without the abilities, first, then add to it. The strings are the first thing you should learn about if you intend on putting any new... anything, in the game. Abilities, Ships, Planets, Names, Descriptions, etc, etc... all use strings, so it is imperative you learn how they work.

And one more priceless tip;
Use the Vanilla files for references.

So you know the abilities that are available "right off the bat". Find them, and look through them. Break them down into sections, compare them to the file you are working on (I use Compare It!, nice (and free) program to do this with), and see whats different. Change accordingly, and then see if it works. If it doesn't work, and you are out of ideas, then pop on here and paste the problematic ability file in, we can have a look, and probably help you out further, definitely a lot more than a simple "Tried that...minidump. Don't know why."
Reply #5 Top
Well, you have to change a little bit more to do it proper. For example:maxNumLevels 3levelSourceType "Intrinsic"minExperienceLevelRequired Level:0 0.000000 Level:1 2.000000 Level:2 4.000000For a generic capital ship ability, vs:maxNumLevels 1levelSourceType "ResearchWithoutBase"improveSourceResearchSubject "RESEARCHSUBJECT_ABILITYACCESS_CLUSTERWARHEADS"For an ability unlocked through research, vs:maxNumLevels 1levelSourceType "FixedLevel0"For an ability that starts out on a ship. So if you just changed Intrinsic to FixedLevel0 but didn't remove the minExperienceLevelRequired, I could see why it would minidump. If it still doesn't work, can you post the text from your ability file? To elimite the chance of errors from other stuff, when you test this just use an already present buff.. like, attach the Kol's AbilityGaussBlast to a Cobalt or something to try changing Intrinsic > FixedLevel0


Also got a minidump when removing minexperiencelevelrequired.

TXT
entityType "Ability"
buffInstantActionType "ApplyTargettedBuffToSelf"
instantActionTriggerType "AlwaysPerform"
buffType "BuffAsgardBeamCharge"
targetFilter
numOwnerships 1
ownership "Enemy"
numObjects 3
object "CapitalShip"
object "Frigate"
object "PlanetModule"
numConstraints 0
range
Level:0 5000.000000
Level:1 0.000000
Level:2 0.000000
effectInfo
effectAttachInfo
attachType "Invalid"
smallEffectName ""
largeEffectName ""
soundID ""
needsToFaceTarget TRUE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "Intrinsic"
minExperienceLevelRequired
Level:0 0.000000
Level:1 0.000000
Level:2 0.000000
aiUseTime "OnlyInCombat"
aiUseTargetCondition "Any"
isAutoCastAvailable TRUE
isAutoCastOnByDefault TRUE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
isPassive FALSE
antiMatterCost
Level:0 1.000000
Level:1 0.000000
Level:2 0.000000
cooldownTime
Level:0 2.000000
Level:1 0.000000
Level:2 0.000000
researchPrerequisites
NumResearchPrerequisites 0
nameStringID "IDS_ABILITY_ASGARDBEAM_NAME"
descStringID "IDS_ABILITY_ASGARDBEAM_DESCRIPTION"
hudIcon "HUDICON_ABILITY_BEAMBLAST"
smallHudIcon "HUDICON_ABILITY_BEAMBLAST"
infoCardIcon ""


This file works exactly like it should. Proper damage, etc. Just like I want, but as soon as I change 'Intrinsic' to 'FixedLevel0' I get a minidump as well as when I remove minexperiencelevel required.

String not found? Thats a string issue, not an ability issue. Abilities and buff are, in my opinion, the hardest .entity files to work with. I strongly suggest getting a working mod made, without the abilities, first, then add to it. The strings are the first thing you should learn about if you intend on putting any new... anything, in the game. Abilities, Ships, Planets, Names, Descriptions, etc, etc... all use strings, so it is imperative you learn how they work.

And one more priceless tip;
Use the Vanilla files for references.

So you know the abilities that are available "right off the bat". Find them, and look through them. Break them down into sections, compare them to the file you are working on (I use Compare It!, nice (and free) program to do this with), and see whats different. Change accordingly, and then see if it works. If it doesn't work, and you are out of ideas, then pop on here and paste the problematic ability file in, we can have a look, and probably help you out further, definitely a lot more than a simple "Tried that...minidump. Don't know why."


That's what I thought at first, it being a string issue, but I have 'IsWatchedFilesON TRUE' so changes occur in game. And if I have the FixedLevel0, etc. in the file, it will say 'String Not Found.' But then when I tab out, change fixedlevel, etc. back to what I have posted, it works right and the string is found. Here's the minidump error file. I can't make sense of it. Maybe somebody else can.

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: aiUseTime
Line Number:29
Line Contents:minExperienceLevelRequired

[16:16:58] Failed to convert '' to an enum value.
[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: aiUseTargetCondition
Line Number:30
Line Contents:minExperienceLevelRequired

[16:16:58] Failed to convert '' to an enum value.
[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: isAutoCastAvailable
Line Number:31
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: isAutoCastOnByDefault
Line Number:32
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: pickRandomPlanetToExploreForAutoCastTarget
Line Number:33
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: ignoreNonCombatShipsForAutoCastTarget
Line Number:34
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: onlyAutoCastWhenDamageTakenExceedsPerc
Line Number:35
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: isPassive
Line Number:36
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: antiMatterCost
Line Number:37
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: cooldownTime
Line Number:38
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: researchPrerequisites
Line Number:39
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: nameStringID
Line Number:40
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: descStringID
Line Number:41
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: hudIcon
Line Number:42
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: smallHudIcon
Line Number:43
Line Contents:minExperienceLevelRequired

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\AbilityAsgardBeams.entity
Label: infoCardIcon
Line Number:44
Line Contents:minExperienceLevelRequired

[16:16:58] 'canWeaponEffectHitHull' and 'canWeaponEffectHitShields' only make sense whent then ImpactOffsetType is 'RandomMesh'. If the impact isn't on the mesh then these values are ignored.[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\RESEARCHSUBJECT_ASGARDTREATY.entity
Label: PerLevelCostIncrease
Line Number:20
Line Contents:Tier 1

[16:16:58] Text FileArchive missing Label.

File: C:\Users\Derek\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods\Stargate Invasion\GameInfo\RESEARCHSUBJECT_ASGARDTREATY1.entity
Label: PerLevelCostIncrease
Line Number:23
Line Contents:Tier 2

[16:17:33] Failed to find StringID: ''. NOTE: Any following StringID failures will be supressed.
[16:18: 6] CAPITALSHIP_HUMAN304 has weapon:1 damage in FRONT bank but no weapon points
[16:18: 6] CAPITALSHIP_HUMAN304 has weapon:2 damage in FRONT bank but no weapon points
[16:18: 6] CAPITALSHIP_HUMAN304 has weapon:2 damage in LEFT bank but no weapon points
[16:18: 6] CAPITALSHIP_HUMAN304 has weapon:2 damage in RIGHT bank but no weapon points
Reply #6 Top
Oh, and I also use CompareIt! I agree with you, that app is priceless. It's helped me out a lot.
Reply #7 Top
Ok, nevermind. I don't know why, but it's working. I just removed minexperience required lines, THEN changed to FixedLevel0, and it's working. I have absolutely no explanation whatsoever. Maybe I was wrong and hadn't changed it that way, I don't know. Hopefully it will continue to work though.

Thanks for all of your help.
Reply #8 Top
It works because the entitytype reads things not line by line but based on where they technically should be - if you remove one thing usually it throws everything off by that line and the game gets messed up. However, when you change to FixedLevel, it knows not to expect that line and shifts accordingly.
Reply #9 Top
'IsWatchedFilesON TRUE'


Where I can turn this new function on in v1.04?
I can't find it....
Reply #10 Top
user.settings in the settings folder.

C:\Users\YOURNAME\AppData\Local\Ironclad Games\Sins of a Solar Empire
Reply #11 Top
user.settings in the settings folder.C:\Users\YOURNAME\AppData\Local\Ironclad Games\Sins of a Solar Empire


Thanks, then where i can find the record which like you posted after minidump. :NOTSURE: 
Reply #12 Top
Same file... Towards the bottom where it says "Logoutput" change it to TRUE.

Always happy to help
Reply #13 Top
Same file... Towards the bottom where it says "Logoutput" change it to TRUE.Always happy to help


Thanks, BUT.... After minidump my log_XXX.txt is an empty file.........
Reply #14 Top
Same file... Towards the bottom where it says "Logoutput" change it to TRUE.Always happy to helpThanks, BUT.... After minidump my log_XXX.txt is an empty file.........


Then that means there's nothing wrong :p
Reply #15 Top
Same file... Towards the bottom where it says "Logoutput" change it to TRUE.Always happy to helpThanks, BUT.... After minidump my log_XXX.txt is an empty file.........

Then that means there's nothing wrong


Um? Minidump but nothing wrong? I've had this happen. I have no idea why they're blank and it's quite annoying. There is something wrong usually, it's just a matter of finding it again. It kind of defeats the purpose when it doesn't tell you what's wrong. I can't explain it, but maybe somebody else can.