private static void DoAttack(BasePlayer skill, BasePlayer secondPlayer) { if (new Random().Next(0, 10) >= 6) { skill.UltaAttack(secondPlayer); } else { skill.Attack(secondPlayer); } }
public void BasicWeaponsAttacking() { var warAxe = HearthEntityFactory.CreateCard <FieryWarAxe>(); player.Weapon = warAxe; warAxe.WeaponOwner = player; var yeti = HearthEntityFactory.CreateCard <ChillwindYeti>(); GameEngine.GameState.WaitingPlayerPlayZone[0] = yeti; player.Attack(yeti); Assert.AreEqual(2, yeti.CurrentHealth, "Verify Yeti_1 is at 2 health"); Assert.AreEqual(26, player.Health, "Verify the player is now at 26 health"); Assert.AreEqual(1, warAxe.Durability, "Verify the war axe is now at 1 durability"); player.RemoveStatusEffects(PlayerStatusEffects.EXHAUSTED); player.Attack(yeti); Assert.AreEqual(-1, yeti.CurrentHealth, "Verify Yeti_1 is at -1 health"); Assert.AreEqual(22, player.Health, "Verify the player is now at 22 health"); Assert.AreEqual(0, warAxe.Durability, "Verify the war axe is now at 0 durability"); Assert.IsNull(player.Weapon, "Verify that the player no longer has the weapon equipped"); Assert.IsTrue(player.Graveyard.Contains(warAxe), "Verify that the war axe is now in the graveyard"); }
public void UnfreezePlayers() { GameEngine.GameState.CurrentPlayer = player; var fieryWarAxe = HearthEntityFactory.CreateCard <FieryWarAxe>(); fieryWarAxe.WeaponOwner = player; player.Weapon = fieryWarAxe; player.ApplyStatusEffects(PlayerStatusEffects.FROZEN); opponent.ApplyStatusEffects(PlayerStatusEffects.FROZEN); GameEngine.EndTurn(); // The player should be unfrozen because they have not attacked their turn Assert.IsFalse(player.IsFrozen, "Verify player is unfrozen"); // The opponent on the other hand should still be frozen Assert.IsTrue(opponent.IsFrozen, "Verify opponent is frozen"); GameEngine.EndTurn(); // Now the opponent should be unfrozen Assert.IsFalse(opponent.IsFrozen, "Verify opponent is unfrozen"); player.Attack(opponent); player.ApplyStatusEffects(PlayerStatusEffects.FROZEN); GameEngine.EndTurn(); // This time, the player should remain frozen because they have attacked on their turn Assert.IsTrue(player.IsFrozen, "Verify player is frozen"); GameEngine.EndTurn(); GameEngine.EndTurn(); // And now, they should be unfrozen Assert.IsFalse(player.IsFrozen, "Verify player is unfrozen"); }
public void UpdatePlayerControls() { Vector3 moveDir = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); //Debug.Log(moveDir); mPlayer.MoveDir(moveDir, Mathf.Clamp01(moveDir.magnitude)); Ray mouseRay = Camera.main.ScreenPointToRay(Input.mousePosition); float dist; if (mGroundPlane.Raycast(mouseRay, out dist)) { Vector3 hit = mouseRay.GetPoint(dist); mPlayer.LookAtPoint(hit); } if (Input.GetKeyDown(KeyCode.Alpha1)) { mQueuedAction = QueuedActionType.ChangeToMelee; mActionDelayTimer = kActionDelayTime; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { mQueuedAction = QueuedActionType.ChangeToRange; mActionDelayTimer = kActionDelayTime; } else if (Input.GetAxis("Mouse ScrollWheel") != 0) { if (mPlayer.mEquipedWeaponType == BasePlayer.EquipedWeaponType.Melee) { mQueuedAction = QueuedActionType.ChangeToRange; } else { mQueuedAction = QueuedActionType.ChangeToMelee; } mActionDelayTimer = kActionDelayTime; } /* * if(Input.GetKeyDown(KeyCode.Space)) * { * mPlayer.mDialogText.Show("TEST test test\nTest test"); * } */ if (Input.GetMouseButtonDown(0)) { mPlayer.Attack(); } if (mPlayer.IsPlayingAnimation()) { return; } if (mActionDelayTimer <= 0.0f) { return; } mActionDelayTimer -= Time.deltaTime; if (mActionDelayTimer <= 0.0f) { switch (mQueuedAction) { case QueuedActionType.ChangeToMelee: mPlayer.SetEquipedWeaponType(BasePlayer.EquipedWeaponType.Melee); break; case QueuedActionType.ChangeToRange: mPlayer.SetEquipedWeaponType(BasePlayer.EquipedWeaponType.Ranged); break; } mQueuedAction = QueuedActionType.None; } }