Пример #1
0
    public override bool Execute(TileScript tile)
    {
        CharacterScript enemy = tile.GetTileInhabitant();

        if(enemy) {
            int distance = player.map.GetAStar().GetRangeBetweenTwoTiles(player.currentTile,tile);
            if(distance <= range) {

                //int abilityCostModifier = tile.GetNumOfFavorEffectsInTile(ConstantsScript.TileFavorEffect.ReduceAbilityCost);
                //TODO:add these back in.
                //- abilityCostModifier;
                if(player.stamina >= staminaCost ) {

                    int damageModifier = tile.GetNumOfFavorEffectsInTile(ConstantsScript.TileFavorEffect.IncreaseDamage);
                    enemy.health -= damage + damageModifier;
                    //+ damageModifier;
                    //- abilityCostModifier
                    player.stamina -= (staminaCost);
                    Debug.Log("Hit Enemies for " + damage + " damage to " + enemy.health + " health");
                    GameManagerScript gm = player.gm;
                    AudioManagerScript am = gm.gameObject.GetComponent<AudioManagerScript>();
                    am.PlayAudioClip(BAConstants.AudioConstants.AudioClipType.SwordHit1);
                    return true;
                }
            }
        }
        return false;
    }