public void MoveOnBoard(Point des, float delay) { OneCardManager desCard; Vector2 newPos; if (boardManager.FindFieldCardAtPoint(des) != null) { desCard = boardManager.FindFieldCardAtPoint(des); //newPos = desCard.transform.localosition; if (desCard.cardAsset.Type != CardType.Player) { SoundManager.PlaySound("dealCardSound"); isMoving = true; playerManager.button.interactable = true; //setPlayer //(desCard); boardManager.AddEmptySlot(playerManager.point); setPlayerArrows(boardManager.FindFieldCardAtPoint(des).arrows); playerManager.point = des; playerManager.myCardManager.point = des; Debug.Log("actionpoints"); playerManager.PickUpKidneyFromBoard(); Vector3 v = boardManager.AllSlots[des.Y, des.X].transform.position; v.y += 0.3f; playerManager.myCardManager.transform.DOMove(v, delay); // need this order, dont change boardManager.DeleteCard(desCard); boardManager.RemoveEmptySlot(des); Debug.Log("takingdamage"); Debug.Log(int.Parse(desCard.DamageText.text)); //needs to go before take damage, because if take damage kills you, it resets your hp to 10, then this check doesnt work if (desCard.cardAsset.Type == CardType.Monster && playerManager.Hp > int.Parse(desCard.DamageText.text)) { Debug.Log(playerManager.Hp); Debug.Log(int.Parse(desCard.DamageText.text)); AudioManager.instance.PlaySound("IceCubeSpill"); AudioManager.instance.PlaySound("PlayerDamage"); playerManager.raiseAp(); } if (desCard.cardAsset.Type == CardType.Monster) { playerManager.takeDamage(int.Parse(desCard.DamageText.text)); } else if (desCard.cardAsset.Type == CardType.Neutral) { AudioManager.instance.PlaySound("PlayerNeutral"); } else if (desCard.cardAsset.Type == CardType.Hp) { playerManager.takeDamage(int.Parse(desCard.DamageText.text)); AudioManager.instance.PlaySound("PlayerHp"); } // take damage from deleted card? isMoving = false; playerManager.ActionPoints--; // needs to be after take damage Debug.Log("updating cards in moveonboard"); BoardManager.Instance.UpdateCards(); } } }