예제 #1
0
        public void FinishSequence(Mobile cible)
        {
            Owner.Animate(17, 7, 1, true, false, 0);

            //SortNubiaHelper.MakeEffect( Owner, cible, this, true, mustExplose );
            if (!(cible is NubiaCreature))
            {
                return;
            }

            NubiaCreature creat = cible as NubiaCreature;

            if (creat.Hits < Math.Max(8, (creat.HitsMax / 5)))
            {
                SortNubiaHelper.makeBigSmoke(creat.Location, creat.Map);
                RuneVie rune = new RuneVie();
                rune.creature = NubiaHelper.CopyCreature(creat);
                rune.MoveToWorld(creat.Location, creat.Map);
                creat.Delete();
            }
            else
            {
                Owner.SendMessage("La créature n'est pas assez affaibli");
            }

            EndSortNubia();             //important ;)
        }
예제 #2
0
        public override bool Cast()
        {
            if (!base.Cast())
            {
                return(false);
            }

            double time = (int)(Owner.Niveau) * (Maitrise / 10.0);

            time *= getRatio();

            if (m_toClone == null)
            {
                return(false);
            }

            if (m_invoc != null)
            {
                m_invoc.Delete();
                m_invoc = null;
            }

            NubiaCreature m = NubiaHelper.CopyCreature(m_toClone);

            m_invoc = m;

            m_invoc.Summoned      = true;
            m_invoc.ControlMaster = Owner;
            m_invoc.ControlOrder  = OrderType.Guard;
            m_invoc.Controlled    = true;

            m.MoveToWorld(Owner.Location, Owner.Map);

            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y, m.Z + 4), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y, m.Z), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y, m.Z - 4), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X, m.Y + 1, m.Z + 4), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X, m.Y + 1, m.Z), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X, m.Y + 1, m.Z - 4), m.Map, 0x3728, 13);

            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y + 1, m.Z + 11), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y + 1, m.Z + 7), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y + 1, m.Z + 3), m.Map, 0x3728, 13);
            Effects.SendLocationEffect(new Point3D(m.X + 1, m.Y + 1, m.Z - 1), m.Map, 0x3728, 13);

            Owner.PlaySound(0x228);



            m_timer = new InternalTimer(this, time);
            m_timer.Start();
            return(true);
        }
예제 #3
0
 protected override void OnTarget(Mobile from, object o)
 {
     if (o is RuneVie)
     {
         RuneVie rune = o as RuneVie;
         if (rune.creature == null)
         {
             player.SendMessage("Cette rune est vide");
         }
         else
         {
             m_Owner.toClone = NubiaHelper.CopyCreature(rune.creature);
             //	m_Owner.competence = rune.creature.competenceLie;
         }
         player.CloseGump(typeof(SortCreationGump));
         player.SendGump(new SortCreationGump(player, m_Owner));
     }
 }