| CODE |
public override void OnDeath( Container c ) { base.OnDeath( c ); //**********Added for DEATH to appear on Death { Mobile m = new VisitingDEATH(); m.Location = c.Location; m.Map = c.Map; SendGump( new ZedmortGump( ) ); } |
| CODE |
| from.Map = Map.Trammel; from.Location = new Point3D(1625, 1304, 0); |
| CODE |
| using System; using System.Collections; using Server; using Server.Misc; using Server.Items; using Server.Mobiles; using Server.Targeting; namespace Server.Mobiles { public class DEATH : BaseCreature { public override bool CanTeach{ get{ return false; } } [Constructable] public DEATH () : base( AIType.AI_Thief, FightMode.None, 10, 1, 0.4, 0.4 ) { InitStats( 1000, 1000, 1000 ); NameHue = 1; Blessed = true; SpeechHue = 1; EmoteHue = 1; Hue = 481; Title = "the last comforter"; this.Body = 400; this.Name = "La Mort"; this.AccessLevel = AccessLevel.GameMaster; AddItem( new Server.Items.HoodedShroudOfShadows() ); AddItem( new Server.Items.Scythe() ); } public override bool ClickTitle{ get{ return false; } } public DEATH( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class VisitingDEATH : BaseCreature { public override bool CanTeach{ get{ return false; } } private Timer m_Timer; private Timer delaytimer; [Constructable] public VisitingDEATH() : base( AIType.AI_Thief, FightMode.None, 10, 1, 0.8, 0.8 ) { InitStats( 1000, 1000, 1000 ); NameHue = 1; Blessed = true; SpeechHue = 1; EmoteHue = 1; Hue = 481; Title = "the last comforter"; this.Body = 400; this.Name = "La Mort"; this.Direction = (Direction)Utility.Random( 8 ); AddItem( new Server.Items.HoodedShroudOfShadows() ); AddItem( new Server.Items.Scythe() ); this.AccessLevel = AccessLevel.GameMaster; m_Timer = new InternalTimer( this ); m_Timer.Start(); } public override bool ClickTitle{ get{ return false; } } public VisitingDEATH( Serial serial ) : base( serial ) { } public override void OnDelete() { if ( delaytimer != null ) delaytimer.Stop(); m_Timer.Stop(); base.OnDelete(); } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } private class DelayTimer : Timer { private Mobile m_Owner; DateTime waitfor; public DelayTimer( Mobile owner ) : base( TimeSpan.FromSeconds( 5 ), TimeSpan.FromSeconds( 5 ) ) { m_Owner = owner; waitfor = DateTime.Now; } protected override void OnTick() { if ( !m_Owner.Deleted ) { Effects.SendLocationParticles( EffectItem.Create( m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration ), 0x1fcb, 10, 14, 2023 ); m_Owner.PlaySound( 0x293 ); m_Owner.Delete(); } } } public void Relocate() { delaytimer = new DelayTimer( this ); delaytimer.Start(); } private class InternalTimer : Timer { private VisitingDEATH m_Owner; public InternalTimer( VisitingDEATH owner ) : base( TimeSpan.FromSeconds( 5 ), TimeSpan.FromSeconds( 5 ) ) { m_Owner = owner; } protected override void OnTick() { if ( !m_Owner.Deleted ) { m_Owner.Direction = (Direction)Utility.Random( 8 ); switch ( Utility.Random( 20 ) ) { case 0: m_Owner.Say( "VENEZ AVEC MOI." ); break; case 1: m_Owner.Say( "VOTRE DOULEUR TEMPORELLE EST FINIE." ); break; case 2: m_Owner.Say( "JE SUIS VENU POUR VOUS" ); break; case 3: m_Owner.Say( "IL n'y a plus de place pour vous en ce monde" ); break; case 4: m_Owner.Say( "VOTRE VIE PASSE VRAIMENT DEVANT VOS YEUX AVANT QUE VOUS NE MOURIEZ. LE PROCESSUS EST APPELÉ VIVre" ); break; case 5: m_Owner.Say( "LAISSEZ TOMBER LA FAUX ET RETOURNEZ y LENTEMENT" ); break; case 6: m_Owner.Say( "IL N'Y A AUCUNE JUSTICE. SEULEMENT MOI." ); break; case 7: m_Owner.Say( "JE N ai PAS QUE VOUS sur ma liste, AUjourd huit " ); break; case 8: m_Owner.Say( "CE SERAIT UN MONDE STUPIDE SANS MORT." ); break; case 9: m_Owner.Say( "POUR CE QUI PEUT L'ESPOIR DE MOISSON, MAIS LE SOIN DE L'HOMME DE MOISSONNEUSE" ); break; case 10: m_Owner.Say( "JE JURE QUE JE NE L'AI JAMAIS TOUCHÉ." ); break; case 11: m_Owner.Say( "TERRIBLE de mourir ICI, N'EST-CE PAS ?" ); break; case 12: m_Owner.Say( "PRENEZ L'UNIVERS ET RECTIFIEZ-LE EN BAS À LA POUDRE LA PLUS EXCELLENTE ET LA PASSOIRE CELA PAR LA PASSOIRE LA PLUS EXCELLENTE ET MONTREZ-MOI ENSUITE UN ATOME DE JUSTICE, UNE MOLÉCULE DE PITIÉ. ET ENCORE VOUS AGISSEZ COMME S'IL Y A un certain ORDRE IDÉAL DANS LE MONDE, COMME S'IL Y A CERTAINS... Une certaine LÉGITIMITÉ DANS L'UNIVERS PAR LEQUEL on PEUT JUGER CELA." ); break; case 13: m_Owner.Say( "JE CONSTATE QUE LA MEILLEURE APPROCHE EST DE PRENDRE LA VIE COMME IL VIENT." ); break; case 14: m_Owner.Say( "Vous ete MORT,. J'APPARAIS SEULEMENT UNE FOIS" ); break; case 15: m_Owner.Say( "PRENDRE VOTRE ARGENT. VOUS ETE MORT VOUS NE COMPRENEZ PAS ?" ); break; case 16: m_Owner.Say( "JE M'ATTENDAIS A VOUS RENCONTRER au Recoin d une rue." ); break; case 17: m_Owner.Say( "QU'EST-CE TOUT CELA ? SÉRIEUSEMENT ! QUAND VOUS Y Pencer " ); break; case 18: m_Owner.Say( "JE CONDUIS ÂMES DANS LE MONDE SUIVANT. JE SUIS LA TOMBE DE TOUT L'ESPOIR. JE SUIS LA RÉALITÉ SUPRÊME. JE SUIS L'ASSASSIN CONTRE QUI AUCUNE SERRURE NE SE TIENDRAIT" ); break; case 19: m_Owner.Say( "ILS ME DÉTESTENT TOUS. CHACUN ME DÉTESTE. JE reglerai leurs compte a tous" ); break; } m_Owner.Relocate(); } Stop(); } } } } |
| CODE |
| using System; using Server; using Server.Gumps; using Server.Network; using Server.Items; using Server.Mobiles; namespace Server.Gumps { public class ZedmortGump : Gump { public ZedmortGump() : base( 30, 30 ) { int gumpX = 0; int gumpY = 0; bool initialState = false; Closable = false; Disposable = false; Dragable = true; Resizable = false; AddPage( 0 ); this.AddBackground(75, 438, 244, 100, 9200); this.AddBackground(55, 66, 280, 347, 9200); this.AddImageTiled(86, 139, 4, 217, 9303); this.AddImageTiled(90, 354, 214, 3, 9307); this.AddImageTiled(90, 136, 212, 4, 9301); this.AddImageTiled(90, 138, 213, 216, 9304); this.AddHtml( 96, 170, 201, 176, "<center>Vous êtes Mort</center><p> Malgrés tous vos efforts pour vous maintenir en vie en ce monde, vous n'y êtes pas parvenu </P> <p> Un choix s'impose désormais; rester ici un fantome ou accepter le pacte des Dieux qui consiste à vous ressusciter en sécurité en lieux sûr ", false, true ); this.AddImage(80, 42, 1419); this.AddImage(21, 106, 10421); this.AddImage(157, 25, 1417); this.AddImage(166, 34, 5578); this.AddImage(51, 62, 10460); this.AddImage(310, 62, 10460); this.AddImageTiled(302, 137, 3, 217, 9305); this.AddImage(45, 92, 10420); this.AddLabel(159, 144, 1152, "Pacte Divin"); this.AddImage(241, 150, 2104); this.AddImage(106, 144, 95); this.AddImage(315, 112, 10431); this.AddImage(293, 91, 10430); this.AddImage(310, 242, 10432); this.AddImage(306, 388, 10460); this.AddImage(35, 240, 10422); this.AddImage(49, 388, 10460); this.AddImage(104, 368, 10452); this.AddImageTiled(105, 107, 187, 13, 10100); this.AddImage(229, 193, 50930); this.AddImage(232, 193, 12); this.AddImage(233, 192, 60970); this.AddImage(275, 144, 97); this.AddLabel(167, 443, 16, " Choisir"); gumpX = 80; gumpY = 470; initialState = true; AddRadio( gumpX, gumpY, 0x25F9, 0x25FC, initialState, 1 ); gumpX = 80; gumpY = 500; initialState = false; AddRadio( gumpX, gumpY, 0x25F9, 0x25FC, initialState, 2 ); gumpX = 115; gumpY = 470; AddHtmlLocalized( gumpX, gumpY, 200, 20, 1049011, 0x7FFF, false, false ); gumpX = 115; gumpY = 500; AddHtmlLocalized( gumpX, gumpY, 200, 20, 1049012, 0x7FFF, false, false ); gumpX = 165; gumpY = 375; AddButton( gumpX, gumpY, 1149, 1148, 1, GumpButtonType.Reply, 0 ); } public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; if ( info.Switches[0] == 1 ) { Item a = from.Corpse; a.MoveToWorld(new Point3D(1625, 1304, 0), Map.Trammel); from.Map = Map.Trammel; from.Location = new Point3D(1625, 1304, 0); from.PlaySound( 0x1F8 ); from.FixedEffect( 0x376A, 10, 16 ); from.Resurrect(); } else { from.SendMessage( "Vous restez donc à errer dans les Limbes." ); } } } } |
| CODE |
using System; using Server.Items; namespace Server.Items { public class MoveCorpse : Item { [Constructable] public MoveCorpse() : base (0x2203) { base.Name = "Deplaceur de corps"; } public override void OnDoubleClick (Mobile from) { if (from.Corpse == null) { from.SendMessage("Ta depouille a ete deplace en ce lieu"); } else { Item a = from.Corpse; a.MoveToWorld(new Point3D(1625, 1304, 0), Map.Trammel); } from.Map = Map.Trammel; from.Location = new Point3D(1625, 1304, 0); } public MoveCorpse( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 1 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } } |
| CODE |
/* Created by Zedar /* /**************************** Zedar Res system ******************************/ /* Remerciment a : Shariz "l'ami des plus petits" pour son aide */ /****************************************************************************/ /* www.membres.lycos.fr/mondeVates/ */ using System; using Server; using Server.Gumps; using Server.Network; using Server.Items; using Server.Mobiles; namespace Server.Gumps { public class ZedmortGump : Gump { public ZedmortGump() : base( 30, 30 ) { int gumpX = 0; int gumpY = 0; bool initialState = false; Closable = false; Disposable = false; Dragable = true; Resizable = false; AddPage( 0 ); gumpX = 0; gumpY = 0; AddImage( gumpX, gumpY, 0x28DC ); gumpX = 0; gumpY = 30; AddImageTiled( gumpX, gumpY, 30, 378, 0x28E0 ); gumpX = 0; gumpY = 405; AddImage( gumpX, gumpY, 0x28DC ); gumpX = 353; gumpY = 405; AddImage( gumpX, gumpY, 0x28DC ); gumpX = 30; gumpY = 30; AddImageTiled( gumpX, gumpY, 324, 378, 0xA8E ); gumpX = 30; gumpY = 30; AddAlphaRegion( gumpX, gumpY, 324, 378 ); gumpX = 30; gumpY = 0; AddImageTiled( gumpX, gumpY, 324, 30, 0x28DE ); gumpX = 353; gumpY = 0; AddImage( gumpX, gumpY, 0x28DC ); gumpX = 353; gumpY = 30; AddImageTiled( gumpX, gumpY, 30, 378, 0x28E0 ); gumpX = 30; gumpY = 405; AddImageTiled( gumpX, gumpY, 324, 30, 0x28DE ); gumpX = 351; gumpY = 0; AddImage( gumpX, gumpY, 0x28C9 ); gumpX = 292; gumpY = 49; AddImage( gumpX, gumpY, 0x589 ); gumpX = 301; gumpY = 58; AddImage( gumpX, gumpY, 0x15CA ); gumpX = 80; gumpY = 65; AddImage( gumpX, gumpY, 0x5F ); gumpX = 83; gumpY = 74; AddImageTiled( gumpX, gumpY, 150, 3, 0x60 ); gumpX = 233; gumpY = 65; AddImage( gumpX, gumpY, 0x61 ); gumpX = 90; gumpY = 58; AddLabel( gumpX, gumpY, 1152, "Pacte Divin" ); gumpX = 105; gumpY = 95; AddImage( gumpX, gumpY, 0x838 ); gumpX = 65; gumpY = 130; AddHtml( gumpX, gumpY, 253, 165, "<center>Vous êtes Mort</center><p> Malgrés tous vos efforts pour vous maintenir en vie en ce monde, vous n'y êtes pas parvenu </P> <p> Un choix s'impose désormais; rester ici un fantome ou accepter le pacte des Dieux qui consiste à vous ressusciter en sécurité en lieux sûr ", false, true ); gumpX = 80; gumpY = 305; initialState = true; AddRadio( gumpX, gumpY, 0x25F9, 0x25FC, initialState, 1 ); gumpX = 80; gumpY = 338; initialState = false; AddRadio( gumpX, gumpY, 0x25F9, 0x25FC, initialState, 2 ); gumpX = 115; gumpY = 310; AddHtmlLocalized( gumpX, gumpY, 200, 20, 1049011, 0x7FFF, false, false ); gumpX = 115; gumpY = 343; AddHtmlLocalized( gumpX, gumpY, 200, 20, 1049012, 0x7FFF, false, false ); gumpX = 164; gumpY = 375; AddButton( gumpX, gumpY, 0x852, 0x851, 1, GumpButtonType.Reply, 0 ); } public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; if ( info.Switches[0] == 1 ) { Item a = from.Corpse; a.MoveToWorld(new Point3D(1625, 1304, 0), Map.Trammel); from.Map = Map.Trammel; from.Location = new Point3D(1625, 1304, 0); from.PlaySound( 0x1F8 ); from.FixedEffect( 0x376A, 10, 16 ); from.Resurrect(); } else { from.SendMessage( "Vous restez donc à errer dans les Limbes." ); } } } } |
| CODE |
public override void OnDeath( Container c ) { base.OnDeath( c ); //**********Added for DEATH to appear on Death { Mobile m = new VisitingDEATH(); m.Location = c.Location; m.Map = c.Map; SendGump( new ZedmortGump( ) ); } |
| CODE |
using System; using System.Collections; using Server; using Server.Misc; using Server.Items; using Server.Mobiles; using Server.Targeting; namespace Server.Mobiles { public class DEATH : BaseCreature { public override bool CanTeach{ get{ return false; } } [Constructable] public DEATH () : base( AIType.AI_Thief, FightMode.None, 10, 1, 0.4, 0.4 ) { InitStats( 1000, 1000, 1000 ); NameHue = 1; Blessed = true; SpeechHue = 1; EmoteHue = 1; Hue = 481; Title = "the last comforter"; this.Body = 400; this.Name = "La Mort"; this.AccessLevel = AccessLevel.GameMaster; AddItem( new Server.Items.HoodedShroudOfShadows() ); AddItem( new Server.Items.Scythe() ); } public override bool ClickTitle{ get{ return false; } } public DEATH( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class VisitingDEATH : BaseCreature { public override bool CanTeach{ get{ return false; } } private Timer m_Timer; private Timer delaytimer; [Constructable] public VisitingDEATH() : base( AIType.AI_Thief, FightMode.None, 10, 1, 0.8, 0.8 ) { InitStats( 1000, 1000, 1000 ); NameHue = 1; Blessed = true; SpeechHue = 1; EmoteHue = 1; Hue = 481; Title = "the last comforter"; this.Body = 400; this.Name = "La Mort"; this.Direction = (Direction)Utility.Random( 8 ); AddItem( new Server.Items.HoodedShroudOfShadows() ); AddItem( new Server.Items.Scythe() ); this.AccessLevel = AccessLevel.GameMaster; m_Timer = new InternalTimer( this ); m_Timer.Start(); } public override bool ClickTitle{ get{ return false; } } public VisitingDEATH( Serial serial ) : base( serial ) { } public override void OnDelete() { if ( delaytimer != null ) delaytimer.Stop(); m_Timer.Stop(); base.OnDelete(); } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } private class DelayTimer : Timer { private Mobile m_Owner; DateTime waitfor; public DelayTimer( Mobile owner ) : base( TimeSpan.FromSeconds( 5 ), TimeSpan.FromSeconds( 5 ) ) { m_Owner = owner; waitfor = DateTime.Now; } protected override void OnTick() { if ( !m_Owner.Deleted ) { Effects.SendLocationParticles( EffectItem.Create( m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration ), 0x1fcb, 10, 14, 2023 ); m_Owner.PlaySound( 0x293 ); m_Owner.Delete(); } } } public void Relocate() { delaytimer = new DelayTimer( this ); delaytimer.Start(); } private class InternalTimer : Timer { private VisitingDEATH m_Owner; public InternalTimer( VisitingDEATH owner ) : base( TimeSpan.FromSeconds( 5 ), TimeSpan.FromSeconds( 5 ) ) { m_Owner = owner; } protected override void OnTick() { if ( !m_Owner.Deleted ) { m_Owner.Direction = (Direction)Utility.Random( 8 ); switch ( Utility.Random( 20 ) ) { case 0: m_Owner.Say( "VENEZ AVEC MOI." ); break; case 1: m_Owner.Say( "VOTRE DOULEUR TEMPORELLE EST FINIE." ); break; case 2: m_Owner.Say( "JE SUIS VENU POUR VOUS" ); break; case 3: m_Owner.Say( "IL n'y a plus de place pour vous en ce monde" ); break; case 4: m_Owner.Say( "VOTRE VIE PASSE VRAIMENT DEVANT VOS YEUX AVANT QUE VOUS NE MOURIEZ. LE PROCESSUS EST APPELÉ VIVre" ); break; case 5: m_Owner.Say( "LAISSEZ TOMBER LA FAUX ET RETOURNEZ y LENTEMENT" ); break; case 6: m_Owner.Say( "IL N'Y A AUCUNE JUSTICE. SEULEMENT MOI." ); break; case 7: m_Owner.Say( "JE N ai PAS QUE VOUS sur ma liste, AUjourd huit " ); break; case 8: m_Owner.Say( "CE SERAIT UN MONDE STUPIDE SANS MORT." ); break; case 9: m_Owner.Say( "POUR CE QUI PEUT L'ESPOIR DE MOISSON, MAIS LE SOIN DE L'HOMME DE MOISSONNEUSE" ); break; case 10: m_Owner.Say( "JE JURE QUE JE NE L'AI JAMAIS TOUCHÉ." ); break; case 11: m_Owner.Say( "TERRIBLE de mourir ICI, N'EST-CE PAS ?" ); break; case 12: m_Owner.Say( "PRENEZ L'UNIVERS ET RECTIFIEZ-LE EN BAS À LA POUDRE LA PLUS EXCELLENTE ET LA PASSOIRE CELA PAR LA PASSOIRE LA PLUS EXCELLENTE ET MONTREZ-MOI ENSUITE UN ATOME DE JUSTICE, UNE MOLÉCULE DE PITIÉ. ET ENCORE VOUS AGISSEZ COMME S'IL Y A un certain ORDRE IDÉAL DANS LE MONDE, COMME S'IL Y A CERTAINS... Une certaine LÉGITIMITÉ DANS L'UNIVERS PAR LEQUEL on PEUT JUGER CELA." ); break; case 13: m_Owner.Say( "JE CONSTATE QUE LA MEILLEURE APPROCHE EST DE PRENDRE LA VIE COMME IL VIENT." ); break; case 14: m_Owner.Say( "Vous ete MORT,. J'APPARAIS SEULEMENT UNE FOIS" ); break; case 15: m_Owner.Say( "PRENDRE VOTRE ARGENT. VOUS ETE MORT VOUS NE COMPRENEZ PAS ?" ); break; case 16: m_Owner.Say( "JE M'ATTENDAIS A VOUS RENCONTRER au Recoin d une rue." ); break; case 17: m_Owner.Say( "QU'EST-CE TOUT CELA ? SÉRIEUSEMENT ! QUAND VOUS Y Pencer " ); break; case 18: m_Owner.Say( "JE CONDUIS ÂMES DANS LE MONDE SUIVANT. JE SUIS LA TOMBE DE TOUT L'ESPOIR. JE SUIS LA RÉALITÉ SUPRÊME. JE SUIS L'ASSASSIN CONTRE QUI AUCUNE SERRURE NE SE TIENDRAIT" ); break; case 19: m_Owner.Say( "ILS ME DÉTESTENT TOUS. CHACUN ME DÉTESTE. JE reglerai leurs compte a tous" ); break; } m_Owner.Relocate(); } Stop(); } } } } |
| QUOTE |
| m_Owner.Relocate(); } Stop(); |
| CODE |
| Stop(); m_Owner.Relocate(); } |