#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
40
Scripts/Mobiles/Vendors/NPC/Guildmasters/BardGuildmaster.cs
Normal file
40
Scripts/Mobiles/Vendors/NPC/Guildmasters/BardGuildmaster.cs
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class BardGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.BardsGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public BardGuildmaster() : base( "bard" )
|
||||
{
|
||||
SetSkill( SkillName.Archery, 80.0, 100.0 );
|
||||
SetSkill( SkillName.Discordance, 80.0, 100.0 );
|
||||
SetSkill( SkillName.Musicianship, 80.0, 100.0 );
|
||||
SetSkill( SkillName.Peacemaking, 80.0, 100.0 );
|
||||
SetSkill( SkillName.Provocation, 80.0, 100.0 );
|
||||
SetSkill( SkillName.Swords, 80.0, 100.0 );
|
||||
}
|
||||
|
||||
public BardGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
167
Scripts/Mobiles/Vendors/NPC/Guildmasters/BaseGuildmaster.cs
Normal file
167
Scripts/Mobiles/Vendors/NPC/Guildmasters/BaseGuildmaster.cs
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public abstract class BaseGuildmaster : BaseVendor
|
||||
{
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return false; } }
|
||||
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
|
||||
public virtual int JoinCost{ get{ return 500; } }
|
||||
|
||||
public virtual TimeSpan JoinAge{ get{ return TimeSpan.FromDays( 0.0 ); } }
|
||||
public virtual TimeSpan JoinGameAge{ get{ return TimeSpan.FromDays( 2.0 ); } }
|
||||
public virtual TimeSpan QuitAge{ get{ return TimeSpan.FromDays( 7.0 ); } }
|
||||
public virtual TimeSpan QuitGameAge{ get{ return TimeSpan.FromDays( 4.0 ); } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual bool CheckCustomReqs( PlayerMobile pm )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual void SayGuildTo( Mobile m )
|
||||
{
|
||||
SayTo( m, 1008055 + (int)NpcGuild );
|
||||
}
|
||||
|
||||
public virtual void SayWelcomeTo( Mobile m )
|
||||
{
|
||||
SayTo( m, 1008054 ); // Welcome to the guild! Thou shalt find that fellow members shall grant thee lower prices in shops.
|
||||
}
|
||||
|
||||
public virtual void SayPriceTo( Mobile m )
|
||||
{
|
||||
m.Send( new MessageLocalizedAffix( Serial, Body, MessageType.Regular, SpeechHue, 3, 1008052, Name, AffixType.Append, JoinCost.ToString(), "" ) );
|
||||
}
|
||||
|
||||
public virtual bool WasNamed( string speech )
|
||||
{
|
||||
string name = this.Name;
|
||||
|
||||
return ( name != null && Insensitive.StartsWith( speech, name ) );
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 2 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
}
|
||||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
Mobile from = e.Mobile;
|
||||
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( this.Location, 2 ) && WasNamed( e.Speech ) )
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( e.HasKeyword( 0x0004 ) ) // *join* | *member*
|
||||
{
|
||||
if ( pm.NpcGuild == this.NpcGuild )
|
||||
SayTo( from, 501047 ); // Thou art already a member of our guild.
|
||||
else if ( pm.NpcGuild != NpcGuild.None )
|
||||
SayTo( from, 501046 ); // Thou must resign from thy other guild first.
|
||||
else if ( pm.GameTime < JoinGameAge || (pm.CreationTime + JoinAge) > DateTime.UtcNow )
|
||||
SayTo( from, 501048 ); // You are too young to join my guild...
|
||||
else if ( CheckCustomReqs( pm ) )
|
||||
SayPriceTo( from );
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
else if ( e.HasKeyword( 0x0005 ) ) // *resign* | *quit*
|
||||
{
|
||||
if ( pm.NpcGuild != this.NpcGuild )
|
||||
{
|
||||
SayTo( from, 501052 ); // Thou dost not belong to my guild!
|
||||
}
|
||||
else if ( (pm.NpcGuildJoinTime + QuitAge) > DateTime.UtcNow || (pm.NpcGuildGameTime + QuitGameAge) > pm.GameTime )
|
||||
{
|
||||
SayTo( from, 501053 ); // You just joined my guild! You must wait a week to resign.
|
||||
}
|
||||
else
|
||||
{
|
||||
SayTo( from, 501054 ); // I accept thy resignation.
|
||||
pm.NpcGuild = NpcGuild.None;
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
base.OnSpeech( e );
|
||||
}
|
||||
|
||||
public override bool OnGoldGiven( Mobile from, Gold dropped )
|
||||
{
|
||||
if ( from is PlayerMobile && dropped.Amount == JoinCost )
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( pm.NpcGuild == this.NpcGuild )
|
||||
{
|
||||
SayTo( from, 501047 ); // Thou art already a member of our guild.
|
||||
}
|
||||
else if ( pm.NpcGuild != NpcGuild.None )
|
||||
{
|
||||
SayTo( from, 501046 ); // Thou must resign from thy other guild first.
|
||||
}
|
||||
else if ( pm.GameTime < JoinGameAge || (pm.CreationTime + JoinAge) > DateTime.UtcNow )
|
||||
{
|
||||
SayTo( from, 501048 ); // You are too young to join my guild...
|
||||
}
|
||||
else if ( CheckCustomReqs( pm ) )
|
||||
{
|
||||
SayWelcomeTo( from );
|
||||
|
||||
pm.NpcGuild = this.NpcGuild;
|
||||
pm.NpcGuildJoinTime = DateTime.UtcNow;
|
||||
pm.NpcGuildGameTime = pm.GameTime;
|
||||
|
||||
dropped.Delete();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.OnGoldGiven( from, dropped );
|
||||
}
|
||||
|
||||
public BaseGuildmaster( string title ) : base( title )
|
||||
{
|
||||
Title = String.Format( "the {0} {1}", title, Female ? "guildmistress" : "guildmaster" );
|
||||
}
|
||||
|
||||
public BaseGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class BlacksmithGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.BlacksmithsGuild; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return true; } }
|
||||
|
||||
public override bool ClickTitle{ get{ return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BlacksmithGuildmaster() : base( "blacksmith" )
|
||||
{
|
||||
SetSkill( SkillName.ArmsLore, 65.0, 88.0 );
|
||||
SetSkill( SkillName.Blacksmith, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Macing, 36.0, 68.0 );
|
||||
SetSkill( SkillName.Parry, 36.0, 68.0 );
|
||||
}
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
SBInfos.Add( new SBBlacksmith() );
|
||||
}
|
||||
|
||||
public override VendorShoeType ShoeType
|
||||
{
|
||||
get{ return VendorShoeType.ThighBoots; }
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
base.InitOutfit();
|
||||
|
||||
Item item = ( Utility.RandomBool() ? null : new Server.Items.RingmailChest() );
|
||||
|
||||
if ( item != null && !EquipItem( item ) )
|
||||
{
|
||||
item.Delete();
|
||||
item = null;
|
||||
}
|
||||
|
||||
if ( item == null )
|
||||
AddItem( new Server.Items.FullApron() );
|
||||
|
||||
AddItem( new Server.Items.Bascinet() );
|
||||
AddItem( new Server.Items.SmithHammer() );
|
||||
}
|
||||
|
||||
public BlacksmithGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class FisherGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.FishermensGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public FisherGuildmaster() : base( "fisher" )
|
||||
{
|
||||
SetSkill( SkillName.Fishing, 80.0, 100.0 );
|
||||
}
|
||||
|
||||
public FisherGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class HealerGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.HealersGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public HealerGuildmaster() : base( "healer" )
|
||||
{
|
||||
SetSkill( SkillName.Anatomy, 85.0, 100.0 );
|
||||
SetSkill( SkillName.Healing, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Forensics, 75.0, 98.0 );
|
||||
SetSkill( SkillName.MagicResist, 75.0, 98.0 );
|
||||
SetSkill( SkillName.SpiritSpeak, 65.0, 88.0 );
|
||||
}
|
||||
|
||||
public override VendorShoeType ShoeType
|
||||
{
|
||||
get{ return VendorShoeType.Sandals; }
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomYellowHue() ) );
|
||||
}
|
||||
|
||||
public HealerGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
54
Scripts/Mobiles/Vendors/NPC/Guildmasters/MageGuildmaster.cs
Normal file
54
Scripts/Mobiles/Vendors/NPC/Guildmasters/MageGuildmaster.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class MageGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public MageGuildmaster() : base( "mage" )
|
||||
{
|
||||
SetSkill( SkillName.EvalInt, 85.0, 100.0 );
|
||||
SetSkill( SkillName.Inscribe, 65.0, 88.0 );
|
||||
SetSkill( SkillName.MagicResist, 64.0, 100.0 );
|
||||
SetSkill( SkillName.Magery, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Meditation, 85.0, 100.0 );
|
||||
SetSkill( SkillName.Macing, 36.0, 68.0 );
|
||||
}
|
||||
|
||||
public override VendorShoeType ShoeType
|
||||
{
|
||||
get{ return Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals; }
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomBlueHue() ) );
|
||||
AddItem( new Server.Items.GnarledStaff() );
|
||||
}
|
||||
|
||||
public MageGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class MerchantGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MerchantsGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public MerchantGuildmaster() : base( "merchant" )
|
||||
{
|
||||
SetSkill( SkillName.ItemID, 85.0, 100.0 );
|
||||
SetSkill( SkillName.ArmsLore, 85.0, 100.0 );
|
||||
}
|
||||
|
||||
public MerchantGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
36
Scripts/Mobiles/Vendors/NPC/Guildmasters/MinerGuildmaster.cs
Normal file
36
Scripts/Mobiles/Vendors/NPC/Guildmasters/MinerGuildmaster.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class MinerGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MinersGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public MinerGuildmaster() : base( "miner" )
|
||||
{
|
||||
SetSkill( SkillName.ItemID, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Mining, 90.0, 100.0 );
|
||||
}
|
||||
|
||||
public MinerGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class RangerGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.RangersGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public RangerGuildmaster() : base( "ranger" )
|
||||
{
|
||||
SetSkill( SkillName.AnimalLore, 64.0, 100.0 );
|
||||
SetSkill( SkillName.Camping, 75.0, 98.0 );
|
||||
SetSkill( SkillName.Hiding, 75.0, 98.0 );
|
||||
SetSkill( SkillName.MagicResist, 75.0, 98.0 );
|
||||
SetSkill( SkillName.Tactics, 65.0, 88.0 );
|
||||
SetSkill( SkillName.Archery, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Tracking, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Stealth, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Fencing, 36.0, 68.0 );
|
||||
SetSkill( SkillName.Herding, 36.0, 68.0 );
|
||||
SetSkill( SkillName.Swords, 45.0, 68.0 );
|
||||
}
|
||||
|
||||
public RangerGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class TailorGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TailorsGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public TailorGuildmaster() : base( "tailor" )
|
||||
{
|
||||
SetSkill( SkillName.Tailoring, 90.0, 100.0 );
|
||||
}
|
||||
|
||||
public TailorGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
127
Scripts/Mobiles/Vendors/NPC/Guildmasters/ThiefGuildmaster.cs
Normal file
127
Scripts/Mobiles/Vendors/NPC/Guildmasters/ThiefGuildmaster.cs
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class ThiefGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.ThievesGuild; } }
|
||||
|
||||
public override TimeSpan JoinAge{ get{ return TimeSpan.FromDays( 7.0 ); } }
|
||||
|
||||
[Constructable]
|
||||
public ThiefGuildmaster() : base( "thief" )
|
||||
{
|
||||
SetSkill( SkillName.DetectHidden, 75.0, 98.0 );
|
||||
SetSkill( SkillName.Hiding, 65.0, 88.0 );
|
||||
SetSkill( SkillName.Lockpicking, 85.0, 100.0 );
|
||||
SetSkill( SkillName.Snooping, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Poisoning, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Stealing, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Fencing, 75.0, 98.0 );
|
||||
SetSkill( SkillName.Stealth, 85.0, 100.0 );
|
||||
SetSkill( SkillName.RemoveTrap, 85.0, 100.0 );
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
base.InitOutfit();
|
||||
|
||||
if ( Utility.RandomBool() )
|
||||
AddItem( new Server.Items.Kryss() );
|
||||
else
|
||||
AddItem( new Server.Items.Dagger() );
|
||||
}
|
||||
|
||||
public override bool CheckCustomReqs( PlayerMobile pm )
|
||||
{
|
||||
if ( pm.Young )
|
||||
{
|
||||
SayTo( pm, 502089 ); // You cannot be a member of the Thieves' Guild while you are Young.
|
||||
return false;
|
||||
}
|
||||
else if ( pm.Kills > 0 )
|
||||
{
|
||||
SayTo( pm, 501050 ); // This guild is for cunning thieves, not oafish cutthroats.
|
||||
return false;
|
||||
}
|
||||
else if ( pm.Skills[SkillName.Stealing].Base < 60.0 )
|
||||
{
|
||||
SayTo( pm, 501051 ); // You must be at least a journeyman pickpocket to join this elite organization.
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void SayWelcomeTo( Mobile m )
|
||||
{
|
||||
SayTo( m, 1008053 ); // Welcome to the guild! Stay to the shadows, friend.
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 2 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
}
|
||||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
Mobile from = e.Mobile;
|
||||
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( this.Location, 2 ) && e.HasKeyword( 0x1F ) ) // *disguise*
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( pm.NpcGuild == NpcGuild.ThievesGuild )
|
||||
SayTo( from, 501839 ); // That particular item costs 700 gold pieces.
|
||||
else
|
||||
SayTo( from, 501838 ); // I don't know what you're talking about.
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
base.OnSpeech( e );
|
||||
}
|
||||
|
||||
public override bool OnGoldGiven( Mobile from, Gold dropped )
|
||||
{
|
||||
if ( from is PlayerMobile && dropped.Amount == 700 )
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( pm.NpcGuild == NpcGuild.ThievesGuild )
|
||||
{
|
||||
from.AddToBackpack( new DisguiseKit() );
|
||||
|
||||
dropped.Delete();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return base.OnGoldGiven( from, dropped );
|
||||
}
|
||||
|
||||
public ThiefGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.ContextMenus;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class TinkerGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public TinkerGuildmaster() : base( "tinker" )
|
||||
{
|
||||
SetSkill( SkillName.Lockpicking, 65.0, 88.0 );
|
||||
SetSkill( SkillName.Tinkering, 90.0, 100.0 );
|
||||
SetSkill( SkillName.RemoveTrap, 85.0, 100.0 );
|
||||
}
|
||||
|
||||
public TinkerGuildmaster( 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();
|
||||
}
|
||||
|
||||
public override void AddCustomContextEntries( Mobile from, List<ContextMenuEntry> list )
|
||||
{
|
||||
if ( Core.ML && from.Alive )
|
||||
{
|
||||
RechargeEntry entry = new RechargeEntry( from, this );
|
||||
|
||||
if ( WeaponEngravingTool.Find( from ) == null )
|
||||
entry.Enabled = false;
|
||||
|
||||
list.Add( entry );
|
||||
}
|
||||
|
||||
base.AddCustomContextEntries( from, list );
|
||||
}
|
||||
|
||||
private class RechargeEntry : ContextMenuEntry
|
||||
{
|
||||
private Mobile m_From;
|
||||
private Mobile m_Vendor;
|
||||
|
||||
public RechargeEntry( Mobile from, Mobile vendor ) : base( 6271, 6 )
|
||||
{
|
||||
m_From = from;
|
||||
m_Vendor = vendor;
|
||||
}
|
||||
|
||||
public override void OnClick()
|
||||
{
|
||||
if ( !Core.ML || m_Vendor == null || m_Vendor.Deleted )
|
||||
return;
|
||||
|
||||
WeaponEngravingTool tool = WeaponEngravingTool.Find( m_From );
|
||||
|
||||
if ( tool != null && tool.UsesRemaining <= 0 )
|
||||
{
|
||||
if ( Banker.GetBalance( m_From ) >= 100000 )
|
||||
m_From.SendGump( new WeaponEngravingTool.ConfirmGump( tool, m_Vendor ) );
|
||||
else
|
||||
m_Vendor.Say( 1076167 ); // You need a 100,000 gold and a blue diamond to recharge the weapon engraver.
|
||||
}
|
||||
else
|
||||
m_Vendor.Say( 1076164 ); // I can only help with this if you are carrying an engraving tool that needs repair.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class WarriorGuildmaster : BaseGuildmaster
|
||||
{
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.WarriorsGuild; } }
|
||||
|
||||
[Constructable]
|
||||
public WarriorGuildmaster() : base( "warrior" )
|
||||
{
|
||||
SetSkill( SkillName.ArmsLore, 75.0, 98.0 );
|
||||
SetSkill( SkillName.Parry, 85.0, 100.0 );
|
||||
SetSkill( SkillName.MagicResist, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Tactics, 85.0, 100.0 );
|
||||
SetSkill( SkillName.Swords, 90.0, 100.0 );
|
||||
SetSkill( SkillName.Macing, 60.0, 83.0 );
|
||||
SetSkill( SkillName.Fencing, 60.0, 83.0 );
|
||||
}
|
||||
|
||||
public WarriorGuildmaster( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue