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"); }
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"); }
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"); }
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"); }
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--; }
public void RemoveSkillToList(muhSkills _skill) { SkillsPossessed.Remove(_skill); }
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); }
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; } }
public void AddSkillToList(muhSkills _skill) { SkillsPossessed.Add(_skill); }
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"); }
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--; }}} } }
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"); }
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--; }
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--; } }
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"); }
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--; }}}} }
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--; } }
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--; } }
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"); }
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"); }
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"); }
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"); }
public void AllyGuardPlusActivate() { if (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetEnergy()>= Skill.FromListOfSkills(muhSkills.AllyGuard).EnergyCost) SwitchThis = muhSkills.AllyGuard; else Debug.Log("NO ENERGY"); }
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(); }
public void CancelPreparation() { isPreparing = muhSkills.NoSkill; }
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"); }
public void SetPreparation(muhSkills prep) { isPreparing = prep; }
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"); }
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; }
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"); }