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;namespace Server.Items
{
public class HeadOfMondain : Item
{
[Constructable]
public HeadOfMondain() : this( 1 )
{}
[Constructable]
public HeadOfMondain( int amountFrom, int amountTo ) : this( Utility.RandomMinMax( amountFrom, amountTo ) )
{}
[Constructable]
///////////The hexagon value ont he line below is the ItemID
public HeadOfMondain( int amount ) : base( 0x1DA0 )
{
///////////Item name
Name = "Head Of Mondain";
///////////Item hue
Hue = 0x0;
///////////Stackable
Stackable = false;
///////////Weight of one item
Weight = 0.01;
Amount = amount;
}
public HeadOfMondain( 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,69 @@
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( "Derteran's Corpse" )]public class Derteran : Mobile{public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]public Derteran(){
///////////STR/DEX/INT
InitStats( 31, 41, 51 );
///////////name
Name = "Derteran";
///////////title
Title = "King Of Sosaria";
///////////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.Robe( Utility.RandomBlueHue() ) );
AddItem( new Server.Items.ThighBoots( Utility.RandomBlueHue() ) );
AddItem( new Server.Items.Cloak( Utility.RandomBlueHue() ) );
AddItem( new MondainsBlade() );
///////////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 Derteran( Serial serial ) : base( serial ){}
public override void GetContextMenuEntries( Mobile from, List<ContextMenuEntry> list )
{ base.GetContextMenuEntries( from, list ); list.Add( new DerteranEntry( 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 DerteranEntry : ContextMenuEntry{private Mobile m_Mobile;private Mobile m_Giver;
public DerteranEntry( 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( MondaneQuestGump ) ) ){
mobile.SendGump( new MondaneQuestGump( 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 HeadOfMondain ){if(dropped.Amount!=1)
{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( 2000 ) );
mobile.AddToBackpack( new MondainsBlade( ) );
///////////thanks message
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "I Thank You And As Promised....", 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 MondaneQuestGump : Gump {
public static void Initialize() {
CommandSystem.Register( "MondaneQuestGump", AccessLevel.GameMaster, new CommandEventHandler( MondaneQuestGump_OnCommand ) );
}
private static void MondaneQuestGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new MondaneQuestGump( e.Mobile ) ); }
public MondaneQuestGump( 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, "Mondain Must Die!!!" );
//----------------------/----------------------------------------------/
AddHtml( 107, 140, 300, 230, " < BODY > " +
"<BASEFONT COLOR=YELLOW>I Am The King Of These Lands And I Wish<BR>" +
"<BASEFONT COLOR=YELLOW>To Ask You To Retrive Mondains Head. <BR>" +
"<BASEFONT COLOR=YELLOW>What Will You Get In Return U Ask Hmm..<BR>" +
"<BASEFONT COLOR=YELLOW>What About My Sword? U Could<BR>" +
"<BASEFONT COLOR=YELLOW>Find Him Deep Within Deceit In Trammel<BR>" +
"<BASEFONT COLOR=YELLOW>I Thank Thee Ahead Of Time.<BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW><BR>" +
"<BASEFONT COLOR=YELLOW>Now Go And Bring Me His Head<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,78 @@
using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( " corpse of a Mondain The Wizard" )]
public class MondainTheWizard : BaseCreature
{
[Constructable]
public MondainTheWizard() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "Mondain";
Title = "The Wizard";
Hue = 0;
Body = 400;
BaseSoundID = 1154;
SetStr( 200 );
SetDex( 200 );
SetInt( 200 );
SetHits( 15000 );
SetDamage( 35 );
SetDamageType( ResistanceType.Physical, 69 );
SetDamageType( ResistanceType.Cold, 95 );
SetDamageType( ResistanceType.Fire, 98 );
SetDamageType( ResistanceType.Energy, 86 );
SetDamageType( ResistanceType.Poison, 84 );
SetResistance( ResistanceType.Physical, 50 );
SetResistance( ResistanceType.Cold, 58 );
SetResistance( ResistanceType.Fire, 55 );
SetResistance( ResistanceType.Energy, 55 );
SetResistance( ResistanceType.Poison, 56 );
Fame = 12000;
Karma = 12000;
VirtualArmor = 48;
new EtherealCuSidhe().Rider = this;
AddItem( new Robe( 1153 ) );
AddItem( new FancyShirt( 1153 ) );
AddItem( new Doublet( 1153 ) );
AddItem( new Cloak( 1153 ) );
AddItem( new Sandals( 1153 ) );
AddItem( new PaladinSword() );
PackGold( 5000, 6000 );
PackItem( new HeadOfMondain() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 3 );
AddLoot( LootPack.Gems, 5 );
}
public override bool BardImmune{ get{ return true; } }
public override Poison HitPoison{ get{ return Poison. Lethal ; } }
public override bool AlwaysMurderer{ get{ return true; } }
public MondainTheWizard( 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,94 @@
using System;
using Server.Mobiles;
namespace Server.Mobiles
{
[CorpseName( "a corpse Of Mondains Mount " )]
[TypeAlias( "Server.Mobiles.BrownHorse", "Server.Mobiles.DirtyHorse", "Server.Mobiles.GrayHorse", "Server.Mobiles.TanHorse" )]
public class MondainsMount : BaseMount
{
private static int[] m_IDs = new int[]
{
0xC8, 0x3E9F,
0xE2, 0x3EA0,
0xE4, 0x3EA1,
0xCC, 0x3EA2
};
[Constructable]
public MondainsMount() : this( "a Mondains Mount" )
{
}
[Constructable]
public MondainsMount( string name ) : base( name, 0xE2, 0x3EA0, AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
int random = Utility.Random( 4 );
Body = m_IDs[random * 2];
ItemID = m_IDs[random * 2 + 1];
BaseSoundID = 0xA8;
Hue = 1176;
SetStr( 800 );
SetDex( 789, 812 );
SetInt( 778, 800 );
SetHits( 7500, 8000 );
SetDamage( 50 );
SetDamageType( ResistanceType.Physical, 100 );
SetDamageType( ResistanceType.Cold, 98 );
SetDamageType( ResistanceType.Fire, 98 );
SetDamageType( ResistanceType.Energy, 98 );
SetDamageType( ResistanceType.Poison, 98 );
SetResistance( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Cold, 80 );
SetResistance( ResistanceType.Fire, 80 );
SetResistance( ResistanceType.Energy, 80 );
SetResistance( ResistanceType.Poison, 80 );
SetSkill( SkillName.EvalInt, 150.4, 200.0 );
SetSkill( SkillName.Magery, 130.4, 150.0 );
SetSkill( SkillName.MagicResist, 135.3, 150.0 );
SetSkill( SkillName.Tactics, 137.6, 158.0 );
SetSkill( SkillName.Wrestling, 130.5, 152.5 );
Fame = 1200;
Karma = 1200;
VirtualArmor = 60;
Tamable = true;
ControlSlots = 4;
MinTameSkill = 110.0;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override int Meat{ get{ return 3; } }
public override int Hides{ get{ return 10; } }
public override FoodType FavoriteFood{ get{ return FoodType.FruitsAndVegies | FoodType.GrainsAndHay; } }
public MondainsMount( 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,91 @@
using System;
using Server;
namespace Server.Items
{
[FlipableAttribute( 0x13FF, 0x13FE )]
public class MondainsBlade : Katana
{
public override int ArtifactRarity{ get{ return 30; } }
public override int AosMinDamage{ get{ return 45; } }
public override int AosMaxDamage{ get{ return 50; } }
public override float MlSpeed{ get{ return 3.00f; } }
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.Disarm; } }
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.ParalyzingBlow; } }
public override int InitMinHits{ get{ return 500; } }
public override int InitMaxHits{ get{ return 500; } }
[Constructable]
public MondainsBlade()
{
Weight = 10;
Name = "Mondains Blade";
Hue = 1153;
WeaponAttributes.DurabilityBonus = 45;
//WeaponAttributes.HitColdArea = 45;
WeaponAttributes.HitDispel = 45;
//WeaponAttributes.HitEnergyArea = 45;
//WeaponAttributes.HitFireArea = 45;
WeaponAttributes.HitHarm = 45;
WeaponAttributes.HitLeechHits = 45;
WeaponAttributes.HitLeechMana = 55;
WeaponAttributes.HitLeechStam = 45;
WeaponAttributes.HitLightning = 45;
WeaponAttributes.HitMagicArrow = 45;
//WeaponAttributes.HitPhysicalArea = 45;
//WeaponAttributes.HitPoisonArea = 45;
WeaponAttributes.LowerStatReq = 45;
//WeaponAttributes.ResistColdBonus = 45;
//WeaponAttributes.ResistEnergyBonus = 45;
//WeaponAttributes.ResistPhysicalBonus = 45;
//WeaponAttributes.ResistPoisonBonus = 45;
//WeaponAttributes.ResistFireBonus = 45;
WeaponAttributes.SelfRepair = 52;
WeaponAttributes.UseBestSkill = 1;
Attributes.AttackChance = 25;
Attributes.BonusDex = 15;
Attributes.BonusHits = 11;
//Attributes.BonusInt = 39;
//Attributes.BonusMana = 30 ;
//Attributes.BonusStam = 37;
//Attributes.CastRecovery = 51;
//Attributes.CastSpeed = 54;
//Attributes.DefendChance = 34;
//Attributes.EnhancePotions = 30;
Attributes.LowerManaCost = 20;
Attributes.LowerRegCost = 30;
Attributes.Luck = 420;
//Attributes.NightSight = 1;
//Attributes.ReflectPhysical = 45;
//Attributes.RegenHits = 45;
//Attributes.RegenMana = 56;
//Attributes.RegenStam = 56;
Attributes.SpellChanneling = 1;
Attributes.SpellDamage = 5;
Attributes.WeaponDamage = 65;
Attributes.WeaponSpeed = 40;
}
public MondainsBlade( 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();
}
}
}