/// <summary> /// Delve for this RA /// </summary> /// <param name="w"></param> public virtual void AddDelve(ref MiniDelveWriter w) { w.AddKeyValuePair("Name", Name); if (Icon > 0) w.AddKeyValuePair("icon", Icon); for (int i = 0; i <= MaxLevel - 1; i++) { if (CostForUpgrade(i) > 0) w.AddKeyValuePair(string.Format("TrainingCost_{0}", (i + 1)), CostForUpgrade(i)); } }
/// <summary> /// Return the given Delve Writer with added keyvalue pairs. /// </summary> /// <param name="dw"></param> /// <param name="id"></param> public virtual void TooltipDelve(ref MiniDelveWriter dw, int id) { if (dw == null) return; dw.AddKeyValuePair("Function", "light"); // Function of type "light" allows custom description to show with no hardcoded text. Temporary Fix - tolakram //.Value("Function", spellHandler.FunctionName ?? "0") dw.AddKeyValuePair("Index", unchecked((short)id)); dw.AddKeyValuePair("Name", Spell.Name); if (Spell.CastTime > 2000) dw.AddKeyValuePair("cast_timer", Spell.CastTime - 2000); //minus 2 seconds (why mythic?) else if (!Spell.IsInstantCast) dw.AddKeyValuePair("cast_timer", 0); //minus 2 seconds (why mythic?) if (Spell.IsInstantCast) dw.AddKeyValuePair("instant","1"); //.Value("damage", spellHandler.GetDelveValueDamage, spellHandler.GetDelveValueDamage != 0) if ((int)Spell.DamageType > 0) dw.AddKeyValuePair("damage_type", (int) Spell.DamageType + 1); // Damagetype not the same as dol //.Value("type1", spellHandler.GetDelveValueType1, spellHandler.GetDelveValueType1 > 0) if (Spell.Level > 0) dw.AddKeyValuePair("level", Spell.Level); if (Spell.CostPower) dw.AddKeyValuePair("power_cost", Spell.Power); //.Value("round_cost",spellHandler.GetDelveValueRoundCost,spellHandler.GetDelveValueRoundCost!=0) //.Value("power_level", spellHandler.GetDelveValuePowerLevel,spellHandler.GetDelveValuePowerLevel!=0) if (Spell.Range > 0) dw.AddKeyValuePair("range", Spell.Range); if (Spell.Duration > 0) dw.AddKeyValuePair("duration", Spell.Duration/1000); //seconds if (GetDurationType() > 0) dw.AddKeyValuePair("dur_type", GetDurationType()); //.Value("parm",spellHandler.GetDelveValueParm,spellHandler.GetDelveValueParm>0) if (Spell.HasRecastDelay) dw.AddKeyValuePair("timer_value", Spell.RecastDelay/1000); //.Value("bonus", spellHandler.GetDelveValueBonus, spellHandler.GetDelveValueBonus > 0) //.Value("no_combat"," ",Util.Chance(50))//TODO //.Value("link",14000) //.Value("ability",4) // ?? //.Value("use_timer",4) if (GetSpellTargetType() > 0) dw.AddKeyValuePair("target", GetSpellTargetType()); //.Value("frequency", spellHandler.GetDelveValueFrequency, spellHandler.GetDelveValueFrequency != 0) if (!string.IsNullOrEmpty(Spell.Description)) dw.AddKeyValuePair("description_string", Spell.Description); if (Spell.IsAoE) dw.AddKeyValuePair("radius", Spell.Radius); if (Spell.IsConcentration) dw.AddKeyValuePair("concentration_points", Spell.Concentration); //.Value("num_targets", spellHandler.GetDelveValueNumTargets, spellHandler.GetDelveValueNumTargets>0) //.Value("no_interrupt", spell.Interruptable ? (char)0 : (char)1) //Buggy? //log.Info(dw.ToString()); }
public override void AddDelve(ref MiniDelveWriter w) { base.AddDelve(ref w); for (int i = 1; i <= MaxLevel; i++) { w.AddKeyValuePair(string.Format("ReuseTimer_{0}", i), GetReUseDelay(i)); } }