Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Gumps
|
||||
{
|
||||
public class JasminFinishGump : Gump
|
||||
{
|
||||
public JasminFinishGump()
|
||||
: base( 200, 200 )
|
||||
{
|
||||
this.Closable=true;
|
||||
this.Disposable=true;
|
||||
this.Dragable=true;
|
||||
this.Resizable=false;
|
||||
this.AddPage(0);
|
||||
this.AddBackground(0, 0, 353, 118, 9270);
|
||||
this.AddAlphaRegion( 2, 2, 349, 114 );
|
||||
// this.AddItem(297, 38, 4168);
|
||||
this.AddLabel(118, 15, 1149, @"Quest Complete");
|
||||
this.AddLabel(48, 39, 255, @"She thanks you profusely.");
|
||||
this.AddLabel(48, 55, 255, @"Here take this game, and some gold.");
|
||||
this.AddLabel(48, 71, 255, @"Thank you again!");
|
||||
// this.AddItem(12, 38, 4171);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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 JasminGump : Gump
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
Server.Commands.CommandSystem.Register( "JasminGump", AccessLevel.GameMaster, new CommandEventHandler( JasminGump_OnCommand ) );
|
||||
}
|
||||
|
||||
private static void JasminGump_OnCommand( CommandEventArgs e )
|
||||
{
|
||||
e.Mobile.SendGump( new JasminGump( e.Mobile ) );
|
||||
}
|
||||
|
||||
public JasminGump( 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, "Marble Maddness" );
|
||||
|
||||
|
||||
AddHtml( 107, 140, 300, 230, "<BODY>" +
|
||||
//----------------------/----------------------------------------------/
|
||||
"<BASEFONT COLOR=YELLOW>*Jasmin glances up with a tears in her eyes-she sniffles.*<BR><BR>Great warrior - I am from a small town in the Lost Lands called Papua.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>I was playing marbles with my friends, and a group of rotten creatures that look like Lizardmen stole our marbles and ran away<BR><BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>I managed to keep up with them until they went into a secret tunnel.. then I ended up here.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Then the Lizardmen all ran back down the steps and into the tunnel under Marble Island.<BR><BR>But I'm too scared to go back down there in case the Lizardmen are hiding and waiting for me - they could catch me and eat me all up<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Will you make sure that the tunnels are clear and safe?, And if you can, get back some of the marbles that were stolen, the Lizardmen should still be carrying them and I would love to have them back - especially the big colourful one that was a present from my best friend.<BR><BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Head into the tunnels and kill the lizardmen until you get the big colourful marble.<BR><BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Please, will you help me ?, so I can go home.<BR><BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Sorry I don't remember which Lizardman stole my marbles, but I am sure you find it for me.<BR><BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Bring me my big colourful marble and I will reward you as best I can.<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 my big colourful marble" );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
|
||||
public class BigColourfulMarble : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BigColourfulMarble() : this( null )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BigColourfulMarble( string name ) : base( 0x1870 )
|
||||
{
|
||||
Name = "a big colourful marble";
|
||||
Weight = 1.0;
|
||||
Hue = Utility.RandomBirdHue();
|
||||
}
|
||||
|
||||
public BigColourfulMarble( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CKCheckerBoard : BaseBoard
|
||||
{
|
||||
public override int LabelNumber{ get{ return 1016449; } } // a checker board
|
||||
|
||||
public override int DefaultGumpID{ get{ return 0x91A; } }
|
||||
|
||||
public override Rectangle2D Bounds
|
||||
{
|
||||
get{ return new Rectangle2D( 0, 0, 282, 210 ); }
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CKCheckerBoard() : base( 0xFA6 )
|
||||
{
|
||||
Name = "CK Checkerboard";
|
||||
Weight = 1.0;
|
||||
Hue = Utility.RandomBirdHue();
|
||||
|
||||
}
|
||||
|
||||
public override void CreatePieces()
|
||||
{
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
{
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 45, 25 );
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 70, 50 );
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 45, 75 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 70, 150 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 45, 175 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 70, 200 );
|
||||
}
|
||||
}
|
||||
|
||||
public CKCheckerBoard( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a maddening horror corpse" )]
|
||||
public class MaddeningHorror1 : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public MaddeningHorror1() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a maddening horror";
|
||||
Body = 721;
|
||||
|
||||
SetStr( 285 );
|
||||
SetDex( 80 );
|
||||
SetInt( 17 );
|
||||
|
||||
SetHits( 330 );
|
||||
|
||||
SetDamage( 15, 27 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 20 );
|
||||
SetDamageType( ResistanceType.Cold, 40 );
|
||||
SetDamageType( ResistanceType.Energy, 40 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 55 );
|
||||
SetResistance( ResistanceType.Fire, 29 );
|
||||
SetResistance( ResistanceType.Cold, 50 );
|
||||
SetResistance( ResistanceType.Poison, 41 );
|
||||
SetResistance( ResistanceType.Energy, 57 );
|
||||
|
||||
SetSkill( SkillName.EvalInt, 125.9 );
|
||||
SetSkill( SkillName.Magery, 120.4 );
|
||||
SetSkill( SkillName.Meditation, 100.8 );
|
||||
SetSkill( SkillName.MagicResist, 185.5 );
|
||||
SetSkill( SkillName.Tactics, 94.0 );
|
||||
SetSkill( SkillName.Wrestling, 87.4 );
|
||||
|
||||
}
|
||||
|
||||
public override int GetIdleSound() { return 1553; }
|
||||
public override int GetAngerSound() { return 1550; }
|
||||
public override int GetHurtSound() { return 1552; }
|
||||
public override int GetDeathSound() { return 1551; }
|
||||
|
||||
public MaddeningHorror1( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server.Misc;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a lizardman corpse" )]
|
||||
public class ThievingLizardman : BaseCreature
|
||||
{
|
||||
public override InhumanSpeech SpeechType{ get{ return InhumanSpeech.Lizardman; } }
|
||||
|
||||
[Constructable]
|
||||
public ThievingLizardman() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = NameList.RandomName( "lizardman" );
|
||||
Body = Utility.RandomList( 35, 36 );
|
||||
BaseSoundID = 417;
|
||||
|
||||
SetStr( 196, 220 );
|
||||
SetDex( 86, 105 );
|
||||
SetInt( 36, 60 );
|
||||
|
||||
SetHits( 158, 172 );
|
||||
|
||||
SetDamage( 7, 9 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 25, 30 );
|
||||
SetResistance( ResistanceType.Fire, 5, 10 );
|
||||
SetResistance( ResistanceType.Cold, 5, 10 );
|
||||
SetResistance( ResistanceType.Poison, 10, 20 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 35.1, 60.0 );
|
||||
SetSkill( SkillName.Tactics, 55.1, 80.0 );
|
||||
SetSkill( SkillName.Wrestling, 50.1, 70.0 );
|
||||
|
||||
Fame = 1800;
|
||||
Karma = -1800;
|
||||
|
||||
VirtualArmor = 68;
|
||||
|
||||
PackGold( 420, 690 );
|
||||
if (Utility.RandomDouble() < .50 ) // generates random less than 1
|
||||
PackItem( new BigColourfulMarble() );
|
||||
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Meager, 4 );
|
||||
// TODO: weapon
|
||||
}
|
||||
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override int Meat{ get{ return 1; } }
|
||||
public override int Hides{ get{ return 12; } }
|
||||
public override HideType HideType{ get{ return HideType.Spined; } }
|
||||
|
||||
public ThievingLizardman( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
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( "Jasmin's Corpse" )]
|
||||
public class Jasmin : Mobile
|
||||
{
|
||||
public virtual bool IsInvulnerable{ get{ return true; } }
|
||||
[Constructable]
|
||||
public Jasmin()
|
||||
{
|
||||
Name = "Jasmin";
|
||||
Title = "the Lost little Girl";
|
||||
Body = 0x191;
|
||||
CantWalk = true;
|
||||
Hue = 0x83F8;
|
||||
AddItem( new Server.Items.FancyDress() );
|
||||
AddItem( new Server.Items.Sandals() );
|
||||
|
||||
int hairHue = 1741;
|
||||
|
||||
switch ( Utility.Random( 1 ) )
|
||||
{
|
||||
case 0: AddItem( new LongHair( hairHue ) ); break;
|
||||
}
|
||||
|
||||
Blessed = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Jasmin( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{
|
||||
base.GetContextMenuEntries( from, list );
|
||||
list.Add( new JasminEntry( 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 JasminEntry : ContextMenuEntry
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
private Mobile m_Giver;
|
||||
|
||||
public JasminEntry( 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( JasminGump ) ) )
|
||||
{
|
||||
mobile.SendGump( new JasminGump( mobile ));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
Mobile m = from;
|
||||
PlayerMobile mobile = m as PlayerMobile;
|
||||
|
||||
if ( mobile != null)
|
||||
{
|
||||
if( dropped is BigColourfulMarble )
|
||||
{
|
||||
if(dropped.Amount!=1)
|
||||
{
|
||||
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "No, that's not it...", mobile.NetState );
|
||||
return false;
|
||||
}
|
||||
|
||||
dropped.Delete();
|
||||
mobile.AddToBackpack( new CKCheckerBoard() );
|
||||
mobile.AddToBackpack( new Gold( 2000 ));
|
||||
mobile.SendGump( new JasminFinishGump());
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else if ( dropped is BigColourfulMarble)
|
||||
{
|
||||
this.PrivateOverheadMessage( MessageType.Regular, 1153, 1054071, mobile.NetState );
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "Oh no, I have no need of this, kind warrior!", mobile.NetState );
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user