private void Ability0(Toon OtherToon) { Ability[0] = new Move(); Ability[0].Resource = "Energy"; Ability[0].Name = "Kick in the Groin"; Ability[0].Description = "The most basic of Energy atacks. You run up \nto your opponent as if you are going to \npunch them, and when they go to defend \nand you quickly kick him or her in the \ngroin"; Ability[0].Duration = 1; Ability[0].CoolDown = 0; Ability[0].Damage = 25; Ability[0].Cost = 7; Ability[0].Effect = OtherToon.Name + " kneels over in pain...cheap shot \nman...uncool"; }
private void Ability0(Toon OtherToon) { Ability[0] = new Move(); Ability[0].Name = "Mana Blast"; Ability[0].Resource = "Mana"; Ability[0].Description = "The most basic of Mana atacks. You focus \nthe Mana in your body into your hands \nto give it a physical form, at which point \nyou launch it at your enemy."; Ability[0].Duration = 1; Ability[0].CoolDown = 0; Ability[0].Damage = 25; Ability[0].Cost = 50; Ability[0].Effect = "The blast went straight through " + OtherToon.Name + "! \nImpressive!"; }
private void Ability2(Toon OtherToon) { Ability[2] = new Move(); Ability[2].Name = "Air Dive"; Ability[2].Resource = "Energy"; Ability[2].Description = "You grab your opponent and jump \nin the air diving onto the \nground, releasing in the last \nmoment to minimize your \ndamage. Although both you and your \nopponent are hurt, your \nopponent recieves twice as \nmuch damage."; Ability[2].Duration = 1; Ability[2].CoolDown = 5; Ability[2].Damage = 0; Ability[2].BeenActive = 5; Ability[2].Cost = 25; Ability[2].Effect = "Both you and " + OtherToon.Name + " go down in pain!"; }
private void Ability0(Toon OtherToon) { Ability[0] = new Move(); Ability[0].Name = "Strike"; Ability[0].Resource = "Rage"; Ability[0].Description = "The most basic of Strength atacks. You \nfocus the Rage in your body into your hands \nmaking them strong like Iron, and strike \nyour enemy down"; Ability[0].Duration = 1; Ability[0].CoolDown = 0; Ability[0].BeenActive = 2; Ability[0].Damage = 26; Ability[0].Cost = 15; Ability[0].Effect = OtherToon.Name + " got hit hard...ouch!"; }
private void Ability2(Toon OtherToon) { Ability[2] = new Move(); Ability[2].Name = "Soul Link"; Ability[2].Resource = "Mana"; Ability[2].Description = "You place a soul link \nbetween you and your opponent and \ncommit self-harm for a \nrandom amount of damage, causing damage \nto yourself but 2 times \nthe damage to your \nopponent."; Ability[2].Duration = 1; Ability[2].CoolDown = 5; Ability[2].Damage = 0; Ability[2].BeenActive = 5; Ability[2].Cost = 75; Ability[2].Effect = "Both you and " + OtherToon.Name + " go down in pain!"; }
private void Ability2(Toon OtherToon) { Ability[2] = new Move(); Ability[2].Name = "Head Butt"; Ability[2].Resource = "Rage"; Ability[2].Description = "You Head Butt your \nopponent hurting yourself, \nbut sending over twice \nas much damage."; Ability[2].Duration = 1; Ability[2].CoolDown = 5; Ability[2].Damage = 0; Ability[2].BeenActive = 5; Ability[2].Cost = 20; Ability[2].Effect = "Both you and " + OtherToon.Name + " go down in pain!"; }
private void Ability0() { Ability[0] = new Move(); Ability[0].Name = "None"; Ability[0].Description = "You took a chance on Luck and it failed you. \nMaybe you should rely more on skill? \nCause this move will not be helping you \nAT ALL. Click on it. I dare you. \nSee what happens. (It'll be nothing)"; Ability[0].Duration = 1; Ability[0].CoolDown = 0; Ability[0].BeenActive = 2; Ability[0].Damage = 0; Ability[0].Cost = 0; Ability[0].Resource = "None"; Ability[0].Effect = "Nothing Happened. What'd you expect?"; }
private void Ability1() { Ability[1] = new Move(); Ability[1].Name = "Heal"; Ability[1].Description = "Heal yourself for a random amount \nbetween 5-15% of your Health!"; Ability[1].Duration = 1; Ability[1].CoolDown = 6; Ability[1].BeenActive = 2; Ability[1].Damage = 0; Ability[1].Cost = 0; Ability[1].Resource = "None"; Ability[1].Effect = ""; }
private void Ability2() { Ability[2] = new Move(); Ability[2].Name = "Coin Flip"; Ability[2].Description = "You flip a magical coin which will either \ndeal damage equal to 10* your \nhighest attribute to your opponent, \nor half of that to yourself. \nGood Luck!"; Ability[2].Duration = 1; Ability[2].CoolDown = 1; Ability[2].BeenActive = 2; Ability[2].Damage = 0; Ability[2].Cost = 0; Ability[2].Resource = "None"; Ability[2].Effect = ""; }
private void Ability3() { Ability[3] = new Move(); Ability[3].Name = "Regen"; Ability[3].Description = "Regenerates 15-30% of the \nresource connected to one \nnon-zero attribute \nat random"; Ability[3].Duration = 1; Ability[3].CoolDown = 6; Ability[3].BeenActive = 2; Ability[3].Damage = 0; Ability[3].Cost = 0; Ability[3].Resource = "None"; Ability[3].Effect = ""; }
private void Ability1(Extras extra) { Ability[1] = new Move(); Ability[1].Resource = "Energy"; Ability[1].Name = "Rain Of Arrows"; Ability[1].Description = "You shoot 4 arrows into the \nair which will come down one at a time and \nhit over the next 4 turns."; Ability[1].Duration = 4; Ability[1].BeenActive = 5; Ability[1].CoolDown = 0; Ability[1].Damage = 15; Ability[1].Cost = 38; Ability[1].Effect = "Four arrows have been launched into \nthe air"; Ability[1].BuffIcon = extra.RainOfArrowsPic; }
private void Ability1(Extras extra) { Ability[1] = new Move(); Ability[1].Name = "Curse of Witches"; Ability[1].Resource = "Mana"; Ability[1].Description = "You cast a curse upon your opponent \nwhich will inflict damage every turn for \nthe next 3 turns."; Ability[1].Duration = 4; Ability[1].CoolDown = 0; Ability[1].Damage = 15; Ability[1].BeenActive = 5; Ability[1].Cost = 150; Ability[1].Effect = "The curse has been cast!"; Ability[1].BuffIcon = extra.CurseofWhitchesPic; }
private void Ability1(Toon OtherToon,Extras extra) { Ability[1] = new Move(); Ability[1].Name = "Concussion"; Ability[1].Resource = "Rage"; Ability[1].Description = "A severe Strike to the head will \ngive " + OtherToon.Name + " head trauma and \nwill cause damage over the next 4 turns"; Ability[1].Duration = 4; Ability[1].CoolDown = 0; Ability[1].BeenActive = 5; Ability[1].Damage = 15; Ability[1].Cost = 25; Ability[1].Effect = OtherToon.Name + " is bleeding internally"; Ability[1].BuffIcon = extra.ConcussionPic; }
private void Ability3(Extras extra, Toon ActiveToon) { Ability[3] = new Move(); Ability[3].Resource = "Energy"; Ability[3].Name = "Stealth"; Ability[3].Description = "You walk into the shadows, \nbecoming untargetable \nfor the next 3 turns."; Ability[3].Duration = 3; Ability[3].BeenActive = 5; Ability[3].CoolDown = 7; Ability[3].Damage = 0; Ability[3].Cost = 85; Ability[3].Effect = ActiveToon.Name + " has walked into the shadows."; Ability[3].BuffIcon = extra.StealthPic; }
private void Ability3(Toon OtherToon, Toon ActiveToon, Extras extra) { Ability[3] = new Move(); Ability[3].Name = "Abyssal Expedition"; Ability[3].Resource = "Mana"; Ability[3].Description = "You send your opponent into \nan abyss for 2 turns in which \nhe cant attack and attains damage \nequal to 60% of \n the Mana cost"; Ability[3].Duration = 2; Ability[3].CoolDown = 7; Ability[3].Damage = 0; Ability[3].BeenActive = 5; Ability[3].Cost = (int)(ActiveToon.MaxMana * 0.9); if (Ability[3].Cost < 290) Ability[3].Cost = 290; Ability[3].Effect = "You have sent " + OtherToon.Name + " into the Abyss"; Ability[3].DamageType = 1; Ability[3].BuffIcon = extra.AbyssPic; }
public void Buffs(Toon OtherToon, out double Damage, ref double damage, Move SelectedMove) { Damage = damage; if (PowerShout == true) { Damage = Damage * 3; } if (ChinkFound == true) { OtherToon.Defense = OtherToon.MaxDef / 2; } else { OtherToon.Defense = OtherToon.MaxDef; } }
public void InitializeMoves(Toon OtherToon,Extras extra, Toon ActiveToon) { Ability0(OtherToon); Ability1(extra); Ability2(OtherToon); Ability3(extra, ActiveToon); Ability[4] = new Move(); Ability[4].Resource = "Energy"; Ability[4].Name = "Exploit Chink"; Ability[4].Description = "You find a chink in your opponents armor \nallowing you to bypass 50% of \ndefenses for 2 turns"; Ability[4].Duration = 3; Ability[4].BeenActive = 5; Ability[4].CoolDown = 5; Ability[4].Damage = 0; Ability[4].Cost = 60; Ability[4].Effect = ActiveToon.Name + " found a chink \nin " + OtherToon.Name + "'s armor!"; Ability[4].BuffIcon = extra.ChinkPic; }
public void InitializeMoves(Toon OtherToon, Toon ActiveToon,Extras extra) { Ability0(OtherToon); Ability1(OtherToon,extra); Ability2(OtherToon); Ability[3] = new Move(); Ability[3].Name = "Shout Of Power"; Ability[3].Resource = "Rage"; Ability[3].Description = "You let out a terrible shout \nwhich multiplies all of \nyour damage by 3 for 2 turns"; Ability[3].Duration = 3; Ability[3].CoolDown = 5; Ability[3].Damage = 0; Ability[3].BeenActive = 5; Ability[3].Cost = (int)(ActiveToon.MaxRage * .9); if (Ability[3].Cost < 110) Ability[3].Cost = 110; Ability[3].Effect = "Both you and " + OtherToon.Name + " go down in pain!"; Ability[3].BuffIcon = extra.SOPBuffPic; }
private void AssignAbility(Move toonMove, Move ability) { toonMove.BeenActive = ability.BeenActive; toonMove.CoolDown = ability.CoolDown; toonMove.Cost = ability.Cost; toonMove.Damage = ability.Damage; toonMove.Description = ability.Description; toonMove.Duration = ability.Duration; toonMove.Effect = ability.Effect; toonMove.Name = ability.Name; toonMove.Resource = ability.Resource; toonMove.BuffIcon = ability.BuffIcon; }
//Deals with what happens after a move has been selected... calls upon ResourceCheck, DamageCalcCode(),Toon.MoveCost(), private void MoveSelected(Toon ActiveToon, Toon OtherToon, int OnMove, Extras extra) { if (ActiveToon.CD[OnMove] == 0) { ResourceCheck(ActiveToon, OnMove); if (HaveResource == true) { SelectedMove = ActiveToon.Ability[OnMove]; ActiveToon.Ability[OnMove].BeenActive = 0; DamageCalcCode(ActiveToon, OtherToon); ActiveToon.MoveCost(SelectedMove, OnMove); firstTimeThrough = true; HaveResource = false; State = FightState.Attack; if (OtherToon.HP <= 0) // Game Ended { State = FightState.InitiliazeMoves; extra.State = Extras.GameState.EndScreen; } } } }
//Controls the InfoState which controls what is displayed on the RightSide of the screen...also calls upon MoveSelected() private void MoveSelection( MouseState mouse, MouseState oldmouse, Point mousepoint, Toon ChosenOne, Toon OpponentToon, Extras extra) { switch (OnToon) { case 0: ChosenOne.KeepGoingCheck(OpponentToon); if (ChosenOne.KeepGoing == true) { HumanInterfaceMoveSelection(mouse, oldmouse, mousepoint, ChosenOne, OpponentToon, extra); } else { State = FightState.Special; ChosenOne.KeepGoing = true; } break; case 1: OpponentToon.KeepGoingCheck( ChosenOne); if (OpponentToon.KeepGoing == true) { int OnMove = rand.Next(0, 4); SelectedMove = OpponentToon.Ability[OnMove]; MoveSelected(OpponentToon, ChosenOne, OnMove, extra); } else { State = FightState.Special; OpponentToon.KeepGoing = false; } break; } }
public void MoveCost(Move SelectedMove, int MoveIndex) { switch (SelectedMove.Resource) { case "Mana": Mana -= SelectedMove.Cost; break; case "Rage": Rage -= SelectedMove.Cost; break; case "Energy": Energy -= SelectedMove.Cost; break; } CD[MoveIndex] = SelectedMove.CoolDown; }
private void DamageAddition(Move SelectedMove, out double Damage, ref double damage, int OnAbility, int[] MoveDamage, Toon OtherToon) { Damage = damage; if (Ability[OnAbility].BeenActive < Ability[OnAbility].Duration) { int Effectiveness = rand.Next(50, 101); switch (Ability[OnAbility].Resource) { case "Mana": boost = (SelectedMove.Damage / (21 - Intellect)) * Effectiveness / 100; Damage += (int)(Ability[OnAbility].Damage + boost); Ability[OnAbility].BeenActive++; ExtraGoodies(OnAbility, OtherToon); Damage += boost; MoveDamage[OnAbility] = (int)(Ability[OnAbility].Damage + boost); break; case "Rage": boost = (Ability[OnAbility].Damage / (21 - Strength)) * Effectiveness / 100; Damage += Ability[OnAbility].Damage + boost; Ability[OnAbility].BeenActive++; ExtraGoodies(OnAbility, OtherToon); Damage += boost; MoveDamage[OnAbility] = (int)(Ability[OnAbility].Damage + boost); break; case "Energy": boost = (Ability[OnAbility].Damage / (21 - Agility)) * Effectiveness / 100; Damage += Ability[OnAbility].Damage + boost; Ability[OnAbility].BeenActive++; ExtraGoodies(OnAbility, OtherToon); Damage += boost; MoveDamage[OnAbility] = (int)(Ability[OnAbility].Damage + boost); break; case "None": ExtraGoodies(OnAbility, OtherToon); Ability[OnAbility].BeenActive++; Damage += boost; MoveDamage[OnAbility] = (int)(Ability[OnAbility].Damage + boost); break; } } }
public void DamageSent(Move SelectedMove, out double Damage, int[] MoveDamage, Toon OtherToon) { Damage = 0; for (int i = 0; i < 4; i++) { boost = 0; DamageAddition(SelectedMove, out Damage, ref Damage, i, MoveDamage, OtherToon); } }
private void MoveChoice(Toon Main, Toon Other, IntMoves ManaMoves, StrMoves RageMoves, AgMoves EnergyMoves, LuckMoves luckMoves, Extras extra) { ManaMoves.InitializeMoves(Other, Main,extra); RageMoves.InitializeMoves(Other, Main,extra); EnergyMoves.InitializeMoves(Other,extra, Main); luckMoves.InitializeMoves(Other); Move ability = new Move(); for (int i = 0; i < 4; i++) { Main.Ability[i] = new Move(); bool Assign = true; if (Main.moveClass[i] == "Mana") { ability = ManaMoves.Ability[rand.Next(0, ManaMoves.NumOfMoves)]; for (int k = 0; k < i; k++) { Assign = true; if (Main.Ability[k].Name == ability.Name) { i--; Assign = false; break; } } if (Assign == true) AssignAbility(Main.Ability[i], ability); } if (Main.moveClass[i] == "Energy") { ability = EnergyMoves.Ability[rand.Next(0, EnergyMoves.NumOfMoves)]; for (int k = 0; k < i; k++) { Assign = true; if (Main.Ability[k].Name == ability.Name) { i--; Assign = false; break; } } if (Assign == true) AssignAbility(Main.Ability[i], ability); } if (Main.moveClass[i] == "Rage") { ability = RageMoves.Ability[rand.Next(0, RageMoves.NumOfMoves)]; for (int k = 0; k < i; k++) { Assign = true; if (Main.Ability[k].Name == ability.Name) { i--; Assign = false; break; } } if (Assign == true) AssignAbility(Main.Ability[i], ability); } if (Main.moveClass[i] == "Luck") { ability = luckMoves.Ability[rand.Next(0, luckMoves.NumOfMoves)]; for (int k = 0; k < i; k++) { Assign = true; if (Main.Ability[k].Name == ability.Name) { i--; Assign = false; break; } } if (Assign == true) AssignAbility(Main.Ability[i], ability); } } }