public static Character CreateSpecificCharacter(CharacterData cd) { Character temp; switch (cd.characterProfession) { case Character.Profession.warrior: temp = new Warrior(); break; case Character.Profession.rogue: temp = new Rogue(); break; case Character.Profession.blackmage: temp = new BlackMage(); break; case Character.Profession.whitemage: temp = new WhiteMage(); break; default: temp = new Rogue(); break; } temp.Initialize(cd); return(temp); }
public void Test_WhiteMage() { WhiteMage whiteMage = new WhiteMage(); WhiteMage enemy = new WhiteMage(); enemy.CastCure(); enemy.CastCure(); Assert.True(whiteMage.W_Attack(enemy)); Assert.True(whiteMage.M_Attack(2, enemy)); Assert.True(whiteMage.M_Attack(3, enemy)); Assert.True(whiteMage.M_Attack(4, enemy)); }
public void Test_BlackMage() { BlackMage blackMage = new BlackMage(); WhiteMage enemy = new WhiteMage(); enemy.CastCure(); enemy.CastCure(); Assert.True(blackMage.W_Attack(enemy)); Assert.True(blackMage.M_Attack(2, enemy)); Assert.True(blackMage.M_Attack(3, enemy)); Assert.True(blackMage.M_Attack(4, enemy)); }
public void Test_RedMage() { RedMage redMage = new RedMage(); WhiteMage enemy = new WhiteMage(); enemy.CastCure(); enemy.CastCure(); Assert.True(redMage.W_Attack(enemy)); Assert.True(redMage.M_Attack(2, enemy)); Assert.True(redMage.M_Attack(3, enemy)); Assert.True(redMage.M_Attack(4, enemy)); Assert.True(redMage.M_Attack(5, enemy)); Assert.True(redMage.M_Attack(6, enemy)); Assert.True(redMage.M_Attack(7, enemy)); }
public void LoadJobClass() { switch (fface.Player.MainJob) { case Job.THF: job = new Thief(fface, Content.Voidwatch); break; case Job.PLD: job = new Paladin(fface, Content.Voidwatch); break; case Job.BLU: job = new BlueMage(fface, Content.Voidwatch); break; case Job.WHM: job = new WhiteMage(fface, Content.Voidwatch); break; case Job.GEO: job = new Geomancer(fface, Content.Voidwatch); break; case Job.BRD: job = new Bard(fface, Content.Voidwatch); break; case Job.RNG: job = new Ranger(fface, Content.Voidwatch); break; case Job.RUN: job = new RuneFencer(fface, Content.Voidwatch); break; case Job.BLM: job = new BlackMage(fface, Content.Voidwatch); break; case Job.RDM: job = new RedMage(fface, Content.Voidwatch); break; } }
public static async Task <bool> TrackSpellCast() { // Manage SpellCastHistory entries if (SpellCastHistory.Count > 20) { SpellCastHistory.Remove(SpellCastHistory.Last()); if (BaseSettings.Instance.DebugSpellCastHistory) { Application.Current.Dispatcher.Invoke(delegate { Debug.Instance.SpellCastHistory = new List <SpellCastHistoryItem>(SpellCastHistory); }); } } // If we're not casting we can return false to keep going down the tree if (!Core.Me.IsCasting) { return(false); } // The possibility here is that we're teleporting (casting) // So if the timer isn't running, it means Magitek didn't cast it, and the cast shouldn't be monitored if (!CastingTime.IsRunning) { return(false); } await GambitLogic.ToastGambits(); #region Debug and Target Checks if (BaseSettings.Instance.DebugPlayerCasting) { Debug.Instance.CastingTime = CastingTime.ElapsedMilliseconds.ToString(); } #endregion #region Interrupt Casting Checks if (CastingGambit) { return(true); } if (!SpellTarget.IsTargetable) { await CancelCast("Target is no Longer Targetable"); } if (!SpellTarget.IsValid) { await CancelCast("Target is no Longer Valid"); } if (await GambitLogic.InterruptCast()) { await CancelCast(); return(true); } // ReSharper disable once SwitchStatementMissingSomeCases switch (RotationManager.CurrentRotation) { case ClassJobType.BlueMage: { if (BlueMage.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Scholar: { if (Scholar.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Arcanist: { if (Scholar.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.WhiteMage: { if (WhiteMage.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Conjurer: { if (WhiteMage.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Astrologian: { if (Astrologian.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Summoner: { if (Summoner.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.BlackMage: { if (BlackMage.NeedToInterruptCast()) { await CancelCast(); } break; } case ClassJobType.Sage: { if (Sage.NeedToInterruptCast()) { await CancelCast(); } break; } } #endregion return(true); }
public static void FillHeroes() { HeroesOfPlayer = new Hero.Hero[3]; HeroesOfPlayer[0] = new Fighter(200, 100, 20); HeroesOfPlayer[1] = new BlackMage(150, 10, 20, 400, 100); HeroesOfPlayer[2] = new WhiteMage(150, 10, 20, 400, 100); }