public override ClientDelve GetClientDelve() { if (spellHandler == null) { return(NotFoundClientDelve); } var clientDelve = new ClientDelve(DelveType); clientDelve.Index = Index; clientDelve.AddElement("effect", Index); clientDelve.AddElement("Name", Spell.Name); return(clientDelve); }
public override ClientDelve GetClientDelve() { var delve = new ClientDelve(DelveType); delve.AddElement("Index", Index); if (skill != null) { delve.AddElement("Name", skill.Name); } else { delve.AddElement("Name", "(not found)"); } return(delve); }
public override ClientDelve GetClientDelve() { var delve = new ClientDelve(DelveType); delve.AddElement("Index", Index); if (skill is RealmAbility realmAbility) { delve.AddElement("Name", realmAbility.Name); if (skill.Icon > 0) { delve.AddElement("icon", realmAbility.Icon); } for (int i = 0; i <= realmAbility.MaxLevel - 1; i++) { delve.AddElement($"TrainingCost_{i + 1}", realmAbility.CostForUpgrade(i)); } if (skill is RAStatEnhancer statEnhancer) { for (int i = 1; i <= realmAbility.MaxLevel; i++) { var statIncrease = statEnhancer.GetAmountForLevel(i) - statEnhancer.GetAmountForLevel(i - 1); delve.AddElement($"AmountLvl_{i}", statIncrease); } } if (skill is TimedRealmAbility timedRealmAbility) { for (int i = 1; i <= timedRealmAbility.MaxLevel; i++) { delve.AddElement(string.Format("ReuseTimer_{0}", i), timedRealmAbility.GetReUseDelay(i)); } } } else if (skill != null) { delve.AddElement("Name", skill.Name); } else { delve.AddElement("Name", "(not found)"); } return(delve); }
public override ClientDelve GetClientDelve() { if (spellHandler == null) { return(NotFoundClientDelve); } var clientDelve = new ClientDelve("Spell"); clientDelve.AddElement("Function", "light"); clientDelve.Index = Index; clientDelve.AddElement("Name", Spell.Name); if (CastTime >= 2000) { clientDelve.AddElement("cast_timer", CastTime - 2000); } if (CastTime == 0) { clientDelve.AddElement("instant", "1"); } clientDelve.AddElement("damage_type", GetMagicTypeID()); clientDelve.AddElement("level", Spell.Level); clientDelve.AddElement("power_cost", Spell.Power); clientDelve.AddElement("cost_type", GetCostTypeID()); clientDelve.AddElement("range", Spell.Range); clientDelve.AddElement("duration", Spell.Duration / 1000); clientDelve.AddElement("dur_type", GetDurationType()); clientDelve.AddElement("timer_value", Spell.RecastDelay / 1000); clientDelve.AddElement("target", GetSpellTargetType()); clientDelve.AddElement("radius", Spell.Radius); clientDelve.AddElement("concentration_points", Spell.Concentration); clientDelve.AddElement("frequency", Spell.Frequency); clientDelve.AddElement("delve_string", spellHandler.ShortDescription); return(clientDelve); }
public override ClientDelve GetClientDelve() { if (style == null) { return(NotFoundClientDelve); } var styles = clt.Player.GetSpecList().SelectMany(e => e.PretendStylesForLiving(clt.Player, clt.Player.MaxLevel)); var clientDelve = new ClientDelve("Style"); clientDelve.Index = Index; if (style.OpeningRequirementType == Style.eOpening.Offensive && style.AttackResultRequirement == Style.eAttackResultRequirement.Style) { Style st = styles.Where(s => s.ID == style.OpeningRequirementValue).FirstOrDefault(); if (st != null) { clientDelve.AddElement("OpeningStyle", st.Name); } } var followupStyles = styles .Where(s => (s.OpeningRequirementType == Style.eOpening.Offensive && s.AttackResultRequirement == Style.eAttackResultRequirement.Style && s.OpeningRequirementValue == style.ID)) .Select(s => s.Name); clientDelve.AddElement("FollowupStyle", followupStyles); clientDelve.AddElement("Name", style.Name); clientDelve.AddElement("Icon", style.Icon); clientDelve.AddElement("Level", style.Level); clientDelve.AddElement("Fatigue", style.EnduranceCost); clientDelve.AddElement("DefensiveMod", style.BonusToDefense); clientDelve.AddElement("AttackMod", style.BonusToHit); clientDelve.AddElement("OpeningDamage", LevelZeroDamage + style.Level * DamageIncreasePerLevel); clientDelve.AddElement("LevelBonus", DamageIncreasePerLevel); clientDelve.AddElement("OpeningType", (int)style.OpeningRequirementType); if (style.OpeningRequirementType == Style.eOpening.Positional) { clientDelve.AddElement("OpeningNumber", style.OpeningRequirementValue); } if (style.WeaponTypeRequirement > 0) { clientDelve.AddElement("Weapon", style.GetRequiredWeaponName()); } clientDelve.AddElement("OpeningResult", (int)style.AttackResultRequirement); clientDelve.AddElement("Hidden", style.StealthRequirement); foreach (var proc in style.Procs) { if (proc.Item2 == 0 || proc.Item2 == style.ClassID) { clientDelve.AddElement("SpecialNumber", proc.Item1.InternalID); clientDelve.AddElement("SpecialType", "1"); } } return(clientDelve); }