Ejemplo n.º 1
0
        public PrestigeScroll(int influenceAmount) : this()
        {
            Name = "a prestige scroll";

            Hue = 2615;

            m_Region          = InfluencePersistance.GetRandomRegion();
            m_InfluenceAmount = influenceAmount;
        }
Ejemplo n.º 2
0
        public PrestigeScroll() : base(0x1F65)
        {
            Name = "a prestige scroll";

            Hue = 2615;

            m_Region          = InfluencePersistance.GetRandomRegion();
            m_InfluenceAmount = GetRandomInfluenceAmount();
        }
Ejemplo n.º 3
0
        public PrestigeScroll(IndexedRegionName region) : this()
        {
            Name = "a prestige scroll";

            Hue = 2615;

            m_Region          = region;
            m_InfluenceAmount = GetRandomInfluenceAmount();
        }
Ejemplo n.º 4
0
        public PrestigeScroll(IndexedRegionName region, int influenceAmount) : this()
        {
            Hue = 2615;

            m_Region          = region;
            m_InfluenceAmount = influenceAmount;

            Name = "a prestige scroll";
        }
Ejemplo n.º 5
0
        private static void AddDungeonArmor(BaseCreature mob)
        {
            if (mob.Region == null)
            {
                return;
            }

            double chance = 1.0 / 2500.0;
            int    luck   = 0;

            if (mob.LastPlayerKiller != null)
            {
                luck = mob.LastPlayerKiller.Luck;
            }

            chance = chance * (1 + (luck / 100.0));

            bool getArmor = false;

            if (Utility.RandomDouble() <= chance)
            {
                getArmor = true;

                IndexedRegionName regionName = mob.Region.IndexedName;
                Item item = null;

                switch (regionName)
                {
                    /*
                     * case IndexedRegionName.Deceit: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Deceit, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.Destard: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Destard, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.Shame: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Shame, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.Hythloth: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Hythloth, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     *
                     *
                     * //Luthius Expansion
                     * case IndexedRegionName.Covetous: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Covetous, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.Wrong: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Wrong, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.Despise: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Despise, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.IceDungeon: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Ice, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     * case IndexedRegionName.FireDungeon: item = DungeonArmor.CreateDungeonArmor(DungeonEnum.Fire, DungeonArmor.ArmorTierEnum.Tier1, DungeonArmor.ArmorLocation.Unspecified); break;
                     */
                }

                if (item != null)
                {
                    mob.PackItem(item);
                }
            }

            //if (getArmor)
            //mob.PackItem(new ArcaneDust());
        }
Ejemplo n.º 6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            //Version 0
            if (version >= 0)
            {
                m_Region          = (IndexedRegionName)reader.ReadInt();
                m_InfluenceAmount = reader.ReadInt();
            }
        }
Ejemplo n.º 7
0
        public PrestigeScrollLibraryEntry GetEntryDetail(IndexedRegionName regionName)
        {
            PrestigeScrollLibraryEntry targetEntry = null;

            foreach (PrestigeScrollLibraryEntry entry in m_LibraryEntries)
            {
                if (entry.regionName == regionName)
                {
                    return(entry);
                }
            }

            return(targetEntry);
        }
Ejemplo n.º 8
0
        public static Region GetRegionByIndexedRegionName(IndexedRegionName indexedRegionName)
        {
            foreach (Region region in m_Regions)
            {
                if (region == null)
                {
                    continue;
                }

                if (region.IndexedName == indexedRegionName)
                {
                    return(region);
                }
            }

            return(null);
        }
Ejemplo n.º 9
0
        public static Town GetTown(IndexedRegionName indexedRegionName)
        {
            Town townInstance = null;

            foreach (Town instance in TownList)
            {
                if (instance == null)
                {
                    continue;
                }

                if (instance.RegionName == indexedRegionName)
                {
                    return(instance);
                }
            }

            return(townInstance);
        }
