// Aplica damage da skill sem a passiva E ativa public override void applySkill(CharacterBaseClass playerEnemy) { int auxDmg = playerEnemy.getLife() - damage; if (isSlow) { if (auxDmg <= 0) { playerEnemy.currentLife = 0; playerEnemy.playerState = CharacterBaseClass.States.dead; } else { playerEnemy.currentLife -= damage; // playerEnemy.velocity -= 2f; } } else { if (auxDmg <= 0) { playerEnemy.currentLife -= damage; playerEnemy.playerState = CharacterBaseClass.States.dead; } else { playerEnemy.currentLife -= damage; } } }
public void CalculateAvailablePath(GameObject character) { baseCharacter = character.GetComponent <CharacterBaseClass>(); EventScanTilesUpdate(); GetCurrentTile(character); //BFS Algorithm var queueProcess = new Queue <Tile>(); queueProcess.Enqueue(tilePlaceholder); tilePlaceholder.isVisited = true; while (queueProcess.Count > 0) { Tile t = queueProcess.Dequeue(); listOfSelectableTiles.Add(t); t.isSelectable = true; if (t.distance < baseCharacter._movePoints) { foreach (var tile in t.listOfNearbyValidTiles) { if (!tile.isVisited) { tile.parent = t; tile.isVisited = true; tile.distance = 1 + t.distance; queueProcess.Enqueue(tile); } } } } baseCharacter.currentTile = tilePlaceholder; baseCharacter.isTilesFound = true; }
public override void applySkill(CharacterBaseClass playerEnemy) { }
public abstract void applySkill(CharacterBaseClass playerEnemy);