Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
138
Scripts/Scripts-master/Quests/Sates' Quest/Dark Miner.cs
Normal file
138
Scripts/Scripts-master/Quests/Sates' Quest/Dark Miner.cs
Normal file
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a miner corpse" )]
|
||||
public class DarkMiner : BaseCreature
|
||||
{
|
||||
public override bool IsScaredOfScaryThings{ get{ return false; } }
|
||||
public override bool IsScaryToPets{ get{ return true; } }
|
||||
|
||||
[Constructable]
|
||||
public DarkMiner () : this( false, 1.5 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DarkMiner ( bool summoned, double scalar ) : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.4, 0.8 )
|
||||
{
|
||||
Name = "a Dark Miner";
|
||||
Body = 200;
|
||||
Hue = 1175;
|
||||
|
||||
|
||||
SetStr( (int)(251*scalar), (int)(350*scalar) );
|
||||
SetDex( (int)(76*scalar), (int)(100*scalar) );
|
||||
SetInt( (int)(101*scalar), (int)(150*scalar) );
|
||||
|
||||
SetHits( (int)(151*scalar), (int)(210*scalar) );
|
||||
|
||||
SetDamage( (int)(15*scalar), (int)(30*scalar) );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
|
||||
SetResistance( ResistanceType.Cold, (int)(20*scalar), (int)(40*scalar) );
|
||||
SetResistance( ResistanceType.Poison, (int)(20*scalar), (int)(35*scalar) );
|
||||
SetResistance( ResistanceType.Energy, (int)(40*scalar), (int)(50*scalar) );
|
||||
|
||||
SetSkill( SkillName.MagicResist, (190.1*scalar), (210.0*scalar) );
|
||||
SetSkill( SkillName.Tactics, (100.1*scalar), (100.0*scalar) );
|
||||
SetSkill( SkillName.Wrestling, (100.1*scalar), (150.0*scalar) );
|
||||
SetSkill( SkillName.Magery, (100.1*scalar), (150.0*scalar) );
|
||||
SetSkill( SkillName.EvalInt, (100.1*scalar), (150.0*scalar) );
|
||||
SetSkill( SkillName.Meditation, (100.1*scalar), (150.0*scalar) );
|
||||
|
||||
PackGold( 100, 250 );
|
||||
//if ( 0.2 > Utility.RandomDouble() )
|
||||
PackItem( new DarkMetal(1) );
|
||||
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
return 541;
|
||||
}
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
if ( !Controlled )
|
||||
return 541;
|
||||
|
||||
return base.GetIdleSound();
|
||||
}
|
||||
|
||||
public override int GetDeathSound()
|
||||
{
|
||||
if ( !Controlled )
|
||||
return 542;
|
||||
|
||||
return base.GetDeathSound();
|
||||
}
|
||||
|
||||
|
||||
public override int GetHurtSound()
|
||||
{
|
||||
if ( Controlled )
|
||||
return 320;
|
||||
|
||||
return base.GetHurtSound();
|
||||
}
|
||||
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
base.OnGaveMeleeAttack( defender );
|
||||
|
||||
if ( 0.2 > Utility.RandomDouble() )
|
||||
defender.Combatant = null;
|
||||
}
|
||||
|
||||
public override void OnDamage( int amount, Mobile from, bool willKill )
|
||||
{
|
||||
if ( Controlled || Summoned )
|
||||
{
|
||||
Mobile master = ( this.ControlMaster );
|
||||
|
||||
if ( master == null )
|
||||
master = this.SummonMaster;
|
||||
|
||||
if ( master != null && master.Player && master.Map == this.Map && master.InRange( Location, 20 ) )
|
||||
{
|
||||
if ( master.Mana >= amount )
|
||||
{
|
||||
master.Mana -= amount;
|
||||
}
|
||||
else
|
||||
{
|
||||
amount -= master.Mana;
|
||||
master.Mana = 0;
|
||||
master.Damage( amount );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
base.OnDamage( amount, from, willKill );
|
||||
}
|
||||
|
||||
public override bool BardImmune{ get{ return true; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
|
||||
public DarkMiner ( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
41
Scripts/Scripts-master/Quests/Sates' Quest/Dark metal.cs
Normal file
41
Scripts/Scripts-master/Quests/Sates' Quest/Dark metal.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DarkMetal : Item
|
||||
{
|
||||
[Constructable]
|
||||
public DarkMetal() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DarkMetal( int amount ) : base( 0xF13 )
|
||||
{
|
||||
Name = "Dark Metal";
|
||||
Hue = 1175;
|
||||
Stackable = true;
|
||||
Weight = 0.1;
|
||||
Amount = amount;
|
||||
}
|
||||
|
||||
public DarkMetal( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
Scripts/Scripts-master/Quests/Sates' Quest/DarkBlade.cs
Normal file
60
Scripts/Scripts-master/Quests/Sates' Quest/DarkBlade.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DarkBlade : DoubleBladedStaff
|
||||
{
|
||||
public override int ArtifactRarity{ get{ return 1773; } }
|
||||
|
||||
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.BleedAttack; } }
|
||||
|
||||
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.InfectiousStrike; } }
|
||||
|
||||
public override float MlSpeed{ get{ return 3.50f; } }
|
||||
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
|
||||
[Constructable]
|
||||
public DarkBlade()
|
||||
{
|
||||
Weight = 15.0;
|
||||
Name = "Dark Blade";
|
||||
Hue = 1175;
|
||||
|
||||
WeaponAttributes.HitEnergyArea = 25;
|
||||
WeaponAttributes.HitLightning = 45;
|
||||
WeaponAttributes.SelfRepair = 14;
|
||||
|
||||
Attributes.CastRecovery = 2;
|
||||
Attributes.CastSpeed = 1;
|
||||
Attributes.SpellChanneling = 1;
|
||||
Attributes.SpellDamage = 20;
|
||||
Attributes.WeaponDamage = 60;
|
||||
Attributes.WeaponSpeed = 40;
|
||||
|
||||
StrRequirement = 50;
|
||||
|
||||
LootType = LootType.Regular;
|
||||
}
|
||||
|
||||
public DarkBlade( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
30
Scripts/Scripts-master/Quests/Sates' Quest/Finish Gump.cs
Normal file
30
Scripts/Scripts-master/Quests/Sates' Quest/Finish Gump.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Gumps
|
||||
{
|
||||
public class SatesFinish : Gump
|
||||
{
|
||||
public SatesFinish()
|
||||
: base( 200, 200 )
|
||||
{
|
||||
this.Closable=true;
|
||||
this.Disposable=true;
|
||||
this.Dragable=true;
|
||||
this.Resizable=false;
|
||||
this.AddPage(0);
|
||||
this.AddBackground(0, 0, 353, 118, 9270);
|
||||
this.AddAlphaRegion( 2, 2, 349, 114 );
|
||||
// this.AddItem(297, 38, 4168);
|
||||
this.AddLabel(118, 15, 1149, @"Quest Completed");
|
||||
this.AddLabel(48, 39, 255, @"Well done, you have collected all of the");
|
||||
this.AddLabel(48, 55, 255, @"items I requested for the Blade.");
|
||||
this.AddLabel(48, 71, 255, @"Here it is, May it serve you well.");
|
||||
// this.AddItem(12, 38, 4171);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
142
Scripts/Scripts-master/Quests/Sates' Quest/Sates.cs
Normal file
142
Scripts/Scripts-master/Quests/Sates' Quest/Sates.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
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( "Sates' Corpse" )]
|
||||
public class Sates : Mobile
|
||||
{
|
||||
public virtual bool IsInvulnerable{ get{ return true; } }
|
||||
[Constructable]
|
||||
public Sates()
|
||||
{
|
||||
Name = "Sates";
|
||||
Title = "the Mind Reader";
|
||||
Body = 0x190;
|
||||
CantWalk = true;
|
||||
Hue = Utility.RandomSkinHue();
|
||||
AddItem( new Server.Items.Robe( GetRobeHue() ) );
|
||||
AddItem( new Server.Items.Boots( GetBootsHue() ) );
|
||||
//AddItem( new Server.Items.BoneCrusher() );
|
||||
AddItem( new Server.Items.DarkBlade() );
|
||||
//AddItem( new Server.Items.HolyKnightsBreastplate() );
|
||||
AddItem( new Server.Items.Kilt() );
|
||||
AddItem( new Server.Items.BodySash() );
|
||||
int hairHue = 1153;
|
||||
|
||||
switch ( Utility.Random( 1 ) )
|
||||
{
|
||||
case 0: AddItem( new LongHair( hairHue ) ); break;
|
||||
}
|
||||
|
||||
Blessed = true;
|
||||
|
||||
}
|
||||
|
||||
public virtual int GetBootsHue()
|
||||
{
|
||||
return 1623;
|
||||
|
||||
}
|
||||
|
||||
public virtual int GetRobeHue()
|
||||
{
|
||||
return 1623;
|
||||
|
||||
}
|
||||
|
||||
public Sates( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{
|
||||
base.GetContextMenuEntries( from, list );
|
||||
list.Add( new SatiesEntry( 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 SatiesEntry : ContextMenuEntry
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
private Mobile m_Giver;
|
||||
|
||||
public SatiesEntry( 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( SatesStart ) ) )
|
||||
{
|
||||
mobile.SendGump( new SatesStart( mobile ));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
Mobile m = from;
|
||||
PlayerMobile mobile = m as PlayerMobile;
|
||||
|
||||
if ( mobile != null)
|
||||
{
|
||||
if( dropped is DarkMetal )
|
||||
{
|
||||
if(dropped.Amount!=15)
|
||||
{
|
||||
this.PrivateOverheadMessage( MessageType.Regular, 1153, false, "That is not the amount I asked for!", mobile.NetState );
|
||||
return false;
|
||||
}
|
||||
|
||||
dropped.Delete();
|
||||
mobile.AddToBackpack( new DarkBlade() );
|
||||
mobile.SendGump( new SatesFinish());
|
||||
|
||||
return true;
|
||||
}
|
||||
else if ( dropped is DarkMetal)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
84
Scripts/Scripts-master/Quests/Sates' Quest/Start Gump.cs
Normal file
84
Scripts/Scripts-master/Quests/Sates' Quest/Start Gump.cs
Normal 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 SatesStart : Gump
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
CommandSystem.Register("SatesStart", AccessLevel.GameMaster, new CommandEventHandler(SatesStart_OnCommand));
|
||||
}
|
||||
|
||||
private static void SatesStart_OnCommand( CommandEventArgs e )
|
||||
{
|
||||
e.Mobile.SendGump( new SatesStart( e.Mobile ) );
|
||||
}
|
||||
|
||||
public SatesStart( 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 Quest of Shadows" );
|
||||
|
||||
|
||||
AddHtml( 107, 140, 300, 230, "<BODY>" +
|
||||
//----------------------/----------------------------------------------/
|
||||
"<BASEFONT COLOR=YELLOW>Sates looks deep within your eyes.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Ah, so you are interested in my blade?." +
|
||||
"<BASEFONT COLOR=YELLOW>I will craft you on if you bring me 15 Dark Metal Shards." +
|
||||
"<BASEFONT COLOR=YELLOW>The Monsters that hold these Dark Metal Shards are Called" +
|
||||
"<BASEFONT COLOR=YELLOW>Dark Miners. These monsters take the form of horses and" +
|
||||
"<BASEFONT COLOR=YELLOW>are found in the mountains North of Britain." +
|
||||
"</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 will be waiting hahahaha!" );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user