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 ;) }
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); }
protected override void OnTarget(Mobile from, object targeted) { base.OnTarget(from, targeted); if (from == null) { return; } if (!from.Alive) { return; } if (targeted is NubiaCreature) { NubiaCreature mount = targeted as NubiaCreature; if (mount.IsFriend(from) || mount.ControlMaster == from) { int body = mount.BodyValue; if (body == 0xC8 || body == 0x3E9F || body == 0xE2 || body == 0x3EA0 || body == 0xE4 || body == 0x3EA1 || body == 0xCC || body == 0x3EA2) //HORSE { from.Emote("*Scelle les sacs sur le cheval*"); Point3D p = mount.Location; Map m = mount.Map; Mobile master = mount.ControlMaster; bool tamed = mount.Controlled; mount.Delete(); PackHorse horse = new PackHorse(); horse.MoveToWorld(p, m); horse.ControlMaster = master; horse.Controlled = tamed; horse.ControlOrder = OrderType.Stay; if (mPack != null) { mPack.Delete(); } } else if (mount is Llama || mount is RidableLlama) { from.Emote("*Scelle les sacs sur le Lama*"); Point3D p = mount.Location; Map m = mount.Map; Mobile master = mount.ControlMaster; bool tamed = mount.Controlled; mount.Delete(); PackLlama lama = new PackLlama(); lama.MoveToWorld(p, m); lama.ControlMaster = master; lama.Controlled = tamed; lama.ControlOrder = OrderType.Stay; if (mPack != null) { mPack.Delete(); } } else { from.SendMessage("Utilisez cela sur un cheval ou un lama"); } } else { from.SendMessage("La monture ne se laisse pas approcher"); mount.Emote("*s'agite nerveusement*"); } } else { from.SendMessage("Vous devez visez une monture vous appartenant"); } }