public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.AlterWeaponDamage(addedWeaponDamage, weaponDamageMultiplier); cae.cardPlayState[currentAction] = 1; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { if (shock) { if (enemy) { pm.otherManager.Shock(turns); } else { pm.Shock(turns); } } else if (enemy) { pm.otherManager.Unshock(); } else { pm.Unshock(); } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { Vector3Int[] enemyAdjs = GridHelper.GetAdjacentTiles(pm.EnemyCoords()); List <Vector3Int> standableTiles = new List <Vector3Int>(); for (int i = 0; i < enemyAdjs.Length; ++i) { if (GridHelper.CanStandOn(enemyAdjs[i])) { standableTiles.Add(enemyAdjs[i]); } } if (standableTiles.Count > 0) { int random = Random.Range(0, standableTiles.Count); Pommel pommel = PhotonNetwork.Instantiate( "Prefabs/Items/Pommel", GridHelper.grid.CellToWorld(standableTiles[random]), Quaternion.identity).GetComponent <Pommel>(); pommel.photonView.RPC("SetSpawner", RpcTarget.All, pm.photonView.ViewID); } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { if (evade) { if (enemy) { pm.otherManager.AddEvade(turns); } else { pm.AddEvade(turns); } } else if (enemy) { pm.otherManager.Unevade(); } else { pm.Unevade(); } cae.cardPlayState[currentAction] = 1; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { if (refreshBasic) { if (rbEnemy) { pm.otherManager.RefreshBasic(); } else { pm.RefreshBasic(); } } if (refreshMove) { if (rmEnemy) { pm.otherManager.RefreshMove(); } else { pm.RefreshMove(); } } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.AlterBasicDamage(addedBasicAttack, basicAttackMultiplier, setBasicAttack); cae.cardPlayState[currentAction] = 1; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { double startingTurn = pm.gameManager.turnCount; bool prevented = false; while (startingTurn + lastHowLong > pm.gameManager.turnCount) { if (preventShock && pm.playerInfo.shocked > 0) { pm.Unshock(); prevented = true; } if (preventSlow && pm.playerInfo.slowed > 0) { pm.Unslow(); prevented = true; } if (preventStun && pm.playerInfo.stunned > 0) { pm.Unstun(); prevented = true; } if (prevented && lastHowLong == 0) { break; } yield return(null); } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.CardSelectTile(new RangeDefined(dist, straight, piercing, basicRange), SelectedTile); _cardActionExecutor = cae; _currentAction = currentAction; _playerManager = pm; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { cardActionExecutor = cae; currAction = currentAction; playerManager = pm; pm.Moved += OnMoved; cae.startedPassiveAction = true; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { List <IAttackable> targets = GridHelper.IAttackablesInTiles(GridHelper.TilesInRange(pm.Coords(), new RangeDefined(range, straight, piercing, basicRange))); foreach (var target in targets) { pm.DamageTarget(damage, target, weapon); } cae.cardPlayState[currentAction] = 1; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { Vector3Int[] adjTiles1 = GridHelper.GetAdjacentTiles(pm.Coords()); for (int i = 0; i < 6; ++i) { if (GridHelper.CanStandOn(adjTiles1[i])) { Vector3Int cTile = GridHelper.GetChargeTile(pm.Coords(), i, chargeRange); GridHelper.groundTilemap.SetTileFlags(cTile, UnityEngine.Tilemaps.TileFlags.None); GridHelper.groundTilemap.SetColor(cTile, GridHelper.standableTileColor); } } bool moved = false; int acDist = 0; Vector3Int newPosition = new Vector3Int(); while (true) { if (Input.GetMouseButtonDown(0)) { Vector3Int mouseCoords = pm.MouseCoords(); Vector3Int[] adjTiles = GridHelper.GetAdjacentTiles(pm.Coords()); for (int i = 0; i < 6; ++i) { if (GridHelper.CanStandOn(adjTiles[i])) { Vector3Int cTile = GridHelper.GetChargeTile(pm.Coords(), i, chargeRange, ref acDist); GridHelper.groundTilemap.SetColor(cTile, Color.white); if (GridHelper.CanStandOn(cTile) && cTile == mouseCoords) { newPosition = cTile; moved = true; } } } break; } yield return(null); } if (moved) { pm.MoveTo(newPosition); cae.cardPlayState[currentAction] = 1; } else { cae.cardPlayState[currentAction] = 2; } }
private void Start() { player1 = GameObject.Find("Player1").GetComponent <PlayerManager>(); player2 = GameObject.Find("Player2").GetComponent <PlayerManager>(); caePrefab = Resources.Load <CardActionExecutor>("Prefabs/CardActionExecutor"); cardVisuals = GetComponent <CardVisuals>(); realResolveCost = card.resolveCost; cardCostHandler = card.cardCostHandler; if (cardCostHandler != null) { StartCoroutine(cardCostHandler.StartChecking(CurrentPlayer(), this)); } }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { if (toTheBottom) { pm.cardManager.AddCardToBottom(card, new CardInfo()); } else { pm.cardManager.ShuffleNewCard(card, new CardInfo()); } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { List <Vector3Int> blinkTiles = GridHelper.TilesInDistance(pm.Coords(), blinkRange); foreach (var tile in blinkTiles) { if (GridHelper.CanStandOn(tile)) { GridHelper.groundTilemap.SetTileFlags(tile, UnityEngine.Tilemaps.TileFlags.None); GridHelper.groundTilemap.SetColor(tile, GridHelper.standableTileColor); } } Vector3Int newPosition = new Vector3Int(); bool moved = false; while (true) { if (Input.GetMouseButtonDown(0)) { Vector3Int mouseCoords = pm.MouseCoords(); for (int i = 0; i < blinkTiles.Count; ++i) { var tile = blinkTiles[i]; GridHelper.groundTilemap.SetColor(tile, Color.white); if (GridHelper.CanStandOn(tile) && tile == mouseCoords) { newPosition = tile; moved = true; } } break; } yield return(null); } if (moved) { pm.MoveTo(newPosition); cae.cardPlayState[currentAction] = 1; } else { cae.cardPlayState[currentAction] = 2; } yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { if (unshaken) if (enemy) pm.otherManager.Unshaken(turns); else pm.Unshaken(turns); else if (enemy) pm.otherManager.Deunshaken(); else pm.Deunshaken(); cae.cardPlayState[currentAction] = 1; yield return null; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { cae.startedPassiveAction = true; double playedTurn = pm.gameManager.turnCount; double currentTurn = playedTurn; while (playedTurn + turns > currentTurn) { currentTurn = pm.gameManager.turnCount; yield return(null); } cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { playerManager = pm; if (dir == -1) { pm.CardAttack(damage, true, DamageFunction, new RangeDefined(1, true, false, true), cae, currentAction); } else { pm.CardAttack(damage, true, new RangeDefined(1, true, false, true, new List <int>() { dir }, null), cae, currentAction); } yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { List <Vector3Int> tiles = new List <Vector3Int>(GridHelper.GetAdjacentTiles(pm.Coords())); tiles.Add(pm.Coords()); List <RaycastHit2D> hits = GridHelper.RaycastTilesNoEmptyHits(tiles); foreach (var hit in hits) { PlayerManager hitPlayer = hit.transform.parent.GetComponent <PlayerManager>(); if (hitPlayer != null) { ApplyEffects(hitPlayer); } } cae.cardPlayState[currentAction] = 1; yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { tiles = GridHelper.TilesInRange(pm.Coords(), new RangeDefined(range, straight, piercing, basicRange, null, StandableChecker)); foreach (var tile in tiles) { GridHelper.groundTilemap.SetColor(tile, GridHelper.spawnTileColor); } bool spawned = false; while (true) { if (Input.GetMouseButtonDown(0)) { Vector3Int mousePos = pm.MouseCoords(); //add raycast here if u want, and check in if if (GridHelper.TileInList(mousePos, tiles)) { Spawnable acItem = PhotonNetwork.Instantiate("Prefabs/Items/" + itemName, GridHelper.grid.CellToWorld(mousePos), Quaternion.identity).GetComponent <Spawnable>(); acItem.photonView.RPC("SetSpawner", RpcTarget.All, pm.photonView.ViewID); spawned = true; break; } else { spawned = false; break; } } yield return(null); } foreach (var tile in tiles) { GridHelper.groundTilemap.SetColor(tile, Color.white); } cae.cardPlayState[currentAction] = spawned ? 1 : 2; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.CardAttack((int)Mathf.Pow(2, 1 + Mathf.Max(pm.playerInfo.stillStandingTurns - 1, 0)), isWeaponAtk, new RangeDefined(dist, straight, piercing, basicRange), cae, currentAction); yield break; }
public abstract IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction);
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.GainBlock((int)(pm.playerInfo.block * (currentBlockMultiplier - 1) + blockAmount)); cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.AlterBasicRange(addedBasicRange, basicRangeMultiplier, setBasicRange); cae.cardPlayState[currentAction] = 1; yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.CardAttack(damage, weapon, new RangeDefined(range, straight, piercing, basicRange), cae, currentAction); //action state gets set in here yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.cardManager.DrawHandCards(num); cae.cardPlayState[currentAction] = 1; yield return(null); }
//private PlayerManager playerManager; public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { //playerManager = pm; pm.CardAttack(0, false, DamageFunction, new RangeDefined(dist, false, false, false, self), cae, currentAction); yield break; }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { playerManager = pm; pm.CardAttack(0, true, DamageFunction, new RangeDefined(0, false, false, true), cae, currentAction); yield return(null); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { pm.SetHealth(health); cae.cardPlayState[currentAction] = 1; yield return(null); }
public void PlayCard() //called by PlayingCard(State) { CardActionExecutor cae = Instantiate(caePrefab); cae.player1 = player1; cae.player2 = player2; cae.Execute(this); }
public override IEnumerator Execute(PlayerManager pm, CardActionExecutor cae, int currentAction) { cae.cardLogic.cardInfo.doubleCast = true; cae.cardPlayState[currentAction] = 1; yield return(null); }