예제 #1
0
		public override void OnActionCombat()
		{
			if ( DateTime.Now > m_SpawnDelay )
			{
				Freeze( TimeSpan.FromSeconds( 1.0 ) );
				Say ( "Kal An Mani Xen" ); // Summon Negate Life Creature
				Animate( 17, 6, 1, true, false, 0 );

				Corpse c = null;
				Mobile mob = null;

				foreach( Item item in GetItemsInRange( 5 ) )
				{
					c = item as Corpse;

					if ( c == null )
						continue;
					else if ( c.Channeled )
						continue;

					c.Channeled = true;

					Effects.SendLocationParticles( 
						EffectItem.Create( c.Location, c.Map, EffectItem.DefaultDuration ), 
						0x3709, 1, 30, 1, 6, 5052, 0 );

					mob = new BlueKarrnathi( Combatant );
					mob.MoveToWorld( c.Location, c.Map );
				}

				m_SpawnDelay = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 30, 60 ) );
			}
			else if ( DateTime.Now > m_SoulDrainDelay )
			{
				Freeze( TimeSpan.FromSeconds( 1.0 ) );
				Say ( "In Mani Ex Kal" ); // Cause Life Freedom Summon
				Animate( 17, 6, 1, false, false, 0 );
				int amount = 0;

				foreach( Mobile m in GetMobilesInRange( 30 ) )
				{
					if ( m == null )
						continue;

					Effects.SendMovingParticles( m, this, 0x36D4, 15, 0, false, false, 1/*hue*/, 0, 9502, 1, 5, (EffectLayer)255, 0x100 );
					++amount;
				}

				Hits += amount * 5;
				Stam += amount * 5;
				Mana += amount * 5;
				m_SoulDrainDelay = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 7, 14 ) );
			}
			else if ( DateTime.Now > m_NegativeBurstDelay )
			{
				Freeze( TimeSpan.FromSeconds( 1.0 ) );
				Say ( "Vas Corp Hur Grav" ); // Great Death Wind Energy
				Animate( 17, 6, 1, true, false, 0 );
				new NegativeBurstTimer( this ).Start();

				m_NegativeBurstDelay = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 30, 60 ) );
			}

			base.OnActionCombat();
		}
예제 #2
0
        public override void OnActionCombat()
        {
            if (DateTime.Now > m_SpawnDelay)
            {
                Freeze(TimeSpan.FromSeconds(1.0));
                Say("Kal An Mani Xen");                    // Summon Negate Life Creature
                Animate(17, 6, 1, true, false, 0);

                Corpse c   = null;
                Mobile mob = null;

                foreach (Item item in GetItemsInRange(5))
                {
                    c = item as Corpse;

                    if (c == null)
                    {
                        continue;
                    }
                    else if (c.Channeled)
                    {
                        continue;
                    }

                    c.Channeled = true;

                    Effects.SendLocationParticles(
                        EffectItem.Create(c.Location, c.Map, EffectItem.DefaultDuration),
                        0x3709, 1, 30, 1, 6, 5052, 0);

                    mob = new BlueKarrnathi(Combatant);
                    mob.MoveToWorld(c.Location, c.Map);
                }

                m_SpawnDelay = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(30, 60));
            }
            else if (DateTime.Now > m_SoulDrainDelay)
            {
                Freeze(TimeSpan.FromSeconds(1.0));
                Say("In Mani Ex Kal");                    // Cause Life Freedom Summon
                Animate(17, 6, 1, false, false, 0);
                int amount = 0;

                foreach (Mobile m in GetMobilesInRange(30))
                {
                    if (m == null)
                    {
                        continue;
                    }

                    Effects.SendMovingParticles(m, this, 0x36D4, 15, 0, false, false, 1 /*hue*/, 0, 9502, 1, 5, (EffectLayer)255, 0x100);
                    ++amount;
                }

                Hits            += amount * 5;
                Stam            += amount * 5;
                Mana            += amount * 5;
                m_SoulDrainDelay = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(7, 14));
            }
            else if (DateTime.Now > m_NegativeBurstDelay)
            {
                Freeze(TimeSpan.FromSeconds(1.0));
                Say("Vas Corp Hur Grav");                    // Great Death Wind Energy
                Animate(17, 6, 1, true, false, 0);
                new NegativeBurstTimer(this).Start();

                m_NegativeBurstDelay = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(30, 60));
            }

            base.OnActionCombat();
        }