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,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();
}
}
}