Ejemplo n.º 10
0
        public void Register()
        {
            if (m_Registered)
            {
                return;
            }

            OnRegister();

            m_Registered = true;

            if (m_Parent != null)
            {
                m_Parent.m_Children.Add(this);
                m_Parent.OnChildAdded(this);
            }

            m_Regions.Add(this);

            m_Map.RegisterRegion(this);

            m_IndexedName = IndexedRegionName.NotIndexed;

            if (m_Name != null)
            {
                IndexedRegionName temp;

                if (m_NameToIndexLookup.TryGetValue(m_Name, out temp))
                {
                    m_IndexedName = temp;
                }
            }

            List <Sector> sectors = new List <Sector>();

            for (int i = 0; i < m_Area.Length; i++)
            {
                Rectangle3D rect = m_Area[i];

                Point2D start = m_Map.Bound(new Point2D(rect.Start));
                Point2D end   = m_Map.Bound(new Point2D(rect.End));

                Sector startSector = m_Map.GetSector(start);
                Sector endSector   = m_Map.GetSector(end);

                for (int x = startSector.X; x <= endSector.X; x++)
                {
                    for (int y = startSector.Y; y <= endSector.Y; y++)
                    {
                        Sector sector = m_Map.GetRealSector(x, y);

                        sector.OnEnter(this, rect);

                        if (!sectors.Contains(sector))
                        {
                            sectors.Add(sector);
                        }
                    }
                }
            }

            m_Sectors = sectors.ToArray();
        }
Ejemplo n.º 11
0
        public void EjectScroll(Mobile from, IndexedRegionName regionName, int value, bool removeAll)
        {
            if (from == null)
            {
                return;
            }

            PrestigeScrollLibraryEntry entry = GetEntryDetail(regionName);

            if (entry == null)
            {
                return;
            }

            switch (value)
            {
            case 1:
                if (entry.Value1 == 0)
                {
                    from.SendMessage("The are no prestige scrolls of that type currently stored within.");
                    return;
                }
                break;

            case 2:
                if (entry.Value2 == 0)
                {
                    from.SendMessage("The are no prestige scrolls of that type currently stored within.");
                    return;
                }
                break;

            case 3:
                if (entry.Value3 == 0)
                {
                    from.SendMessage("The are no prestige scrolls of that type currently stored within.");
                    return;
                }
                break;

            default:
                return;

                break;
            }

            if (from.Backpack == null)
            {
                return;
            }

            if (from.Backpack.TotalItems == from.Backpack.MaxItems)
            {
                from.SendMessage("Your backpack is at maximum capacity. Please remove some items and try again.");
                return;
            }

            if (removeAll)
            {
                int scrollCount = 0;

                for (int a = 0; a < 1000; a++)
                {
                    bool outOfScrolls = false;

                    switch (value)
                    {
                    case 1: if (entry.Value1 == 0)
                        {
                            outOfScrolls = true;
                        }
                        break;

                    case 2: if (entry.Value2 == 0)
                        {
                            outOfScrolls = true;
                        }
                        break;

                    case 3: if (entry.Value3 == 0)
                        {
                            outOfScrolls = true;
                        }
                        break;
                    }

                    if (from.Backpack.TotalItems == from.Backpack.MaxItems)
                    {
                        break;
                    }

                    if (outOfScrolls)
                    {
                        break;
                    }

                    PrestigeScroll prestigeScroll = new PrestigeScroll(regionName, value);

                    if (prestigeScroll != null)
                    {
                        switch (value)
                        {
                        case 1: entry.Value1--; break;

                        case 2: entry.Value2--; break;

                        case 3: entry.Value3--; break;
                        }

                        from.Backpack.DropItem(prestigeScroll);
                    }

                    scrollCount++;
                }

                if (scrollCount > 1)
                {
                    from.SendMessage("You retrieve " + scrollCount.ToString() + " prestige scrolls from the library.");
                    from.SendSound(addItemSound);
                }

                else if (scrollCount == 1)
                {
                    from.SendMessage("You retrieve a prestige scroll from the library.");
                    from.SendSound(addItemSound);
                }

                else
                {
                    from.SendMessage("You do not have any scrolls of that value in the library.");
                }
            }

            else
            {
                PrestigeScroll prestigeScroll = new PrestigeScroll(regionName, value);

                if (prestigeScroll != null)
                {
                    switch (value)
                    {
                    case 1: entry.Value1--; break;

                    case 2: entry.Value2--; break;

                    case 3: entry.Value3--; break;
                    }

                    from.Backpack.DropItem(prestigeScroll);
                    from.SendSound(addItemSound);
                    from.SendMessage("You retrieve a prestige scroll from the library.");
                }
            }
        }