public override void IncreaseTier()
        {
            base.IncreaseTier();

            List <object> list = new List <object>();
            BaseCreature  c;

            // haven't got a clue if levels are OSI
            switch (this.Tier)
            {
            case 1:
                c = new Crane();
                c.MoveToWorld(new Point3D(4500, 1382, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 2:
                c = new DireWolf();
                c.MoveToWorld(new Point3D(4494, 1370, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new DireWolf();
                c.MoveToWorld(new Point3D(4494, 1360, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new WhiteWolf();
                c.MoveToWorld(new Point3D(4491, 1366, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new WhiteWolf();
                c.MoveToWorld(new Point3D(4497, 1366, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new GreyWolf();
                c.MoveToWorld(new Point3D(4497, 1366, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 3:
                c = new Quagmire();
                c.MoveToWorld(new Point3D(4483, 1392, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new BogThing();
                c.MoveToWorld(new Point3D(4486, 1385, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new PlagueBeast();
                c.MoveToWorld(new Point3D(4486, 1379, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 4:
                c = new PolarBear();
                c.MoveToWorld(new Point3D(4513, 1395, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new PolarBear();
                c.MoveToWorld(new Point3D(4508, 1393, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 5:
                c = new Yamandon();
                c.MoveToWorld(new Point3D(4498, 1393, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 6:
                c = new Changeling();
                c.MoveToWorld(new Point3D(4518, 1358, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 7:
                c = new Wyvern();
                c.MoveToWorld(new Point3D(4512, 1381, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 8:
                c = new Dragon();
                c.MoveToWorld(new Point3D(4511, 1372, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                c = new Drake();
                c.MoveToWorld(new Point3D(4516, 1371, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 9:
                c = new Reptalon();
                c.MoveToWorld(new Point3D(4530, 1387, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                break;

            case 10:
                c = new SilverSteed();
                c.MoveToWorld(new Point3D(4506, 1358, 23), this.Map);
                c.Blessed = true;
                c.Tamable = false;
                list.Add(c);

                /*
                 * c = new Sphynx();
                 * c.MoveToWorld( new Point3D( 4506, 1358, 23 ), Map );
                 * c.Blessed = true;
                 * c.Tamable = false;
                 * list.Add( c );*/

                break;
            }

            if (list.Count > 0)
            {
                this.Tiers.Add(list);
            }
        }
Beispiel #2
0
        public override void OnTrigger(object activator, Mobile m)
        {
            if (m == null || this.Word == null || (this.RequireIdentification && !this.m_Identified))
            {
                return;
            }

            if (DateTime.Now < this.m_EndTime)
            {
                return;
            }

            string msgstr = "Activating the power of " + this.Word;

            // assign powers to certain words
            switch (this.Word)
            {
            case "Shoda":
                m.AddStatMod(new StatMod(StatType.Int, "Shoda", 20, this.Duration));
                m.SendMessage("Your mind expands!");
                break;

            case "Malik":
                m.AddStatMod(new StatMod(StatType.Str, "Malik", 20, this.Duration));
                m.SendMessage("Your strength surges!");
                break;

            case "Lepto":
                m.AddStatMod(new StatMod(StatType.Dex, "Lepto", 20, this.Duration));
                m.SendMessage("You are more nimble!");
                break;

            case "Velas":
                Timer.DelayCall(TimeSpan.Zero, new TimerStateCallback(Hide_Callback), new object[] { m });
                m.SendMessage("You disappear!");
                break;

            case "Tarda":
                m.AddSkillMod(new TimedSkillMod(SkillName.Tactics, true, 20, this.Duration));
                m.SendMessage("You are more skillful warrior!");
                break;

            case "Marda":
                m.AddSkillMod(new TimedSkillMod(SkillName.Magery, true, 20, this.Duration));
                m.SendMessage("You are more skillful mage!");
                break;

            case "Vas Malik":
                m.AddStatMod(new StatMod(StatType.Str, "Vas Malik", 40, this.Duration));
                m.SendMessage("You are exceptionally strong!");
                break;

            case "Nartor":
                BaseCreature b = new Drake();
                b.MoveToWorld(m.Location, m.Map);
                b.Owners.Add(m);
                b.SetControlMaster(m);
                if (b.Controlled)
                {
                    m.SendMessage("You master the beast!");
                }
                break;

            case "Santor":
                b = new Horse();
                b.MoveToWorld(m.Location, m.Map);
                b.Owners.Add(m);
                b.SetControlMaster(m);
                if (b.Controlled)
                {
                    m.SendMessage("You master the beast!");
                }
                break;

            default:
                m.SendMessage("There is no effect.");
                break;
            }

            // display activation effects
            Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042);
            Effects.PlaySound(m, m.Map, 0x201);

            // display a message over the item it was attached to
            if (this.AttachedTo is Item)
            {
                ((Item)this.AttachedTo).PublicOverheadMessage(MessageType.Regular, 0x3B2, true, msgstr);
            }

            this.Charges--;

            // remove the attachment after the charges run out
            if (this.Charges == 0)
            {
                this.Delete();
            }
            else
            {
                this.m_EndTime = DateTime.Now + this.Refractory;
            }
        }