Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,33 @@
Here is a quick how to for setting up the quest.
Step 1 - place Arriana where ever your quest mobiles may be set up.
Step 2 - at farm in moonglow place uncle john in the farmhouse and the savage bunnies
outside in the fenced in farm area.
Step 3 - in delucia setup Grandpa tam in a small house you place next to the farm pen
and the golden and nongolden chickens in the farm pen , You need to
spawn 1 golden chicken and a bunch of nongolden ones as double clicking
on the golden one lays the golden eggs and the others drop normal eggs.
Step 4 - in haven set up auntie june in another small house you create
and outside her house create some fruit trees and lock down blue apples
all around the trees except for one you need to put on a spawner for people
to pick up. I also rose some apples in the trees to make them look like
they were growing there.
Quest goes as follows
Arriana gives you a jewelry box and tells you to get her heirlooms which the jewelry
box can rejion. She also tells you where to find the first relative which is
unclejohn in moonglow farm. He tells you to get his green carrot from the savage
bunnies in his garden, and gives you arrianas diamond and a cluebook to the next
place. The clue takes you to grandpa tam in delucia farm area, he tells you to get
a golden egg from a chicken and gives you another clue book and arrianas hoops, the
next clue takes you to haven up by the vacant huts above town (or where ever in
haven you wish to place it) auntie june tells you to go outside and get a blueapple,
and gives you arrianas clips. you now double click on the jewelry box with the
diamonds , hoops, and clips in your sack and it gives you diamondhoopearings,
which you bring back to arriana for arrianas earings.

View File

@@ -0,0 +1,87 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Gumps
{
public class ArrianasGump : Gump
{
public static void Initialize()
{
CommandSystem.Register("ArrianasGump", AccessLevel.GameMaster, new CommandEventHandler(ArrianasGump_OnCommand));
}
private static void ArrianasGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new ArrianasGump( e.Mobile ) );
}
public ArrianasGump( Mobile owner ) : base( 50,50 )
{
//----------------------------------------------------------------------------------------------------
AddPage( 0 );
AddImageTiled( 54, 33, 369, 400, 2624 );
AddAlphaRegion( 54, 33, 369, 400 );
AddImageTiled( 416, 39, 44, 389, 203 );
//--------------------------------------Window size bar--------------------------------------------
AddImage( 97, 49, 9005 );
AddImageTiled( 58, 39, 29, 390, 10460 );
AddImageTiled( 412, 37, 31, 389, 10460 );
AddLabel( 140, 60, 0x34, "Arriana's Lost Heirloom" );
AddHtml( 107, 140, 300, 230, "<BODY>" +
//----------------------/----------------------------------------------/
"<BASEFONT COLOR=YELLOW>Arriana opens the conversation with a legend about her lineage.<BR><BR>I was once told by my mother that our family had possessed a heirloom of magical powers.<BR>" +
"<BASEFONT COLOR=YELLOW>Rumor has it , that when the age of Inquisitors was upon us, and all magic was being destroyed, that my family broke it down into parts and spread it amongst our relatives.<BR><BR>" +
"<BASEFONT COLOR=YELLOW>But alas, I have no idea where the pieces have gone. My good traveler, will you help me re-unite the pieces so i may restore this heirloom once again?<BR>" +
"<BASEFONT COLOR=YELLOW>I know from Diary entries that the pieces were dispersed among three of our ancestors...<BR><BR>Individually, these items are common and mean nothing.<BR>" +
"<BASEFONT COLOR=YELLOW>But if thou art honerable enough to bring the joined pieces to me, I shall resore it with the instructions left to me, and make you a duplicate for your troubles.<BR><BR>" +
"<BASEFONT COLOR=YELLOW>To help you with this I will give you my jewelry box to rejoin the pieces, just double click on it with the pieces in your sack and they will join to become one.<BR><BR>" +
"<BASEFONT COLOR=YELLOW>My uncle has a farm somewhere in Brit Farmlands<BR><BR> hmmm, all i can remember is this phrase my mom told me.<BR>It's not where the sun dims but where the ...<BR><BR>" +
"<BASEFONT COLOR=YELLOW>Sorry I don't remember the rest of it, maybe you can figure it out for me<BR><BR>" +
"<BASEFONT COLOR=YELLOW>Bring me back all the pieces and I will be forever in your debt.<BR><BR>" +
"</BODY>", false, true);
// <BASEFONT COLOR=#7B6D20>
AddImage( 430, 9, 10441);
AddImageTiled( 40, 38, 17, 391, 9263 );
AddImage( 6, 25, 10421 );
AddImage( 34, 12, 10420 );
AddImageTiled( 94, 25, 342, 15, 10304 );
AddImageTiled( 40, 427, 415, 16, 10304 );
AddImage( -10, 314, 10402 );
AddImage( 56, 150, 10411 );
AddImage( 155, 120, 2103 );
AddImage( 136, 84, 96 );
AddButton( 225, 390, 0xF7, 0xF8, 0, GumpButtonType.Reply, 0 );
//--------------------------------------------------------------------------------------------------------------
}
public override void OnResponse( NetState state, RelayInfo info ) //Function for GumpButtonType.Reply Buttons
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0: //Case uses the ActionIDs defenied above. Case 0 defenies the actions for the button with the action id 0
{
//Cancel
from.SendMessage( "please find the pieces" );
break;
}
}
}
}
}

