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?

5
  • 2
    Just to make sure, XCOM 1 = XCOM Enemy Unknown?
    – Vemonus
    Commented Jan 23, 2017 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
    Commented Jan 23, 2017 at 15:02
  • @Vemonus Yes, the 2012 game, as per the way the tags are used Commented Jan 23, 2017 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
    Commented Jan 23, 2017 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. Commented Jan 23, 2017 at 15:06

1 Answer 1

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');
    }
}
1
  • Thanks! I thought it was something along those lines, but that code pretty much spells it out. Commented Aug 21, 2017 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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