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,109 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a adolescent turkey corpse" )]
public class AdolescentTurkeyDragon : BaseCreature
{
[Constructable]
public AdolescentTurkeyDragon () : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a adolescent turkey dragon";
Body = Utility.RandomList( 60, 61 );
BaseSoundID = 362;
Hue = 442;
SetStr( 401, 430 );
SetDex( 133, 152 );
SetInt( 101, 140 );
TurkeyDragonDropPack();
SetHits( 291, 345 );
SetDamage( 13, 19 );
SetDamageType( ResistanceType.Physical, 80 );
SetDamageType( ResistanceType.Fire, 20 );
SetResistance( ResistanceType.Physical, 45, 50 );
SetResistance( ResistanceType.Fire, 50, 60 );
SetResistance( ResistanceType.Cold, 40, 50 );
SetResistance( ResistanceType.Poison, 20, 30 );
SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.MagicResist, 65.1, 80.0 );
SetSkill( SkillName.Tactics, 65.1, 90.0 );
SetSkill( SkillName.Wrestling, 65.1, 80.0 );
Fame = 7500;
Karma = -7500;
VirtualArmor = 46;
Tamable = false;
ControlSlots = 2;
MinTameSkill = 84.3;
PackReg( 4 );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich, 2 );
AddLoot( LootPack.MedScrolls, 2 );
}
public virtual void TurkeyDragonDropPack()
{
PackItem( new BreadLoaf(3) );
PackItem( new CheeseWheel(2) );
PackItem( new FrenchBread(3) );
PackItem( new CookedBird(35) );
PackItem( new Cookies(8) );
PackItem( new Muffins(4) );
PackItem( new MeatPie() );
PackItem( new PumpkinPie() );
PackItem( new PeachCobbler() );
PackItem( new YellowGourd(2) );
PackItem( new GreenGourd(3) );
PackItem( new EarOfCorn(15) );
PackItem( new Turnip(4) );
PackItem( new FruitBasket() );
PackItem( new Dates(8) );
PackItem( new Grapes(4) );
PackItem( new Peach(5) );
PackItem( new Pear(3) );
PackItem( new Apple(6) );
PackItem( new Squash(1) );
PackItem( new Carrot(4) );
PackItem( new Cabbage(3) );
PackItem( new Onion(2) );
PackItem( new Lettuce(4) );
PackItem( new SmallPumpkin() );
}
public override bool ReacquireOnMovement{ get{ return true; } }
public override bool HasBreath{ get{ return true; } } // fire breath enabled
public override int TreasureMapLevel{ get{ return 2; } }
public override int Meat{ get{ return 10; } }
public override int Hides{ get{ return 20; } }
public override HideType HideType{ get{ return HideType.Horned; } }
public override int Scales{ get{ return 2; } }
public override ScaleType ScaleType{ get{ return ( Body == 60 ? ScaleType.Yellow : ScaleType.Red ); } }
public override FoodType FavoriteFood{ get{ return FoodType.Meat | FoodType.Fish; } }
public AdolescentTurkeyDragon( 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,97 @@
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a baby turkey corpse" )]
public class BabyTurkeyDragon : BaseCreature
{
[Constructable]
public BabyTurkeyDragon() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a baby turkey dragon";
Body = 52;
Hue = 442;
BaseSoundID = 0xDB;
TurkeyDragonDropPack();
SetStr( 22, 34 );
SetDex( 16, 25 );
SetInt( 6, 10 );
SetHits( 30, 38 );
SetMana( 0 );
SetDamage( 3, 6 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 15, 20 );
SetResistance( ResistanceType.Poison, 20, 30 );
SetSkill( SkillName.Poisoning, 50.1, 70.0 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 19.3, 34.0 );
SetSkill( SkillName.Wrestling, 19.3, 34.0 );
Fame = 300;
Karma = -300;
VirtualArmor = 16;
Tamable = false;
ControlSlots = 1;
MinTameSkill = 59.1;
}
public override Poison PoisonImmune{ get{ return Poison.Lesser; } }
public override Poison HitPoison{ get{ return Poison.Lesser; } }
public override bool DeathAdderCharmable{ get{ return true; } }
public override int Meat{ get{ return 1; } }
public override FoodType FavoriteFood{ get{ return FoodType.Eggs; } }
public virtual void TurkeyDragonDropPack()
{
PackItem( new BreadLoaf(2) );
PackItem( new CheeseWheel(1) );
PackItem( new FrenchBread(2) );
PackItem( new CookedBird(14) );
PackItem( new Cookies(6) );
PackItem( new Muffins(2) );
PackItem( new PumpkinPie() );
PackItem( new PeachCobbler() );
PackItem( new YellowGourd(1) );
PackItem( new GreenGourd(2) );
PackItem( new EarOfCorn(10) );
PackItem( new Turnip(2) );
PackItem( new FruitBasket() );
PackItem( new Dates(6) );
PackItem( new Grapes(2) );
PackItem( new Peach(3) );
PackItem( new Pear(2) );
PackItem( new Apple(4) );
PackItem( new Carrot(3) );
PackItem( new Cabbage(2) );
PackItem( new Onion(1) );
PackItem( new Lettuce(2) );
}
public BabyTurkeyDragon(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,116 @@
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( "Franklin corpse" )]
public class FranklinThanksgivingQuest : Mobile
{
public virtual bool IsInvulnerable{ get{ return true; } }
[Constructable]
public FranklinThanksgivingQuest()
{
Name = "Franklin";
Title = "the settler";
Hue = 33770;
CantWalk = true;
Body = 0x191;
switch ( Utility.Random( 2 ) )
{
case 0: AddItem( new LongPants( GetRandomHue() ) ); break;
case 1: AddItem( new ShortPants( GetRandomHue() ) ); break;
}
switch ( Utility.Random( 3 ) )
{
case 0: AddItem( new FancyShirt( GetRandomHue() ) ); break;
case 1: AddItem( new Doublet( GetRandomHue() ) ); break;
case 2: AddItem( new Shirt( GetRandomHue() ) ); break;
}
switch ( Utility.Random( 4 ) )
{
case 0: AddItem( new Shoes( GetShoeHue() ) ); break;
case 1: AddItem( new Boots( GetShoeHue() ) ); break;
case 2: AddItem( new Sandals( GetShoeHue() ) ); break;
case 3: AddItem( new ThighBoots( GetShoeHue() ) ); break;
}
AddItem( new StrawHat() );
AddItem( new Pitchfork() );
Blessed = true;
}
public FranklinThanksgivingQuest( Serial serial ) : base( serial )
{
}
public virtual int GetRandomHue()
{
switch ( Utility.Random( 5 ) )
{
default:
case 0: return Utility.RandomBlueHue();
case 1: return Utility.RandomGreenHue();
case 2: return Utility.RandomRedHue();
case 3: return Utility.RandomYellowHue();
case 4: return Utility.RandomNeutralHue();
}
}
public virtual int GetShoeHue()
{
if ( 0.1 > Utility.RandomDouble() )
return 0;
return Utility.RandomNeutralHue();
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
list.Add(new FranklinGumpEntry(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 FranklinGumpEntry : ContextMenuEntry
{
private Mobile m_Mobile;
private Mobile m_Giver;
public FranklinGumpEntry( 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( FranklinGump ) ) )
{
mobile.SendGump( new FranklinGump( mobile ));
}
}
}
}
}
}