View File

@@ -0,0 +1,82 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Gumps
{
public class AuntieJuneGump : Gump
{
public static void Initialize()
{
CommandSystem.Register("AuntieJuneGump", AccessLevel.GameMaster, new CommandEventHandler(AuntieJuneGump_OnCommand));
}
private static void AuntieJuneGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new AuntieJuneGump( e.Mobile ) );
}
public AuntieJuneGump( Mobile owner ) : base( 50,50 )
{
//----------------------------------------------------------------------------------------------------
AddPage( 0 );
AddImageTiled( 54, 33, 369, 400, 2624 );
AddAlphaRegion( 54, 33, 369, 400 );
AddImageTiled( 416, 39, 44, 389, 203 );
//--------------------------------------Window size bar--------------------------------------------
AddImage( 97, 49, 9005 );
AddImageTiled( 58, 39, 29, 390, 10460 );
AddImageTiled( 412, 37, 31, 389, 10460 );
AddLabel( 140, 60, 0x34, "Message" );
AddHtml( 107, 140, 300, 230, "<BODY>" +
//----------------------/----------------------------------------------/
"<BASEFONT COLOR=YELLOW>Ol' Granpa sent you, you say?<BR><BR>Yes I do have the last piece hidden away, but it's gonna cost ya.<BR><BR>" +
"<BASEFONT COLOR=YELLOW>I have been crosspollinating my trees to get a blue apple breed.<BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>Unfortunately They seem to stick to the ground when they drop so I havn't been able to collect one yet.<BR><BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>Go outside in my orchard and find me an apple thats not stuck and what I have is yours.<BR><BR>" +
"</BODY>", false, true);
// <BASEFONT COLOR=#7B6D20>
AddImage( 430, 9, 10441);
AddImageTiled( 40, 38, 17, 391, 9263 );
AddImage( 6, 25, 10421 );
AddImage( 34, 12, 10420 );
AddImageTiled( 94, 25, 342, 15, 10304 );
AddImageTiled( 40, 427, 415, 16, 10304 );
AddImage( -10, 314, 10402 );
AddImage( 56, 150, 10411 );
AddImage( 155, 120, 2103 );
AddImage( 136, 84, 96 );
AddButton( 225, 390, 0xF7, 0xF8, 0, GumpButtonType.Reply, 0 );
//--------------------------------------------------------------------------------------------------------------
}
public override void OnResponse( NetState state, RelayInfo info ) //Function for GumpButtonType.Reply Buttons
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0: //Case uses the ActionIDs defenied above. Case 0 defenies the actions for the button with the action id 0
{
//Cancel
from.SendMessage( "ohhhh my apples!." );
break;
}
}
}
}
}

View File

