/// <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); }
// 火墙 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); }