Rebellion - Trying to give other factions phase stabilizer. What am I doing wrong?

I like to make my own little tweaks for this game, and one of them is giving the Advent and the TEC their own phase stabilizer nodes (I can already hear your eye-rolling, but I figure it's too important of an edge for them not to try and duplicate/steal it).

 I got it to work previously in a Diplomacy mod that I made, but it's not working in Rebellion. I made my own entities for the research items and structures. Each faction has the research appear in their trees correctly, and the stabilizer nodes appear in their construction lists. The nodes are locked until the research is completed, which is correct. But once the structure is finished being built, when I click on it to see its options, it doesn't have the phase stabilization ability.

At first I figured that I just couldn't use the regular AbilityPhaseGateModule.entity, so I made separate ones called AbilityPsiGateModule.entity and AbilityTechGateModule.entity. They're basically just copy-pastas of AbilityPhaseGateModule.entity, with only one or two tweaks.

Here's the code for the Advent phase gate structure that I made: http://pastebin.com/cS2skUFw 

Here's the code for the gate's ability:  http://pastebin.com/MKKKfznH

Here's AbilityPhaseGateModule.entity for reference: http://pastebin.com/5UKJnekF

I can't figure out what I'm doing wrong. Nothing I do seems to make it work. Does anyone have any ideas? I'm not getting any error messages or crashing, the ability simply isn't appearing in the structure's list and the planet isn't being made into a stabilizer node. Is it a capitalization error? Have I left out some modifier or setting? I've tried everything I can think of, but it's to no avail.

107,880 views 16 replies
Reply #1 Top

Guaranteed it's a referencing issue somewhere.

Have you checked your debug file?   I don't see what it would be at a quick glance.

Also, if you still have the diplomacy files, you could manually convert them: https://forums.sinsofasolarempire.com/427240

+1 Loading…
Reply #2 Top

My debug files are coming up blank. As in, there's nothing in them. That's a sign that I've got debug configured incorrectly, isn't it?

I went into rebellion.user.setting and set LogOutput to TRUE. I even set ShowErrors to TRUE for good measure. But the debug files are coming up empty.

Sorry if I'm coming off as a n00b at this. :(

Reply #3 Top

You haven't given the Advent and TEC the research item. Adjust the location as you see fit for Advent and TEC.

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToSelf"
instantActionTriggerType "AlwaysPerform"
buffType "BuffPhaseGateModuleSpawnerCaster"
effectInfo
    effectAttachInfo
        attachType "Center"
    smallEffectName ""
    mediumEffectName ""
    largeEffectName ""
    soundID ""
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 3
levelSourceType "ResearchStartsAt0"
improveSourceResearchSubject "RESEARCHSUBJECT_PLANETMODULEIMPROVEMENT_PHASEGATE"
aiUseTime "Invalid"
aiUseTargetCondition "Invalid"
isAutoCastAvailable FALSE
isAutoCastOnByDefault FALSE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
useCostType "Passive"
researchPrerequisites
    NumResearchPrerequisites 0
    RequiredFactionNameID ""
    RequiredCompletedResearchSubjects 0
nameStringID "IDS_ABILITY_PHASEGATE_NAME"
descStringID "IDS_ABILITY_PHASEGATE_DESCRIPTION"
hudIcon "HUDICON_SUPPORTABILITY_PHASEGATE"
smallHudIcon "HUDICON_SUPPORTABILITY_PHASEGATE"
infoCardIcon ""

+1 Loading…
Reply #4 Top

I just tried that, and it still didn't work.

Should I instead change it to FixedLevel0? Really, I don't want any improvement research for the TEC and Advent stabilizer nodes. They get the basic nodes, and that's it. 

 

Edit: In case you meant something else: you said I didn't give them the research item. Are you talking about the research item that unlocks the structure? Here's one: http://pastebin.com/xEdyHXZk

 

Reply #5 Top

XATHOS, you said that it's most likely a referencing issue. What sort of things might cause that? Could it be a problem with my entity.manifest file, for example?

Reply #6 Top

You don't need 3 ability files.

What each race needs is the entity module reference, and the research reference, placed under both the entity file and the player file. Each race needs their own phase stabilizer file, and with their own corresponding research file, but all three stabilizers can refer to the same ability, unless the ability is a research access/improvement type.

According to Semaz, your Advent and TEC phase modules are referring to the Vasari research file, not their own research files.

If this is not the issue, give me the entity file, one of the player files, planet module for one of the races, research file for the same race, and ability file.

+1 Loading…
Reply #7 Top

I figured I didn't need 3 separate abilities, at first I left the original Vasari ability in there. Like I said, it was mostly a copy-pasta job. I went and made separate abilities when it didn't work the first time around. 

Okay, here are the files you've requested. For now I'll just give you the Advent stuff.

The planet module: http://pastebin.com/cS2skUFw

Its ability: http://pastebin.com/rBU5hUSp 

The research tree item: http://pastebin.com/xEdyHXZk

The Advent Rebel player file: http://pastebin.com/LfCVy9JV

The entity manifest: http://pastebin.com/aqXsU1ZU

If you can find out anything, I'd be really happy. I can't figure this out for the life of me.

I don't know if this will help you, but I tried something. Just to see what happens, I removed the psigate ability from the manifest and decremented the counter at the top by 1. I then ran the game with the mod, expecting that perhaps it might crash or something. But it didn't crash, I got the exact same behavior as before. Whatever's going on, it's like the ability file doesn't even exist. 

Reply #8 Top

GOT IT FINALLY!

I had changed levelSourceType to FixedLevel0, but apparently that wasn't enough. I also had to set maxNumLevels from 3 to 1. So now the file looks like this: 

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToSelf"
instantActionTriggerType "AlwaysPerform"
buffType "BuffPhaseGateModuleSpawnerCaster"
effectInfo
effectAttachInfo
attachType "Center"
smallEffectName ""
mediumEffectName ""
largeEffectName ""
soundID ""
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "FixedLevel0"
aiUseTime "Invalid"
aiUseTargetCondition "Invalid"
isAutoCastAvailable FALSE
isAutoCastOnByDefault FALSE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
useCostType "Passive"
researchPrerequisites
NumResearchPrerequisites 0
RequiredFactionNameID ""
RequiredCompletedResearchSubjects 0
nameStringID "IDS_ABILITY_PHASEGATE_NAME"
descStringID "IDS_ABILITY_PHASEGATE_DESCRIPTION"
hudIcon "HUDICON_SUPPORTABILITY_PHASEGATE"
smallHudIcon "HUDICON_SUPPORTABILITY_PHASEGATE"
infoCardIcon ""

That just seems awfully fickle, no? 

Reply #9 Top

Quoting justgetmeonhere, reply 9
GOT IT FINALLY!

I had changed levelSourceType to FixedLevel0, but apparently that wasn't enough. I also had to set maxNumLevels from 3 to 1. So now the file looks like this: 

maxNumLevels 1
levelSourceType "FixedLevel0"

That just seems awfully fickle, no? 

Good to hear! Indeed, Sins modding is very unforgiving of typos and the like. :annoyed:   If you want to also connect friendly nodes to hostile ones, let me know, as I've done that.

Reply #10 Top

Hmm, I might very well take you up on that offer.

It always seemed kinda weird to me that enemies were locked out of using your nodes, to be honest. In fact, I think it would have added more strategy to do so. By connecting your planets with stabilizers, you can move anywhere you need to quickly, but you also risk exposing yourself. Connect all of your worlds to your capital, and your enemies can only be one hop away from your homeworld instead of having a buffer.

On a side note, I'm feeling sort of proud of myself. Another tweak I like to make is that I like to take the phase stabilization ability on the Vasari starbase and make it into a passive ability. Your starbase basically is a stabilizer, but you're not just limited to planets, you can have them in any gravitational well that you can build a starbase in. That's right, you can have stabilizer nodes at wormholes, asteroid belts, and gas giants! But that's not why I'm proud of myself. Now that some Vasari starbases can phase jump, I ran into this weird glitch where it would go to another planet, but the planet where I bought its stablizer upgrade continued to be a stabilizer node. Through the magic of google-foo and a little bit of reading comprehension, I was able to alter the ability's buffs to make planets stop being nodes when their starbases leave and start being nodes when starbases come in.

Reply #11 Top

Quoting justgetmeonhere, reply 11
Hmm, I might very well take you up on that offer.

It always seemed kinda weird to me that enemies were locked out of using your nodes, to be honest. In fact, I think it would have added more strategy to do so. By connecting your planets with stabilizers, you can move anywhere you need to quickly, but you also risk exposing yourself. Connect all of your worlds to your capital, and your enemies can only be one hop away from your homeworld instead of having a buffer.

On a side note, I'm feeling sort of proud of myself. Another tweak I like to make is that I like to take the phase stabilization ability on the Vasari starbase and make it into a passive ability. Your starbase basically is a stabilizer, but you're not just limited to planets, you can have them in any gravitational well that you can build a starbase in. That's right, you can have stabilizer nodes at wormholes, asteroid belts, and gas giants! But that's not why I'm proud of myself. Now that some Vasari starbases can phase jump, I ran into this weird glitch where it would go to another planet, but the planet where I bought its stablizer upgrade continued to be a stabilizer node. Through the magic of google-foo and a little bit of reading comprehension, I was able to alter the ability's buffs to make planets stop being nodes when their starbases leave and start being nodes when starbases come in.

 

Nice. I do wonder why they didn't make it a passive ability in the first place....

Reply #12 Top

Good Job.

Coronal, you have to look at the ability/buffs to see what is affected at levels 2 and 3. 

Reply #13 Top

Quoting SemazRalan, reply 13
Good Job.

Coronal, you have to look at the ability/buffs to see what is affected at levels 2 and 3. 

Um....what are you talking about? I know what you're saying, as you would know what I was saying if I said "The sky is blue Semaz...." uh yeah but what has that to do with anything.....and strictly speaking it's levels 0-2....

Reply #14 Top

strictly fucking speaking for Rebellion is is levels 0, 1, 2, 3 now, but we shouldn't be pedantic and pointing out the obvious.  Original Vasari research is affected by the number of levels researched.  TEC and Advent, with fixed level 0, will just not get improvements that Vasari can, which is the point of why it's not a passive ability.

Reply #15 Top

Quoting SemazRalan, reply 15
strictly fucking speaking

Reply #16 Top

Quoting SemazRalan, reply 15
strictly f****** speaking for Rebellion is is levels 0, 1, 2, 3 now, but we shouldn't be pedantic and pointing out the obvious.  Original Vasari research is affected by the number of levels researched.  TEC and Advent, with fixed level 0, will just not get improvements that Vasari can, which is the point of why it's not a passive ability.

I'm using Diplomacy:

The phase gate module uses a passive ability with one level. Starbases and the Marauder use active, but only have one level. The Vasari improvement research is a float modifier, and does not level an ability.