@@ -0,0 +1,82 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Gumps
{
public class GrandpaTamGump : Gump
{
public static void Initialize()
{
CommandSystem.Register("GrandpaTamGump", AccessLevel.GameMaster, new CommandEventHandler(GrandpaTamGump_OnCommand));
}
private static void GrandpaTamGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new GrandpaTamGump( e.Mobile ) );
}
public GrandpaTamGump( Mobile owner ) : base( 50,50 )
{
//----------------------------------------------------------------------------------------------------
AddPage( 0 );
AddImageTiled( 54, 33, 369, 400, 2624 );
AddAlphaRegion( 54, 33, 369, 400 );
AddImageTiled( 416, 39, 44, 389, 203 );
//--------------------------------------Window size bar--------------------------------------------
AddImage( 97, 49, 9005 );
AddImageTiled( 58, 39, 29, 390, 10460 );
AddImageTiled( 412, 37, 31, 389, 10460 );
AddLabel( 140, 60, 0x34, "Message" );
AddHtml( 107, 140, 300, 230, "<BODY>" +
//----------------------/----------------------------------------------/
"<BASEFONT COLOR=YELLOW>Who are you?<BR><BR>You say you seek the artifact of our ancestors?<BR>" +
"<BASEFONT COLOR=YELLOW>Well I do believe I have a Piece but you must do me a favor first.<BR><BR>I have a chicken in my coop that lays a golden egg,but I have not the patience to get it from him<BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>If you can keep trying to you get one and bring it back to me I will give you the piece.<BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>I also have the last clue to the location of the other piece I will release to you.<BR><BR>Thank you for helping out an old man." +
"</BODY>", false, true);
// <BASEFONT COLOR=#7B6D20>
AddImage( 430, 9, 10441);
AddImageTiled( 40, 38, 17, 391, 9263 );
AddImage( 6, 25, 10421 );
AddImage( 34, 12, 10420 );
AddImageTiled( 94, 25, 342, 15, 10304 );
AddImageTiled( 40, 427, 415, 16, 10304 );
AddImage( -10, 314, 10402 );
AddImage( 56, 150, 10411 );
AddImage( 155, 120, 2103 );
AddImage( 136, 84, 96 );
AddButton( 225, 390, 0xF7, 0xF8, 0, GumpButtonType.Reply, 0 );
//--------------------------------------------------------------------------------------------------------------
}
public override void OnResponse( NetState state, RelayInfo info ) //Function for GumpButtonType.Reply Buttons
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0: //Case uses the ActionIDs defenied above. Case 0 defenies the actions for the button with the action id 0
{
//Cancel
from.SendMessage( "Unite The Artifacts!!!." );
break;
}
}
}
}
}

View File

@@ -0,0 +1,82 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Gumps
{
public class UncleJohnGump : Gump
{
public static void Initialize()
{
CommandSystem.Register("UncleJohnGump", AccessLevel.GameMaster, new CommandEventHandler(UncleJohnGump_OnCommand));
}
private static void UncleJohnGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new UncleJohnGump( e.Mobile ) );
}
public UncleJohnGump( Mobile owner ) : base( 50,50 )
{
//----------------------------------------------------------------------------------------------------
AddPage( 0 );
AddImageTiled( 54, 33, 369, 400, 2624 );
AddAlphaRegion( 54, 33, 369, 400 );
AddImageTiled( 416, 39, 44, 389, 203 );
//--------------------------------------Window size bar--------------------------------------------
AddImage( 97, 49, 9005 );
AddImageTiled( 58, 39, 29, 390, 10460 );
AddImageTiled( 412, 37, 31, 389, 10460 );
AddLabel( 140, 60, 0x34, "Message" );
AddHtml( 107, 140, 300, 230, "<BODY>" +
//----------------------/----------------------------------------------/
"<BASEFONT COLOR=YELLOW>So my neice sent ye here eh.<BR><BR>Yes, I do believe I have that item but first you must do me a favor!<BR>" +
"<BASEFONT COLOR=YELLOW>I have been crossing plant breeds to create a special green carrot.<BR><BR>Unfortunately everytime I try to harvest one those pesky rabbits steal it on me.<BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>Get me a green carrot from those ferocious beasts and i will give you what you seek.<BR>" +
"<BASEFONT COLOR=YELLOW>.<BR><BR>Be careful they can be quite a handful!<BR><BR>I will also give you a book in which i jotted down a clue to the other relative that I know of, hehe." +
"</BODY>", false, true);
// <BASEFONT COLOR=#7B6D20>
AddImage( 430, 9, 10441);
AddImageTiled( 40, 38, 17, 391, 9263 );
AddImage( 6, 25, 10421 );
AddImage( 34, 12, 10420 );
AddImageTiled( 94, 25, 342, 15, 10304 );
AddImageTiled( 40, 427, 415, 16, 10304 );
AddImage( -10, 314, 10402 );
AddImage( 56, 150, 10411 );
AddImage( 155, 120, 2103 );
AddImage( 136, 84, 96 );
AddButton( 225, 390, 0xF7, 0xF8, 0, GumpButtonType.Reply, 0 );
//--------------------------------------------------------------------------------------------------------------
}
public override void OnResponse( NetState state, RelayInfo info ) //Function for GumpButtonType.Reply Buttons
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0: //Case uses the ActionIDs defenied above. Case 0 defenies the actions for the button with the action id 0
{
//Cancel
from.SendMessage( "Save us all from them darn bunnies!." );
break;
}
}
}
}
}

