public Miniboss AddMinibossEntity(MinibossData data)
    {
        MinibossPrototype proto = MinibossDatabase.GetMinibossPrototype(data.type);
        Miniboss          temp  = null;

        switch (proto.minibossType)
        {
        case MinibossType.BogBeast:
            temp = new BogBeast(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case MinibossType.Salamander:
            temp = new Salamander(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case MinibossType.IceShard:
            temp = new IceShard(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case MinibossType.Shroombo:
            temp = new Shroombo(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case MinibossType.GiantCrab:
            temp = new GiantCrab(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case MinibossType.Voidbeast:
            temp = new Voidbeast(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;
        }

        return(temp);
    }
Beispiel #2
0
        protected virtual void FinishEffect(Point3D p, Map map, Mobile from)
        {
            from.RevealingAction();

            int     count   = Utility.RandomMinMax(1, 6);
            int     onBoat  = 0;
            string  monster = "";
            Point3D SpawnAt = p;

            switch (Utility.Random(12))
            {
            case 0: monster = "AquaticGhoul"; SpawnAt = from.Location; onBoat = 1; break;

            case 1: monster = "SeaWeeder"; SpawnAt = from.Location; onBoat = 1; break;

            case 2: monster = "SeaSnake"; break;

            case 3: monster = "WaterBeetle"; break;

            case 4: monster = "WaterStrider"; break;

            case 5: monster = "OilSlick"; break;

            case 6: monster = "FloatingEye"; break;

            case 7: monster = "SeaTroll"; SpawnAt = from.Location; onBoat = 1; break;

            case 8: monster = "WaterElemental"; break;

            case 9: monster = "GiantCrab"; break;

            case 10: monster = "GiantLamprey"; break;

            case 11: monster = "Locathah"; SpawnAt = from.Location; onBoat = 1; break;
            }

            for (int i = 0; map != null && i < count; ++i)
            {
                BaseCreature spawn = new AquaticGhoul();

                if (monster == "AquaticGhoul")
                {
                    spawn = new AquaticGhoul();
                }
                else if (monster == "SeaWeeder")
                {
                    spawn = new SeaWeeder();
                }
                else if (monster == "SeaSnake")
                {
                    spawn = new SeaSnake();
                }
                else if (monster == "WaterBeetle")
                {
                    spawn = new WaterBeetle();
                }
                else if (monster == "WaterStrider")
                {
                    spawn = new WaterStrider();
                }
                else if (monster == "OilSlick")
                {
                    spawn = new OilSlick();
                }
                else if (monster == "FloatingEye")
                {
                    spawn = new FloatingEye();
                }
                else if (monster == "SeaTroll")
                {
                    spawn = new SeaTroll();
                }
                else if (monster == "WaterElemental")
                {
                    spawn = new WaterElemental();
                }
                else if (monster == "GiantCrab")
                {
                    spawn = new GiantCrab();
                }
                else if (monster == "GiantLamprey")
                {
                    spawn = new GiantLamprey();
                }
                else if (monster == "Locathah")
                {
                    spawn = new Locathah();
                }

                Spawn(SpawnAt, map, spawn, onBoat);

                spawn.WhisperHue = 999;                 // SO TASK MANAGER DELETES THEM EVENTUALLY
                spawn.Combatant  = from;
            }

            Delete();
        }