示例#1
0
 public void AccurateShotsActivate()
 {
     // i didn't add a !busy here because the button will go away if you do something else anyway
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.AccurateShots).EnergyCost)
         SwitchThis = muhSkills.AccurateShots;
     else Debug.Log("NO ENERGY");
 }
示例#2
0
 public void AdvanceTime2()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.AdvanceTime).EnergyCost)
     {
         GameManager.instance.CurrentTime +=4;
         TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
         muhSkills thisSkill = muhSkills.AdvanceTime2;
         Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
         GameManager.instance.removeTileHighlights();
         Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
         Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
         if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
             Caster.SetEnergy(0);
         Caster.actionPoints--;
         SwitchThis = muhSkills.NoSkill;}
     else Debug.Log("NO ENERGY");
 }
示例#3
0
 public void SweepingFireActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.SweepingFire).EnergyCost)
         SwitchThis = muhSkills.SweepingFire;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#4
0
 public void FollowThroughActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.FollowThrough).EnergyCost)
         SwitchThis = muhSkills.FollowThrough;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#5
0
 public void SummonTrashEffect(TroopScript Caster,Tile TargetTile)
 {
     muhSkills thisSkill = muhSkills.SummonTrash;
     TroopScript Target = null;
     for (int i = 0;i<GameManager.instance.players.Count;i++)
     if (GameManager.instance.players[i].gridPosition == TargetTile.gridPosition){
         Target = GameManager.instance.players[i];
         NewFightScript.SummonYogurtOntoPlayer(Target,Caster);
     }
     if (Target == null)
         GameManager.instance.SummonYogurt (TargetTile.gridPosition,Caster);
     Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
     if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
         Caster.SetEnergy(0);
     SwitchThis = muhSkills.NoSkill;
     Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
     Caster.actionPoints--;
 }
示例#6
0
 public void RemoveSkillToList(muhSkills _skill)
 {
     SkillsPossessed.Remove(_skill);
 }
示例#7
0
    void UpgradeSkill(muhSkills SkillYouWant)
    {
        bool FoundIt = false;
        if (Skill.FromListOfSkills(SkillYouWant).PrerequisiteSkill != muhSkills.NoSkill){
        muhSkills Prerequisite = (Skill.FromListOfSkills(SkillYouWant).PrerequisiteSkill);

        for (int i = 0;i<SkillsPossessed.Count;i++){
            if (SkillsPossessed[i]==Prerequisite){
                SkillsPossessed.Remove(SkillsPossessed[i]);
                SkillsPossessed.Add(SkillYouWant);
                FoundIt = true;
                break;
            }
        }
         if (!FoundIt)
        Debug.Log("YOU ARE MISSING THE PRE-REQUISITE SKILL: "+Prerequisite);

        }
        else if (Skill.FromListOfSkills(SkillYouWant).PrerequisiteSkill == muhSkills.NoSkill)
            SkillsPossessed.Add(SkillYouWant);
    }
示例#8
0
    void AccurateShots()
    {
        muhSkills thisSkill = muhSkills.AccurateShots;

        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        Vector2 Origin = Caster.gridPosition;
        List<TroopScript> Targets = new List<TroopScript>();

        if (AccurateShotsArea > -1f && AccurateShotsArea < 5.1f)
            AccurateShotsArea +=Input.GetAxis("Mouse ScrollWheel");
        else if (AccurateShotsArea < 0)
            AccurateShotsArea =0;
        else if (AccurateShotsArea > 5)
            AccurateShotsArea = 5;

        int	mArea = Mathf.RoundToInt(AccurateShotsArea);
        if (mArea < 1)
            mArea = 0;
        else if (mArea > 3)
            mArea = 4;
        Caster.attacking = true;
        List<Tile>Targetcells = GameManager.instance.AccurateShotsHighlights(Origin,GameManager.instance.MousePosition,mArea,Skill.FromListOfSkills(thisSkill).SkillMinRange,Skill.FromListOfSkills(SwitchThis).SkillMaxRange);
            int cells = Targetcells.Count;
            for (int i = 0; i<cells;i++){
                for (int j = 0; j<GameManager.instance.players.Count;j++){
                    //if (Targetcells[i].gridPosition == GameManager.instance.players[j].gridPosition && GameManager.instance.players[j].Faction !=GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].Faction)
                    if (Targetcells[i].gridPosition == GameManager.instance.players[j].gridPosition)

                        if (!Targets.Contains(GameManager.instance.players[j])){
                            Targets.Add(GameManager.instance.players[j]);
                //	Debug.Log ("added "+GameManager.instance.players[j].GetChief().GetName()+" to the list of targets");
                }
                //Debug.Log("count zz:"+Targets.Count);
            }}
        if (Input.GetMouseButtonDown(0))

                if (Targets.Count > 0){
                //Debug.Log("count:"+Targets.Count);
                for (int k = 0;k<Targets.Count;k++){

                    float TotalDamage = (float)5/cells;
                    Skill damageados = Skill.FromListOfSkills(muhSkills.AccurateShots);
                    damageados.DamageScaling = TotalDamage;
                    NewFightScript.MeleeFightingScript(Caster,Targets[k],damageados);
                    //Targets[i].SetNumber(Targets[i].GetNumber()-kills);
                    //if (Targets[i].GetNumber()<0) Targets[i].SetNumber(0);
                //	Debug.Log(Targets[k].GetChief().GetName());
                //	Debug.Log("value of k: "+k);

                    if (Targets[k].GetEnergy()>0)Targets[k].SetEnergy(Targets[k].GetEnergy()-1);
                }
                SwitchThis = muhSkills.NoSkill;

            //animations and shit go here
            Caster.actionPoints--;
            GameManager.instance.removeTileHighlights();
            Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
            if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                Caster.SetEnergy(0);
            Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;

        }
    }