View File

@@ -0,0 +1,77 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using System.Collections;
using Server.Multis;
using Server.Mobiles;
namespace Server.Items
{
public class AncientJewelryBox : Item
{
[Constructable]
public AncientJewelryBox() : this( null )
{
}
[Constructable]
public AncientJewelryBox ( string name ) : base ( 0x9A8 )
{
Name = "Ancient Jewelry Box";
LootType = LootType.Blessed;
Hue = 1288;
}
public AncientJewelryBox ( Serial serial ) : base ( serial )
{
}
public override void OnDoubleClick( Mobile m )
{
Item a = m.Backpack.FindItemByType( typeof(ArrianasDiamond) );
if ( a != null )
{
Item b = m.Backpack.FindItemByType( typeof(ArrianasClips) );
if ( b != null )
{
Item c = m.Backpack.FindItemByType( typeof(ArrianasHoops) );
if ( c != null )
{
m.AddToBackpack( new DiamondHoopEarrings() );
a.Delete();
b.Delete();
c.Delete();
m.SendMessage( "You Combine the knowledge of Arriana's ancestry into a Heirloom" );
this.Delete();
}
}
else
{
m.SendMessage( "You are missing something..." );
}
}
}
public override void Serialize ( GenericWriter writer)
{
base.Serialize ( writer );
writer.Write ( (int) 0);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize ( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class ArrianasClips : Item
{
[Constructable]
public ArrianasClips() : this( 1 )
{
}
[Constructable]
public ArrianasClips( int amount ) : base( 0xF8F )
{
Name = "Arrianas Clip";
Hue = 1154;
Weight = 0.1;
Amount = amount;
}
public ArrianasClips( 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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class ArrianasDiamond : Item
{
[Constructable]
public ArrianasDiamond() : this( 1 )
{
}
[Constructable]
public ArrianasDiamond( int amount ) : base( 0xF26 )
{
Name = "Arrianas Diamond";
Hue = 1154;
Weight = 0.1;
Amount = amount;
}
public ArrianasDiamond( 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();
}
}
}

View File

@@ -0,0 +1,49 @@
using System;
using Server;
namespace Server.Items
{
public class ArrianasEarrings : SilverEarrings
{
public override int ArtifactRarity{ get{ return 15; } }
[Constructable]
public ArrianasEarrings()
{
Name = "Arriana's Earrings";
Hue = 1154;
Attributes.NightSight = 1;
Attributes.Luck = 100;
Attributes.BonusStr = 5;
Attributes.BonusDex = 10;
Attributes.RegenStam = 2;
Resistances.Energy = 5;
Resistances.Fire = 5;
Resistances.Cold = 5;
Resistances.Poison = 5;
Resistances.Physical = 5;
}
public ArrianasEarrings( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class ArrianasHoops : Item
{
[Constructable]
public ArrianasHoops() : this( 1 )
{
}
[Constructable]
public ArrianasHoops( int amount ) : base( 0x1F09 )
{
Name = "Arrianas Hoops";
Hue = 1154;
Weight = 0.1;
Amount = amount;
}
public ArrianasHoops( 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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class DiamondHoopEarrings : Item
{
[Constructable]
public DiamondHoopEarrings() : this( 1 )
{
}
[Constructable]
public DiamondHoopEarrings( int amount ) : base( 0x1F07 )
{
Name = "Diamond Hoop Earrings";
Hue = 1154;
Weight = 0.1;
}
public DiamondHoopEarrings( 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();
}
}
}

View File

@@ -0,0 +1,74 @@
using System;
using Server;
namespace Server.Items
{
// books: Brown 0xFEF, Tan 0xFF0, Red 0xFF1, Blue 0xFF2,
// OpenSmall 0xFF3, Open 0xFF4, OpenOld 0xFBD, 0xFBE
public class GrandpaTamsJournal: BaseBook
{
private const string TITLE = "Grandpa Tam's Journal";
private const string AUTHOR = "Grandpa Tam";
private const int PAGES = 2;
private const bool WRITABLE = false;
[Constructable]
public GrandpaTamsJournal() : base( Utility.RandomList( 0xFEF, 0xFF0, 0xFF1, 0xFF2 ), TITLE, AUTHOR, PAGES, WRITABLE )
{
// NOTE: There are 8 lines per page and
// approx 22 to 24 characters per line.
// 0----+----1----+----2----+
int cnt = 0;
string[] lines;
lines = new string[]
{
"Auntie June lives....",
"In a little slice ",
"of *heaven*.",
"she's a good at growin",
"them there applers",
"wouldnt eat nutin that",
"ain't it's natrul color",
};
Pages[cnt++].Lines = lines;
lines = new string[]
{
"",
"",
"",
"",
"",
"",
"",
"",
};
Pages[cnt++].Lines = lines;
}
public GrandpaTamsJournal( Serial serial ) : base( serial )
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );
}
}
}

View File

@@ -0,0 +1,73 @@
using System;
using Server;
namespace Server.Items
{
// books: Brown 0xFEF, Tan 0xFF0, Red 0xFF1, Blue 0xFF2,
// OpenSmall 0xFF3, Open 0xFF4, OpenOld 0xFBD, 0xFBE
public class UncleJohnsBook: BaseBook
{
private const string TITLE = "Uncle Johns Ramblings";
private const string AUTHOR = "Uncle John";
private const int PAGES = 2;
private const bool WRITABLE = false;
[Constructable]
public UncleJohnsBook() : base( Utility.RandomList( 0xFEF, 0xFF0, 0xFF1, 0xFF2 ), TITLE, AUTHOR, PAGES, WRITABLE )
{
// NOTE: There are 8 lines per page and
// approx 22 to 24 characters per line.
// 0----+----1----+----2----+
int cnt = 0;
string[] lines;
lines = new string[]
{
"I Remember seeing ",
"mountains nearby.",
"hm I think I'm mixed up.",
"all I can remember",
"from visiting was Delucia",
"AID CLUE",
};
Pages[cnt++].Lines = lines;
lines = new string[]
{
"",
"",
"",
"",
"",
"",
"",
"",
};
Pages[cnt++].Lines = lines;
}
public UncleJohnsBook( Serial serial ) : base( serial )
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class blueapple : Item
{
[Constructable]
public blueapple() : this( 1 )
{
}
[Constructable]
public blueapple( int amount ) : base( 0x9D0 )
{
Name = "blue apple";
Hue = 6;
Weight = 0.1;
Amount = amount;
}
public blueapple( 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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class goldenegg : Item
{
[Constructable]
public goldenegg() : this( 1 )
{
}
[Constructable]
public goldenegg( int amount ) : base( 0x9B5 )
{
Name = "Golden egg";
Hue = 1701;
Weight = 0.1;
Amount = amount;
}
public goldenegg( 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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class greencarrot : Item
{
[Constructable]
public greencarrot() : this( 1 )
{
}
[Constructable]
public greencarrot( int amount ) : base( 0xC78 )
{
Name = "green carrot";
Hue = 462;
Weight = 0.1;
}
public greencarrot( 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();
}
}
}

View File

@@ -0,0 +1,133 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
using Server.Accounting;
using System.Collections.Generic;
namespace Server.Mobiles
{
[CorpseName( "Arriana corpse" )]
public class Arriana : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public Arriana()
{
Name = "Arriana Loveliss";
Title = "the Queens Maiden";
Body = 0x191;
CantWalk = true;
Hue = Utility.RandomSkinHue();
FancyDress fd = new FancyDress();
fd.Hue = 1172;
AddItem( fd );
Sandals s = new Sandals();
s.Hue = 1172;
AddItem( s );
AddItem( new LongHair(2213));
}
public Arriana( Serial serial ) : base( serial )
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries( from, list );
list.Add( new ArrianaEntry( from, this ) );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public class ArrianaEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public ArrianaEntry( Mobile from, Mobile giver ) : base( 6146, 3 )
{
m_Mobile = from;
m_Giver = giver;
}
public override void OnClick()
{
if( !( m_Mobile is PlayerMobile ) )
return;
PlayerMobile mobile = (PlayerMobile) m_Mobile;
{
if ( ! mobile.HasGump( typeof( ArrianasGump ) ) )
{
mobile.SendGump( new ArrianasGump( mobile ));
mobile.AddToBackpack( new AncientJewelryBox() );
}
}
}
}
public override bool OnDragDrop( Mobile from, Item dropped )
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
Account acct=(Account)from.Account;
bool DiamondHoopEarringsRecieved = Convert.ToBoolean( acct.GetTag("DiamondHoopEarringsRecieved") );
if ( mobile != null)
{
if( dropped is DiamondHoopEarrings )
{
if(dropped.Amount!=1)
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Restore the family heirloom!", mobile.NetState );
return false;
}
if ( !DiamondHoopEarringsRecieved ) //added account tag check
{
dropped.Delete();
mobile.AddToBackpack( new ArrianasEarrings() );
mobile.SendMessage( "Thank you for your help!" );
acct.SetTag( "DiamondHoopEarringsRecieved", "true" );
}
else //what to do if account has already been tagged
{
mobile.SendMessage("You are so kind to have taken the time to find our other jewelry, here is some gold for your troubles.");
mobile.AddToBackpack( new Gold( 1500 ) );
dropped.Delete();
}
}
else
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Why on earth would I want to have that?", mobile.NetState );
}
}
return false;
}
}
}

View File

@@ -0,0 +1,122 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
using System.Collections.Generic;
namespace Server.Mobiles
{
[CorpseName( "AuntieJune corpse" )]
public class AuntieJune : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public AuntieJune()
{
Name = "Auntie June";
Title = "the biofarmer";
Body = 0x191;
Hue = Utility.RandomSkinHue();
Robe r = new Robe();
r.Hue = 1156;
AddItem( r );
AddItem( new LongHair(91));
}
public AuntieJune( Serial serial ) : base( serial )
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries( from, list );
list.Add( new AuntieJuneEntry( from, this ) );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public class AuntieJuneEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public AuntieJuneEntry( Mobile from, Mobile giver ) : base( 6146, 3 )
{
m_Mobile = from;
m_Giver = giver;
}
public override void OnClick()
{
if( !( m_Mobile is PlayerMobile ) )
return;
PlayerMobile mobile = (PlayerMobile) m_Mobile;
{
if ( ! mobile.HasGump( typeof( AuntieJuneGump ) ) )
{
mobile.SendGump( new AuntieJuneGump( mobile ));
//
}
}
}
}
public override bool OnDragDrop( Mobile from, Item dropped )
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
if ( mobile != null)
{
if( dropped is blueapple )
{
if(dropped.Amount!=1)
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "ahhh my apple!", mobile.NetState );
return false;
}
dropped.Delete();
mobile.AddToBackpack( new ArrianasClips() );
mobile.SendMessage( "The Piece is now yours, now join them and bring it back to arriana!" );
return true;
}
else if ( dropped is blueapple )
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, 1054071, mobile.NetState );
return false;
}
else
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Why on earth would I want to have that?", mobile.NetState );
}
}
return false;
}
}
}

