예제 #1
0
        public virtual void Suppress()
        {
            if (Utility.RandomDouble() < 0.75)
            {
                Combatant.SendLocalizedMessage(1072061);                   // You hear jarring music, suppressing your strength.
                Combatant.PlaySound(0x58B);

                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Cooking, true, Combatant.Skills.Cooking.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Fishing, true, Combatant.Skills.Fishing.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Tactics, true, Combatant.Skills.Tactics.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Swords, true, Combatant.Skills.Swords.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Mining, true, Combatant.Skills.Mining.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Focus, true, Combatant.Skills.Focus.Base * Modifier, ModifierDuration));
                Combatant.AddSkillMod(new TimedSkillMod(SkillName.Chivalry, true, Combatant.Skills.Chivalry.Base * Modifier, ModifierDuration));

                m_Table[Combatant] = true;

                Timer.DelayCall(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), (int)ModifierDuration.TotalSeconds, new TimerStateCallback(Animate), Combatant);
                Timer.DelayCall(TimeSpan.FromMinutes(1), new TimerStateCallback(Timeout), Combatant);
            }
            else
            {
                Combatant.SendLocalizedMessage(1072063);                   // You hear angry music that fails to incite you to fight.
                Combatant.PlaySound(0x58C);
            }
        }