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); }
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); }
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); }
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); }
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); }
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); }
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); }
bool CheckFilterToCancel(SpawnEnemyAction spawnEnemy) => ((CardEnemy)spawnEnemy.Enemy.CardLogic).CurrentLocation != ThisCard.VisualOwner.CurrentLocation;
IEnumerator DiscardEnemy(SpawnEnemyAction spawnEnemy) => new DiscardAction(spawnEnemy.Enemy).RunNow();