View File

@@ -0,0 +1,84 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Gumps
{
public class FranklinGump : Gump
{
public static void Initialize()
{
CommandSystem.Register("FranklinGump", AccessLevel.GameMaster, new CommandEventHandler(FranklinGump_OnCommand));
}
private static void FranklinGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new FranklinGump( e.Mobile ) );
}
public FranklinGump( 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, "The Dreaded Turkey Dragon!" );
AddHtml( 107, 140, 300, 230, "<BODY>" +
//----------------------/----------------------------------------------/
"<BASEFONT COLOR=Yellow><I>You tap Franklin's shoulder</I><br><br>" +
"<BASEFONT Color=Yellow> Oh! You scared be other.... Worlder.<br>" +
"<BASEFONT COLOR=Yellow> Ah yes! That is right, I forget myself sometimes, I am Franklin, a settler here from the old land of Englandia.<br>" +
"<BASEFONT COLOR=Yellow> With our world almost entirely destroyed, some of us decided to move here and settle down. Anyway, I do have a problem you see...<br>" +
"<BASEFONT COLOR=Yellow> Skara Brae has a little bit of an infestation. Every year at the same time in Englandia we have these Dragons, they're a bit weaker than our regular dragons so over time they've earned the name 'Turkey Dragons.'<br>" +
"<BASEFONT COLOR=Yellow> Yes, it is a pretty funny name. Now. The problem you see, is that the knights and warriors of your realm are weaker than our own, so we need a little assistance in ridding this land of these <I>Turkey Dragons</I>.<br>" +
"<BASEFONT COLOR=Yellow> They seem to sprout from our Englandian Seeds, so you'll find the infestation is contained in Skara Brae's farm land.<br>" +
"<BASEFONT COLOR=Yellow> Thank you very much for your assistance, should you choose to help.<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 ) //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( "I promise to no longer use the Englandian Seeds!" );
break;
}
}
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
using System.Collections;
using Server.Engines.Plants;
using Server.Engines.Quests;
using Server.Engines.Quests.Hag;
using Server.Engines.Quests.Matriarch;
using Server.Mobiles;
using Server.Network;
using Server.Targeting;
namespace Server.Items
{
[DynamicFliping]
[Flipable( 0x46A1, 0x46A0 )]
public class HornPlenty : Item
{
[Constructable]
public HornPlenty() : base( 0x46A0 )
{
Name = "a horn of plenty";
Weight = 5;
}
public HornPlenty( Serial serial ) : base( serial )
{
}
public override void OnSingleClick( Mobile from )
{
base.OnSingleClick( from );
LabelTo( from, "Thanksgiving 2012" );
}
public override void GetProperties( ObjectPropertyList list )
{
base.GetProperties( list );
list.Add( "Thanksgiving 2012" );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.WriteEncodedInt( 0 ); //version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadEncodedInt();
}
}
}

