Exemplo n.º 1
0
        protected void PlayerDisbandedGroup(DOLEvent e, object sender, EventArgs args)
        {
            MemberDisbandedEventArgs pdargs = args as MemberDisbandedEventArgs;

            if (pdargs == null)
            {
                return;
            }
            m_affected.Remove(pdargs.Member);
            GameEventMgr.RemoveHandler(pdargs.Member, GamePlayerEvent.TakeDamage, new DOLEventHandler(TakeDamage));
            if (pdargs.Member is GamePlayer)
            {
                ((GamePlayer)pdargs.Member).Out.SendMessage("You are no longer protected by a pool of healing!", eChatType.CT_SpellExpires, eChatLoc.CL_SystemWindow);
                if (((GamePlayer)pdargs.Member).CharacterClass.ID == (int)eCharacterClass.Necromancer)
                {
                    if (((GamePlayer)pdargs.Member).ControlledBrain != null)
                    {
                        m_affected.Remove(((GamePlayer)pdargs.Member).ControlledBrain.Body);
                        GameEventMgr.RemoveHandler(((GamePlayer)pdargs.Member).ControlledBrain.Body, GameLivingEvent.TakeDamage, new DOLEventHandler(TakeDamageNPC));
                    }
                }
            }

            if (m_group == null)
            {
                Cancel(false);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Cancels guard if one of players disbands
        /// </summary>
        /// <param name="e"></param>
        /// <param name="sender">The group</param>
        /// <param name="args"></param>
        protected void GroupDisbandCallback(DOLEvent e, object sender, EventArgs args)
        {
            MemberDisbandedEventArgs eArgs = args as MemberDisbandedEventArgs;

            if (eArgs == null)
            {
                return;
            }
            if (eArgs.Member == GuardTarget || eArgs.Member == GuardSource)
            {
                Cancel(false);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Cancels effect if one of players disbands
        /// </summary>
        /// <param name="e"></param>
        /// <param name="sender">The group</param>
        /// <param name="args"></param>
        protected void GroupDisbandCallback(DOLEvent e, object sender, EventArgs args)
        {
            MemberDisbandedEventArgs eArgs = args as MemberDisbandedEventArgs;

            if (eArgs == null)
            {
                return;
            }
            if (eArgs.Member == EffectOwner)
            {
                Cancel(false);
            }
        }