8

What triggers the change of music on the Avenger?

In XCOM 2 (and XCOM 1 as well), the story follows a Three Act formula denoted by a different music track playing during each act while on The Avenger. The tracks in XCOM 2 are titled Stage One, Lazarus (for the second stage), and Stage Three. However, as the differences between the tracks are relatively subtle, it can be difficult to notice exactly when they change.

What events trigger the switch between acts, and consequently, between music tracks?

  • 2
    Just to make sure, XCOM 1 = XCOM Enemy Unknown? – Vemonus Jan 23 '17 at 15:01
  • 1
    I'd not come across this. Are these Acts relevant in any other way other than this piece of music? – Chris Jan 23 '17 at 15:02
  • @Vemonus Yes, the 2012 game, as per the way the tags are used – Southpaw Hare Jan 23 '17 at 15:05
  • @SouthpawHare I was just checking. It wouldn't have been the first time the games were confused with each other -- I was mostly checking because you said XCOM 1 which wasn't technically the name of the reboot, but XCOM 2 was the title of the sequel. Can't be too careful :) – Vemonus Jan 23 '17 at 15:06
  • 1
    @Chris No, it's purely an aesthetic thing in order to break the game up into Three Acts. Both games in the reboot series do this. – Southpaw Hare Jan 23 '17 at 15:06
5

From the modding code, this seems to be the relevant code. This will contain spoilers!


Chapter 1 will play until you build the Shadow Chamber Chapter 2 will play from building the Shadow Chamber until killing (I presume) the incomplete avatar during one of your missions Chapter 3 will play from that point forward.

function PlayBaseViewMusic()
{
    SetSwitch('StrategyScreen', 'Avenger');

    if( class'XComGameState_HeadquartersXCom'.static.IsObjectiveCompleted('T1_M6_KillAvatar') )
    {
        SetSwitch('HQChapter', 'Chapter03');
    }
    else if( class'XComGameState_HeadquartersXCom'.static.IsObjectiveCompleted('T3_M2_BuildShadowChamber') )
    {
        SetSwitch('HQChapter', 'Chapter02');
    }
    else
    {
        SetSwitch('HQChapter', 'Chapter01');
    }
}
  • Thanks! I thought it was something along those lines, but that code pretty much spells it out. – Southpaw Hare Aug 21 '17 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.