///////////////////////////////////////////////////////////////////////// // // www.ultima.smoce.net // Name: Morph // ///////////////////////////////////////////////////////////////////////// using System; using System.Collections.Generic; using System.Linq; using System.Text; using Phoenix; namespace Scripts.DarkParadise { public class Morph { private ushort model; [Command("morph")] public void Set(Graphic model) { if (model.IsInvariant) throw new ScriptErrorException("Invalid model."); this.model = model; } [ServerMessageHandler(0x20)] public CallbackResult OnPlayerSync(byte[] data, CallbackResult prevResult) { if (prevResult != CallbackResult.Normal) return prevResult; ushort orig = ByteConverter.BigEndian.ToUInt16(data, 5); if (model > 0 && orig != model) { byte[] over = (byte[])data.Clone(); ByteConverter.BigEndian.ToBytes(model, over, 5); Core.SendToClient(over, false); UO.Print("Body override."); return CallbackResult.Sent; } return CallbackResult.Normal; } } }