Ejemplo n.º 1
0
        public override void OnTeamMemberRemoved(PvPTeam team, PlayerMobile pm)
        {
            base.OnTeamMemberRemoved(team, pm);

            if (IncognitoMode)
            {
                pm.SetHairMods(-1, -1);

                pm.BodyMod = 0;
                pm.HueMod = -1;
                pm.NameMod = null;
                pm.EndAction(typeof(IncognitoSpell));

                BaseArmor.ValidateMobile(pm);
                BaseClothing.ValidateMobile(pm);
            }

            if (ThrowableMode)
            {
                if (_Axes != null && _Axes.ContainsKey(pm))
                {
                    ThrowableAxe axe = _Axes[pm];
                    if (axe != null)
                    {
                        _Axes.Remove(pm);
                        axe.Delete();
                    }
                }
            }

            PvPTemplates.FetchProfile(pm).ClearDelta();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Fully refreshes the targetted player.
        /// Prevents any type of pre-casting or other advantages.
        /// </summary>
        /// <param name="targ"> The target to be refreshed</param>
        public static void RefreshPlayer( PlayerMobile targ )
        {
            try
            {
                if (!targ.Alive)
                {
                    Mobile m = (Mobile)targ;
                    m.Resurrect();
                }

                targ.Mana = targ.ManaMax;
                targ.Hits = targ.HitsMax;
                targ.Stam = targ.StamMax;
                targ.Poison = null;

                targ.Say("*Refreshed!*");
                targ.Say("*Debuffed!*");
                if (targ.Target != null)
                    targ.Say("I have pre-casted...");

                Server.Targeting.Target.Cancel(targ);

                if (targ.MeleeDamageAbsorb > 0)
                {
                    targ.MeleeDamageAbsorb = 0;
                    targ.EndAction(typeof(RechargeSpell));
                    targ.SendMessage("Reactive armor has been nullified.");
                }

                if (targ.MagicDamageAbsorb > 0)
                {
                    targ.MagicDamageAbsorb = 0;
                    targ.SendMessage("Magic Reflection has been nullified.");
                }

                StatMod mod;
                mod = targ.GetStatMod("[Magic] Str Offset");
                if (mod != null)
                    targ.RemoveStatMod("[Magic] Str Offset");

                mod = targ.GetStatMod("[Magic] Dex Offset");
                if (mod != null)
                    targ.RemoveStatMod("[Magic] Dex Offset");

                mod = targ.GetStatMod("[Magic] Int Offset");
                if (mod != null)
                    targ.RemoveStatMod("[Magic] Int Offset");

                targ.Paralyzed = false;

                BuffInfo.RemoveBuff(targ, BuffIcon.Clumsy);
                BuffInfo.RemoveBuff(targ, BuffIcon.FeebleMind);
                BuffInfo.RemoveBuff(targ, BuffIcon.Weaken);
                BuffInfo.RemoveBuff(targ, BuffIcon.MassCurse);
                BuffInfo.RemoveBuff(targ, BuffIcon.Agility);
                BuffInfo.RemoveBuff(targ, BuffIcon.Cunning);
                BuffInfo.RemoveBuff(targ, BuffIcon.Strength);
                BuffInfo.RemoveBuff(targ, BuffIcon.Bless);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error : " + e.Message);
                Console.WriteLine("Location : refresh() in Manager.cs");
            }
        }
Ejemplo n.º 3
0
        protected override void OnEjected(PlayerMobile pm)
        {
            if (IncognitoMode)
            {
                pm.SetHairMods(-1, -1);

                pm.BodyMod = 0;
                pm.HueMod = -1;
                pm.NameMod = null;
                pm.EndAction(typeof(IncognitoSpell));

                BaseArmor.ValidateMobile(pm);
                BaseClothing.ValidateMobile(pm);
            }

            base.OnEjected(pm);
        }