View File

@@ -0,0 +1,134 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
using System.Collections.Generic;
namespace Server.Mobiles
{
[CorpseName( "Grandpa Tam's corpse" )]
public class GrandpaTam : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public GrandpaTam()
{
Name = "Grandpa Tam";
Title = "the old coot";
Body = 0x190;
Hue = Utility.RandomSkinHue();
Boots b = new Boots();
b.Hue = 1;
AddItem( b );
LongPants lp = new LongPants();
lp.Hue = 292;
AddItem( lp );
FancyShirt fs = new FancyShirt();
fs.Hue = 1153;
AddItem( fs );
AddItem( new LongHair(1150));
}
public GrandpaTam( Serial serial ) : base( serial )
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries( from, list );
list.Add( new GrandpaTamEntry( from, this ) );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public class GrandpaTamEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public GrandpaTamEntry( Mobile from, Mobile giver ) : base( 6146, 3 )
{
m_Mobile = from;
m_Giver = giver;
}
public override void OnClick()
{
if( !( m_Mobile is PlayerMobile ) )
return;
PlayerMobile mobile = (PlayerMobile) m_Mobile;
{
if ( ! mobile.HasGump( typeof( GrandpaTamGump ) ) )
{
mobile.SendGump( new GrandpaTamGump( mobile ));
//
}
}
}
}
public override bool OnDragDrop( Mobile from, Item dropped )
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
if ( mobile != null)
{
if( dropped is goldenegg )
{
if(dropped.Amount!=1)
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "my egg!", mobile.NetState );
return false;
}
dropped.Delete();
mobile.AddToBackpack( new ArrianasHoops() );
mobile.AddToBackpack( new GrandpaTamsJournal() );
mobile.SendMessage( "Good luck to you!" );
return true;
}
else if ( dropped is goldenegg )
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, 1054071, mobile.NetState );
return false;
}
else
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Why on earth would I want to have that?", mobile.NetState );
}
}
return false;
}
}
}

