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,41 @@
using System;
using Server.Network;
using Server.Items;
namespace Server.Items
{
public class GoldenFleece : BaseCloak
{
[Constructable]
public GoldenFleece() : base( 0x1515 )
{
Name = "Golden Fleece";
Weight = 5.0;
Hue = 2213;
LootType = LootType.Blessed;
Attributes.BonusStr = 25;
Attributes.RegenHits = 5;
}
public GoldenFleece( 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 @@
// Golden thread for Scottie's Quest
// By GreyWolf
// Editing help from PrplBeast
// Created Oct 6, 2007
using System;
using Server.Items;
namespace Server.Items
{
public class GoldenThread : Item
{
[Constructable]
public GoldenThread() : base(0xFA0)
{
Name = "Golden Spools of Thread";
Hue = 2213;
Stackable = true;
Amount = 10;
}
public GoldenThread(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,36 @@
using System; using Server; using Server.Commands;using Server.Gumps; using Server.Network;using Server.Items;using Server.Mobiles;namespace Server.Gumps
{ public class GoldenThreadQuestGump : Gump {
public static void Initialize() {
CommandSystem.Register( "GoldenThreadQuestGump", AccessLevel.GameMaster, new CommandEventHandler( GoldenThreadQuestGump_OnCommand ) );
}
private static void GoldenThreadQuestGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new GoldenThreadQuestGump( e.Mobile ) ); }
public GoldenThreadQuestGump( 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, "Golden Thread Quest" );
//----------------------/----------------------------------------------/
AddHtml( 107, 140, 300, 230, " < BODY > " +
"<BASEFONT COLOR=YELLOW>Search for Scottie's attacker, a wolf<BR>" +
"<BASEFONT COLOR=YELLOW>in the clearing SouthWest of Brittain.<BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW>Kill the wolf and retrieve the 10 <BR>" +
"<BASEFONT COLOR=YELLOW>special threads Scottie needs to use <BR>" +
"<BASEFONT COLOR=YELLOW>in order to make his special items.<BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW>Once you have killed the wolf and <BR>" +
"<BASEFONT COLOR=YELLOW>retrieved the threads, bring them back <BR>" +
"<BASEFONT COLOR=YELLOW> to Scottie for the reward!<BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"</BODY>", false, true);
//----------------------/----------------------------------------------/
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 ){ Mobile from = state.Mobile; switch ( info.ButtonID ) { case 0:{ break; }}}}}

View File

@@ -0,0 +1,160 @@
// Created by GreyWolf.
// Help from PrplBeast
// Finished Oct. 14, 2007
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("Scottie's corpse")]
public class Scottie : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public Scottie()
{
///////////STR/DEX/INT
InitStats(31, 41, 51);
///////////name
Name = "Scottie";
///////////title
Title = "";
///////////sex. 0x191 is female, 0x190 is male.
Body = 0x190;
///////////skincolor
Hue = Utility.RandomSkinHue();
///////////Random hair and haircolor
Utility.AssignRandomHair(this);
///////////clothing and hues
AddItem(new Server.Items.Shirt(Utility.RandomBlueHue()));
AddItem(new Server.Items.LongPants(Utility.RandomBlueHue()));
AddItem(new Server.Items.Sandals(Utility.RandomBlueHue()));
///////////immortal and frozen to-the-spot features below:
Blessed = true;
CantWalk = true;
///////////Adding a backpack
Container pack = new Backpack();
pack.DropItem(new Gold(250, 300));
pack.Movable = false;
AddItem(pack);
}
public Scottie(Serial serial)
: base(serial)
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries( from, list );
list.Add(new ScottieEntry(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 ScottieEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public ScottieEntry(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;
{
///////////gump name
if (!mobile.HasGump(typeof(GoldenThreadQuestGump)))
{
mobile.SendGump(new GoldenThreadQuestGump(mobile));
}
}
}
}
public override bool OnDragDrop( Mobile from, Item dropped )
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
Account acct=(Account)from.Account;
bool GoldenFleeceRecieved = Convert.ToBoolean(acct.GetTag("GoldenFleeceRecieved"));
if ( mobile != null)
{
///////////item to be dropped
if (dropped is GoldenThread)
{
if(dropped.Amount!=10)
{
{ this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "There's not the right amount of thread here!", mobile.NetState); return false; }
dropped.Delete();
}
if (!GoldenFleeceRecieved) //added account tag check
{
///////////the reward
mobile.AddToBackpack(new Gold(1500));
mobile.AddToBackpack(new GoldenFleece());
mobile.SendMessage("Thank you for your help!");
acct.SetTag("GoldenFleeceRecieved", "true");
dropped.Delete(); // added to make it so it would delete the thread on first time completing - GreyWolf.
}
else //what to do if account has already been tagged
{
mobile.SendMessage("You already did this for me... oh well, suppose I should give you some gold anyway!");
mobile.AddToBackpack( new Gold( 500 ) );
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,65 @@
// Golden thread for Scottie's Quest
// By GreyWolf
//
// Created Oct 6, 2007
using System;
using Server;
using Server.Items;
using Server.Mobiles;
namespace Server.Mobiles
{
[CorpseName( "Scottie's Wolf corpse" )]
public class ScottiesWolf : BaseCreature
{
[Constructable]
public ScottiesWolf() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
this.Name = "Scottie's Wolf";
this.Hue = 2213;
this.Body = 23;
this.BaseSoundID = 229;
this.SetStr( 90, 111 );
this.SetDex( 90, 104 );
this.SetInt( 30, 40 );
this.SetHits( 80, 120 );
this.SetDamage( 5, 24 );
this.SetDamageType( ResistanceType.Physical, 100 );
this.SetResistance( ResistanceType.Physical, 15 );
this.SetResistance( ResistanceType.Cold, 5 );
this.SetResistance( ResistanceType.Fire, 2 );
this.SetResistance( ResistanceType.Energy, 4 );
this.SetResistance( ResistanceType.Poison, 3 );
this.Fame = 3500;
this.Karma = -3500;
this.VirtualArmor = 25;
}
public override FoodType FavoriteFood{ get{ return FoodType.Meat; } }
public override void OnDeath( Container c )
{
base.OnDeath( c );
c.DropItem( new GoldenThread());
}
public ScottiesWolf(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();
}
}
}