internal static Move[] GetMoveset(UserAccount avatar) { List <Move> moves = new List <Move> { new Attack(), new Defend() }; string[] moveNames = GetClass(avatar).Movepool; foreach (string s in moveNames) { Move m = PsynergyDatabase.GetPsynergy(s); moves.Add(m); } var classSeries = AdeptClassSeriesManager.GetClassSeries(avatar); var gear = avatar.Inv.GetGear(classSeries.Archtype); if (gear.HasItem(ItemCategory.Weapon)) { moves.Where(m => m is Attack).First().emote = gear.GetItem(ItemCategory.Weapon).Icon; } if (gear.HasItem(ItemCategory.ArmWear)) { moves.Where(m => m is Defend).First().emote = gear.GetItem(ItemCategory.ArmWear).Icon; } return(moves.ToArray()); }
public static void TakeDjinn(UserAccount user, params string[] Names) { var userDjinn = user.DjinnPocket; var userclass = AdeptClassSeriesManager.GetClassSeries(user); var chosenDjinn = Names .Select(n => userDjinn.GetDjinn(n)) .OfElement(userclass.Elements) .Take(DjinnPocket.MaxDjinn) .ToList(); chosenDjinn.ForEach(d => { userDjinn.djinn.Remove(d); userDjinn.djinn = userDjinn.djinn.Prepend(d).ToList(); userDjinn.DjinnSetup = userDjinn.DjinnSetup.Prepend(d.Element).ToList(); }); userDjinn.DjinnSetup = userDjinn.DjinnSetup.Take(2).ToList(); }
internal static ElementalStats GetElStats(UserAccount User) { var classSeries = AdeptClassSeriesManager.GetClassSeries(User); var els = GetClassSeries(User).Elstats; switch (User.Element) { case Psynergy.Element.Venus: els += new ElementalStats() { VenusAtk = 10, VenusRes = 15, MarsAtk = 5, MarsRes = 5, JupiterAtk = -10, JupiterRes = -15 }; break; case Psynergy.Element.Mars: els += new ElementalStats() { VenusAtk = 5, VenusRes = 5, MarsAtk = 10, MarsRes = 15, MercuryAtk = -10, MercuryRes = -15 }; break; case Psynergy.Element.Jupiter: els += new ElementalStats() { VenusAtk = -10, VenusRes = -15, JupiterAtk = 10, JupiterRes = 15, MercuryAtk = 5, MercuryRes = 5 }; break; case Psynergy.Element.Mercury: els += new ElementalStats() { MarsAtk = -10, MarsRes = -15, JupiterAtk = 5, JupiterRes = 5, MercuryAtk = 10, MercuryRes = 15 }; break; } var gear = User.Inv.GetGear(classSeries.Archtype); gear.ForEach(g => { els += g.AddElStatsOnEquip; }); return(els); }