示例#9
0
 public void AddSkillToList(muhSkills _skill)
 {
     SkillsPossessed.Add(_skill);
 }
示例#10
0
    public void TenshiDivineTrash2()
    {
        muhSkills thisSkill = muhSkills.TenshiDivineTrash2;
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        if (Caster.GetEnergy()>= Skill.FromListOfSkills(thisSkill).EnergyCost)
        {

            NewFightScript.HealingTarget(Caster,Caster,Skill.FromListOfSkills(thisSkill).HealScaling);
            GameManager.instance.removeTileHighlights();
            Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
            if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                Caster.SetEnergy(0);
            SwitchThis = muhSkills.NoSkill;
            Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
            Caster.actionPoints--;}
        else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
    }
示例#11
0
    public void WhiteDestructionBeam()
    {
        muhSkills thisSkill = muhSkills.WhiteDestructionBeam;
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        List <Tile> TilesHit = GameManager.instance.WhiteDestructionBeam(Caster);
        List <TroopScript> Targets;

        if (Input.GetMouseButtonDown(0)){
            for (int i = 0;i<TilesHit.Count;i++){
            foreach (TroopScript p in  GameManager.instance.players) {
                if (p.gridPosition == TilesHit[i].gridPosition && p.Faction != Caster.Faction) {

                    NewFightScript.MeleeFightingScript(Caster,p,Skill.FromListOfSkills(thisSkill));
                        //animations and shit go here}
                    GameManager.instance.removeTileHighlights();
                    Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
                    if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                        Caster.SetEnergy(0);
                    SwitchThis = muhSkills.NoSkill;
                    Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
                    Caster.actionPoints--;
                    }}}
        }
    }
示例#12
0
 public void MagicGuardAroundActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.MagicGuard).EnergyCost)
         SwitchThis = muhSkills.MagicGuard;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#13
0
 public void Meditate2()
 {
     muhSkills thisSkill = muhSkills.Meditate2;
     TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
     Caster.SetEnergy(Caster.GetEnergy()+2);
     if (Caster.GetEnergy()>Caster.GetMaxEnergy())
         Caster.SetEnergy(Caster.GetMaxEnergy());
     Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
     Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
     if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
         Caster.SetEnergy(0);
     SwitchThis = muhSkills.NoSkill;
     Caster.actionPoints--;
 }
示例#14
0
    public void HealingMist()
    {
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        muhSkills thisSkill = muhSkills.HealingMist;

                foreach (TroopScript p in  GameManager.instance.players) {
                    if ( p.Faction == Caster.Faction) {

                NewFightScript.HealingTarget(Caster,p,Skill.FromListOfSkills(muhSkills.HealingMist).HealScaling);
                        //animations and shit go here
            }
                        Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
                        if (Skill.FromListOfSkills(muhSkills.HalveEnergy).DepleteEnergy == true)
                            Caster.SetEnergy(0);
                        SwitchThis = muhSkills.NoSkill;
            Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
            Caster.actionPoints--;
            }
    }
示例#15
0
 public void HalveEnergyActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.HalveEnergy).EnergyCost)
         SwitchThis = muhSkills.GuardCancel;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#16
0
    void WarriorAttack2()
    {
        muhSkills thisSkill = muhSkills.WarriorAttack2;
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        GameManager.instance.highlightTilesRing(Caster.gridPosition,Color.red,Skill.FromListOfSkills(thisSkill).SkillMinRange,Skill.FromListOfSkills(thisSkill).SkillMaxRange);
        TroopScript Target;
        if (Input.GetMouseButtonDown(0)){
            Tile targetTile = GameManager.instance.TileUnderMouse;
            if (targetTile.visual.transform.GetComponent<Renderer>().materials[0].color != Color.white && !targetTile.impassible) 			{
                foreach (TroopScript p in  GameManager.instance.players) {
                    if (p.gridPosition == targetTile.gridPosition && p.Faction != Caster.Faction) {
                        Target = p;

                        Skill mySkill = Skill.FromListOfSkills(thisSkill);

                        NewFightScript.MeleeFightingScript(Caster,Target,mySkill);
                        //animations and shit go here
                        GameManager.instance.removeTileHighlights();
                        Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
                        if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                            Caster.SetEnergy(0);
                        SwitchThis = muhSkills.NoSkill;
                        Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
                        Caster.actionPoints--;
                    }}}}
    }
