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,113 @@
using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a Berserker corpse" )]
public class Berserker : BaseCreature
{
public override bool ClickTitle{ get{ return false; } }
public override bool ShowFameTitle{ get{ return false; } }
[Constructable]
public Berserker() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Title = ", the Berserker";
Hue = 0;
BaseSoundID = 357;
if ( this.Female = Utility.RandomBool() )
{
Body = 0x191;
Name = NameList.RandomName( "female" );
}
else
{
Body = 0x190;
Name = NameList.RandomName( "male" );
}
SetStr( 476, 505 );
SetDex( 76, 95 );
SetInt( 11, 25 );
SetHits( 386, 403 );
SetDamage( 6, 12 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 45, 60 );
SetResistance( ResistanceType.Fire, 50, 60 );
SetResistance( ResistanceType.Cold, 30, 40 );
SetResistance( ResistanceType.Poison, 20, 30 );
SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.Fencing, 166.0, 197.5 );
SetSkill( SkillName.Macing, 165.0, 187.5 );
SetSkill( SkillName.MagicResist, 125.0, 147.5 );
SetSkill( SkillName.Swords, 165.0, 187.5 );
SetSkill( SkillName.Tactics, 165.0, 187.5 );
SetSkill( SkillName.Wrestling, 115.0, 137.5 );
Fame = 1000;
Karma = -1000;
AddItem( new Sandals( Utility.RandomNeutralHue() ) );
AddItem( new DeerMask() );
AddItem( new BoneGloves() );
PackItem( new Gold( 1000, 2500 ) );
PackItem( new BloodyBerserkerSkull() );
//if ( 0.5 > Utility.RandomDouble() )
//PackItem( new AnkhGloves() );
switch ( Utility.Random( 7 ))
{
case 0: AddItem( new Longsword() ); break;
case 1: AddItem( new Cutlass() ); break;
case 2: AddItem( new Broadsword() ); break;
case 3: AddItem( new Axe() ); break;
case 4: AddItem( new Club() ); break;
case 5: AddItem( new Dagger() ); break;
case 6: AddItem( new Spear() ); break;
}
Utility.AssignRandomHair( this );
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
AddLoot( LootPack.Average, 2 );
AddLoot( LootPack.MedScrolls, 2 );
}
public override bool AlwaysMurderer{ get{ return true; } }
public override bool CanRummageCorpses{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override int TreasureMapLevel{ get{ return 4; } }
public override int Meat{ get{ return 1; } }
public Berserker( 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,107 @@
/* This file was created with
Ilutzio's Questmaker. Enjoy! */
using System;
using System.Collections;
using System.Collections.Generic;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
namespace Server.Mobiles
{
[CorpseName("Ike's Corpse")]
public class Ike : Mobile
{
public virtual bool IsInvulnerable { get { return true; } }
[Constructable]
public Ike()
{
///////////STR/DEX/INT
InitStats(31, 41, 51);
///////////name
Name = "Ike";
///////////title
Title = "The Angry";
///////////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.LongPants(Utility.RandomBlueHue()));
AddItem(new Server.Items.Sandals(Utility.RandomGreenHue()));
///////////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 Ike(Serial serial) : base(serial) { }
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{ base.GetContextMenuEntries(from, list); list.Add(new IkeEntry(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 IkeEntry : ContextMenuEntry
{
private Mobile m_Mobile; private Mobile m_Giver;
public IkeEntry(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(BerserkersQuestGump)))
{
mobile.SendGump(new BerserkersQuestGump(mobile));
}
}
}
}
public override bool OnDragDrop(Mobile from, Item dropped)
{
Mobile m = from; PlayerMobile mobile = m as PlayerMobile;
if (mobile != null)
{
///////////item to be dropped
if (dropped is BloodyBerserkerSkull)
{
if (dropped.Amount != 10)
{ this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "There's not the right amount here!", mobile.NetState); return false; }
dropped.Delete();
///////////the reward
mobile.AddToBackpack(new Gold(666));
mobile.AddToBackpack(new Vengeance());
///////////thanks message
this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Thank You. It Helps Some But It Will Never Mend My Pain...", mobile.NetState);
return true;
}
else if (dropped is Whip) { this.PrivateOverheadMessage(MessageType.Regular, 1153, 1054071, mobile.NetState); return false; } else { this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I have no need for this...", mobile.NetState); }
}
return false;
}
}
}

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 BerserkersQuestGump : Gump {
public static void Initialize() {
CommandSystem.Register( "BerserkersQuestGump", AccessLevel.GameMaster, new CommandEventHandler( BerserkersQuestGump_OnCommand ) );
}
private static void BerserkersQuestGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new BerserkersQuestGump( e.Mobile ) ); }
public BerserkersQuestGump( 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, "Berserker Rampage" );
//----------------------/----------------------------------------------/
AddHtml( 107, 140, 300, 230, " < BODY > " +
"<BASEFONT COLOR=YELLOW>Ike Looks At You With Fire In His Eyes<BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW>So you wanna know why Im so angery?<BR>" +
"<BASEFONT COLOR=YELLOW>If Berserkers killed your<BR>" +
"<BASEFONT COLOR=YELLOW>wife and daughter infront of you and <BR>" +
"<BASEFONT COLOR=YELLOW>you couldnt do anything for them. It<BR>" +
"<BASEFONT COLOR=YELLOW>leaves a horrible taste in your mouth<BR>" +
"<BASEFONT COLOR=YELLOW>and nightmares in your daily life. <BR>" +
"<BASEFONT COLOR=YELLOW>Kill Ten Of Them For Me!!!<BR>" +
"<BASEFONT COLOR=YELLOW>If you would like to help me out go <BR>" +
"<BASEFONT COLOR=YELLOW>show those berserkers east of Hythloth Dungeon <BR>" +
"<BASEFONT COLOR=YELLOW>the power of vengeance. They camp in<BR>" +
"<BASEFONT COLOR=YELLOW>the small area east of Hythloth. to<BR>" +
"<BASEFONT COLOR=YELLOW>Bring me back ten of their skulls.<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,49 @@
/* This file was created with
Ilutzio's Questmaker. Enjoy! */
using System;
using Server;
namespace Server.Items
{
public class BloodyBerserkerSkull : Item
{
[Constructable]
public BloodyBerserkerSkull() : this(1)
{ }
[Constructable]
public BloodyBerserkerSkull(int amountFrom, int amountTo) : this(Utility.RandomMinMax(amountFrom, amountTo))
{ }
[Constructable]
///////////The hexagon value ont he line below is the ItemID
public BloodyBerserkerSkull(int amount) : base(6883)
{
///////////Item name
Name = "Bloody Berserker Skull";
///////////Item hue
Hue = 0x845;
///////////Stackable
Stackable = true;
///////////Weight of one item
Weight = 0.01;
Amount = amount;
}
public BloodyBerserkerSkull(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,7 @@
?:ASTRO DAEMON SCRIPTS:?
Quest Department
You have downloaded the Berserker Quest.
.:Notes:.
To add the quest giver just [add ike. Also the way the quest is set up he is to be placed near the road to the graveyard in britian. Feel free to edit the script however you need just don't claim it as yours.

View File

@@ -0,0 +1,43 @@
using System;
using Server;
namespace Server.Items
{
public class Vengeance : Spellbook
{
public override int LabelNumber { get { return 1070971; } } // Tome of Lost Knowledge
[Constructable]
public Vengeance() : base()
{
Name = "Vengeance";
LootType = LootType.Blessed;
Hue = 1161;
SkillBonuses.SetValues( 0, SkillName.Magery, 10.0 );
Attributes.BonusInt = 15;
Attributes.CastRecovery = 3;
Attributes.CastSpeed = 2;
Attributes.LowerManaCost = 30;
Attributes.SpellDamage = 15;
}
public Vengeance( 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();
}
}
}