View File

@@ -0,0 +1,123 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a turkey corpse" )]
public class TurkeyDragon : BaseCreature
{
[Constructable]
public TurkeyDragon () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a turkey dragon";
Body = 46;
BaseSoundID = 362;
Hue = 442;
SetStr( 1096, 1185 );
SetDex( 86, 175 );
SetInt( 686, 775 );
SetHits( 700, 811 );
SetDamage( 31, 37 );
TurkeyDragonDropPack();
SetDamageType( ResistanceType.Physical, 75 );
SetDamageType( ResistanceType.Fire, 25 );
SetResistance( ResistanceType.Physical, 65, 75 );
SetResistance( ResistanceType.Fire, 80, 90 );
SetResistance( ResistanceType.Cold, 70, 80 );
SetResistance( ResistanceType.Poison, 60, 70 );
SetResistance( ResistanceType.Energy, 60, 70 );
SetSkill( SkillName.EvalInt, 80.1, 100.0 );
SetSkill( SkillName.Magery, 80.1, 100.0 );
SetSkill( SkillName.Meditation, 52.5, 75.0 );
SetSkill( SkillName.MagicResist, 100.5, 150.0 );
SetSkill( SkillName.Tactics, 97.6, 100.0 );
SetSkill( SkillName.Wrestling, 97.6, 100.0 );
Fame = 27500;
Karma = -27500;
PackItem( new HornPlenty() );
VirtualArmor = 70;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 5 );
AddLoot( LootPack.Gems, 5 );
}
public virtual void TurkeyDragonDropPack()
{
PackItem( new BreadLoaf(4) );
PackItem( new CheeseWheel(3) );
PackItem( new FrenchBread(4) );
PackItem( new CookedBird(50) );
PackItem( new Cookies(10) );
PackItem( new Muffins(6) );
PackItem( new FruitPie() );
PackItem( new MeatPie() );
PackItem( new PumpkinPie() );
PackItem( new ApplePie() );
PackItem( new PeachCobbler() );
PackItem( new YellowGourd(3) );
PackItem( new GreenGourd(5) );
PackItem( new EarOfCorn(20) );
PackItem( new Turnip(6) );
PackItem( new FruitBasket() );
PackItem( new Dates(10) );
PackItem( new Grapes(6) );
PackItem( new Peach(7) );
PackItem( new Pear(5) );
PackItem( new Apple(8) );
PackItem( new Squash(2) );
PackItem( new Carrot(5) );
PackItem( new Cabbage(6) );
PackItem( new Onion(3) );
PackItem( new Lettuce(6) );
PackItem( new Pumpkin() );
PackItem( new SmallPumpkin() );
}
public override int GetIdleSound()
{
return 0x2D3;
}
public override int GetHurtSound()
{
return 0x2D1;
}
public override bool ReacquireOnMovement{ get{ return true; } }
public override bool HasBreath{ get{ return true; } } // fire breath enabled
public override bool AutoDispel{ get{ return true; } }
public override HideType HideType{ get{ return HideType.Barbed; } }
public override int Hides{ get{ return 40; } }
public override int Meat{ get{ return 19; } }
public override int Scales{ get{ return 12; } }
public override ScaleType ScaleType{ get{ return (ScaleType)Utility.Random( 4 ); } }
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override Poison HitPoison{ get{ return Utility.RandomBool() ? Poison.Lesser : Poison.Regular; } }
public override int TreasureMapLevel{ get{ return 5; } }
public TurkeyDragon( 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();
}
}
}