Esempio n. 1
0
			protected override void OnTick()
			{
				if ( m_Item.Deleted )
					return;

				Mobile spawn;

				switch ( Utility.Random( 12 ) )
				{
					default:
					case 0: spawn = new Skeleton(); break;
					case 1: spawn = new Zombie(); break;
					case 2: spawn = new Wraith(); break;
					case 3: spawn = new Spectre(); break;
					case 4: spawn = new Ghoul(); break;
					case 5: spawn = new Mummy(); break;
					case 6: spawn = new Bogle(); break;
					case 7: spawn = new RottingCorpse(); break;
					case 8: spawn = new BoneKnight(); break;
					case 9: spawn = new SkeletalKnight(); break;
					case 10: spawn = new Lich(); break;
					case 11: spawn = new LichLord(); break;
				}

				spawn.MoveToWorld( m_Item.Location, m_Item.Map );

				m_Item.Delete();
			}
Esempio n. 2
0
        public void SummonUndead(Mobile target)
        {
            Point3D[] locs = new Point3D[4];

            locs[0] = Location;

            for (int i = 1; i < 4; i++)
            {
                bool validLocation = false;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(4) - 1;
                    int y = Y + Utility.Random(4) - 1;
                    int z = this.Map.GetAverageZ(x, y);

                    if (validLocation = this.Map.CanFit(x, y, this.Z, 16, false, false))
                        locs[i] = new Point3D(x, y, Z);
                    else if (validLocation = this.Map.CanFit(x, y, z, 16, false, false))
                        locs[i] = new Point3D(x, y, z);
                }
            }

            bool movelich = false;

            for (int i = 0; i < 4; i++)
            {
                BaseCreature summon = null;

                if (!movelich && (Utility.Random(4) == 0 || i == 3))
                {
                    summon = this;
                    BodyMod = Utility.RandomList(50, 56, 57, 3, 26, 148, 147, 153, 154, 24, 35, 36);
                    HueMod = 0;
                    movelich = true;
                }
                else
                {
                    switch (Utility.Random(12))
                    {
                        default:
                        case 0: summon = new Skeleton(); break;
                        case 1: summon = new Zombie(); break;
                        case 2: summon = new Wraith(); break;
                        case 3: summon = new Spectre(); break;
                        case 4: summon = new Ghoul(); break;
                        case 5: summon = new Mummy(); break;
                        case 6: summon = new Bogle(); break;
                        case 7: summon = new BoneKnight(); break;
                        case 8: summon = new SkeletalKnight(); break;
                        case 9: summon = new Lich(); break;
                        case 10: summon = new Lizardman(); break;
                        case 11: summon = new SkeletalMage(); break;
                    }

                    summon.Team = this.Team;
                    summon.FightMode = FightMode.Closest;
                }

                summon.MoveToWorld(locs[i], Map);
                Effects.SendLocationEffect(summon.Location, summon.Map, 0x3728, 10, 10, 0, 0);
                summon.PlaySound(0x48F);
                summon.PlaySound(summon.GetAttackSound());
                summon.Combatant = target;
            }
        }
Esempio n. 3
0
        public void SummonUndead(Mobile target)
        {
            Point3D[] locs = new Point3D[4];

            locs[0] = Location;

            for (int i = 1; i < 4; i++)
            {
                bool validLocation = false;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(4) - 1;
                    int y = Y + Utility.Random(4) - 1;
                    int z = this.Map.GetAverageZ(x, y);

                    if (validLocation = this.Map.CanFit(x, y, this.Z, 16, false, false))
                    {
                        locs[i] = new Point3D(x, y, Z);
                    }
                    else if (validLocation = this.Map.CanFit(x, y, z, 16, false, false))
                    {
                        locs[i] = new Point3D(x, y, z);
                    }
                }
            }

            bool movelich = false;

            for (int i = 0; i < 4; i++)
            {
                BaseCreature summon = null;

                if (!movelich && (Utility.Random(4) == 0 || i == 3))
                {
                    summon   = this;
                    BodyMod  = Utility.RandomList(50, 56, 57, 3, 26, 148, 147, 153, 154, 24, 35, 36);
                    HueMod   = 0;
                    movelich = true;
                }
                else
                {
                    switch (Utility.Random(12))
                    {
                    default:
                    case 0: summon = new Skeleton(); break;

                    case 1: summon = new Zombie(); break;

                    case 2: summon = new Wraith(); break;

                    case 3: summon = new Spectre(); break;

                    case 4: summon = new Ghoul(); break;

                    case 5: summon = new Mummy(); break;

                    case 6: summon = new Bogle(); break;

                    case 7: summon = new BoneKnight(); break;

                    case 8: summon = new SkeletalKnight(); break;

                    case 9: summon = new Lich(); break;

                    case 10: summon = new Lizardman(); break;

                    case 11: summon = new SkeletalMage(); break;
                    }

                    summon.Team      = this.Team;
                    summon.FightMode = FightMode.Closest;
                }

                summon.MoveToWorld(locs[i], Map);
                Effects.SendLocationEffect(summon.Location, summon.Map, 0x3728, 10, 10, 0, 0);
                summon.PlaySound(0x48F);
                summon.PlaySound(summon.GetAttackSound());
                summon.Combatant = target;
            }
        }
Esempio n. 4
0
        public void SummonUndead(Mobile target)
        {
            BaseCreature summon = null;

            switch (Utility.Random(11))
            {
                default:
                case 0:
                    summon = new Skeleton();
                    break;
                case 1:
                    summon = new Zombie();
                    break;
                case 2:
                    summon = new Wraith();
                    break;
                case 3:
                    summon = new Spectre();
                    break;
                case 4:
                    summon = new Ghoul();
                    break;
                case 5:
                    summon = new Mummy();
                    break;
                case 6:
                    summon = new Bogle();
                    break;
                case 7:
                    summon = new BoneKnight();
                    break;
                case 8:
                    summon = new SkeletalKnight();
                    break;
                case 9:
                    summon = new Lich();
                    break;
                case 10:
                    summon = new SkeletalMage();
                    break;
            }

            summon.Team = Team;
            summon.FightMode = FightMode.Closest;
            summon.MoveToWorld(target.Location, target.Map);
            Effects.SendLocationEffect(summon.Location, summon.Map, 0x3728, 10, 10, 0, 0);
            summon.Combatant = target;
            summon.PlaySound(summon.GetAttackSound());
        }
 public void SpawnUndead( Mobile m )
 {
     Map map = this.Map;
     Effects.SendLocationParticles( EffectItem.Create( this.Location, map, EffectItem.DefaultDuration ), 0x3789, 1, 40, 0x3F, 3, 9907, 0 );
     Mobile spawn;
     switch ( Utility.Random( 12 ) )
     {
         default:
         case 0: spawn = new Skeleton(); break;
         case 1: spawn = new Zombie(); break;
         case 2: spawn = new Wraith(); break;
         case 3: spawn = new Spectre(); break;
         case 4: spawn = new Ghoul(); break;
         case 5: spawn = new Mummy(); break;
         case 6: spawn = new Bogle(); break;
         case 7: spawn = new RottingCorpse(); break;
         case 8: spawn = new BoneKnight(); break;
         case 9: spawn = new SkeletalKnight(); break;
         case 10: spawn = new Lich(); break;
         case 11: spawn = new LichLord(); break;
     }
     spawn.Hidden = true;
     spawn.MoveToWorld( m.Location, m.Map );
 }