Пример #1
0
        /// <summary>
        /// 小火圈攻击
        /// </summary>
        /// <param name="nPower"></param>
        /// <param name="nX"></param>
        /// <param name="nY"></param>
        /// <param name="nRage"></param>
        /// <returns></returns>
        private bool MagBigExplosion(int nPower, int nX, int nY, int nRage)
        {
            bool result;
            List <TBaseObject> BaseObjectList;
            TBaseObject        TargeTBaseObject;
            TFireBurnEvent     FireBurnEvent;

            result         = false;
            BaseObjectList = new List <TBaseObject>();
            try
            {
                FireBurnEvent = new TFireBurnEvent(this, nX, nY, Grobal2.ET_FIREDRAGON, 4000, 0);// 客户端显示小火圈效果
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
                this.GetMapBaseObjects(this.m_PEnvir, nX, nY, nRage, BaseObjectList);
                if (BaseObjectList.Count > 0)
                {
                    for (int I = 0; I < BaseObjectList.Count; I++)
                    {
                        TargeTBaseObject = BaseObjectList[I];
                        if (TargeTBaseObject != null)
                        {
                            if (TargeTBaseObject.m_boDeath || (TargeTBaseObject.m_boGhost))
                            {
                                continue;
                            }
                            if (this.IsProperTarget(TargeTBaseObject))
                            {
                                this.SetTargetCreat(TargeTBaseObject);
                                TargeTBaseObject.SendMsg(this, Grobal2.RM_MAGSTRUCK, 0, nPower, 0, 0, "");
                                result = true;
                            }
                        }
                    }
                }
            }
            finally
            {
                Dispose(BaseObjectList);
            }
            return(result);
        }
Пример #2
0
        // 火墙 4*4
        private int MagMakeFireCross(TBaseObject PlayObject, int nDamage, int nHTime, int nX, int nY)
        {
            int            result = 0;
            TFireBurnEvent FireBurnEvent;

            if (PlayObject.m_PEnvir.GetEvent(nX, nY) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX, nY - 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY - 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX, nY - 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY - 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX, nY + 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY + 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX, nY + 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY + 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 1, nY) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 1, nY, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 1, nY - 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 1, nY - 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 1, nY - 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 1, nY - 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 1, nY + 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 1, nY + 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 1, nY + 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 1, nY + 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 2, nY) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 2, nY, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 2, nY - 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 2, nY - 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX - 2, nY + 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX - 2, nY + 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 1, nY) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 1, nY, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 1, nY - 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 1, nY - 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 1, nY - 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 1, nY - 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 1, nY + 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 1, nY + 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 1, nY + 2) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 1, nY + 2, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 2, nY) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 2, nY, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 2, nY - 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 2, nY - 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            if (PlayObject.m_PEnvir.GetEvent(nX + 2, nY + 1) == null)
            {
                FireBurnEvent = new TFireBurnEvent(PlayObject, nX + 2, nY + 1, Grobal2.ET_FIRE, Convert.ToUInt32(nHTime * 1000), nDamage);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
            }
            result = 1;
            return(result);
        }