Compatibility and Soft Integration - KrisV-777/Alternate-Perspective GitHub Wiki

Alternate Perspective restricts its influence to Helgen and its immediate surroundings. If your mod does not interact with Helgen, it is most likely compatible and the worst-case incompatibility could be the mention of dragons before the intro has started.
More interesting is that, unlike other Alternate Start mods, Alternate Perspective does not skip the Intro Quest. This is the very essence that puts it apart from its competitors but it also creates a new kind of incompatibility with mods that want to know if the intro is currently active. Luckily, it is very easy to account for this behavior without requiring major changes to the affected project or creating a dependency to Alternater Perspective.

MQQuickstart

The GlobalVariable MQQuickstart is used by the game to distinct different behaviors of MQ101. In particular

  • a value of 0 signals that the default Vanilla Intro should be played
  • the values 1-4 represent different quick start behaviors used by the original devs.
    Alternate Perspectives leverages this variable and sets it to
  • 6 for its own slightly altered Vanilla Intro
  • 7 for its own default behavior

In other words, you can easily check if Alternate Perspective is installed through conditions by checking if this value is greater than 5.

MQ101 Quest Stages

Another way of analyzing the presence of Alternate Perspective and its current state is by checking for the quest stage of MQ101.
In the Vanilla game, MQ101 behaves the following way:

  • On New Game the stage of this quest will be set to Stage 10 instantaneously.
  • Stage 250 signals that the keep has been entered.
  • Stage 1000 marks the completion of the intro quest (MQ101, Unbound).

In Alternate Perspective, the stages have been slightly expanded:

  • On New Game the stage will stagnate on Stage 0.
  • Stage 1 enabled the Intro. The next time the player sleeps in Helgen's Inn, the intro will start.
  • Stage 5 is set when sleeping in Helgen's Inn while the Stage of MQ101 is 1. The altered intro sequence will start once the player leaves the Inn.
  • Once the Player enters Helgen's exterior, the quest stages will follow the same behavior as in the Vanilla game, beginning at Stage 10.

There are also some special quest stages:

  • Stage 4 can be manually set, causing Alternate Perspective to instantaneously start the Vanilla Intro (MQQuickstart = 6)
    Note that while it is possible and encouraged to set this stage through 3rd party mods when desired, Helgen and its immediate surrounding cell's must be unloaded when this stage is set, otherwise the Intro may glitch out.

Compatibility with Alternate Perspective

Before Alternate Perspective, the correct way to check if the Intro is completed, was to check if MQ101 is either above Stage 250 or if Stage 1000 has been completed. In order to improve compatibility with Alternate Perspective, in addition to your previous check, you now also want to control that Alternate Perspective is installed by looking into the MQQuickstart variable and, if it is installed, that MQ101 is below Stage 10 (as otherwise the intro is currently active).
As a condition this would look like so:

GetStage . MQ101 > 250 OR // or IsCompleted . MQ101 == 1
GetValue . MQQuickstart > 5 AND
GetStage . MQ101 > 250 OR // or IsCompleted . MQ101 == 1
GetStage . MQ101 < 10

Meaning to know if you can safely initialize your scripts you want to know if

  • MQ101 is past the critical sections (either entered the keep or fully completed) OR
  • AlternatePerspective is installed AND the intro is currently inactive