/* * static void CreateCharacter() * { * bool isValid = false; * string input; * string name = "placeholder"; * * Console.WriteLine("Creating new character."); * * Character newCharacter = new Character(); * * while (!isValid) * { * Console.WriteLine("Enter character name."); * input = Console.ReadLine(); * * //TODO: check party list dictionary and make sure name doesn't conflict with an existing member * if (input.Length < 2) * { * input = "Sir Douchebag"; * } * * name = input; * * isValid = true; * } * * isValid = false; * * while (!isValid) * { * Console.Write("Enter character class. (Current options:"); * foreach (string job in PlayerClass.classNames) * { * Console.Write(" [{0}]", job); * } * Console.Write(")"); * Console.Write(Environment.NewLine); * * input = Console.ReadLine().ToLower(); * * switch (input) * { * case "warrior": * { * PlayerClass_Old.Warrior tempChar = new PlayerClass_Old.Warrior(); * newCharacter = (Character)tempChar; * isValid = true; * break; * } * case "berserker": * { * PlayerClass_Old.Berserker tempChar = new PlayerClass_Old.Berserker(); * newCharacter = (Character)tempChar; * isValid = true; * break; * } * case "mage": * { * PlayerClass_Old.Mage tempChar = new PlayerClass_Old.Mage(); * //TODO: Delete or modifiy this if ever expanded beyond testing purposes * tempChar.magic.elemental = MagicList.elemental; * newCharacter = (Character)tempChar; * isValid = true; * break; * } * default: * { * Console.WriteLine("Invalid command."); * break; * } * } * } * * newCharacter.name = name; * newCharacter.hp = newCharacter.hpmax; * newCharacter.mp = newCharacter.mpmax; * Party.AddMember(newCharacter); * } */ #endregion static void BattleTest() { if (Party.memberList.Count == 0) { Console.WriteLine("Make a party first (command \"party\")"); } else { //enemy builder Goblin2 preGoblin = new Goblin2(); preGoblin.AdjustStats(); Creature goblin = (Creature)preGoblin; goblin.id = "goblin1"; preGoblin.AdjustStats(); Creature goblin2 = (Creature)preGoblin; goblin2.id = "goblin2"; Creature[] mobArray = { goblin, goblin2 }; //char array setup because I can't be arsed to change code in several other areas Character[] charArray = new Character[Party.memberList.Count]; Party.memberList.Values.CopyTo(charArray, 0); Battle battle = new Battle(); battle.Start(charArray, mobArray); } }
static void StatTests() { Character hero = new Character(); Console.WriteLine("Input character name."); hero.name = Console.ReadLine(); if (hero.name.Length < 2) { hero.name = "Sir Douchebag"; } else if (hero.name.ToLower() == "exit") { hero.name = "irrelevant. Good bye."; exit = true; } Console.WriteLine("Your name is {0}.", hero.name); Console.WriteLine("Creature test:"); //original: //Goblin.AdjustStats(); //ICreature goblin = new Creature(Goblin.name, 1, Goblin.level, Goblin.hpmax, Goblin.mpmax, Goblin.atk, Goblin.def, Goblin.speed); //Console.WriteLine("Name: {0} Level: {1} ID: {2} Max HP: {3} Current HP: {4} Max MP: {5} Current MP: {6} ATK: {7} DEF: {8} SPD: {9}", goblin.name, goblin.level, goblin.id, goblin.hpmax, goblin.hp, goblin.mpmax, goblin.mp, goblin.atk, goblin.def, goblin.speed); //Goblin2 goblin2 = new Goblin2(); //goblin2.AdjustStats(); //Creature gob2 = (Creature)goblin2; //with explicit casting: Goblin2 preGoblin = new Goblin2(); preGoblin.AdjustStats(); Creature goblin = (Creature)preGoblin; goblin.id = "placeholderID"; Console.WriteLine("Name: {0} Level: {1} ID: {2} Max HP: {3} Current HP: {4} Max MP: {5} Current MP: {6} ATK: {7} DEF: {8} SPD: {9}", goblin.name, goblin.level, goblin.id, goblin.vitals.hpmax, goblin.vitals.hp, goblin.vitals.mpmax, goblin.vitals.mp, goblin.vitals.atk, goblin.vitals.def, goblin.vitals.speed); Battle testBattle = new Battle(); //testBattle.RollInitiative(hero, goblin); }
static void MagicTest() { //Build mage, build enemy, implement Magic //mage builder //Character newCharacter = new Character(); //PlayerClass_Old.Mage tempChar = new PlayerClass_Old.Mage(); //newCharacter = (Character)tempChar; //newCharacter.name = "Mage"; //newCharacter.hp = newCharacter.hpmax; //newCharacter.mp = newCharacter.mpmax; Character newCharacter = new Character(); newCharacter.name = "Mage"; newCharacter.playerClass = PlayerClass.Mage; newCharacter.InitializeVitals(); //newCharacter.magic.elemental.Add(MagicList.elemental["fire"].name, MagicList.elemental["fire"]); newCharacter.magic.elemental.Add("fire", MagicList.elemental["fire"]); Party.AddMember(newCharacter); //enemy builder Goblin2 preGoblin = new Goblin2(); preGoblin.AdjustStats(); Creature goblin = (Creature)preGoblin; goblin.id = "placeholderID"; //Pre-cast Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", goblin.name, goblin.vitals.hp, goblin.vitals.hpmax, goblin.vitals.mp, goblin.vitals.mpmax); Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", newCharacter.name, newCharacter.vitals.hp, newCharacter.vitals.hpmax, newCharacter.vitals.mp, newCharacter.vitals.mpmax); //cast //Console.WriteLine("{0} casts {1}.", newCharacter.name, MagicList.elemental["fire"].name); Console.WriteLine("{0} casts {1}.", newCharacter.name, newCharacter.magic.elemental["fire"].name); Creature[] creaArr; //creaArr = MagicList.elemental["fire"].Cast((Creature)newCharacter, goblin); creaArr = newCharacter.magic.elemental["fire"].Cast((Creature)newCharacter, goblin); newCharacter.vitals.mp = creaArr[0].vitals.mp; goblin = creaArr[1]; //post-cast Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", goblin.name, goblin.vitals.hp, goblin.vitals.hpmax, goblin.vitals.mp, goblin.vitals.mpmax); Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", newCharacter.name, newCharacter.vitals.hp, newCharacter.vitals.hpmax, newCharacter.vitals.mp, newCharacter.vitals.mpmax); //that... actually works? Party.RemoveAll(); #region nope ////post-cast //Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", goblin.name, goblin.hp, goblin.hpmax, goblin.mp, goblin.mpmax); //Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", newCharacter.name, newCharacter.hp, newCharacter.hpmax, newCharacter.mp, newCharacter.mpmax); ////with testdict: //Console.WriteLine("{0} casts {1}.", newCharacter.name, MagicList.test["test"].name); //creaArr = MagicList.test["test"].Cast((Creature)newCharacter, goblin); //newCharacter.mp = creaArr[0].mp; //goblin = creaArr[1]; ////post-cast //Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", goblin.name, goblin.hp, goblin.hpmax, goblin.mp, goblin.mpmax); //Console.WriteLine("{0}: HP {1}/{2} MP {3}/{4}", newCharacter.name, newCharacter.hp, newCharacter.hpmax, newCharacter.mp, newCharacter.mpmax); #endregion }