View File

@@ -0,0 +1,141 @@
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a savage bunny corpse" )]
public class SavageBunny : BaseCreature
{
[Constructable]
public SavageBunny() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.1, 0.2 )
{
Name = "a savage bunny";
Body = 205;
Hue = 1166;
SetStr( 15 );
SetDex( 2000 );
SetInt( 1000 );
SetHits( 200 );
SetStam( 500 );
SetMana( 0 );
SetDamage( 1 );
SetDamageType( ResistanceType.Physical, 100 );
SetSkill( SkillName.MagicResist, 200.0 );
SetSkill( SkillName.Tactics, 5.0 );
SetSkill( SkillName.Wrestling, 5.0 );
Fame = 1000;
Karma = 0;
VirtualArmor = 4;
switch ( Utility.Random( 5 ))
{
case 0: PackItem( new greencarrot() ); break;
}
DelayBeginTunnel();
}
public class BunnyHole : Item
{
public BunnyHole() : base( 0x913 )
{
Movable = false;
Hue = 1;
Name = "a mysterious rabbit hole";
Timer.DelayCall( TimeSpan.FromSeconds( 40.0 ), new TimerCallback( Delete ) );
}
public BunnyHole( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize(writer);
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Delete();
}
}
public virtual void DelayBeginTunnel()
{
Timer.DelayCall( TimeSpan.FromMinutes( 3.0 ), new TimerCallback( BeginTunnel ) );
}
public virtual void BeginTunnel()
{
if ( Deleted )
return;
new BunnyHole().MoveToWorld( Location, Map );
Frozen = true;
Say( "* The bunny begins to dig a tunnel back to its underground lair *" );
PlaySound( 0x247 );
Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback( Delete ) );
}
public override int Meat{ get{ return 1; } }
public override int Hides{ get{ return 1; } }
public override bool BardImmune{ get{ return true; } }
public SavageBunny( Serial serial ) : base( serial )
{
}
public override int GetAttackSound()
{
return 0xC9;
}
public override int GetHurtSound()
{
return 0xCA;
}
public override int GetDeathSound()
{
return 0xCB;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize(writer);
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
DelayBeginTunnel();
}
}
}

