public CharacterStatueDeed(CharacterStatue statue) : base(0x14F0) { m_Statue = statue; LootType = LootType.Blessed; Weight = 1.0; }
public CharacterStatuePlinth(CharacterStatue statue) : base(0x32F2) { m_Statue = statue; InvalidateHue(); }
public CharacterStatueGump(Item maker, CharacterStatue statue, Mobile owner) : base(60, 36) { m_Maker = maker; m_Statue = statue; m_Owner = owner; if (m_Statue == null) { return; } Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddBackground(0, 0, 327, 324, 0x13BE); AddImageTiled(10, 10, 307, 20, 0xA40); AddImageTiled(10, 40, 307, 244, 0xA40); AddImageTiled(10, 294, 307, 20, 0xA40); AddAlphaRegion(10, 10, 307, 304); AddHtmlLocalized(14, 12, 327, 20, 1076156, 0x7FFF, false, false); // Character Statue Maker // pose AddHtmlLocalized(133, 41, 120, 20, 1076168, 0x7FFF, false, false); // Choose Pose AddHtmlLocalized(133, 61, 120, 20, 1076208 + (int)m_Statue.Pose, 0x77E, false, false); AddButton(163, 81, 0xFA5, 0xFA7, (int)Buttons.PoseNext, GumpButtonType.Reply, 0); AddButton(133, 81, 0xFAE, 0xFB0, (int)Buttons.PosePrev, GumpButtonType.Reply, 0); // direction AddHtmlLocalized(133, 126, 120, 20, 1076170, 0x7FFF, false, false); // Choose Direction AddHtmlLocalized(133, 146, 120, 20, GetDirectionNumber(m_Statue.Direction), 0x77E, false, false); AddButton(163, 167, 0xFA5, 0xFA7, (int)Buttons.DirNext, GumpButtonType.Reply, 0); AddButton(133, 167, 0xFAE, 0xFB0, (int)Buttons.DirPrev, GumpButtonType.Reply, 0); // material AddHtmlLocalized(133, 211, 120, 20, 1076171, 0x7FFF, false, false); // Choose Material AddHtmlLocalized(133, 231, 120, 20, GetMaterialNumber(m_Statue.StatueType, m_Statue.Material), 0x77E, false, false); AddButton(163, 253, 0xFA5, 0xFA7, (int)Buttons.MatNext, GumpButtonType.Reply, 0); AddButton(133, 253, 0xFAE, 0xFB0, (int)Buttons.MatPrev, GumpButtonType.Reply, 0); // cancel AddButton(10, 294, 0xFB1, 0xFB2, (int)Buttons.Close, GumpButtonType.Reply, 0); AddHtmlLocalized(45, 294, 80, 20, 1006045, 0x7FFF, false, false); // Cancel // sculpt AddButton(234, 294, 0xFB7, 0xFB9, (int)Buttons.Sculpt, GumpButtonType.Reply, 0); AddHtmlLocalized(269, 294, 80, 20, 1076174, 0x7FFF, false, false); // Sculpt // restore if (m_Maker is CharacterStatueDeed) { AddButton(107, 294, 0xFAB, 0xFAD, (int)Buttons.Restore, GumpButtonType.Reply, 0); AddHtmlLocalized(142, 294, 80, 20, 1076193, 0x7FFF, false, false); // Restore } m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(2.5), TimeSpan.FromSeconds(2.5), new TimerCallback(CheckOnline)); }
public CharacterStatueGump(Item maker, CharacterStatue statue, Mobile owner) : base(60, 36) { this.m_Maker = maker; this.m_Statue = statue; this.m_Owner = owner; if (this.m_Statue == null) { return; } this.Closable = true; this.Disposable = true; this.Dragable = true; this.Resizable = false; this.AddPage(0); this.AddBackground(0, 0, 327, 324, 0x13BE); this.AddImageTiled(10, 10, 307, 20, 0xA40); this.AddImageTiled(10, 40, 307, 244, 0xA40); this.AddImageTiled(10, 294, 307, 20, 0xA40); this.AddAlphaRegion(10, 10, 307, 304); this.AddHtmlLocalized(14, 12, 327, 20, 1076156, 0x7FFF, false, false); // Character Statue Maker // pose this.AddHtmlLocalized(133, 41, 120, 20, 1076168, 0x7FFF, false, false); // Choose Pose this.AddHtmlLocalized(133, 61, 120, 20, 1076208 + (int)this.m_Statue.Pose, 0x77E, false, false); this.AddButton(163, 81, 0xFA5, 0xFA7, (int)Buttons.PoseNext, GumpButtonType.Reply, 0); this.AddButton(133, 81, 0xFAE, 0xFB0, (int)Buttons.PosePrev, GumpButtonType.Reply, 0); // direction this.AddHtmlLocalized(133, 126, 120, 20, 1076170, 0x7FFF, false, false); // Choose Direction this.AddHtmlLocalized(133, 146, 120, 20, this.GetDirectionNumber(this.m_Statue.Direction), 0x77E, false, false); this.AddButton(163, 167, 0xFA5, 0xFA7, (int)Buttons.DirNext, GumpButtonType.Reply, 0); this.AddButton(133, 167, 0xFAE, 0xFB0, (int)Buttons.DirPrev, GumpButtonType.Reply, 0); // material this.AddHtmlLocalized(133, 211, 120, 20, 1076171, 0x7FFF, false, false); // Choose Material this.AddHtmlLocalized(133, 231, 120, 20, this.GetMaterialNumber(this.m_Statue.StatueType, this.m_Statue.Material), 0x77E, false, false); this.AddButton(163, 253, 0xFA5, 0xFA7, (int)Buttons.MatNext, GumpButtonType.Reply, 0); this.AddButton(133, 253, 0xFAE, 0xFB0, (int)Buttons.MatPrev, GumpButtonType.Reply, 0); // cancel this.AddButton(10, 294, 0xFB1, 0xFB2, (int)Buttons.Close, GumpButtonType.Reply, 0); this.AddHtmlLocalized(45, 294, 80, 20, 1006045, 0x7FFF, false, false); // Cancel // sculpt this.AddButton(234, 294, 0xFB7, 0xFB9, (int)Buttons.Sculpt, GumpButtonType.Reply, 0); this.AddHtmlLocalized(269, 294, 80, 20, 1076174, 0x7FFF, false, false); // Sculpt // restore if (this.m_Maker is CharacterStatueDeed) { this.AddButton(107, 294, 0xFAB, 0xFAD, (int)Buttons.Restore, GumpButtonType.Reply, 0); this.AddHtmlLocalized(142, 294, 80, 20, 1076193, 0x7FFF, false, false); // Restore } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Statue = reader.ReadMobile() as CharacterStatue; }
public override void OnAfterDelete() { base.OnAfterDelete(); if (m_Statue == null) { return; } m_Statue.Delete(); m_Statue = null; }
protected override void OnTarget(Mobile from, object targeted) { IPoint3D p = targeted as IPoint3D; Map map = from.Map; if (p == null || map == null || m_Maker == null || m_Maker.Deleted) { return; } if (m_Maker.IsChildOf(from.Backpack)) { SpellHelper.GetSurfaceTop(ref p); BaseHouse house = null; Point3D loc = new Point3D(p); AddonFitResult result = CouldFit(loc, map, from, ref house); if (result == AddonFitResult.Valid) { CharacterStatue statue = new CharacterStatue(from, m_Type); CharacterStatuePlinth plinth = new CharacterStatuePlinth(statue); house.Addons.Add(plinth); statue.Plinth = plinth; plinth.MoveToWorld(loc, map); statue.InvalidatePose(); from.SendGump(new CharacterStatueGump(m_Maker, statue)); } else if (result == AddonFitResult.Blocked) { from.SendLocalizedMessage(500269); // You cannot build that there. } else if (result == AddonFitResult.NotInHouse) { from.SendLocalizedMessage(1076192); // Statues can only be placed in houses where you are the owner or co-owner. } else if (result == AddonFitResult.DoorsNotClosed) { from.SendMessage("You must close all house doors before placing this."); } else if (result == AddonFitResult.DoorTooClose) { from.SendLocalizedMessage(500271); // You cannot build near the door. } } else { from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it. } }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); var version = reader.ReadEncodedInt(); m_Statue = reader.ReadEntity <CharacterStatue>(); if (m_Statue?.SculptedBy == null || Map == Map.Internal) { Timer.StartTimer(Delete); } }
public CharacterPlinthGump(CharacterStatue statue) : base(60, 30) { Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddImage(0, 0, 0x24F4); AddHtml(55, 50, 150, 20, statue.Name, false, false); AddHtml(55, 75, 150, 20, statue.SculptedOn.ToString("G", new CultureInfo("de-DE")), false, false); AddHtmlLocalized(55, 100, 150, 20, GetTypeNumber(statue.StatueType), 0, false, false); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Statue = reader.ReadMobile() as CharacterStatue; if (m_Statue == null || m_Statue.SculptedBy == null || Map == Map.Internal) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(Delete)); } }
public CharacterPlinthGump(CharacterStatue statue) : base(60, 30) { Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddImage(0, 0, 0x24F4); AddHtml(55, 50, 150, 20, statue.Name, false, false); AddHtml(55, 75, 150, 20, statue.SculptedOn.ToString(CultureInfo.InvariantCulture), false, false); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); reader.ReadEncodedInt(); m_Statue = reader.ReadMobile <CharacterStatue>(); if (m_Statue == null || m_Statue.SculptedBy == null || Map == Map.Internal) { Timer.DelayCall(TimeSpan.Zero, Delete); } }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); var version = reader.ReadEncodedInt(); m_Statue = reader.ReadMobile() as CharacterStatue; if (m_Statue?.SculptedBy == null || Map == Map.Internal) { Timer.DelayCall(Delete); } }
public CharacterPlinthGump(CharacterStatue statue) : base(60, 30) { this.Closable = true; this.Disposable = true; this.Dragable = true; this.Resizable = false; this.AddPage(0); this.AddImage(0, 0, 0x24F4); this.AddHtml(55, 50, 150, 20, statue.Name, false, false); this.AddHtml(55, 75, 150, 20, statue.SculptedOn.ToString(), false, false); this.AddHtmlLocalized(55, 100, 150, 20, this.GetTypeNumber(statue.StatueType), 0, false, false); }
public CharacterStatueGump(Item maker, CharacterStatue statue, Mobile owner) : base(60, 36) { m_Maker = maker; m_Statue = statue; m_Owner = owner; if (m_Statue == null) { return; } Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddImage(30, 22, 1140); AddHtml(91, 71, 270, 26, @"<BODY><BASEFONT Color=Black><BIG><CENTER>Character Statue Carving</CENTER></BIG></BASEFONT></BODY>", (bool)false, (bool)false); AddHtml(92, 110, 104, 19, @"<BODY><BASEFONT Color=Black><BIG>Direction</BIG></BASEFONT></BODY>", (bool)false, (bool)false); AddHtml(92, 135, 104, 19, @"<BODY><BASEFONT Color=Black><BIG>" + GetDirectionNumber(m_Statue.Direction) + "</BIG></BASEFONT></BODY>", (bool)false, (bool)false); AddButton(93, 165, 4014, 4014, (int)Buttons.DirNext, GumpButtonType.Reply, 0); AddButton(130, 165, 4005, 4005, (int)Buttons.DirPrev, GumpButtonType.Reply, 0); AddHtml(255, 110, 104, 19, @"<BODY><BASEFONT Color=Black><BIG>Material</BIG></BASEFONT></BODY>", (bool)false, (bool)false); AddHtml(255, 135, 104, 19, @"<BODY><BASEFONT Color=Black><BIG>" + GetMaterialNumber(m_Statue.StatueType, m_Statue.Material) + "</BIG></BASEFONT></BODY>", (bool)false, (bool)false); AddButton(294, 165, 4014, 4014, (int)Buttons.MatNext, GumpButtonType.Reply, 0); AddButton(331, 165, 4005, 4005, (int)Buttons.MatPrev, GumpButtonType.Reply, 0); AddButton(66, 232, 241, 243, (int)Buttons.Close, GumpButtonType.Reply, 0); AddButton(319, 232, 247, 248, (int)Buttons.Sculpt, GumpButtonType.Reply, 0); // restore if (m_Maker is CharacterStatueDeed) { AddButton(197, 219, 2322, 2324, (int)Buttons.Restore, GumpButtonType.Reply, 0); } m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(2.5), TimeSpan.FromSeconds(2.5), new TimerCallback(CheckOnline)); }
public override void OnResponse(GameClient state, RelayInfo info) { if (m_Statue == null || m_Statue.Deleted) { return; } bool sendGump = false; if (info.ButtonID == (int)Buttons.Sculpt) { if (m_Maker is CharacterStatueDeed) { CharacterStatue backup = ((CharacterStatueDeed)m_Maker).Statue; if (backup != null) { backup.Delete(); } } if (m_Maker != null) { m_Maker.Delete(); } m_Statue.Sculpt(state.Mobile); } else if (info.ButtonID == (int)Buttons.PosePrev) { m_Statue.Pose = (StatuePose)(((int)m_Statue.Pose + 5) % 6); sendGump = true; } else if (info.ButtonID == (int)Buttons.PoseNext) { m_Statue.Pose = (StatuePose)(((int)m_Statue.Pose + 1) % 6); sendGump = true; } else if (info.ButtonID == (int)Buttons.DirPrev) { m_Statue.Direction = (Direction)(((int)m_Statue.Direction + 7) % 8); m_Statue.InvalidatePose(); sendGump = true; } else if (info.ButtonID == (int)Buttons.DirNext) { m_Statue.Direction = (Direction)(((int)m_Statue.Direction + 1) % 8); m_Statue.InvalidatePose(); sendGump = true; } else if (info.ButtonID == (int)Buttons.MatPrev) { m_Statue.Material = (StatueMaterial)(((int)m_Statue.Material + 3) % 4); sendGump = true; } else if (info.ButtonID == (int)Buttons.MatNext) { m_Statue.Material = (StatueMaterial)(((int)m_Statue.Material + 1) % 4); sendGump = true; } else if (info.ButtonID == (int)Buttons.Restore) { if (m_Maker is CharacterStatueDeed) { CharacterStatue backup = ((CharacterStatueDeed)m_Maker).Statue; if (backup != null) { m_Statue.Restore(backup); } } sendGump = true; } else { m_Statue.Delete(); } if (sendGump) { state.Mobile.SendGump(new CharacterStatueGump(m_Maker, m_Statue, m_Owner)); } if (m_Timer != null) { m_Timer.Stop(); } }
public CharacterStatueGump(CharacterStatue statue, Mobile owner) : this(statue, owner, null) { }