示例#17
0
    void Volley()
    {
        muhSkills thisSkill = muhSkills.Volley;
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];

        GameManager.instance.removeTileHighlights();
        List<Tile> TargetTiles = GameManager.instance.AccurateShotsHighlights(Caster.gridPosition,GameManager.instance.MousePosition,Skill.FromListOfSkills(thisSkill).SkillArea,Skill.FromListOfSkills(thisSkill).SkillMinRange,Skill.FromListOfSkills(SwitchThis).SkillMaxRange);
        if (Input.GetMouseButtonDown(0)){
            for (int i = 0;i<TargetTiles.Count;i++){
                foreach (TroopScript p in  GameManager.instance.players) {
                    if (p.gridPosition == TargetTiles[i].gridPosition && p.Faction != Caster.Faction)

                        NewFightScript.MeleeFightingScript (Caster,p,Skill.FromListOfSkills(thisSkill));
                    //animations and shit go here

                }}
            //animations and shit go here
            GameManager.instance.removeTileHighlights();
            Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
            if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                Caster.SetEnergy(0);
            SwitchThis = muhSkills.NoSkill;
            Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
            Caster.actionPoints--;
        }
    }
示例#18
0
 void SweepingFire()
 {
     muhSkills thisSkill = muhSkills.SummonTrash;
     TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
     List <Tile> TargetTiles = GameManager.instance.SweepingFire(Caster.gridPosition,Skill.FromListOfSkills(thisSkill).SkillMinRange,Skill.FromListOfSkills(SwitchThis).SkillMaxRange);
     if (Input.GetMouseButtonDown(0) && TargetTiles.Count >0){
         foreach (TroopScript p in GameManager.instance.players){
             if (p.Faction != Caster.Faction)
                 NewFightScript.MeleeFightingScript(Caster,p,Skill.FromListOfSkills(thisSkill));
         }
         Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
         if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
             Caster.SetEnergy(0);
         SwitchThis = muhSkills.NoSkill;
         Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
         Caster.actionPoints--;
     }
 }
示例#19
0
 public void WarriorAttackActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.WarriorAttack).EnergyCost)
         SwitchThis = muhSkills.WarriorAttack;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#20
0
 public void MikoStormEffect()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.MikoDanceQuick).EnergyCost)
     {TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
         muhSkills thisSkill = muhSkills.MikoStorm;
         NewFightScript.MikoStorm(Caster,GameManager.instance.players,Skill.FromListOfSkills(thisSkill).FullHPPercentDamage);
         GameManager.instance.removeTileHighlights();
         Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
         if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
             Caster.SetEnergy(0);
         SwitchThis = muhSkills.NoSkill;
         Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
         Caster.actionPoints--;
     }
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#21
0
 public void WhiteDestructionBeamActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.WhiteDestructionBeam).EnergyCost)
         SwitchThis = muhSkills.WhiteDestructionBeam;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#22
0
 public void MonkChargePlusActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.MonkChargePlus).EnergyCost)
         SwitchThis = muhSkills.MonkChargePlus;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#23
0
 public void AllyGuardPlusActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.AllyGuard).EnergyCost)
         SwitchThis = muhSkills.AllyGuard;
     else Debug.Log("NO ENERGY");
 }
示例#24
0
 public void PassTurn()
 {
     SwitchThis = muhSkills.NoSkill;
     GameManager.instance.removeTileHighlights();
     GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].SkillRecoveryTime = Skill.FromListOfSkills(muhSkills.NoSkill).SkillRecoveryTime;
     GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].actionPoints = 2;
     GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].moving = false;
     GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].attacking = false;
     GameManager.instance.nextTurn();
 }
示例#25
0
 public void CancelPreparation()
 {
     isPreparing = muhSkills.NoSkill;
 }
示例#26
0
 public void PenetrationShootActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.PenetrationShoot).EnergyCost)
         SwitchThis = muhSkills.PenetrationShoot;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }
示例#27
0
 public void SetPreparation(muhSkills prep)
 {
     isPreparing = prep;
 }
示例#28
0
    public void Phalanx()
    {
        muhSkills thisSkill = muhSkills.Phalanx;
        TroopScript Caster = GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex];
        if (Caster.GetEnergy()>= Skill.FromListOfSkills(thisSkill).EnergyCost)
        {

            Caster.SetPhalanx(true);
            GameManager.instance.removeTileHighlights();
            Caster.SetEnergy(Caster.GetEnergy()-Skill.FromListOfSkills(thisSkill).EnergyCost);
            if (Skill.FromListOfSkills(thisSkill).DepleteEnergy == true)
                Caster.SetEnergy(0);
            SwitchThis = muhSkills.NoSkill;
            Caster.SkillRecoveryTime = Skill.FromListOfSkills(thisSkill).SkillRecoveryTime;
            Caster.actionPoints--;}
        else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
    }
