コード例 #1
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        Rect2 FlyingArea1 = new Rect2(0.3f, 0.2f, 0.4f, 0.3f);

        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SetLockStageTransitions(stage, true),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.001f,
                                                                                    (0, CAMPER), (2, SAW_TROOPER)
                                                                                    ),
                                                               new WaitScriptAction(5.0f),
                                                               new SpawnEnemyAction(MoonHunter.Constants.OTHER_ENEMIES_GROUP, 1.0f,
                                                                                    (1, SAW), (1, WALKER), (1, SAW), (1, WALKER), (1, SAW), (1, WALKER)
                                                                                    ),
                                                               new WaitForEnemyWave(true,
                                                                                    new SpawnUntilKilledAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1, DRONE_A, FlyingArea1),
                                                                                    new WaitScriptAction(2.0f)
                                                                                    ),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1.0f,
                                                                                    (1, WALKER), (1, WALKER), (1, WALKER), (1, WALKER), (1, WALKER), (1, WALKER)
                                                                                    ),
                                                               new SpawnSingleEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 2, DRONE_A, FlyingArea1),
                                                               new WaitScriptAction(2.0f),
                                                               new SpawnSingleEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 2, DRONE_A, FlyingArea1),
                                                               new WaitForEnemyWave(true,
                                                                                    new SpawnUntilKilledAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1, DRONE_A, FlyingArea1),
                                                                                    new WaitScriptAction(2.0f)
                                                                                    ),
                                                               new ShowFramedMessageAction("Press F [XBOX R] to shoot a Beam of plasma. The Beam can go through walls, but consumes your energy.", "Plasma Beam"),
                                                               new UnlockPowerupAction(stage, MoonHunterState.Powerup.Beam),
                                                               new SetLockStageTransitions(stage, false)
                                                               );

        return(script);
    }
コード例 #2
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.01f,
                                                                                    (0, SAW_TROOPER), (1, SAW_TROOPER)
                                                                                    )
                                                               );

        return(script);
    }
コード例 #3
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SetLockStageTransitions(stage, true),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.001f,
                                                                                    (0, WALKER), (1, WALKER), (2, WALKER), (3, SAW_TROOPER)
                                                                                    ),
                                                               new WaitForEnemyWave(),
                                                               new SetLockStageTransitions(stage, false)
                                                               );

        return(script);
    }
コード例 #4
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SetLockStageTransitions(stage, true),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.25f,
                                                                                    (0, WALKER), (1, WALKER), (2, WALKER), (3, SAW)
                                                                                    ),
                                                               new ShowFramedMessageAction("The Material collector gets damaged when it's touched by an enemy. If it's destroyed the mission will be failed.", "Warning"),
                                                               new WaitForEnemyWave(),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1.0f,
                                                                                    (3, WALKER), (3, WALKER), (3, WALKER), (3, SAW), (3, SAW), (3, SAW)
                                                                                    ),
                                                               new WaitForEnemyWave(),
                                                               new ShowFramedMessageAction("Press W [XBOX Y] to create an Energy Block. It can block enemies but costs energy", "Blocks"),
                                                               new UnlockPowerupAction(stage, MoonHunterState.Powerup.Blocks),
                                                               new SetLockStageTransitions(stage, false)
                                                               );

        return(script);
    }
コード例 #5
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        Rect2 FlyingArea1 = new Rect2(0.2f, 0.2f, 0.6f, 0.3f);

        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SetLockStageTransitions(stage, true),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.001f,
                                                                                    (1, CAMPER), (0, SAW_TROOPER), (2, SAW_TROOPER)
                                                                                    ),
                                                               new WaitForEnemyWave(true,
                                                                                    new DropEnemyUntilKilledAction(0, MoonHunter.Constants.OTHER_ENEMIES_GROUP, SAW_TROOPER),
                                                                                    new WaitScriptAction(2.0f)
                                                                                    ),

                                                               new WaitForEnemyWave(),
                                                               new SetLockStageTransitions(stage, false)
                                                               );

        return(script);
    }
コード例 #6
0
    protected override ScriptAction DoBuildFor(Stage stage)
    {
        Rect2 FlyingArea1 = new Rect2(0.2f, 0.2f, 0.6f, 0.3f);

        ScriptActionSequence script = new ScriptActionSequence(false,
                                                               new SetLockStageTransitions(stage, true),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 0.001f,
                                                                                    (2, SAW_TROOPER), (3, SAW_TROOPER)
                                                                                    ),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 2.0f,
                                                                                    (0, WALKER), (0, WALKER), (1, WALKER), (0, WALKER), (0, WALKER), (1, WALKER)
                                                                                    ),
                                                               new WaitForEnemyWave(),

                                                               new SpawnUntilKilledAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 4, DRONE_A, FlyingArea1),

                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1.0f,
                                                                                    (1, SAW), (0, WALKER), (1, SAW), (0, WALKER), (1, SAW), (0, WALKER), (1, SAW), (1, SAW), (0, WALKER), (1, SAW)
                                                                                    ),
                                                               new WaitForEnemyWave(),
                                                               new SpawnSingleEnemyAction(MoonHunter.Constants.OTHER_ENEMIES_GROUP, 2, DRONE_A, FlyingArea1),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1.0f,
                                                                                    (1, SAW), (0, WALKER), (1, SAW), (0, WALKER), (1, SAW), (0, WALKER), (1, SAW)
                                                                                    ),
                                                               new WaitForEnemyWave(),
                                                               new SpawnSingleEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 2, DRONE_A, FlyingArea1),
                                                               new WaitScriptAction(4.0f),
                                                               new SpawnSingleEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 2, DRONE_A, FlyingArea1),
                                                               new SpawnEnemyAction(MoonHunter.Constants.TARGET_ENEMIES_GROUP, 1.0f,
                                                                                    (1, WALKER), (0, WALKER), (1, WALKER), (0, WALKER), (1, WALKER), (0, WALKER), (1, WALKER)
                                                                                    ),
                                                               new WaitForEnemyWave(),
                                                               new ShowFramedMessageAction("Press E [XBOX L] to place a mine. Mines deal damage to enemies passing by, but consumes your energy. You can only place a maximum of 5 at a time.", "Mines"),
                                                               new UnlockPowerupAction(stage, MoonHunterState.Powerup.Mines),
                                                               new SetLockStageTransitions(stage, false)
                                                               );

        return(script);
    }
コード例 #7
0
 bool ReactionEffect(SpawnEnemyAction spawnEnemy)
 {
     if (!ThisCard.IsInPlay)
     {
         return(false);
     }
     if (((CardEnemy)spawnEnemy.Enemy.CardLogic).CurrentLocation != ThisCard.VisualOwner.CurrentLocation)
     {
         return(false);
     }
     if (spawnEnemy.Enemy.KeyWords.Contains("Elite"))
     {
         return(false);
     }
     return(true);
 }
コード例 #8
0
 bool CheckFilterToCancel(SpawnEnemyAction spawnEnemy) =>
 ((CardEnemy)spawnEnemy.Enemy.CardLogic).CurrentLocation != ThisCard.VisualOwner.CurrentLocation;
コード例 #9
0
 IEnumerator DiscardEnemy(SpawnEnemyAction spawnEnemy) => new DiscardAction(spawnEnemy.Enemy).RunNow();