Beispiel #1
0
		/// <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));
			}
		}
Beispiel #2
0
        /// <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());
        }
Beispiel #3
0
        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));
            }
        }