public void TestMagicUnit() { List <MagicSpell> ListMagicSpell = new List <MagicSpell>(); UnitMagic ActiveUser = new UnitMagic("Dummy Magic", ListMagicSpell); MagicSpell ActiveSpell = new MagicSpell(ActiveUser, ActiveUser); MagicUserParams Params = new MagicUserParams(ActiveSpell.GlobalContext); ProjectileContext GlobalContext = new ProjectileContext(); ProjectileParams MagicProjectileParams = new ProjectileParams(GlobalContext); GlobalContext.OwnerSandbox = Sandbox; MagicSpell FireballSpell = new MagicSpell(ActiveUser); ListMagicSpell.Add(FireballSpell); MagicCoreFireball FireballCore1 = new MagicCoreFireball(Params, MagicProjectileParams); FireballCore1.ListLinkedMagicElement.Add(new ChannelExternalManaSource(Params)); FireballCore1.ListLinkedMagicElement.Add(new TriggerAfterTimeEllapsed(Params, 5)); FireballSpell.ListMagicCore.Add(FireballCore1); ActiveUser.Init(); Assert.AreEqual(1, ActiveUser.ListAttack.Count); }
public Unit CreateDummyUnit() { Character DummyCharacter = new Character(); DummyCharacter.Name = "Dummy Pilot"; DummyCharacter.Level = 1; DummyCharacter.ArrayLevelMEL = new int[1] { 100 }; DummyCharacter.ArrayLevelRNG = new int[1] { 100 }; DummyCharacter.ArrayLevelDEF = new int[1] { 100 }; DummyCharacter.ArrayLevelSKL = new int[1] { 100 }; DummyCharacter.ArrayLevelEVA = new int[1] { 100 }; DummyCharacter.ArrayLevelHIT = new int[1] { 200 }; DummyCharacter.ArrayLevelMaxSP = new int[1] { 50 }; DummyCharacter.Init(); List <MagicSpell> ListMagicSpell = new List <MagicSpell>(); UnitMagic DummyUnit = new UnitMagic(ListMagicSpell); ListMagicSpell.Add(CreateFireball(DummyUnit, DummyUnit.MagicProjectileParams)); DummyUnit.FullName = "Dummy Unit"; DummyUnit.MaxHP = 10000; DummyUnit.MaxEN = 200; DummyUnit.Armor = 100; DummyUnit.Mobility = 50; DummyUnit.MaxMovement = 5; Attack DummyAttack = new Attack("Dummy Attack", string.Empty, 0, "10000", 0, 5, WeaponPrimaryProperty.None, WeaponSecondaryProperty.PostMovement, 10, 0, 6, 1, 100, "Laser", new Dictionary <string, char>() { { "Air", 'S' }, { "Land", 'S' }, { "Sea", 'S' }, { "Space", 'S' } }); DummyUnit.ArrayCharacterActive = new Character[1] { DummyCharacter }; DummyUnit.ListAttack.Add(DummyAttack); DummyUnit.AttackIndex = 0; DummyUnit.UnitStat.DicTerrainValue.Add("Air", 1); DummyUnit.UnitStat.DicTerrainValue.Add("Land", 1); DummyUnit.UnitStat.DicTerrainValue.Add("Sea", 1); DummyUnit.UnitStat.DicTerrainValue.Add("Space", 1); return(DummyUnit); }
private void LoadUnit(string UnitPath) { string Name = UnitPath.Substring(0, UnitPath.Length - 4).Substring(20); UnitMagic NewUnit = new UnitMagic(Name, null, DicUnitType, DicRequirement, DicEffect, DicAutomaticSkillTarget); txtOriginalUnit.Text = NewUnit.OriginalUnitName; for (int S = 0; S < NewUnit.ListMagicSpell.Count; ++S) { lstSpells.Items.Add(NewUnit.ListMagicSpell[S].Name); } }
public void TestMagicSanbox() { List <MagicSpell> ListMagicSpell = new List <MagicSpell>(); UnitMagic ActiveUser = new UnitMagic("Dummy Magic", ListMagicSpell); Character DummyCharacter = new Character(); DummyCharacter.Name = "Dummy Pilot"; DummyCharacter.Level = 1; DummyCharacter.ArrayLevelMEL = new int[1] { 100 }; DummyCharacter.ArrayLevelRNG = new int[1] { 100 }; DummyCharacter.ArrayLevelDEF = new int[1] { 100 }; DummyCharacter.ArrayLevelSKL = new int[1] { 100 }; DummyCharacter.ArrayLevelEVA = new int[1] { 100 }; DummyCharacter.ArrayLevelHIT = new int[1] { 200 }; DummyCharacter.ArrayLevelMaxSP = new int[1] { 50 }; ActiveUser.ArrayCharacterActive = new Character[1] { DummyCharacter }; ActiveUser.ChanneledMana = 1000; MagicSpell ActiveSpell = new MagicSpell(ActiveUser, ActiveUser); MagicUserParams MagicParams = new MagicUserParams(ActiveSpell.GlobalContext); ProjectileContext GlobalContext = new ProjectileContext(); ProjectileParams MagicProjectileParams = new ProjectileParams(GlobalContext); GlobalContext.OwnerSandbox = Sandbox; MagicSpell FireballSpell = new MagicSpell(ActiveUser); ListMagicSpell.Add(FireballSpell); MagicCoreFireball FireballCore1 = new MagicCoreFireball(MagicParams, MagicProjectileParams); FireballSpell.ListMagicCore.Add(FireballCore1); ActiveUser.Init(); FireballSpell.ComputeSpell()[0].AddSkillEffectsToTarget(""); Assert.AreEqual(1, Sandbox.ListProjectile.Count); }
private MagicSpell CreateFireball(UnitMagic ActiveUser, ProjectileParams MagicProjectileParams) { MagicSpell ActiveSpell = new MagicSpell(ActiveUser, ActiveUser); MagicUserParams Params = new MagicUserParams(ActiveSpell.GlobalContext); MagicCoreFireball FireballCore1 = (MagicCoreFireball) new MagicCoreFireball(Params, MagicProjectileParams).Copy(); FireballCore1.ListLinkedMagicElement.Add(new ChannelExternalManaSource(Params).Copy()); ActiveSpell.ListMagicCore.Add(FireballCore1); return(ActiveSpell); }
public void TestMagicSanboxSimulation() { List <MagicSpell> ListMagicSpell = new List <MagicSpell>(); UnitMagic ActiveUser = new UnitMagic("Dummy Magic", ListMagicSpell); Character DummyCharacter = new Character(); DummyCharacter.Name = "Dummy Pilot"; DummyCharacter.Level = 1; DummyCharacter.ArrayLevelMEL = new int[1] { 100 }; DummyCharacter.ArrayLevelRNG = new int[1] { 100 }; DummyCharacter.ArrayLevelDEF = new int[1] { 100 }; DummyCharacter.ArrayLevelSKL = new int[1] { 100 }; DummyCharacter.ArrayLevelEVA = new int[1] { 100 }; DummyCharacter.ArrayLevelHIT = new int[1] { 200 }; DummyCharacter.ArrayLevelMaxSP = new int[1] { 50 }; ActiveUser.ArrayCharacterActive = new Character[1] { DummyCharacter }; ActiveUser.ChanneledMana = 1000; MagicSpell ActiveSpell = new MagicSpell(ActiveUser, ActiveUser); MagicUserParams Params = new MagicUserParams(ActiveSpell.GlobalContext); ProjectileContext GlobalContext = new ProjectileContext(); ProjectileParams MagicProjectileParams = new ProjectileParams(GlobalContext); GlobalContext.OwnerSandbox = Sandbox; ListMagicSpell.Add(ActiveSpell); MagicCoreFireball FireballCore1 = new MagicCoreFireball(Params, MagicProjectileParams); FireballCore1.ListLinkedMagicElement.Add(new ChannelExternalManaSource(Params)); FireballCore1.ListLinkedMagicElement.Add(new TriggerAfterTimeEllapsed(Params, 5)); MagicCoreFireball FireballCore2 = new MagicCoreFireball(Params, MagicProjectileParams); FireballCore2.ListLinkedMagicElement.Add(new ChannelInternalManaSource(Params)); FireballCore2.ListLinkedMagicElement.Add(new TriggerAfterTimeEllapsed(Params, 5)); MagicCoreFireball FireballCore3 = new MagicCoreFireball(Params, MagicProjectileParams); FireballCore3.ListLinkedMagicElement.Add(new ChannelInternalManaSource(Params)); FireballCore3.ListLinkedMagicElement.Add(new TriggerAfterTimeEllapsed(Params, 5)); FireballCore1.ListLinkedMagicElement.Add(FireballCore2); FireballCore1.ListLinkedMagicElement.Add(FireballCore3); ActiveSpell.ListMagicCore.Add(FireballCore1); ActiveUser.Init(); List <Core.Item.BaseAutomaticSkill> ListAttackAttribute = ListMagicSpell[0].ComputeSpell(); CreateFireballEffect FireballEffect = (CreateFireballEffect)ListAttackAttribute[0].CurrentSkillLevel.ListActivation[1].ListEffect[0]; FireballEffect.ChanneledMana = 2000; Constants.TotalGameTime = 10; Sandbox.SimulateAttack(ListAttackAttribute); Assert.AreEqual(10, Constants.TotalGameTime); Assert.AreEqual(15, Sandbox.TotalDamage); }