示例#1
0
 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);
     }
 }
示例#2
0
 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);
        }