public void TestBattlePhaseLoad() { Player DummyPlayer1 = new Player("Player 1", "Human", true, false, 0, new Card[0]); Player DummyPlayer2 = new Player("Player 2", "Human", true, false, 0, new Card[0]); CreatureCard DummyInvaderCard = new CreatureCard(40, 20); CreatureCard DummyDefenderCard = new CreatureCard(40, 20); SorcererStreetMap DummyMap = CreateDummyMap(); TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece); DummyTerrain.DefendingCreature = DummyDefenderCard; DummyTerrain.Owner = DummyPlayer2; ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, DummyPlayer1, DummyInvaderCard); BattleStartPhase.Load(); Assert.AreEqual(DummyInvaderCard, DummyMap.GlobalSorcererStreetBattleContext.Invader); Assert.AreEqual(DummyDefenderCard, DummyMap.GlobalSorcererStreetBattleContext.Defender); Assert.AreEqual(DummyInvaderCard.CurrentHP, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalHP); Assert.AreEqual(DummyDefenderCard.CurrentHP, DummyMap.GlobalSorcererStreetBattleContext.DefenderFinalHP); Assert.AreEqual(DummyInvaderCard.CurrentST, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalST); Assert.AreEqual(DummyDefenderCard.CurrentST, DummyMap.GlobalSorcererStreetBattleContext.DefenderFinalST); }
public void TestBattlePhaseWithoutBonuses() { Player DummyPlayer1 = new Player("Player 1", "Human", true, false, 0, new Card[0]); Player DummyPlayer2 = new Player("Player 2", "Human", true, false, 0, new Card[0]); CreatureCard DummyInvaderCard = new CreatureCard(40, 20); CreatureCard DummyDefenderCard = new CreatureCard(40, 20); SorcererStreetMap DummyMap = CreateDummyMap(); TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece); DummyTerrain.DefendingCreature = DummyDefenderCard; DummyTerrain.Owner = DummyPlayer2; ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, DummyPlayer1, DummyInvaderCard); BattleStartPhase.Load(); ActionPanelBattleAttackPhase BattleAttackPhase = new ActionPanelBattleAttackPhase(DummyMap.ListActionMenuChoice, DummyMap); BattleAttackPhase.OnSelect(); Assert.AreEqual(DummyInvaderCard, BattleAttackPhase.FirstAttacker); Assert.AreEqual(DummyDefenderCard, BattleAttackPhase.SecondAttacker); BattleAttackPhase.ExecuteFirstAttack(); Assert.AreEqual(40, BattleAttackPhase.FirstAttacker.CurrentHP); Assert.AreEqual(20, BattleAttackPhase.SecondAttacker.CurrentHP); BattleAttackPhase.ExecuteSecondAttack(); Assert.AreEqual(20, BattleAttackPhase.FirstAttacker.CurrentHP); Assert.AreEqual(20, BattleAttackPhase.SecondAttacker.CurrentHP); }
public void TestDiscardCardPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelDiscardCardPhase DiscardCardPhase = new ActionPanelDiscardCardPhase(DummyMap, DummyPlayer, 6); DiscardCardPhase.OnSelect(); }
public void TestMapBehavior() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() }); SorcererStreetMap DummyMap = CreateDummyMap(); DummyMap.ListPlayer.Add(DummyPlayer); DummyMap.Update(new GameTime()); //Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelGainPhase)); //Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); //ActionPanelGainPhase GainPhase = (ActionPanelGainPhase)DummyMap.ListActionMenuChoice.Last(); //GainPhase.FinishPhase(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelDrawCardPhase)); Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); ActionPanelDrawCardPhase DrawCardPhase = (ActionPanelDrawCardPhase)DummyMap.ListActionMenuChoice.Last(); DrawCardPhase.FinishPhase(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelCardSelectionPhase)); Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); ActionPanelCardSelectionPhase CardSelectionPhase = (ActionPanelCardSelectionPhase)DummyMap.ListActionMenuChoice.Last(); CardSelectionPhase.PrepareToRollDice(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelRollDicePhase)); Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); ActionPanelRollDicePhase RollDicePhase = (ActionPanelRollDicePhase)DummyMap.ListActionMenuChoice.Last(); RollDicePhase.RollDice(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelChooseDirection)); Assert.IsTrue(DummyMap.ListActionMenuChoice.HasSubPanels); ActionPanelChooseDirection ChooseDirection = (ActionPanelChooseDirection)DummyMap.ListActionMenuChoice.Last(); DummyPlayer.CurrentDirection = Player.Directions.Right; ChooseDirection.FinalizeChoice(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelMovementPhase)); Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); while (DummyMap.ListActionMenuChoice.Last() is ActionPanelMovementPhase) { DummyMap.Update(new GameTime()); } Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelCardSelectionPhase)); Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels); ActionPanelCardSelectionPhase CreatureCardSelectionPhase = (ActionPanelCardSelectionPhase)DummyMap.ListActionMenuChoice.Last(); }
public void TestGainPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelGainPhase GainPhase = new ActionPanelGainPhase(DummyMap, DummyPlayer); Assert.AreEqual(0, DummyPlayer.Magic); GainPhase.OnSelect(); Assert.AreEqual(20, DummyPlayer.Magic); }
public void TestRollDicePhaseWithoutDirection() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelRollDicePhase RollDicePhase = new ActionPanelRollDicePhase(DummyMap, DummyPlayer); RollDicePhase.RollDice(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelChooseDirection)); }
public void TestRefillDeckPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() }); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelRefillDeckPhase RefillDeckPhase = new ActionPanelRefillDeckPhase(DummyMap, DummyPlayer); DummyPlayer.ListRemainingCardInDeck.Clear(); Assert.AreEqual(0, DummyPlayer.ListRemainingCardInDeck.Count); RefillDeckPhase.OnSelect(); Assert.AreEqual(3, DummyPlayer.ListRemainingCardInDeck.Count); }
private void LoadMap(string Path) { string MapLogicName = FilePath.Substring(0, FilePath.Length - 4).Substring(29); BattleMapViewer.Preload(); SorcererStreetMap ActiveMap = new SorcererStreetMap(MapLogicName, string.Empty); Helper = new SorcererStreetMapHelper(ActiveMap); InitMap(ActiveMap); this.Text = BattleMapViewer.ActiveMap.MapName + " - Project Eternity Sorcerer Street Map Editor"; }
public void TestRollDicePhaseGoingRight() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); DummyPlayer.CurrentDirection = Player.Directions.Right; SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelRollDicePhase RollDicePhase = new ActionPanelRollDicePhase(DummyMap, DummyPlayer); RollDicePhase.RollDice(); Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelMovementPhase)); }
public void TestDrawCardPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() }); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelDrawCardPhase DrawCardPhase = new ActionPanelDrawCardPhase(DummyMap, 0); Assert.AreEqual(3, DummyPlayer.ListRemainingCardInDeck.Count); Assert.AreEqual(0, DummyPlayer.ListCardInHand.Count); DrawCardPhase.OnSelect(); Assert.AreEqual(2, DummyPlayer.ListRemainingCardInDeck.Count); Assert.AreEqual(1, DummyPlayer.ListCardInHand.Count); }
public void TestSpellSelectionPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); SorcererStreetMap DummyMap = CreateDummyMap(); ActionPanelCardSelectionPhase SpellSelectionPhase = new ActionPanelSpellCardSelectionPhase(DummyMap, DummyPlayer); DummyPlayer.ListCardInHand.Add(new Card()); DummyPlayer.ListCardInHand.Add(new Card()); DummyPlayer.ListCardInHand.Add(new Card()); DummyPlayer.ListCardInHand.Add(new Card()); SpellSelectionPhase.OnSelect(); }
public void TestCreatureModifierPhaseSkillActivation() { Player DummyPlayer1 = new Player("Player 1", "Human", true, false, 0, new Card[0]); Player DummyPlayer2 = new Player("Player 2", "Human", true, false, 0, new Card[0]); CreatureCard DummyInvaderCard = new CreatureCard(40, 20); CreatureCard DummyDefenderCard = new CreatureCard(40, 20); SorcererStreetMap DummyMap = CreateDummyMap(); SorcererStreetBattleParams BattleParams = new SorcererStreetBattleParams(DummyMap.GlobalSorcererStreetBattleContext); TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece); DummyTerrain.DefendingCreature = DummyDefenderCard; DummyTerrain.Owner = DummyPlayer2; ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, 0, DummyInvaderCard); BattleStartPhase.Load(); BaseEffect SkillEffect = new IncreaseHPEffect(BattleParams); BaseSkillRequirement Requirement = new SorcererStreetCreaturePhaseRequirement(DummyMap.GlobalSorcererStreetBattleContext); AutomaticSkillTargetType Target = new SorcererStreetSelfTargetType(DummyMap.GlobalSorcererStreetBattleContext); BaseAutomaticSkill HPIncreaseSkill = new BaseAutomaticSkill(); HPIncreaseSkill.Name = "Dummy"; HPIncreaseSkill.ListSkillLevel.Add(new BaseSkillLevel()); HPIncreaseSkill.CurrentLevel = 1; BaseSkillActivation NewActivation = new BaseSkillActivation(); HPIncreaseSkill.CurrentSkillLevel.ListActivation.Add(NewActivation); NewActivation.ListRequirement.Add(Requirement); NewActivation.ListEffect.Add(SkillEffect); NewActivation.ListEffectTargetReal.Add(new List <AutomaticSkillTargetType>()); NewActivation.ListEffectTargetReal[0].Add(Target); DummyInvaderCard.ListSkill.Add(HPIncreaseSkill); ActionPanelBattleCreatureModifierPhase CreaturePhase = new ActionPanelBattleCreatureModifierPhase(DummyMap.ListActionMenuChoice, DummyMap); CreaturePhase.OnSelect(); Assert.AreEqual(DummyInvaderCard.CurrentHP + 30, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalHP); }
public ProjectEternitySorcererStreetEditor(string FilePath, object[] Params) : this() { this.FilePath = FilePath; if (!File.Exists(FilePath)) { FileStream fs = File.Create(FilePath); fs.Close(); SorcererStreetMap NewMap = new SorcererStreetMap(FilePath, string.Empty); ActiveMap = BattleMapViewer.ActiveMap = NewMap; NewMap.ListLayer.Add(new MapLayer(NewMap)); SaveItem(FilePath, FilePath); } LoadMap(FilePath); }
private static SorcererStreetMap CreateDummyMap() { SorcererStreetMap DummyMap = new SorcererStreetMap(); DummyMap.GameTurn = 1; DummyMap.ListLayer.Add(new MapLayer(DummyMap, new List <AnimationBackground>(), new List <AnimationBackground>())); DummyMap.ListGameScreen = new List <GameScreens.GameScreen>(); DummyMap.ListLayer[0].ArrayTerrain = new TerrainSorcererStreet[20, 20]; for (int X = 0; X < 20; ++X) { for (int Y = 0; Y < 20; ++Y) { DummyMap.ListLayer[0].ArrayTerrain[X, Y] = new TerrainSorcererStreet(X, Y, 1); } } DummyMap.ListLayer[0].ArrayTerrain[0, 0].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[1, 0].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[2, 0].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[3, 0].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 0].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 1].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 2].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 3].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 4].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[4, 5].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[3, 5].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[2, 5].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[1, 5].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[0, 5].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[0, 4].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[0, 3].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[0, 2].TerrainTypeIndex = 2; DummyMap.ListLayer[0].ArrayTerrain[0, 1].TerrainTypeIndex = 2; DummyMap.Init(); return(DummyMap); }
public void TestPlayerMovementPhase() { Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]); DummyPlayer.CurrentDirection = Player.Directions.Right; SorcererStreetMap DummyMap = CreateDummyMap(); DummyMap.ListPlayer.Add(DummyPlayer); ActionPanelMovementPhase MovementPhase = new ActionPanelMovementPhase(DummyMap, DummyPlayer, 3); DummyMap.ListActionMenuChoice.AddToPanelListAndSelect(MovementPhase); Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel); Assert.AreEqual(1, DummyPlayer.GamePiece.Position.X); for (int i = 0; i < 6; ++i) { DummyMap.Update(new GameTime()); } Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel); Assert.AreEqual(2, DummyPlayer.GamePiece.Position.X); for (int i = 0; i < 6; ++i) { DummyMap.Update(new GameTime()); } Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel); Assert.AreEqual(3, DummyPlayer.GamePiece.Position.X); for (int i = 0; i < 6; ++i) { DummyMap.Update(new GameTime()); } Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel); }
public ActionPanelCreatureCardSelectionPhase(SorcererStreetMap Map, Player ActivePlayer) : base(Map.ListActionMenuChoice, Map, ActivePlayer, CreatureCard.CreatureCardType, "End turn") { }
public ActionPanelSelectSingleSpellTarget(SorcererStreetMap Map, Player ActivePlayer) : base("Select Single Spell Target", Map, true) { this.ActivePlayer = ActivePlayer; }
public ActionPanelSelectSingleSpellTarget(SorcererStreetMap Map) : base("Select Single Spell Target", Map, true) { }
public SorcererStreetMapHelper(SorcererStreetMap ActiveMap) { this.ActiveMap = ActiveMap; }