Jump to content
Heavy Traffic ×

Turning on Alien Pods by Default


chimeracreator

Recommended Posts

I have been trying to figure out a way to have all aliens enabled as soon as the missions start rather than forcing players to find the groups or have a preset patrol find them. So far the best way to do this I can think of comes from the class

 

XGAIBehavior in the XComGame.upk file. It lists about a dozen different states with the first being "Inactive" which seems to either switch the pod to the podmove state or the active state. I believe the pod move state just functions as the patrol feature, while the active state causes the AI state to again change to ExecutingAI which is what is used for combat. I would assume the simple way to test this would be to swap the calls of GotoState('PodMove') to GotoState('Active'), but looking over the buffer for these sections no GotoState calls seem to be there which either means they use a different hex code than a normal GotoState call, or the buffer is reporting incorrectly which seems unlikely.

 

If anyone else has been playing with this or other ways to get the aliens to be a bit more aggressive let me know. I was trying to dig into some of the spawn pod functions and spawn alien functions before, but so far this looks like it has the most potential.

Link to comment
Share on other sites

Try in DefaultGameCore following settings:

 

; Maximum number of aliens that can be attacking you at one time.  -1 == no limit.
MaxActiveAIUnits=-1
MaxActiveAIUnits=-1
MaxActiveAIUnits=-1
MaxActiveAIUnits=-1

ABDUCTION_LURK_PCT=0
SMALL_UFO_LURK_PCT=0
LARGE_UFO_LURK_PCT=0

 

You should see more roaming alien patrols then. It was too crazy on Impossible sometimes that I went back to the vanilla LURK settings.

 

I've once tested SightRange settings on a battleship and maybe pressed too quickly Esc canceling the landing cutscene. Whatever went wrong this time, the result was that *all* aliens on that ship were waiting behind the first door. Hordes of Mutons, Sectoid Commanders, Chryssalids, Floaters, etc. cramped together. I should have made a screenshot of this spawn accident. It was a hilarious action with two Heavies rocket launching them to shreds. Wish I could reproduce it somehow.

Link to comment
Share on other sites

  • 3 months later...

I've also been thinking about making the AI more challenging by setting all the alien units to patrol mode from the start of the game, since they mostly just do nothing until they spot the player's units. Did you have any luck in changing the AI's state to active?

 

By the way, those .ini tweaks won't effect the battle AI on Classic/Impossible mode, since the MaxActiveAIUnitsis is already set to -1 for those. Also, the Lurk settings only effect how the UFO ships behave in the strategy part of the game.

Edited by cow99
Link to comment
Share on other sites

 

Also, the Lurk settings only effect how the UFO ships behave in the strategy part of the game.

 

Actually, I believe those "lurk" settings do in fact affect alien tactical AI behavior, not UFO behavior.

 

Have you looked in the code and tested it, or are you repeating what's in the first stickied defaultgamecore.ini post? :)

Link to comment
Share on other sites

  • 2 months later...

Lurk settings do not affect alien tactical AI.

Also, has anyone looked into what the OP was talking about? Figuring out a way to have all aliens enabled as soon as the missions starts would be an awesome thing to do! :3

Link to comment
Share on other sites

I think this is handled in XComAlienPodManger.

 

In RevealPods, the command that makes them active seems to be as simple as:

 

GotoState('Active');

 

However, pods when pods are created in SpawnAllAlienPods (the functionality I altered to increase pod size was in OvermindSpawn, which is called from here), the function ends with :

 

GotoState('Inactive');

 

I suspect that changing this to GotoState('Active') would put all pods in the active state as soon as they are created.

Link to comment
Share on other sites

Lurk settings do not affect alien tactical AI.

 

Also, has anyone looked into what the OP was talking about? Figuring out a way to have all aliens enabled as soon as the missions starts would be an awesome thing to do! :3

 

Yes, they do. They determine what unactivated alien pods do in tactical missions.

 

XComGame.upk >> XGOvermind >> DetermineAbductionTactics()

 

iNumLurkers = int((float(class'XGTacticalGameCore'.default.ABDUCTION_LURK_PCT) / 100.0) * float(m_arrPods.Length));
    // End:0x7B
    if(class'XGTacticalGameCore'.default.ABDUCTION_LURK_PCT > 0)
    {
        iNumLurkers = Max(iNumLurkers, 1);
    }
    iNumLurkers = Clamp(iNumLurkers, iNumLurkers, m_arrPods.Length);

 

 

 

XComGame.upk >> XGOvermind >> DetermineUFOTactics()

 

bSmallUFO = ((BattleDesc().m_eUFOType == 4) || BattleDesc().m_eUFOType == 5) || BattleDesc().m_eUFOType == 9;
    // End:0xCB
    if(bSmallUFO)
    {
        fLurkPct = float(class'XGTacticalGameCore'.default.SMALL_UFO_LURK_PCT) / 100.0;
    }
    // End:0xFC
    else
    {
        fLurkPct = float(class'XGTacticalGameCore'.default.LARGE_UFO_LURK_PCT) / 100.0;
    }
    iNumLurkers = int(fLurkPct * float(m_arrPods.Length));

 

 

 

In these functions, pods are either set to 'lurk' or 'patrol' based on the appropriate variable (I didn't include the entire functions). Lurking pods sit still and wait to be activated. Patrolilng pods move around. See XGTactic_Lurk and XGTactic_Patrol classes for the details of the behaviors.

Link to comment
Share on other sites

I'd be curious, though, to hear what a mission with already-activated pods plays like. Certainly rougher on X-Com. I've avoided going that route (along with patrolling all alien pods via the lurk variables) because it seems like every tactical mission would just turn into a big firefight at the first point of contact, with every alien on the map rushing to your position. That happens sometimes now -- and is wild and challenging -- but I fear you'd lose a lot of tactical depth if every battle went that route. But maybe I'm wrong ...

Edited by johnnylump
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...