View File

@@ -0,0 +1,138 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
using System.Collections.Generic;
namespace Server.Mobiles
{
[CorpseName( "UncleJohn corpse" )]
public class UncleJohn : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public UncleJohn()
{
Name = "Uncle John";
Title = "the farming fool";
Body = 0x190;
Hue = Utility.RandomSkinHue();
Boots b = new Boots();
b.Hue = 1;
AddItem( b );
LongPants lp = new LongPants();
lp.Hue = 292;
AddItem( lp );
FancyShirt fs = new FancyShirt();
fs.Hue = 1153;
AddItem( fs );
Pitchfork pf = new Pitchfork();
AddItem( pf );
AddItem( new LongHair(1337));
}
public UncleJohn( Serial serial ) : base( serial )
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries( from, list );
list.Add( new UncleJohnEntry( from, this ) );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public class UncleJohnEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public UncleJohnEntry( Mobile from, Mobile giver ) : base( 6146, 3 )
{
m_Mobile = from;
m_Giver = giver;
}
public override void OnClick()
{
if( !( m_Mobile is PlayerMobile ) )
return;
PlayerMobile mobile = (PlayerMobile) m_Mobile;
{
if ( ! mobile.HasGump( typeof( UncleJohnGump ) ) )
{
mobile.SendGump( new UncleJohnGump( mobile ));
//
}
}
}
}
public override bool OnDragDrop( Mobile from, Item dropped )
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
if ( mobile != null)
{
if( dropped is greencarrot )
{
if(dropped.Amount!=1)
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "thanks for helping with that pesky rabbit!", mobile.NetState );
return false;
}
dropped.Delete();
mobile.AddToBackpack( new ArrianasDiamond() );
mobile.AddToBackpack( new UncleJohnsBook() );
mobile.SendMessage( "Thanks for getting my carrot!" );
return true;
}
else if ( dropped is greencarrot )
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, 1054071, mobile.NetState );
return false;
}
else
{
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Why on earth would I want to have that?", mobile.NetState );
}
}
return false;
}
}
}

