public static void Main()
Console.WriteLine("This is a simple text based game.");
Console.WriteLine("Mechanics:");
Console.WriteLine(" 1. You can simply win just by making the enemy's status health to zero or below. You lose if yours goes zero or below.");
Console.WriteLine(" 2. Mana returns back every move, in random values. You'll also need mana to perform various abilities");
Console.WriteLine(" 3. To decrease and do stuff, press U and perform abilities ");
Console.WriteLine(" 4. The enemy can also do abilities, they also have rare abilities like your Bomb");
Console.WriteLine(" 5. For every ten moves, almost all of your stats increases by 5");
Console.WriteLine(" 6. For whatever reason, the enemy can rarely double cast and can often wait as well...");
Console.WriteLine(" Press any key to continues...");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(" Warning! Any mispellings will result to crash/freezing/dead ends! You have been warned!");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Please type your avatar's name:");
string name = Console.ReadLine();
Console.WriteLine("Do you wish to battle with an opponent, " + name + "?");
int enemyhealth = new Random().Next(1000);
int enemymana = new Random().Next(250);
Console.Write("Enemy Status | Health: ");
Console.Write(enemyhealth);
Console.Write(" | Mana: ");
Console.Write(enemymana);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write(" | Poisoned");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write(" | Frozen");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("You won!");
playerpoison = playerpoison - 1;
health = health - playerpoison;
enemypoison = enemypoison - 1;
enemyhealth = enemyhealth - enemypoison;
mana = mana + new Random().Next(5);
enemymana = enemymana + new Random().Next(5);
actionsdone = actionsdone + 1;
enemyattack = new Random().Next(150);
Console.ForegroundColor = ConsoleColor.Red;
if (enemyattack >= 10 && enemypoison >= 1 && enemymana >= 10)
Console.WriteLine("Enemy has casted Cure | Cures the poison status");
enemymana = enemymana - 10;
enemyattack = new Random().Next(150);
if (enemyattack <= 20 && enemyattack >= 11 && enemymana >= 25)
Console.WriteLine("Enemy has casted Poison | Deals damage overtime also it stacks");
playerpoison = playerpoison + 5 + stats;
enemymana = enemymana - 10;
if (enemyattack <= 70 && enemyattack >= 21)
Console.WriteLine("Enemy has casted Slash | Now thats a lot of damage");
health = health - (10 + stats);
if (enemyattack <= 85 && enemyattack >= 71 && enemymana >= 25)
Console.WriteLine("Enemy has casted Absorb Health | Absorbs health in exchange for mana");
health = health - (10 + stats);
enemyhealth = enemyhealth + 10 + stats;
enemymana = enemymana - 25;
if (enemyattack <= 86 && enemyattack >= 100 && enemyhealth >= 10)
Console.WriteLine("Enemy has casted Absorb Mana | Absorbs mana in exchange for health");
mana = mana - (10 + stats);
enemymana = enemymana + 10 + stats;
enemyhealth = enemyhealth - 10;
if (enemyattack <= 101 && enemyattack >= 120 && enemymana >= 35)
Console.WriteLine("Enemy has casted Reflect Shield | Any damage dealt is returned");
enemyshield = enemyhealth;
if (enemyattack <= 121 && enemyattack >= 150)
Console.WriteLine("Enemy has casted Bite | Deals more damage but increases player's mana");
health = health - (20 + stats);
Console.ForegroundColor = ConsoleColor.White;
health = health - (enemyshield - enemyhealth);
enemyhealth = enemyshield;
mana = mana + (playershield - health);
enemyturn = enemyturn - 1;
Console.Write("Player Status | Health: ");
Console.Write(" | Mana: ");
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write(" | Poisoned");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("You lost!");
Console.WriteLine("Use Ability (U) | Wait (W)");
Console.Write("Perform Action:");
action = Console.ReadLine();
if (action == "U" || action == "Use Ability")
Console.WriteLine("Type R to return");
Console.WriteLine("Available Abilities:");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Heal | Mana Cost: 25 | Heals "+(25+stats)+"points of health");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Cure | Mana Cost: 10 | Removes the poison status");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Poison | Mana Cost: 30 | Deals "+(5+stats)+" damage that decreases by 1 over time");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Slash | Mana Cost: 0 | Deal "+(10+stats)+" damage");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Bomb | Mana Cost: 25 | Deal " + (25 + stats) + "damage to the opponent but receive " + (10 + stats) + " damage");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Shield | Mana Cost: 30 | Converts damage received into mana");
Console.ForegroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Freeze | Mana Cost: 40 | Prevents the enemy from having 2 turns");
Console.ForegroundColor = ConsoleColor.White;
string checkability = Console.ReadLine();
if (checkability == "Heal")
health = health + 25 + stats;
if (checkability == "Cure")
if (checkability == "Poison")
enemypoison = enemypoison + 10 + stats;
if (checkability == "Slash")
enemyhealth = enemyhealth - (10+stats);
if (checkability == "Bomb")
health = health - (10 + stats);
enemyhealth = enemyhealth - (25 + stats);
if (checkability == "Shield")
if (checkability == "Freeze")
enemyturn = enemyturn + 2;
if (action == "W" || action == "Wait")