示例#29
0
    public static Skill FromListOfSkills(muhSkills skilleados)
    {
        Skill _skill = new Skill();
        switch (skilleados)
        {
        case muhSkills.AccurateShots: //skill that deals damage in an area, you can select the width of the area. also reduces enemy energy and cancels preparation.
        _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 25,
                DamageScaling = 5, //5 for 1 tile, 5/9 for a 3x3 area, etc..
                CancelsPreparation = true,
                ReducesEnergy = true,
                SkillMinRange = 2,
                SkillMaxRange = 7,
                SkillEvent = SkillHolder.instance.AccurateShots,
                CanCounter = false

            };
            break;
        case muhSkills.AdvanceTime: //advance time on the clock
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                SkillEvent = SkillHolder.instance.AdvanceTime

            };
            break;
        case muhSkills.AdvanceTime2:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                PrerequisiteSkill = muhSkills.AdvanceTime,
                SkillEvent = SkillHolder.instance.AdvanceTime2

            };
            break;
        case muhSkills.AimAndShoot: //take an extra turn to charge, then deal 1.5f damage penetrating with huge range time to sniperados
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 36,
                DamageScaling = 1.5f,
                Penetrating = true,
                SkillMaxRange = 12,
                RequiresPreparation = true,
                CanCounter= false,
                SkillEvent = SkillHolder.instance.AimAndShoot

            };
            break;
        case muhSkills.AllGuard: //guard-devotion around the caster. receives damage based on %. es. 80% guard means you take 80% of targets received dmg.
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                SkillMaxRange = 2,
                PrerequisiteSkill = muhSkills.AllyGuard,
                GuardScaling = 10,
                SkillEvent = SkillHolder.instance.AllGuard

            };
            break;
        case muhSkills.AllyGuard: //single target guard
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                GuardScaling = 20,
                SkillEvent = SkillHolder.instance.AllyGuard

            };
            break;
        case muhSkills.AllyGuardPlus:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                PrerequisiteSkill = muhSkills.AllyGuard,
                GuardScaling = 30,
                SkillEvent = SkillHolder.instance.AllyGuardPlus

            };
            break;
        case muhSkills.AnimalBite:
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = false,
                SkillRecoveryTime = 10,
                DamageScaling = 1.1f,
                SkillEvent = SkillHolder.instance.AccurateShots

            };
            break;
        case muhSkills.AnkleSnare: //if an unit stops in the position, stop it from moving. forever.
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                SkillEvent = SkillHolder.instance.AnkleSnare

            };
            break;
        case muhSkills.Assassinate: //1hko the enemy if your energy % is higher than his hp % and some other little modifications
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 20,
                SkillMaxRange=1,
                SkillEvent = SkillHolder.instance.Assassinate

            };
            break;
        case muhSkills.Bait: //basically provoke increase atk drop def to the enemy
            _skill = new Skill() {
                EnergyCost = 0,
                SkillRecoveryTime = 10,
                SkillEvent = SkillHolder.instance.AccurateShots

            };
            break;
        case muhSkills.BattlegroundPreparation: //increases the strenght of your attacks by 4% global if its too broken ill put it as aura
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 5,
                BattleEffect = 4,
                SkillEvent = SkillHolder.instance.BattleGroundPreparation

            };
            break;
        case muhSkills.BattleRatingDown: //makes the enemy look bad and lowers battle gauge
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                BattleGaugeEffect = -5,
                SkillEvent = SkillHolder.instance.BattleRatingDown

            };
            break;
        case muhSkills.BattleRatingDown2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                BattleGaugeEffect = -10,
                PrerequisiteSkill = muhSkills.BattleRatingDown,
                SkillEvent = SkillHolder.instance.BattleRatingDown2

            };
            break;
        case muhSkills.BattleStrategy: //buffs people. number of buffs based on people in the unit, buff strenght based on int. I NEED TO THINK HOW I WANT TO HANDLE BUFFS
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                TroopSizeBuffMultiplier = 1.5f,
                SkillEvent = SkillHolder.instance.BattleStrategy

            };
            break;
        case muhSkills.BattleStrategy2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                PrerequisiteSkill = muhSkills.BattleStrategy,
                TroopSizeBuffMultiplier = 2,
                SkillEvent = SkillHolder.instance.AccurateShots

            };
            break;
        case muhSkills.BattleStrategy3:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                PrerequisiteSkill = muhSkills.BattleStrategy2,
                TroopSizeBuffMultiplier = 2.5f,
                SkillEvent = SkillHolder.instance.AccurateShots

            };
            break;
        case muhSkills.BowAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1,
                SkillMaxRange = 6,
                SkillMinRange = 2,
                SkillEvent = SkillHolder.instance.BowAttack

            };
            break;
        case muhSkills.BowAttackMiko:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 0.8f,
                SkillMaxRange = 5,
                SkillMinRange = 2,
                SkillEvent = SkillHolder.instance.BowAttackMiko

            };
            break;
        case muhSkills.BowAttackPlus:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                DamageScaling = 1.1f,
                SkillMaxRange = 6,
                SkillMinRange = 2,
                PrerequisiteSkill = muhSkills.BowAttack,
                SkillEvent = SkillHolder.instance.BowAttackPlus

            };
            break;
        case muhSkills.CannonNormalAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 30,
                DamageScaling = 1,
                SkillMaxRange = 3,
                SkillEvent = SkillHolder.instance.CannonAttack

            };
            break;
        case muhSkills.CannonStrongAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 30,
                DamageScaling = 2,
                SkillEvent = SkillHolder.instance.CannonStrongAttack

            };
            break;
        case muhSkills.CarefulAttack: //normal attack but you cant counter attack
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 10,
                DamageScaling = 1,
                CanCounter = false,
                SkillEvent = SkillHolder.instance.CarefulAttack

            };
            break;
        case muhSkills.Carry: //maybe change to passive? can carry other people around
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                SkillEvent = SkillHolder.instance.Carry

            };
            break;
        case muhSkills.Drop: //maybe change to passive? can carry other people around
            _skill = new Skill() {
                EnergyCost = 0,
                SkillRecoveryTime = 10,
                SkillMaxRange = 1,
                SkillEvent = SkillHolder.instance.Drop

            };
            break;
        case muhSkills.CavalryCharge: //normal cavalry atk
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.CavalryCharge

            };
            break;
        case muhSkills.Charge:   //increase attack idk if i want to keep this
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 5

            };
            break;
        case muhSkills.CavalryCharge2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1.1f,
                PrerequisiteSkill = muhSkills.CavalryCharge,
                SkillEvent = SkillHolder.instance.CavalryCharge2

            };
            break;
        case muhSkills.ChinkChinkShuriken: //a shuriken with penetration
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 10,
                DamageScaling = 0.9f,
                Penetrating = true,
                CancelsPreparation = true,
                SkillMaxRange = 3,
                SkillEvent = SkillHolder.instance.ChinkChinkShuriken

            };
            break;
        case muhSkills.CleanUp: //finisher
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 30,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.CleanUp
                //TAKE CARE NEEDS TO DO EXTRA DAMAGE BASED ON THE DIFFERENCE in unit %

            };
            break;
        case muhSkills.ConvertAction: //gives 1 energy to someone else
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                SkillEvent = SkillHolder.instance.ConvertAction

            };
            break;
        case muhSkills.ConvertAction2: //2 energy
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                SkillEvent = SkillHolder.instance.ConvertAction2

            };
            break;
        case muhSkills.CounterRange: //you can activate it when atked, cavalry can counter attack rangeds by rushing to them. TOO BROKEN?
            _skill = new Skill() {

            };
            break;
        case muhSkills.CrossbowAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 40,
                DamageScaling = 2,
                RequiresPreparation = true,
                SkillMaxRange= 3,
                SkillEvent = SkillHolder.instance.CrossbowAttack

            };
            break;
        case muhSkills.CrossbowAttackPlus: //why did i even add this you aint gonna attack with tacticians why would you upgrade your crossbow attack
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 40,
                DamageScaling = 3,
                RequiresPreparation = true,
                SkillMaxRange = 3,
                SkillEvent = SkillHolder.instance.CrossbowAttackPlus

            };
            break;
        case muhSkills.Depoison:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                RemovesPoison = true,
                SkillEvent = SkillHolder.instance.Depoison

            };
            break;
        //		case muhSkills.EnchantWeapon: // deals bonus magic damage based on casters int
        //			_skill = new Skill() {
        //				EnergyCost = 1,
        //				SkillRecoveryTime = 20
        //
        //
        //
        //			};
        //			break;
        case muhSkills.FellowTroopsRevenge: //deal physical damage based on people ded in your unit
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
                DamageScaling = 2, //need a proper formula for this
                SkillEvent = SkillHolder.instance.FellowTroopRevenge

            };
            break;

        case muhSkills.FireBlast:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 30,
                DamageScaling = 1.2f,
                SkillMaxRange = 4,
                SkillEvent = SkillHolder.instance.FireBlast

            };
            break;
        case muhSkills.FollowThrough: //if you are winning in the battle gauge deal x3 as much damage
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
                DamageScaling = 1f, // NEED A PROPER FORMULA, if battle gauge scaling = 3,
                SkillEvent = SkillHolder.instance.FollowThrough

            };
            break;
        case muhSkills.FootSoldierAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.FootSoldierAttack

            };
            break;
        case muhSkills.FootSoldierAttack2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1.1f,
                PrerequisiteSkill = muhSkills.FootSoldierAttack,
                SkillEvent = SkillHolder.instance.FootSoldierAttack2

            };
            break;
        case muhSkills.FrostDiver: //skill that freezes the target. frozen targets are basically out of the game
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 25,
                DamageScaling = 0.3f,
                isPhysical = false,
                Freezes = true,
                SkillEvent = SkillHolder.instance.FrostDiver

            };
            break;
        case muhSkills.FullPowerCharge: //meh
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                DamageScaling = 2,
                SkillEvent = SkillHolder.instance.FullPowerCharge

            };
            break;
        case muhSkills.FullPowerCharge2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 2.5f,
                PrerequisiteSkill = muhSkills.FullPowerCharge,
                SkillEvent = SkillHolder.instance.FullPowerCharge2

            };
            break;
        case muhSkills.GambleCharge: //probably not gonna add this garbage
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                DamageScaling = Random.Range ( 0.5f,2.5f), //oop

            };
            break;
        case muhSkills.GambleChargeLove:
            _skill = new Skill() {
                EnergyCost = 2,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
                DamageScaling = Random.Range ( 1f,3f),
                PrerequisiteSkill = muhSkills.GambleCharge

            };
            break;
        case muhSkills.GuardBreak: //an attack that ignores part of targets defence, added to the calculate damage
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 0.8f,
                PiercesDefence = true,
                SkillEvent = SkillHolder.instance.GuardBreak

            };
            break;
        case muhSkills.GuardCancel: //an spell that removes devotion
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                CancelsGuard = true,
                SkillEvent = SkillHolder.instance.GuardCancel

            };
            break;
        case muhSkills.HalveEnergy: //anti fun burden of knowledge
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                HalvesEnergy = true,
                SkillEvent = SkillHolder.instance.HalveEnergy

            };
            break;
        case muhSkills.HealingMist: //global shitty healing
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                GlobalPlayer = true,
                SkillEvent = SkillHolder.instance.HealingMist

            };
            break;
        case muhSkills.Icewall: //prevents people from passing and maybe prevent projectiles to hit 1 cell after it?
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                SkillMaxRange = 4,
                SkillEvent = SkillHolder.instance.IceWall

            };
            break;
        case muhSkills.KnightAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.KnightAttack

            };
            break;
        case muhSkills.KnightAttack2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1.1f,
                PrerequisiteSkill = muhSkills.KnightAttack,
                SkillEvent = SkillHolder.instance.KnightAttack2

            };
            break;
        case muhSkills.KnightCharge:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                DamageScaling = 1.5f, //need formula, if opponent more units, scaling 3
                SkillEvent = SkillHolder.instance.KnightCharge

            };
            break;
        case muhSkills.LightAttack: //keep if i want to add capturing mechanics
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 20,
                DamageScaling = 0.2f, //meh capture n****s
                SkillEvent = SkillHolder.instance.LightAttack

            };
            break;
        case muhSkills.Lightning: //aoe damage all around caster dealing tons of damage probably only for 1 char
            _skill = new Skill() {
                EnergyCost = 2,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
        //				RequiresPreparation = true,
                isPhysical = false,
                DamageScaling = 5,
                SkillMaxRange = 3,
                CanCounter = false,
                SkillEvent = SkillHolder.instance.Lightning

            };
            break;
        case muhSkills.Loot: //deals damage and gives you money after the end of the battle if you win
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 0.8f,
                SkillEvent = SkillHolder.instance.Loot

            };
            break;
        case muhSkills.MagicGuard: //le ague de le gens banshee veil pretty much added in the hp setters for troopscripteados
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                SkillEvent = SkillHolder.instance.MagicGuard

            };
            break;
        case muhSkills.MagicGuardAround:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                SkillMaxRange = 2,
                PrerequisiteSkill = muhSkills.MagicGuard,
                SkillEvent = SkillHolder.instance.MagicGuardAround

            };
            break;
        case muhSkills.Maim: //gooble gobble
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                DamageScaling = 1.1f,
                //reduce movement to target
                SkillEvent = SkillHolder.instance.Maim

            };
            break;
        case muhSkills.Meditate: //heal 1 energy to self
            _skill = new Skill() {
                EnergyCost = -1,
                SkillRecoveryTime = 20,
                SkillEvent = SkillHolder.instance.Meditate

            };
            break;
        case muhSkills.Meditate2:
            _skill = new Skill() {
                EnergyCost = -1,
                SkillRecoveryTime = 10,
                PrerequisiteSkill = muhSkills.Meditate,
                SkillEvent = SkillHolder.instance.Meditate2

            };
            break;
        case muhSkills.MikoDance: //heal target but its kinda shit
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                HealScaling = 1,
                SkillMaxRange = 2,
                SkillEvent = SkillHolder.instance.MikoDance

            };
            break;
        case muhSkills.MikoDancePlus:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                HealScaling = 2,
                SkillMaxRange = 3,
                PrerequisiteSkill = muhSkills.MikoDance,
                SkillEvent = SkillHolder.instance.MikoDancePlus

            };
            break;
        case muhSkills.MikoDanceQuick:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 10,
                HealScaling = 2,
                SkillMaxRange = 2,
                PrerequisiteSkill = muhSkills.MikoDancePlus,
                SkillEvent = SkillHolder.instance.MikoDanceQuick
            };
            break;
        case muhSkills.MikoStorm: //global % true damage
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
                FullHPPercentDamage = 10,
                RequiresPreparation = true,
                GlobalEnemy = true,
                SkillEvent = SkillHolder.instance.MikoStorm

            };
            break;
        case muhSkills.MikoStorm2:
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 10,
                FullHPPercentDamage = 20,
                RequiresPreparation = true,
                GlobalEnemy = true,
                PrerequisiteSkill = muhSkills.MikoStorm,
                SkillEvent = SkillHolder.instance.MikoStorm2

            };
            break;
        case muhSkills.MonkCharge: //attacks and removes buffs to target.
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1,
                RemoveBuffs = true,
                SkillEvent = SkillHolder.instance.MonkCharge
            };
            break;
        case muhSkills.MonkChargePlus:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1.2f,
                RemoveBuffs = true,
                PrerequisiteSkill = muhSkills.MonkCharge,
                SkillEvent = SkillHolder.instance.MonkChargePlus

            };
            break;
        case muhSkills.MuhFlags: //increases battle rating added to battle rating in newfightscript
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                BattleEffect = 8,
                SkillEvent = SkillHolder.instance.MuhFlags

            };
            break;
        case muhSkills.MuhFlags2:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                BattleEffect = 15,
                PrerequisiteSkill = muhSkills.MuhFlags,
                SkillEvent = SkillHolder.instance.MuhFlags2

            };
            break;
        case muhSkills.NoSkill:
            _skill = new Skill() {
                SkillRecoveryTime = 10,

            };
            break;
        case muhSkills.OnRush:  //reduces energy and deals dmg
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 20,
                DamageScaling = 1.3f,
                ReducesEnergy = true,
                SkillEvent = SkillHolder.instance.OnRush

            };
            break;
        case muhSkills.Overtime: //increases turns left b4 battle ends
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                BattleTurns = 4,
                SkillEvent = SkillHolder.instance.Overtime

            };
            break;
        case muhSkills.Overtime2:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                BattleTurns = 6,
                PrerequisiteSkill = muhSkills.Overtime,
                SkillEvent = SkillHolder.instance.Overtime2

            };
            break;
        case muhSkills.PenetrationShoot: //ignores guard
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 0.5f,
                Penetrating = true,
                SkillMaxRange = 5,
                SkillMinRange = 2,
                SkillEvent = SkillHolder.instance.PenetrationShoot

            };
            break;
        case muhSkills.PenetrationShoot2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 0.7f,
                Penetrating = true,
                SkillMaxRange = 5,
                SkillMinRange = 2,
                PrerequisiteSkill = muhSkills.PenetrationShoot,
                SkillEvent = SkillHolder.instance.PenetrationShoot2

            };
            break;

        case muhSkills.Phalanx: //increase defence by 50%? reduced movement and cant enter tiles like forests, deserts, etc..
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                //zzz
                SkillEvent = SkillHolder.instance.Phalanx

            };
            break;
        case muhSkills.Poison: //after X turns 1hko target. if target moves, attacks,  counter attacks, etc. reduces amount of turns. maybe scale with int but idk
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 30,
                DamageScaling = 0.6f,
                AppliesPoison = true,
                SkillEvent = SkillHolder.instance.Poison
            };
            break;
        case muhSkills.QuickAttack: //low reco time
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 5,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.QuickAttack

            };
            break;
        case muhSkills.RearGuardCharge: //bonus dmg to ranged units
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 20,
                DamageScaling = 1.5f, //3 if vs rangeds
                SkillEvent = SkillHolder.instance.RearGuardCharge

            };
            break;
        case muhSkills.RemoveBuffs:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                SkillEvent = SkillHolder.instance.RemoveBuffs

            };
            break;
        case muhSkills.RemoveBuffsAround:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 25,
                SkillMaxRange = 2,
                PrerequisiteSkill = muhSkills.RemoveBuffs,
                SkillEvent = SkillHolder.instance.RemoveBuffsAround

            };
            break;
        case muhSkills.RemoveBuffsRanged:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 20,
                SkillMaxRange = 4,
                PrerequisiteSkill = muhSkills.RemoveBuffs,
                SkillEvent = SkillHolder.instance.RemoveBuffsRanged

            };
            break;
        case muhSkills.Sharpshoot: //added in the game manager class
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 25,
                DamageScaling = 1.4f, //add that if target hit, hit behind
                SkillMaxRange = 5,
                SkillMinRange = 2,
                SkillEvent = SkillHolder.instance.Sharpshoot

            };
            break;
        case muhSkills.Shikigami: //magic spell area idk what the puk is a shikigami google returns weebshit
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 25,
                DamageScaling = 2,
                isPhysical = false,
                RequiresPreparation = true,
                SkillMaxRange = 4,
                SkillArea = 2,
                SkillEvent = SkillHolder.instance.Shikigami

            };
            break;
        case muhSkills.Shikigami2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 25,
                DamageScaling = 2.5f,
                isPhysical = false,
                RequiresPreparation = true,
                SkillMaxRange = 5,
                PrerequisiteSkill = muhSkills.Shikigami,
                SkillArea = 3,
                SkillEvent = SkillHolder.instance.Shikigami2

            };
            break;
        case muhSkills.Shoot:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1,
                SkillMaxRange = 4	,
                SkillEvent = SkillHolder.instance.Shoot

            };
            break;
        case muhSkills.ShoutingCharge: //add battle rating based on damage
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 23,
                DamageScaling = 1.2f,
                AffectRating = true,
                SkillEvent = SkillHolder.instance.ShoutingCharge

            };
            break;
        case muhSkills.Shuriken: //normal ninja skill, cancels preparation
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                CancelsPreparation = true,
                DamageScaling = 0.7f,
                SkillMaxRange = 3,
                SkillEvent = SkillHolder.instance.Shuriken

            };
            break;
        case muhSkills.Shuriken2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                CancelsPreparation = true,
                DamageScaling = 1f,
                SkillMaxRange = 3,
                PrerequisiteSkill = muhSkills.Shuriken,
                SkillEvent = SkillHolder.instance.Shuriken2

            };
            break;
        case muhSkills.SideAttack: //prevents counter attack? maybe implement in the future
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 1.1f,
                CanCounter = false,

            };
            break;
        case muhSkills.SonicShuriken:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 1,
                DamageScaling = 1f,
                CancelsPreparation = true,
                SkillMaxRange = 3,
                SkillEvent = SkillHolder.instance.SonicShuriken

            };
            break;
        case muhSkills.StormGust: //frost diver aoe
            _skill = new Skill() {
                EnergyCost = 3,
                SkillRecoveryTime = 30,
                DamageScaling = 2.5f,
                SkillMaxRange = 6,
                SkillMinRange = 2,
                RequiresPreparation = true,
                isPhysical= false,
                Freezes = true				,
                SkillEvent = SkillHolder.instance.StormGust
            };
            break;
        case muhSkills.StrongBowAttack:
            _skill = new Skill() {
                EnergyCost = 3,
                SkillRecoveryTime = 25,
                DamageScaling = 2.5f,
                SkillMaxRange = 6,
                SkillMinRange = 2,
                SkillEvent = SkillHolder.instance.StrongBowAttack

            };
            break;
        case muhSkills.StrongFootAttack:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 15,
                DamageScaling = 2,
                SkillEvent = SkillHolder.instance.StrongFootAttack

            };
            break;
        case muhSkills.StrongFootAttack2:
            _skill = new Skill() {
                EnergyCost = 3,
                SkillRecoveryTime = 15,
                DamageScaling = 3,
                PrerequisiteSkill = muhSkills.StrongFootAttack,
                SkillEvent = SkillHolder.instance.StrongFootAttack2

            };
            break;
        case muhSkills.SummonTrash: //spawn a monster that attacks anyone, based on summoner int
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 40,
                RequiresPreparation = true,
                SkillMaxRange = 2,
                SkillEvent = SkillHolder.instance.SummonTrash

            };
            break;
        case muhSkills.SweepingFire: //damage in a line of 3 cells
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                DamageScaling = 0.9f,
                Penetrating = true,
                SkillMaxRange = 5,
                SkillMinRange = 1,
                SkillEvent = SkillHolder.instance.SweepingFire

            };
            break;
        case muhSkills.TenshiDivineTrash: //self heal
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 20,
                HealScaling = 4,
                SkillEvent = SkillHolder.instance.TenshiDivineTrash

            };
            break;
        case muhSkills.TenshiDivineTrash2:
            _skill = new Skill() {
                EnergyCost = 2,
                SkillRecoveryTime = 20,
                HealScaling = 8,
                PrerequisiteSkill = muhSkills.TenshiDivineTrash,
                SkillEvent = SkillHolder.instance.TenshiDivineTrash2

            };
            break;
        case muhSkills.Volley: //meh dmg huge area
            _skill = new Skill() {
                EnergyCost = 1,
                DepleteEnergy = true,
                SkillRecoveryTime = 20,
                DamageScaling = 0.5f,
                SkillArea = 4,//4x4 area
                SkillMaxRange = 7,
                SkillMinRange = 1,
                SkillEvent = SkillHolder.instance.Volley

            };
            break;
        case muhSkills.WarriorAttack:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1,
                SkillEvent = SkillHolder.instance.WarriorAttack

            };
            break;
        case muhSkills.WarriorAttack2:
            _skill = new Skill() {
                EnergyCost = 1,
                SkillRecoveryTime = 15,
                DamageScaling = 1.2f,
                PrerequisiteSkill = muhSkills.WarriorAttack,
                SkillEvent = SkillHolder.instance.WarriorAttack2

            };
            break;
        case muhSkills.WhiteDestructionBeam: //damage in a line till the end of the map
            _skill = new Skill() {
                EnergyCost = 3,
                DepleteEnergy = true,
                SkillRecoveryTime = 30,
                DamageScaling = 2,
                Penetrating = true ,
                SkillEvent = SkillHolder.instance.WhiteDestructionBeam

            };
            break;

        }
        return _skill;
    }
示例#30
0
 public void RemoveBuffsRangedActivate()
 {
     if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.RemoveBuffsRanged).EnergyCost)
         SwitchThis = muhSkills.RemoveBuffsRanged;
     else Debug.Log("NOT ENOUGHTTTTTT ENERGY");
 }