View File

@@ -0,0 +1,75 @@
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a chicken corpse" )]
public class GoldenChicken : BaseCreature
{
[Constructable]
public GoldenChicken() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
Name = "a chicken";
Body = 0xD0;
BaseSoundID = 0x6E;
SetStr( 5 );
SetDex( 15 );
SetInt( 5 );
SetHits( 3 );
SetMana( 0 );
SetDamage( 1 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 1, 5 );
SetSkill( SkillName.MagicResist, 4.0 );
SetSkill( SkillName.Tactics, 5.0 );
SetSkill( SkillName.Wrestling, 5.0 );
Fame = 150;
Karma = 0;
VirtualArmor = 2;
Tamable = false;
}
public override void OnDoubleClick( Mobile from )
{
goldenegg ge = new goldenegg();
ge.MoveToWorld( this.Location, this.Map );
}
public override int Meat{ get{ return 1; } }
public override MeatType MeatType{ get{ return MeatType.Bird; } }
public override FoodType FavoriteFood{ get{ return FoodType.GrainsAndHay; } }
public override int Feathers{ get{ return 25; } }
public GoldenChicken(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int) 0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,74 @@
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a chicken corpse" )]
public class NonGoldenChicken : BaseCreature
{
[Constructable]
public NonGoldenChicken() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
Name = "a chicken";
Body = 0xD0;
BaseSoundID = 0x6E;
SetStr( 5 );
SetDex( 15 );
SetInt( 5 );
SetHits( 3 );
SetMana( 0 );
SetDamage( 1 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 1, 5 );
SetSkill( SkillName.MagicResist, 4.0 );
SetSkill( SkillName.Tactics, 5.0 );
SetSkill( SkillName.Wrestling, 5.0 );
Fame = 150;
Karma = 0;
VirtualArmor = 2;
Tamable = false;
}
public override void OnDoubleClick( Mobile from )
{
Eggs eg = new Eggs();
eg.MoveToWorld( this.Location, this.Map );
}
public override int Meat{ get{ return 1; } }
public override MeatType MeatType{ get{ return MeatType.Bird; } }
public override FoodType FavoriteFood{ get{ return FoodType.GrainsAndHay; } }
public override int Feathers{ get{ return 25; } }
public NonGoldenChicken(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int) 0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}