public virtual void DoAbility(MetaTalismanSkillType skill, BaseCreature target, Mobile attacker) { if (MetaTalismanskills != null && MetaTalismanskills.ContainsKey(skill)) { //Console.WriteLine("doability test @ BaseMetaTalisman.cs : (" + target + ")"); BaseMetaTalismanSkill metatalismanskill = MetaTalismanskills[skill]; metatalismanskill.FindAbility(target, this, attacker); } }
public BaseMetaTalismanSkill(MetaTalismanSkillType skilltype, string name, int nle, int maxlevel, double chance, TimeSpan cooldown, double multi) { Level = 1; Name = name; MetaTalismanSkillType = skilltype; Experience = 0; NextLevelExperience = nle; MaxLevel = maxlevel; ChanceToActivate = chance; CoolDown = cooldown; AbilityMultiplier = multi; }
public static BaseMetaTalismanRelic GetRandomRelic() { BaseMetaTalismanRelic relic = null; Array values = Enum.GetValues(typeof(MetaTalismanSkillType)); Random random = new Random(); MetaTalismanSkillType RandomSkill = (MetaTalismanSkillType)values.GetValue(random.Next(values.Length)); switch (RandomSkill) { case MetaTalismanSkillType.DoubleStrike: { relic = new DoubleStrikeTalismanRelic(); break; } case MetaTalismanSkillType.InfectiousWounds: { relic = new InfectiousWoundsTalismanRelic(); break; } case MetaTalismanSkillType.PhaseShift: { relic = new PhaseShiftTalismanRelic(); break; } case MetaTalismanSkillType.Exsanguinate: { relic = new ExsanguinateTalismanRelic(); break; } } return(relic); }