public void clickBattlecryTarget(GameObject g) { if (g.GetComponent <BoardCharacter>()) { BoardCharacter c = g.GetComponent <BoardCharacter>(); if (p.currentObj.GetComponent <HandCard>().representative != null) { if (p.currentObj.GetComponent <HandCard>().representative.effect.setBattlecryTarget(c)) { p.currentObj.GetComponent <HandCard>().aimingBattlecry = false; Debug.Log("Aimed a battlecry"); } } else if (p.currentObj.GetComponent <HandCard>().spellRepresentative != null) { if (p.currentObj.GetComponent <HandCard>().spellRepresentative.effect.setSpellTarget(c)) { Debug.Log("Aimed a spell"); p.currentObj.GetComponent <HandCard>().aimingBattlecry = false; } } } else { HandCard cardCancelled = p.currentObj.GetComponent <HandCard>(); cancelBattlecry(cardCancelled); } }
public void SetPosition(int i, int j, BoardCharacter character) { if (IndexIsOutOfBounds(i) || IndexIsOutOfBounds(j)) throw new IndexOutOfRangeException("Wrong Position index"); int index = GetListIndex(i, j); positions[index] = character; }
//boardcharacters attack each other public void attack(BoardCharacter attacker, BoardCharacter target) { //give the attacker information about who its attacking so it knows how to //call the completeAttack method attacker.attackTarget = target; attacker.canAttack = false; //start moving attacker.originalPos = attacker.transform.position; attacker.posToMoveTo = target.transform.position; }
public override bool setSpellTarget(BoardCharacter c) { if (c.type == "minion") { spellTarget = c; return(true); } else { return(false); } }
public override bool setSpellTarget(BoardCharacter c) { if(c.cHealth < c.bHealth && c.type == "minion" && c.Player != caster) { spellTarget = c; return true; } else { return false; } }
public override bool setSpellTarget(BoardCharacter c) { if (c.type == "minion" && self.player.board.Contains((Minion)c)) { spellTarget = c; return(true); } else { return(false); } }
public void clickBoardCharacter(BoardCharacter charClicked) { if (!p.currentObj) { p.currentObj = charClicked.gameObject; p.originalPos = p.currentObj.transform.position; foreach (BoardCharacter c in charClicked.getValidAttackTargets()) { Debug.Log(c.card.filename); } } }
public override bool setBattlecryTarget(BoardCharacter c) { if (c.type == "hero") { battlecryTarget = c; return(true); } else { return(false); } }
public override bool setBattlecryTarget(BoardCharacter c) { if (c.cAttack >= 7) { battlecryTarget = c; return(true); } else { return(false); } }
public void clickAttackTarget(GameObject g) { if (g.GetComponent <BoardCharacter>()) { BoardCharacter target = g.GetComponent <BoardCharacter>(); BoardCharacter attacker = p.currentObj.GetComponent <BoardCharacter>(); foreach (BoardCharacter c in attacker.getValidAttackTargets()) { Debug.Log(c.card.filename); } if (attacker.getValidAttackTargets().Contains(target)) { p.attack(attacker, target); } } p.currentObj = null; }
public void completeAttack(BoardCharacter attacker, BoardCharacter target) { //move back to starting location & reset attacker.posToMoveTo = attacker.originalPos; attacker.attackTarget = null; //deal damage to each other EffectsController.dealDamage(target, attacker.cAttack); EffectsController.dealDamage(attacker, target.cAttack); //if a hero is the one attacking, subtract durability from weapon if (attacker.type == "hero") { Hero attackingHero = (Hero)attacker; attackingHero.attacked = true; if (attackingHero.equipped != null) { attackingHero.equipped.cDurability--; } } }
public static int restoreHealth(BoardCharacter target, int amount) { int healed = amount; if (target.cHealth == target.bHealth) { healed = 0; } else { target.restoreHealth(amount); healed = amount; } DamageLabel label = GameObject.Instantiate(lb) as DamageLabel; label.transform.position = target.transform.position; label.GetComponent <TextMesh>().text = "+" + healed; label.attached = target; return(healed); }
public static int dealDamage(BoardCharacter target, int amount) { int dealt = amount; if (target.cstatts.Contains("divineshield")) { target.cstatts.Remove("divineshield"); target.ostatts.Remove("divineshield"); dealt = 0; } else { target.takeDamage(amount); dealt = amount; } DamageLabel label = GameObject.Instantiate(lb) as DamageLabel; label.transform.position = target.transform.position; label.GetComponent <TextMesh>().text = "-" + dealt; label.attached = target; if (dealt > 0) { if (target.type == "minion") { Minion t = (Minion)target; t.effect.onSelfDamaged(); sendTriggerTo(t.Player.board, "onFriendlyMinionDamaged"); sendTriggerTo(CardController.getController().getOtherPlayer(t.Player).board, "onEnemyMinionDamaged"); sendTriggerTo(getAllMinions(), "onMinionDamaged"); } } return(dealt); }
public virtual bool getBattlecryTarget() { battlecryTarget = null; return(false); }
private void CheckForWinner() { int boardDimension = board.GetDimension(); var boardCharacter = CheckHorizontalWinner(boardDimension); if (boardCharacter == BoardCharacter.Empty) { boardCharacter = CheckVerticalWinner(boardDimension); } if (boardCharacter == BoardCharacter.Empty) { boardCharacter = CheckDiagonalWinner(boardDimension); } gameWinner = boardCharacter; }
public ComputerPlayer(BoardCharacter characterType) { this.characterType = characterType; }
public override bool setBattlecryTarget(BoardCharacter c) { battlecryTarget = c; return(true); }
public virtual bool setBattlecryTarget(BoardCharacter c) { return(true); }
public override bool setSpellTarget(BoardCharacter c) { spellTarget = c; return(true); }
public static void dealSpellDamage(BoardCharacter target, int amount) { dealDamage(target, amount); }
// public void SelectTile(string tile) // { // if (_selectedTile != null) // { // _selectedTile.Unselect(); // _selectedTile = null; // } // var t = _tiles[tile]; // if (!t.ObjectOnTile) return; // t.Select(); // _selectedTile = t; // } public void RemoveTileObject(BoardCharacter getUnit) => _tiles[getUnit.TileId].ObjectOnTile = null;
public virtual bool setSpellTarget(BoardCharacter c) { spellTarget = c; return(true); }