Fixes code according to modern code style. Fixes a few expression bugs.

This commit is contained in:
Kamron Batman 2018-09-15 09:58:51 -07:00
parent 89eea25e5f
commit 970fd563b2
3324 changed files with 441118 additions and 433755 deletions

View file

@ -2,109 +2,111 @@ using Server.Mobiles;
namespace Server.Factions
{
public class FactionWarHorse : BaseMount
{
public override string CorpseName => "a war horse corpse";
private Faction m_Faction;
public class FactionWarHorse : BaseMount
{
public const int SilverPrice = 500;
public const int GoldPrice = 3000;
private Faction m_Faction;
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Administrator )]
public Faction Faction
{
get => m_Faction;
set
{
m_Faction = value;
[Constructible]
public FactionWarHorse() : this(null)
{
}
Body = m_Faction?.Definition.WarHorseBody ?? 0xE2;
ItemID = m_Faction?.Definition.WarHorseItem ?? 0x3EA0;
}
}
public FactionWarHorse(Faction faction) : base("a war horse", 0xE2, 0x3EA0, AIType.AI_Melee, FightMode.Aggressor, 10,
1, 0.2, 0.4)
{
BaseSoundID = 0xA8;
public const int SilverPrice = 500;
public const int GoldPrice = 3000;
SetStr(400);
SetDex(125);
SetInt(51, 55);
[Constructible]
public FactionWarHorse() : this( null )
{
}
SetHits(240);
SetMana(0);
public FactionWarHorse( Faction faction ) : base( "a war horse", 0xE2, 0x3EA0, AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
BaseSoundID = 0xA8;
SetDamage(5, 8);
SetStr( 400 );
SetDex( 125 );
SetInt( 51, 55 );
SetDamageType(ResistanceType.Physical, 100);
SetHits( 240 );
SetMana( 0 );
SetResistance(ResistanceType.Physical, 40, 50);
SetResistance(ResistanceType.Fire, 30, 40);
SetResistance(ResistanceType.Cold, 30, 40);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 30, 40);
SetDamage( 5, 8 );
SetSkill(SkillName.MagicResist, 25.1, 30.0);
SetSkill(SkillName.Tactics, 29.3, 44.0);
SetSkill(SkillName.Wrestling, 29.3, 44.0);
SetDamageType( ResistanceType.Physical, 100 );
Fame = 300;
Karma = 300;
SetResistance( ResistanceType.Physical, 40, 50 );
SetResistance( ResistanceType.Fire, 30, 40 );
SetResistance( ResistanceType.Cold, 30, 40 );
SetResistance( ResistanceType.Poison, 30, 40 );
SetResistance( ResistanceType.Energy, 30, 40 );
Tamable = true;
ControlSlots = 1;
SetSkill( SkillName.MagicResist, 25.1, 30.0 );
SetSkill( SkillName.Tactics, 29.3, 44.0 );
SetSkill( SkillName.Wrestling, 29.3, 44.0 );
Faction = faction;
}
Fame = 300;
Karma = 300;
public FactionWarHorse(Serial serial) : base(serial)
{
}
Tamable = true;
ControlSlots = 1;
public override string CorpseName => "a war horse corpse";
Faction = faction;
}
[CommandProperty(AccessLevel.GameMaster, AccessLevel.Administrator)]
public Faction Faction
{
get => m_Faction;
set
{
m_Faction = value;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
Body = m_Faction?.Definition.WarHorseBody ?? 0xE2;
ItemID = m_Faction?.Definition.WarHorseItem ?? 0x3EA0;
}
}
public FactionWarHorse( Serial serial ) : base( serial )
{
}
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void OnDoubleClick( Mobile from )
{
PlayerState pl = PlayerState.Find( from );
public override void OnDoubleClick(Mobile from)
{
PlayerState pl = PlayerState.Find(from);
if ( pl == null )
from.SendLocalizedMessage( 1010366 ); // You cannot mount a faction war horse!
else if ( pl.Faction != Faction )
from.SendLocalizedMessage( 1010367 ); // You cannot ride an opposing faction's war horse!
else if ( pl.Rank.Rank < 2 )
from.SendLocalizedMessage( 1010368 ); // You must achieve a faction rank of at least two before riding a war horse!
else
base.OnDoubleClick( from );
}
if (pl == null)
from.SendLocalizedMessage(1010366); // You cannot mount a faction war horse!
else if (pl.Faction != Faction)
from.SendLocalizedMessage(1010367); // You cannot ride an opposing faction's war horse!
else if (pl.Rank.Rank < 2)
from.SendLocalizedMessage(
1010368); // You must achieve a faction rank of at least two before riding a war horse!
else
base.OnDoubleClick(from);
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
writer.Write(0); // version
Faction.WriteReference( writer, m_Faction );
}
Faction.WriteReference(writer, m_Faction);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
Faction = Faction.ReadReference( reader );
break;
}
}
}
}
}
switch (version)
{
case 0:
{
Faction = Faction.ReadReference(reader);
break;
}
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,139 +2,140 @@ using System.Collections.Generic;
namespace Server.Factions.AI
{
public enum ReactionType
{
Ignore,
Warn,
Attack
}
public enum ReactionType
{
Ignore,
Warn,
Attack
}
public enum MovementType
{
Stand,
Patrol,
Follow
}
public enum MovementType
{
Stand,
Patrol,
Follow
}
public class Reaction
{
public Faction Faction { get; }
public class Reaction
{
public Reaction(Faction faction, ReactionType type)
{
Faction = faction;
Type = type;
}
public ReactionType Type { get; set; }
public Reaction(GenericReader reader)
{
int version = reader.ReadEncodedInt();
public Reaction( Faction faction, ReactionType type )
{
Faction = faction;
Type = type;
}
switch (version)
{
case 0:
{
Faction = Faction.ReadReference(reader);
Type = (ReactionType)reader.ReadEncodedInt();
public Reaction( GenericReader reader )
{
int version = reader.ReadEncodedInt();
break;
}
}
}
switch ( version )
{
case 0:
{
Faction = Faction.ReadReference( reader );
Type = (ReactionType) reader.ReadEncodedInt();
public Faction Faction{ get; }
break;
}
}
}
public ReactionType Type{ get; set; }
public void Serialize( GenericWriter writer )
{
writer.WriteEncodedInt( (int) 0 ); // version
public void Serialize(GenericWriter writer)
{
writer.WriteEncodedInt(0); // version
Faction.WriteReference( writer, Faction );
writer.WriteEncodedInt( (int) Type );
}
}
Faction.WriteReference(writer, Faction);
writer.WriteEncodedInt((int)Type);
}
}
public class Orders
{
private List<Reaction> m_Reactions;
public class Orders
{
private List<Reaction> m_Reactions;
public BaseFactionGuard Guard { get; }
public Orders(BaseFactionGuard guard)
{
Guard = guard;
m_Reactions = new List<Reaction>();
Movement = MovementType.Patrol;
}
public MovementType Movement { get; set; }
public Orders(BaseFactionGuard guard, GenericReader reader)
{
Guard = guard;
public Mobile Follow { get; set; }
int version = reader.ReadEncodedInt();
public Reaction GetReaction( Faction faction )
{
Reaction reaction;
switch (version)
{
case 1:
{
Follow = reader.ReadMobile();
goto case 0;
}
case 0:
{
int count = reader.ReadEncodedInt();
m_Reactions = new List<Reaction>(count);
for ( int i = 0; i < m_Reactions.Count; ++i )
{
reaction = m_Reactions[i];
for (int i = 0; i < count; ++i)
m_Reactions.Add(new Reaction(reader));
if ( reaction.Faction == faction )
return reaction;
}
Movement = (MovementType)reader.ReadEncodedInt();
reaction = new Reaction( faction, ( faction == null || faction == Guard.Faction ) ? ReactionType.Ignore : ReactionType.Attack );
m_Reactions.Add( reaction );
break;
}
}
}
return reaction;
}
public BaseFactionGuard Guard{ get; }
public void SetReaction( Faction faction, ReactionType type )
{
Reaction reaction = GetReaction( faction );
public MovementType Movement{ get; set; }
reaction.Type = type;
}
public Mobile Follow{ get; set; }
public Orders( BaseFactionGuard guard )
{
Guard = guard;
m_Reactions = new List<Reaction>();
Movement = MovementType.Patrol;
}
public Reaction GetReaction(Faction faction)
{
Reaction reaction;
public Orders( BaseFactionGuard guard, GenericReader reader )
{
Guard = guard;
for (int i = 0; i < m_Reactions.Count; ++i)
{
reaction = m_Reactions[i];
int version = reader.ReadEncodedInt();
if (reaction.Faction == faction)
return reaction;
}
switch ( version )
{
case 1:
{
Follow = reader.ReadMobile();
goto case 0;
}
case 0:
{
int count = reader.ReadEncodedInt();
m_Reactions = new List<Reaction>( count );
reaction = new Reaction(faction,
faction == null || faction == Guard.Faction ? ReactionType.Ignore : ReactionType.Attack);
m_Reactions.Add(reaction);
for ( int i = 0; i < count; ++i )
m_Reactions.Add( new Reaction( reader ) );
return reaction;
}
Movement = (MovementType)reader.ReadEncodedInt();
public void SetReaction(Faction faction, ReactionType type)
{
Reaction reaction = GetReaction(faction);
break;
}
}
}
reaction.Type = type;
}
public void Serialize( GenericWriter writer )
{
writer.WriteEncodedInt( (int) 1 ); // version
public void Serialize(GenericWriter writer)
{
writer.WriteEncodedInt(1); // version
writer.Write( (Mobile) Follow );
writer.Write(Follow);
writer.WriteEncodedInt( (int) m_Reactions.Count );
writer.WriteEncodedInt(m_Reactions.Count);
for ( int i = 0; i < m_Reactions.Count; ++i )
m_Reactions[i].Serialize( writer );
for (int i = 0; i < m_Reactions.Count; ++i)
m_Reactions[i].Serialize(writer);
writer.WriteEncodedInt( (int) Movement );
}
}
writer.WriteEncodedInt((int)Movement);
}
}
}

View file

@ -2,71 +2,71 @@ using Server.Items;
namespace Server.Factions
{
public class FactionBerserker : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Curse | GuardAI.Bless;
public class FactionBerserker : BaseFactionGuard
{
[Constructible]
public FactionBerserker() : base("the berserker")
{
GenerateBody(false, false);
[Constructible]
public FactionBerserker() : base( "the berserker" )
{
GenerateBody( false, false );
SetStr(126, 150);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 126, 150 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetDamageType(ResistanceType.Physical, 100);
SetDamageType( ResistanceType.Physical, 100 );
SetResistance(ResistanceType.Physical, 30, 50);
SetResistance(ResistanceType.Fire, 30, 50);
SetResistance(ResistanceType.Cold, 30, 50);
SetResistance(ResistanceType.Energy, 30, 50);
SetResistance(ResistanceType.Poison, 30, 50);
SetResistance( ResistanceType.Physical, 30, 50 );
SetResistance( ResistanceType.Fire, 30, 50 );
SetResistance( ResistanceType.Cold, 30, 50 );
SetResistance( ResistanceType.Energy, 30, 50 );
SetResistance( ResistanceType.Poison, 30, 50 );
VirtualArmor = 24;
VirtualArmor = 24;
SetSkill(SkillName.Swords, 100.0, 110.0);
SetSkill(SkillName.Wrestling, 100.0, 110.0);
SetSkill(SkillName.Tactics, 100.0, 110.0);
SetSkill(SkillName.MagicResist, 100.0, 110.0);
SetSkill(SkillName.Healing, 100.0, 110.0);
SetSkill(SkillName.Anatomy, 100.0, 110.0);
SetSkill( SkillName.Swords, 100.0, 110.0 );
SetSkill( SkillName.Wrestling, 100.0, 110.0 );
SetSkill( SkillName.Tactics, 100.0, 110.0 );
SetSkill( SkillName.MagicResist, 100.0, 110.0 );
SetSkill( SkillName.Healing, 100.0, 110.0 );
SetSkill( SkillName.Anatomy, 100.0, 110.0 );
SetSkill(SkillName.Magery, 100.0, 110.0);
SetSkill(SkillName.EvalInt, 100.0, 110.0);
SetSkill(SkillName.Meditation, 100.0, 110.0);
SetSkill( SkillName.Magery, 100.0, 110.0 );
SetSkill( SkillName.EvalInt, 100.0, 110.0 );
SetSkill( SkillName.Meditation, 100.0, 110.0 );
AddItem(Immovable(Rehued(new BodySash(), 1645)));
AddItem(Immovable(Rehued(new Kilt(), 1645)));
AddItem(Immovable(Rehued(new Sandals(), 1645)));
AddItem(Newbied(new DoubleAxe()));
AddItem( Immovable( Rehued( new BodySash(), 1645 ) ) );
AddItem( Immovable( Rehued( new Kilt(), 1645 ) ) );
AddItem( Immovable( Rehued( new Sandals(), 1645 ) ) );
AddItem( Newbied( new DoubleAxe() ) );
HairItemID = 0x2047; // Afro
HairHue = 0x29;
HairItemID = 0x2047; // Afro
HairHue = 0x29;
FacialHairItemID = 0x204B; // Medium Short Beard
FacialHairHue = 0x29;
FacialHairItemID = 0x204B; // Medium Short Beard
FacialHairHue = 0x29;
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionBerserker(Serial serial) : base(serial)
{
}
public FactionBerserker( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Curse | GuardAI.Bless;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,67 +2,67 @@ using Server.Items;
namespace Server.Factions
{
public class FactionDeathKnight : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Curse | GuardAI.Bless;
public class FactionDeathKnight : BaseFactionGuard
{
[Constructible]
public FactionDeathKnight() : base("the death knight")
{
GenerateBody(false, false);
Hue = 1;
[Constructible]
public FactionDeathKnight() : base( "the death knight" )
{
GenerateBody( false, false );
Hue = 1;
SetStr(126, 150);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 126, 150 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetDamageType(ResistanceType.Physical, 100);
SetDamageType( ResistanceType.Physical, 100 );
SetResistance(ResistanceType.Physical, 30, 50);
SetResistance(ResistanceType.Fire, 30, 50);
SetResistance(ResistanceType.Cold, 30, 50);
SetResistance(ResistanceType.Energy, 30, 50);
SetResistance(ResistanceType.Poison, 30, 50);
SetResistance( ResistanceType.Physical, 30, 50 );
SetResistance( ResistanceType.Fire, 30, 50 );
SetResistance( ResistanceType.Cold, 30, 50 );
SetResistance( ResistanceType.Energy, 30, 50 );
SetResistance( ResistanceType.Poison, 30, 50 );
VirtualArmor = 24;
VirtualArmor = 24;
SetSkill(SkillName.Swords, 100.0, 110.0);
SetSkill(SkillName.Wrestling, 100.0, 110.0);
SetSkill(SkillName.Tactics, 100.0, 110.0);
SetSkill(SkillName.MagicResist, 100.0, 110.0);
SetSkill(SkillName.Healing, 100.0, 110.0);
SetSkill(SkillName.Anatomy, 100.0, 110.0);
SetSkill( SkillName.Swords, 100.0, 110.0 );
SetSkill( SkillName.Wrestling, 100.0, 110.0 );
SetSkill( SkillName.Tactics, 100.0, 110.0 );
SetSkill( SkillName.MagicResist, 100.0, 110.0 );
SetSkill( SkillName.Healing, 100.0, 110.0 );
SetSkill( SkillName.Anatomy, 100.0, 110.0 );
SetSkill(SkillName.Magery, 100.0, 110.0);
SetSkill(SkillName.EvalInt, 100.0, 110.0);
SetSkill(SkillName.Meditation, 100.0, 110.0);
SetSkill( SkillName.Magery, 100.0, 110.0 );
SetSkill( SkillName.EvalInt, 100.0, 110.0 );
SetSkill( SkillName.Meditation, 100.0, 110.0 );
Item shroud = new Item(0x204E);
shroud.Layer = Layer.OuterTorso;
Item shroud = new Item( 0x204E );
shroud.Layer = Layer.OuterTorso;
AddItem(Immovable(Rehued(shroud, 1109)));
AddItem(Newbied(Rehued(new ExecutionersAxe(), 2211)));
AddItem( Immovable( Rehued( shroud, 1109 ) ) );
AddItem( Newbied( Rehued( new ExecutionersAxe(), 2211 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionDeathKnight(Serial serial) : base(serial)
{
}
public FactionDeathKnight( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Curse | GuardAI.Bless;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,71 +2,71 @@ using Server.Items;
namespace Server.Factions
{
public class FactionDragoon : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public class FactionDragoon : BaseFactionGuard
{
[Constructible]
public FactionDragoon() : base("the dragoon")
{
GenerateBody(false, false);
[Constructible]
public FactionDragoon() : base( "the dragoon" )
{
GenerateBody( false, false );
SetStr(151, 175);
SetDex(61, 85);
SetInt(151, 175);
SetStr( 151, 175 );
SetDex( 61, 85 );
SetInt( 151, 175 );
SetResistance(ResistanceType.Physical, 40, 60);
SetResistance(ResistanceType.Fire, 40, 60);
SetResistance(ResistanceType.Cold, 40, 60);
SetResistance(ResistanceType.Energy, 40, 60);
SetResistance(ResistanceType.Poison, 40, 60);
SetResistance( ResistanceType.Physical, 40, 60 );
SetResistance( ResistanceType.Fire, 40, 60 );
SetResistance( ResistanceType.Cold, 40, 60 );
SetResistance( ResistanceType.Energy, 40, 60 );
SetResistance( ResistanceType.Poison, 40, 60 );
VirtualArmor = 32;
VirtualArmor = 32;
SetSkill(SkillName.Macing, 110.0, 120.0);
SetSkill(SkillName.Wrestling, 110.0, 120.0);
SetSkill(SkillName.Tactics, 110.0, 120.0);
SetSkill(SkillName.MagicResist, 110.0, 120.0);
SetSkill(SkillName.Healing, 110.0, 120.0);
SetSkill(SkillName.Anatomy, 110.0, 120.0);
SetSkill( SkillName.Macing, 110.0, 120.0 );
SetSkill( SkillName.Wrestling, 110.0, 120.0 );
SetSkill( SkillName.Tactics, 110.0, 120.0 );
SetSkill( SkillName.MagicResist, 110.0, 120.0 );
SetSkill( SkillName.Healing, 110.0, 120.0 );
SetSkill( SkillName.Anatomy, 110.0, 120.0 );
SetSkill(SkillName.Magery, 110.0, 120.0);
SetSkill(SkillName.EvalInt, 110.0, 120.0);
SetSkill(SkillName.Meditation, 110.0, 120.0);
SetSkill( SkillName.Magery, 110.0, 120.0 );
SetSkill( SkillName.EvalInt, 110.0, 120.0 );
SetSkill( SkillName.Meditation, 110.0, 120.0 );
AddItem(Immovable(Rehued(new Cloak(), 1645)));
AddItem( Immovable( Rehued( new Cloak(), 1645 ) ) );
AddItem(Immovable(Rehued(new PlateChest(), 1645)));
AddItem(Immovable(Rehued(new PlateLegs(), 1109)));
AddItem(Immovable(Rehued(new PlateArms(), 1109)));
AddItem(Immovable(Rehued(new PlateGloves(), 1109)));
AddItem(Immovable(Rehued(new PlateGorget(), 1109)));
AddItem(Immovable(Rehued(new PlateHelm(), 1109)));
AddItem( Immovable( Rehued( new PlateChest(), 1645 ) ) );
AddItem( Immovable( Rehued( new PlateLegs(), 1109 ) ) );
AddItem( Immovable( Rehued( new PlateArms(), 1109 ) ) );
AddItem( Immovable( Rehued( new PlateGloves(), 1109 ) ) );
AddItem( Immovable( Rehued( new PlateGorget(), 1109 ) ) );
AddItem( Immovable( Rehued( new PlateHelm(), 1109 ) ) );
AddItem(Newbied(new WarHammer()));
AddItem( Newbied( new WarHammer() ) );
AddItem(Immovable(Rehued(new VirtualMountItem(this), 1109)));
AddItem( Immovable( Rehued( new VirtualMountItem( this ), 1109 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionDragoon(Serial serial) : base(serial)
{
}
public FactionDragoon( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,64 +2,64 @@ using Server.Items;
namespace Server.Factions
{
public class FactionHenchman : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Melee;
public class FactionHenchman : BaseFactionGuard
{
[Constructible]
public FactionHenchman() : base("the henchman")
{
GenerateBody(false, true);
[Constructible]
public FactionHenchman() : base( "the henchman" )
{
GenerateBody( false, true );
SetStr(91, 115);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 91, 115 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetDamage(10, 14);
SetDamage( 10, 14 );
SetResistance(ResistanceType.Physical, 10, 30);
SetResistance(ResistanceType.Fire, 10, 30);
SetResistance(ResistanceType.Cold, 10, 30);
SetResistance(ResistanceType.Energy, 10, 30);
SetResistance(ResistanceType.Poison, 10, 30);
SetResistance( ResistanceType.Physical, 10, 30 );
SetResistance( ResistanceType.Fire, 10, 30 );
SetResistance( ResistanceType.Cold, 10, 30 );
SetResistance( ResistanceType.Energy, 10, 30 );
SetResistance( ResistanceType.Poison, 10, 30 );
VirtualArmor = 8;
VirtualArmor = 8;
SetSkill(SkillName.Fencing, 80.0, 90.0);
SetSkill(SkillName.Wrestling, 80.0, 90.0);
SetSkill(SkillName.Tactics, 80.0, 90.0);
SetSkill(SkillName.MagicResist, 80.0, 90.0);
SetSkill(SkillName.Healing, 80.0, 90.0);
SetSkill(SkillName.Anatomy, 80.0, 90.0);
SetSkill( SkillName.Fencing, 80.0, 90.0 );
SetSkill( SkillName.Wrestling, 80.0, 90.0 );
SetSkill( SkillName.Tactics, 80.0, 90.0 );
SetSkill( SkillName.MagicResist, 80.0, 90.0 );
SetSkill( SkillName.Healing, 80.0, 90.0 );
SetSkill( SkillName.Anatomy, 80.0, 90.0 );
AddItem(new StuddedChest());
AddItem(new StuddedLegs());
AddItem(new StuddedArms());
AddItem(new StuddedGloves());
AddItem(new StuddedGorget());
AddItem(new Boots());
AddItem(Newbied(new Spear()));
AddItem( new StuddedChest() );
AddItem( new StuddedLegs() );
AddItem( new StuddedArms() );
AddItem( new StuddedGloves() );
AddItem( new StuddedGorget() );
AddItem( new Boots() );
AddItem( Newbied( new Spear() ) );
PackItem(new Bandage(Utility.RandomMinMax(10, 20)));
PackWeakPotions(1, 4);
}
PackItem( new Bandage( Utility.RandomMinMax( 10, 20 ) ) );
PackWeakPotions( 1, 4 );
}
public FactionHenchman(Serial serial) : base(serial)
{
}
public FactionHenchman( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Melee;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,72 +2,72 @@ using Server.Items;
namespace Server.Factions
{
public class FactionKnight : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Curse | GuardAI.Bless;
public class FactionKnight : BaseFactionGuard
{
[Constructible]
public FactionKnight() : base("the knight")
{
GenerateBody(false, false);
[Constructible]
public FactionKnight() : base( "the knight" )
{
GenerateBody( false, false );
SetStr(126, 150);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 126, 150 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetDamageType(ResistanceType.Physical, 100);
SetDamageType( ResistanceType.Physical, 100 );
SetResistance(ResistanceType.Physical, 30, 50);
SetResistance(ResistanceType.Fire, 30, 50);
SetResistance(ResistanceType.Cold, 30, 50);
SetResistance(ResistanceType.Energy, 30, 50);
SetResistance(ResistanceType.Poison, 30, 50);
SetResistance( ResistanceType.Physical, 30, 50 );
SetResistance( ResistanceType.Fire, 30, 50 );
SetResistance( ResistanceType.Cold, 30, 50 );
SetResistance( ResistanceType.Energy, 30, 50 );
SetResistance( ResistanceType.Poison, 30, 50 );
VirtualArmor = 24;
VirtualArmor = 24;
SetSkill(SkillName.Swords, 100.0, 110.0);
SetSkill(SkillName.Wrestling, 100.0, 110.0);
SetSkill(SkillName.Tactics, 100.0, 110.0);
SetSkill(SkillName.MagicResist, 100.0, 110.0);
SetSkill(SkillName.Healing, 100.0, 110.0);
SetSkill(SkillName.Anatomy, 100.0, 110.0);
SetSkill( SkillName.Swords, 100.0, 110.0 );
SetSkill( SkillName.Wrestling, 100.0, 110.0 );
SetSkill( SkillName.Tactics, 100.0, 110.0 );
SetSkill( SkillName.MagicResist, 100.0, 110.0 );
SetSkill( SkillName.Healing, 100.0, 110.0 );
SetSkill( SkillName.Anatomy, 100.0, 110.0 );
SetSkill(SkillName.Magery, 100.0, 110.0);
SetSkill(SkillName.EvalInt, 100.0, 110.0);
SetSkill(SkillName.Meditation, 100.0, 110.0);
SetSkill( SkillName.Magery, 100.0, 110.0 );
SetSkill( SkillName.EvalInt, 100.0, 110.0 );
SetSkill( SkillName.Meditation, 100.0, 110.0 );
AddItem(Immovable(Rehued(new ChainChest(), 2125)));
AddItem(Immovable(Rehued(new ChainLegs(), 2125)));
AddItem(Immovable(Rehued(new ChainCoif(), 2125)));
AddItem(Immovable(Rehued(new PlateArms(), 2125)));
AddItem(Immovable(Rehued(new PlateGloves(), 2125)));
AddItem( Immovable( Rehued( new ChainChest(), 2125 ) ) );
AddItem( Immovable( Rehued( new ChainLegs(), 2125 ) ) );
AddItem( Immovable( Rehued( new ChainCoif (), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateArms(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateGloves(), 2125 ) ) );
AddItem(Immovable(Rehued(new BodySash(), 1254)));
AddItem(Immovable(Rehued(new Kilt(), 1254)));
AddItem(Immovable(Rehued(new Sandals(), 1254)));
AddItem( Immovable( Rehued( new BodySash(), 1254 ) ) );
AddItem( Immovable( Rehued( new Kilt(), 1254 ) ) );
AddItem( Immovable( Rehued( new Sandals(), 1254 ) ) );
AddItem(Newbied(new Bardiche()));
AddItem( Newbied( new Bardiche() ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionKnight(Serial serial) : base(serial)
{
}
public FactionKnight( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Curse | GuardAI.Bless;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,62 +2,62 @@ using Server.Items;
namespace Server.Factions
{
public class FactionMercenary : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Smart;
public class FactionMercenary : BaseFactionGuard
{
[Constructible]
public FactionMercenary() : base("the mercenary")
{
GenerateBody(false, true);
[Constructible]
public FactionMercenary() : base( "the mercenary" )
{
GenerateBody( false, true );
SetStr(116, 125);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 116, 125 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetResistance(ResistanceType.Physical, 20, 40);
SetResistance(ResistanceType.Fire, 20, 40);
SetResistance(ResistanceType.Cold, 20, 40);
SetResistance(ResistanceType.Energy, 20, 40);
SetResistance(ResistanceType.Poison, 20, 40);
SetResistance( ResistanceType.Physical, 20, 40 );
SetResistance( ResistanceType.Fire, 20, 40 );
SetResistance( ResistanceType.Cold, 20, 40 );
SetResistance( ResistanceType.Energy, 20, 40 );
SetResistance( ResistanceType.Poison, 20, 40 );
VirtualArmor = 16;
VirtualArmor = 16;
SetSkill(SkillName.Fencing, 90.0, 100.0);
SetSkill(SkillName.Wrestling, 90.0, 100.0);
SetSkill(SkillName.Tactics, 90.0, 100.0);
SetSkill(SkillName.MagicResist, 90.0, 100.0);
SetSkill(SkillName.Healing, 90.0, 100.0);
SetSkill(SkillName.Anatomy, 90.0, 100.0);
SetSkill( SkillName.Fencing, 90.0, 100.0 );
SetSkill( SkillName.Wrestling, 90.0, 100.0 );
SetSkill( SkillName.Tactics, 90.0, 100.0 );
SetSkill( SkillName.MagicResist, 90.0, 100.0 );
SetSkill( SkillName.Healing, 90.0, 100.0 );
SetSkill( SkillName.Anatomy, 90.0, 100.0 );
AddItem(new ChainChest());
AddItem(new ChainLegs());
AddItem(new RingmailArms());
AddItem(new RingmailGloves());
AddItem(new ChainCoif());
AddItem(new Boots());
AddItem(Newbied(new ShortSpear()));
AddItem( new ChainChest() );
AddItem( new ChainLegs() );
AddItem( new RingmailArms() );
AddItem( new RingmailGloves() );
AddItem( new ChainCoif () );
AddItem( new Boots() );
AddItem( Newbied( new ShortSpear() ) );
PackItem(new Bandage(Utility.RandomMinMax(20, 30)));
PackStrongPotions(3, 8);
}
PackItem( new Bandage( Utility.RandomMinMax( 20, 30 ) ) );
PackStrongPotions( 3, 8 );
}
public FactionMercenary(Serial serial) : base(serial)
{
}
public FactionMercenary( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Melee | GuardAI.Smart;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,65 +2,65 @@ using Server.Items;
namespace Server.Factions
{
public class FactionNecromancer : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public class FactionNecromancer : BaseFactionGuard
{
[Constructible]
public FactionNecromancer() : base("the necromancer")
{
GenerateBody(false, false);
Hue = 1;
[Constructible]
public FactionNecromancer() : base( "the necromancer" )
{
GenerateBody( false, false );
Hue = 1;
SetStr(151, 175);
SetDex(61, 85);
SetInt(151, 175);
SetStr( 151, 175 );
SetDex( 61, 85 );
SetInt( 151, 175 );
SetResistance(ResistanceType.Physical, 40, 60);
SetResistance(ResistanceType.Fire, 40, 60);
SetResistance(ResistanceType.Cold, 40, 60);
SetResistance(ResistanceType.Energy, 40, 60);
SetResistance(ResistanceType.Poison, 40, 60);
SetResistance( ResistanceType.Physical, 40, 60 );
SetResistance( ResistanceType.Fire, 40, 60 );
SetResistance( ResistanceType.Cold, 40, 60 );
SetResistance( ResistanceType.Energy, 40, 60 );
SetResistance( ResistanceType.Poison, 40, 60 );
VirtualArmor = 32;
VirtualArmor = 32;
SetSkill(SkillName.Macing, 110.0, 120.0);
SetSkill(SkillName.Wrestling, 110.0, 120.0);
SetSkill(SkillName.Tactics, 110.0, 120.0);
SetSkill(SkillName.MagicResist, 110.0, 120.0);
SetSkill(SkillName.Healing, 110.0, 120.0);
SetSkill(SkillName.Anatomy, 110.0, 120.0);
SetSkill( SkillName.Macing, 110.0, 120.0 );
SetSkill( SkillName.Wrestling, 110.0, 120.0 );
SetSkill( SkillName.Tactics, 110.0, 120.0 );
SetSkill( SkillName.MagicResist, 110.0, 120.0 );
SetSkill( SkillName.Healing, 110.0, 120.0 );
SetSkill( SkillName.Anatomy, 110.0, 120.0 );
SetSkill(SkillName.Magery, 110.0, 120.0);
SetSkill(SkillName.EvalInt, 110.0, 120.0);
SetSkill(SkillName.Meditation, 110.0, 120.0);
SetSkill( SkillName.Magery, 110.0, 120.0 );
SetSkill( SkillName.EvalInt, 110.0, 120.0 );
SetSkill( SkillName.Meditation, 110.0, 120.0 );
Item shroud = new Item(0x204E);
shroud.Layer = Layer.OuterTorso;
Item shroud = new Item( 0x204E );
shroud.Layer = Layer.OuterTorso;
AddItem(Immovable(Rehued(shroud, 1109)));
AddItem(Newbied(Rehued(new GnarledStaff(), 2211)));
AddItem( Immovable( Rehued( shroud, 1109 ) ) );
AddItem( Newbied( Rehued( new GnarledStaff(), 2211 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionNecromancer(Serial serial) : base(serial)
{
}
public FactionNecromancer( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,72 +2,72 @@ using Server.Items;
namespace Server.Factions
{
public class FactionPaladin : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Curse | GuardAI.Bless;
public class FactionPaladin : BaseFactionGuard
{
[Constructible]
public FactionPaladin() : base("the paladin")
{
GenerateBody(false, false);
[Constructible]
public FactionPaladin() : base( "the paladin" )
{
GenerateBody( false, false );
SetStr(151, 175);
SetDex(61, 85);
SetInt(81, 95);
SetStr( 151, 175 );
SetDex( 61, 85 );
SetInt( 81, 95 );
SetResistance(ResistanceType.Physical, 40, 60);
SetResistance(ResistanceType.Fire, 40, 60);
SetResistance(ResistanceType.Cold, 40, 60);
SetResistance(ResistanceType.Energy, 40, 60);
SetResistance(ResistanceType.Poison, 40, 60);
SetResistance( ResistanceType.Physical, 40, 60 );
SetResistance( ResistanceType.Fire, 40, 60 );
SetResistance( ResistanceType.Cold, 40, 60 );
SetResistance( ResistanceType.Energy, 40, 60 );
SetResistance( ResistanceType.Poison, 40, 60 );
VirtualArmor = 32;
VirtualArmor = 32;
SetSkill(SkillName.Swords, 110.0, 120.0);
SetSkill(SkillName.Wrestling, 110.0, 120.0);
SetSkill(SkillName.Tactics, 110.0, 120.0);
SetSkill(SkillName.MagicResist, 110.0, 120.0);
SetSkill(SkillName.Healing, 110.0, 120.0);
SetSkill(SkillName.Anatomy, 110.0, 120.0);
SetSkill( SkillName.Swords, 110.0, 120.0 );
SetSkill( SkillName.Wrestling, 110.0, 120.0 );
SetSkill( SkillName.Tactics, 110.0, 120.0 );
SetSkill( SkillName.MagicResist, 110.0, 120.0 );
SetSkill( SkillName.Healing, 110.0, 120.0 );
SetSkill( SkillName.Anatomy, 110.0, 120.0 );
SetSkill(SkillName.Magery, 110.0, 120.0);
SetSkill(SkillName.EvalInt, 110.0, 120.0);
SetSkill(SkillName.Meditation, 110.0, 120.0);
SetSkill( SkillName.Magery, 110.0, 120.0 );
SetSkill( SkillName.EvalInt, 110.0, 120.0 );
SetSkill( SkillName.Meditation, 110.0, 120.0 );
AddItem(Immovable(Rehued(new PlateChest(), 2125)));
AddItem(Immovable(Rehued(new PlateLegs(), 2125)));
AddItem(Immovable(Rehued(new PlateHelm(), 2125)));
AddItem(Immovable(Rehued(new PlateGorget(), 2125)));
AddItem(Immovable(Rehued(new PlateArms(), 2125)));
AddItem(Immovable(Rehued(new PlateGloves(), 2125)));
AddItem( Immovable( Rehued( new PlateChest(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateLegs(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateHelm(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateGorget(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateArms(), 2125 ) ) );
AddItem( Immovable( Rehued( new PlateGloves(), 2125 ) ) );
AddItem(Immovable(Rehued(new BodySash(), 1254)));
AddItem(Immovable(Rehued(new Cloak(), 1254)));
AddItem( Immovable( Rehued( new BodySash(), 1254 ) ) );
AddItem( Immovable( Rehued( new Cloak(), 1254 ) ) );
AddItem(Newbied(new Halberd()));
AddItem( Newbied( new Halberd() ) );
AddItem(Immovable(Rehued(new VirtualMountItem(this), 1254)));
AddItem( Immovable( Rehued( new VirtualMountItem( this ), 1254 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionPaladin(Serial serial) : base(serial)
{
}
public FactionPaladin( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Melee | GuardAI.Smart | GuardAI.Curse | GuardAI.Bless;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,69 +2,69 @@ using Server.Items;
namespace Server.Factions
{
public class FactionSorceress : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Bless | GuardAI.Curse;
public class FactionSorceress : BaseFactionGuard
{
[Constructible]
public FactionSorceress() : base("the sorceress")
{
GenerateBody(true, false);
[Constructible]
public FactionSorceress() : base( "the sorceress" )
{
GenerateBody( true, false );
SetStr(126, 150);
SetDex(61, 85);
SetInt(126, 150);
SetStr( 126, 150 );
SetDex( 61, 85 );
SetInt( 126, 150 );
SetDamageType(ResistanceType.Physical, 100);
SetDamageType( ResistanceType.Physical, 100 );
SetResistance(ResistanceType.Physical, 30, 50);
SetResistance(ResistanceType.Fire, 30, 50);
SetResistance(ResistanceType.Cold, 30, 50);
SetResistance(ResistanceType.Energy, 30, 50);
SetResistance(ResistanceType.Poison, 30, 50);
SetResistance( ResistanceType.Physical, 30, 50 );
SetResistance( ResistanceType.Fire, 30, 50 );
SetResistance( ResistanceType.Cold, 30, 50 );
SetResistance( ResistanceType.Energy, 30, 50 );
SetResistance( ResistanceType.Poison, 30, 50 );
VirtualArmor = 24;
VirtualArmor = 24;
SetSkill(SkillName.Macing, 100.0, 110.0);
SetSkill(SkillName.Wrestling, 100.0, 110.0);
SetSkill(SkillName.Tactics, 100.0, 110.0);
SetSkill(SkillName.MagicResist, 100.0, 110.0);
SetSkill(SkillName.Healing, 100.0, 110.0);
SetSkill(SkillName.Anatomy, 100.0, 110.0);
SetSkill( SkillName.Macing, 100.0, 110.0 );
SetSkill( SkillName.Wrestling, 100.0, 110.0 );
SetSkill( SkillName.Tactics, 100.0, 110.0 );
SetSkill( SkillName.MagicResist, 100.0, 110.0 );
SetSkill( SkillName.Healing, 100.0, 110.0 );
SetSkill( SkillName.Anatomy, 100.0, 110.0 );
SetSkill(SkillName.Magery, 100.0, 110.0);
SetSkill(SkillName.EvalInt, 100.0, 110.0);
SetSkill(SkillName.Meditation, 100.0, 110.0);
SetSkill( SkillName.Magery, 100.0, 110.0 );
SetSkill( SkillName.EvalInt, 100.0, 110.0 );
SetSkill( SkillName.Meditation, 100.0, 110.0 );
AddItem(Immovable(Rehued(new WizardsHat(), 1325)));
AddItem(Immovable(Rehued(new Sandals(), 1325)));
AddItem(Immovable(Rehued(new LeatherGorget(), 1325)));
AddItem(Immovable(Rehued(new LeatherGloves(), 1325)));
AddItem(Immovable(Rehued(new LeatherLegs(), 1325)));
AddItem(Immovable(Rehued(new Skirt(), 1325)));
AddItem(Immovable(Rehued(new FemaleLeatherChest(), 1325)));
AddItem(Newbied(Rehued(new QuarterStaff(), 1310)));
AddItem( Immovable( Rehued( new WizardsHat(), 1325 ) ) );
AddItem( Immovable( Rehued( new Sandals(), 1325 ) ) );
AddItem( Immovable( Rehued( new LeatherGorget(), 1325 ) ) );
AddItem( Immovable( Rehued( new LeatherGloves(), 1325 ) ) );
AddItem( Immovable( Rehued( new LeatherLegs(), 1325 ) ) );
AddItem( Immovable( Rehued( new Skirt(), 1325 ) ) );
AddItem( Immovable( Rehued( new FemaleLeatherChest(), 1325 ) ) );
AddItem( Newbied( Rehued( new QuarterStaff(), 1310 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionSorceress(Serial serial) : base(serial)
{
}
public FactionSorceress( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Bless | GuardAI.Curse;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -2,66 +2,66 @@ using Server.Items;
namespace Server.Factions
{
public class FactionWizard : BaseFactionGuard
{
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public class FactionWizard : BaseFactionGuard
{
[Constructible]
public FactionWizard() : base("the wizard")
{
GenerateBody(false, false);
[Constructible]
public FactionWizard() : base( "the wizard" )
{
GenerateBody( false, false );
SetStr(151, 175);
SetDex(61, 85);
SetInt(151, 175);
SetStr( 151, 175 );
SetDex( 61, 85 );
SetInt( 151, 175 );
SetDamageType(ResistanceType.Physical, 100);
SetDamageType( ResistanceType.Physical, 100 );
SetResistance(ResistanceType.Physical, 40, 60);
SetResistance(ResistanceType.Fire, 40, 60);
SetResistance(ResistanceType.Cold, 40, 60);
SetResistance(ResistanceType.Energy, 40, 60);
SetResistance(ResistanceType.Poison, 40, 60);
SetResistance( ResistanceType.Physical, 40, 60 );
SetResistance( ResistanceType.Fire, 40, 60 );
SetResistance( ResistanceType.Cold, 40, 60 );
SetResistance( ResistanceType.Energy, 40, 60 );
SetResistance( ResistanceType.Poison, 40, 60 );
VirtualArmor = 32;
VirtualArmor = 32;
SetSkill(SkillName.Macing, 110.0, 120.0);
SetSkill(SkillName.Wrestling, 110.0, 120.0);
SetSkill(SkillName.Tactics, 110.0, 120.0);
SetSkill(SkillName.MagicResist, 110.0, 120.0);
SetSkill(SkillName.Healing, 110.0, 120.0);
SetSkill(SkillName.Anatomy, 110.0, 120.0);
SetSkill( SkillName.Macing, 110.0, 120.0 );
SetSkill( SkillName.Wrestling, 110.0, 120.0 );
SetSkill( SkillName.Tactics, 110.0, 120.0 );
SetSkill( SkillName.MagicResist, 110.0, 120.0 );
SetSkill( SkillName.Healing, 110.0, 120.0 );
SetSkill( SkillName.Anatomy, 110.0, 120.0 );
SetSkill(SkillName.Magery, 110.0, 120.0);
SetSkill(SkillName.EvalInt, 110.0, 120.0);
SetSkill(SkillName.Meditation, 110.0, 120.0);
SetSkill( SkillName.Magery, 110.0, 120.0 );
SetSkill( SkillName.EvalInt, 110.0, 120.0 );
SetSkill( SkillName.Meditation, 110.0, 120.0 );
AddItem(Immovable(Rehued(new WizardsHat(), 1325)));
AddItem(Immovable(Rehued(new Sandals(), 1325)));
AddItem(Immovable(Rehued(new Robe(), 1310)));
AddItem(Immovable(Rehued(new LeatherGloves(), 1325)));
AddItem(Newbied(Rehued(new GnarledStaff(), 1310)));
AddItem( Immovable( Rehued( new WizardsHat(), 1325 ) ) );
AddItem( Immovable( Rehued( new Sandals(), 1325 ) ) );
AddItem( Immovable( Rehued( new Robe(), 1310 ) ) );
AddItem( Immovable( Rehued( new LeatherGloves(), 1325 ) ) );
AddItem( Newbied( Rehued( new GnarledStaff(), 1310 ) ) );
PackItem(new Bandage(Utility.RandomMinMax(30, 40)));
PackStrongPotions(6, 12);
}
PackItem( new Bandage( Utility.RandomMinMax( 30, 40 ) ) );
PackStrongPotions( 6, 12 );
}
public FactionWizard(Serial serial) : base(serial)
{
}
public FactionWizard( Serial serial ) : base( serial )
{
}
public override GuardAI GuardAI => GuardAI.Magic | GuardAI.Smart | GuardAI.Bless | GuardAI.Curse;
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -3,109 +3,119 @@ using Server.Mobiles;
namespace Server.Factions
{
public abstract class BaseFactionVendor : BaseVendor
{
private Town m_Town;
private Faction m_Faction;
public abstract class BaseFactionVendor : BaseVendor
{
private Faction m_Faction;
private Town m_Town;
[CommandProperty( AccessLevel.Counselor, AccessLevel.Administrator )]
public Town Town
{
get => m_Town;
set{ Unregister(); m_Town = value; Register(); }
}
public BaseFactionVendor(Town town, Faction faction, string title) : base(title)
{
Frozen = true;
CantWalk = true;
Female = false;
BodyValue = 400;
Name = NameList.RandomName("male");
[CommandProperty( AccessLevel.Counselor, AccessLevel.Administrator )]
public Faction Faction
{
get => m_Faction;
set{ Unregister(); m_Faction = value; Register(); }
}
RangeHome = 0;
public void Register()
{
if ( m_Town != null && m_Faction != null )
m_Town.RegisterVendor( this );
}
m_Town = town;
m_Faction = faction;
Register();
}
public override bool OnMoveOver( Mobile m )
{
if ( Core.ML )
return true;
public BaseFactionVendor(Serial serial) : base(serial)
{
}
return base.OnMoveOver( m );
}
[CommandProperty(AccessLevel.Counselor, AccessLevel.Administrator)]
public Town Town
{
get => m_Town;
set
{
Unregister();
m_Town = value;
Register();
}
}
public void Unregister()
{
m_Town?.UnregisterVendor( this );
}
[CommandProperty(AccessLevel.Counselor, AccessLevel.Administrator)]
public Faction Faction
{
get => m_Faction;
set
{
Unregister();
m_Faction = value;
Register();
}
}
protected override List<SBInfo> SBInfos { get; } = new List<SBInfo>();
protected override List<SBInfo> SBInfos{ get; } = new List<SBInfo>();
public override void InitSBInfo()
{
}
public void Register()
{
if (m_Town != null && m_Faction != null)
m_Town.RegisterVendor(this);
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
public override bool OnMoveOver(Mobile m)
{
if (Core.ML)
return true;
Unregister();
}
return base.OnMoveOver(m);
}
public override bool CheckVendorAccess( Mobile from )
{
return true;
}
public void Unregister()
{
m_Town?.UnregisterVendor(this);
}
public BaseFactionVendor( Town town, Faction faction, string title ) : base( title )
{
Frozen = true;
CantWalk = true;
Female = false;
BodyValue = 400;
Name = NameList.RandomName( "male" );
public override void InitSBInfo()
{
}
RangeHome = 0;
public override void OnAfterDelete()
{
base.OnAfterDelete();
m_Town = town;
m_Faction = faction;
Register();
}
Unregister();
}
public BaseFactionVendor( Serial serial ) : base( serial )
{
}
public override bool CheckVendorAccess(Mobile from)
{
return true;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
writer.Write(0); // version
Town.WriteReference( writer, m_Town );
Faction.WriteReference( writer, m_Faction );
}
Town.WriteReference(writer, m_Town);
Faction.WriteReference(writer, m_Faction);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
m_Town = Town.ReadReference( reader );
m_Faction = Faction.ReadReference( reader );
Register();
break;
}
}
switch (version)
{
case 0:
{
m_Town = Town.ReadReference(reader);
m_Faction = Faction.ReadReference(reader);
Register();
break;
}
}
Frozen = true;
}
}
Frozen = true;
}
}
}

View file

@ -4,69 +4,63 @@ using Server.Mobiles;
namespace Server.Factions
{
public class FactionBoardVendor : BaseFactionVendor
{
public FactionBoardVendor( Town town, Faction faction ) : base( town, faction, "the LumberMan" ) // NOTE: title inconsistant, as OSI
{
SetSkill( SkillName.Carpentry, 85.0, 100.0 );
SetSkill( SkillName.Lumberjacking, 60.0, 83.0 );
}
public class FactionBoardVendor : BaseFactionVendor
{
public FactionBoardVendor(Town town, Faction faction) :
base(town, faction, "the LumberMan") // NOTE: title inconsistant, as OSI
{
SetSkill(SkillName.Carpentry, 85.0, 100.0);
SetSkill(SkillName.Lumberjacking, 60.0, 83.0);
}
public override void InitSBInfo()
{
SBInfos.Add( new SBFactionBoard() );
}
public FactionBoardVendor(Serial serial) : base(serial)
{
}
public override void InitOutfit()
{
base.InitOutfit();
public override void InitSBInfo()
{
SBInfos.Add(new SBFactionBoard());
}
AddItem( new HalfApron() );
}
public override void InitOutfit()
{
base.InitOutfit();
public FactionBoardVendor( Serial serial ) : base( serial )
{
}
AddItem(new HalfApron());
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
int version = reader.ReadInt();
}
}
public class SBFactionBoard : SBInfo
{
public SBFactionBoard()
{
}
public class SBFactionBoard : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override IShopSellInfo SellInfo { get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public override List<GenericBuyInfo> BuyInfo { get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for (int i = 0; i < 5; ++i)
Add(new GenericBuyInfo(typeof(Board), 3, 20, 0x1BD7, 0));
}
}
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for ( int i = 0; i < 5; ++i )
Add( new GenericBuyInfo( typeof( Board ), 3, 20, 0x1BD7, 0 ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -4,71 +4,64 @@ using Server.Mobiles;
namespace Server.Factions
{
public class FactionBottleVendor : BaseFactionVendor
{
public FactionBottleVendor( Town town, Faction faction ) : base( town, faction, "the Bottle Seller" )
{
SetSkill( SkillName.Alchemy, 85.0, 100.0 );
SetSkill( SkillName.TasteID, 65.0, 88.0 );
}
public class FactionBottleVendor : BaseFactionVendor
{
public FactionBottleVendor(Town town, Faction faction) : base(town, faction, "the Bottle Seller")
{
SetSkill(SkillName.Alchemy, 85.0, 100.0);
SetSkill(SkillName.TasteID, 65.0, 88.0);
}
public override void InitSBInfo()
{
SBInfos.Add( new SBFactionBottle() );
}
public FactionBottleVendor(Serial serial) : base(serial)
{
}
public override VendorShoeType ShoeType => Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals;
public override VendorShoeType ShoeType => Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals;
public override void InitOutfit()
{
base.InitOutfit();
public override void InitSBInfo()
{
SBInfos.Add(new SBFactionBottle());
}
AddItem( new Robe( Utility.RandomPinkHue() ) );
}
public override void InitOutfit()
{
base.InitOutfit();
public FactionBottleVendor( Serial serial ) : base( serial )
{
}
AddItem(new Robe(Utility.RandomPinkHue()));
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
int version = reader.ReadInt();
}
}
public class SBFactionBottle : SBInfo
{
public SBFactionBottle()
{
}
public class SBFactionBottle : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override IShopSellInfo SellInfo { get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public override List<GenericBuyInfo> BuyInfo { get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for (int i = 0; i < 5; ++i)
Add(new GenericBuyInfo(typeof(Bottle), 5, 20, 0xF0E, 0));
}
}
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for ( int i = 0; i < 5; ++i )
Add( new GenericBuyInfo( typeof( Bottle ), 5, 20, 0xF0E, 0 ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -1,77 +1,78 @@
using System.Collections.Generic;
using Server.Items;
using Server.Mobiles;
using Server.Network;
using System.Collections.Generic;
namespace Server.Factions
{
public class FactionHorseVendor : BaseFactionVendor
{
public FactionHorseVendor( Town town, Faction faction ) : base( town, faction, "the Horse Breeder" )
{
SetSkill( SkillName.AnimalLore, 64.0, 100.0 );
SetSkill( SkillName.AnimalTaming, 90.0, 100.0 );
SetSkill( SkillName.Veterinary, 65.0, 88.0 );
}
public class FactionHorseVendor : BaseFactionVendor
{
public FactionHorseVendor(Town town, Faction faction) : base(town, faction, "the Horse Breeder")
{
SetSkill(SkillName.AnimalLore, 64.0, 100.0);
SetSkill(SkillName.AnimalTaming, 90.0, 100.0);
SetSkill(SkillName.Veterinary, 65.0, 88.0);
}
public override void InitSBInfo()
{
}
public FactionHorseVendor(Serial serial) : base(serial)
{
}
public override VendorShoeType ShoeType => Female ? VendorShoeType.ThighBoots : VendorShoeType.Boots;
public override VendorShoeType ShoeType => Female ? VendorShoeType.ThighBoots : VendorShoeType.Boots;
public override int GetShoeHue()
{
return 0;
}
public override void InitSBInfo()
{
}
public override void InitOutfit()
{
base.InitOutfit();
public override int GetShoeHue()
{
return 0;
}
AddItem( Utility.RandomBool() ? (Item)new QuarterStaff() : (Item)new ShepherdsCrook() );
}
public override void InitOutfit()
{
base.InitOutfit();
public FactionHorseVendor( Serial serial ) : base( serial )
{
}
AddItem(Utility.RandomBool() ? new QuarterStaff() : (Item)new ShepherdsCrook());
}
public override void VendorBuy( Mobile from )
{
if ( Faction == null || Faction.Find( from, true ) != Faction )
PrivateOverheadMessage( MessageType.Regular, 0x3B2, 1042201, from.NetState ); // You are not in my faction, I cannot sell you a horse!
else if ( FactionGump.Exists( from ) )
from.SendLocalizedMessage( 1042160 ); // You already have a faction menu open.
else if ( from is PlayerMobile mobile )
mobile.SendGump( new HorseBreederGump( mobile, Faction ) );
}
public override void VendorBuy(Mobile from)
{
if (Faction == null || Faction.Find(from, true) != Faction)
PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1042201,
from.NetState); // You are not in my faction, I cannot sell you a horse!
else if (FactionGump.Exists(from))
from.SendLocalizedMessage(1042160); // You already have a faction menu open.
else if (from is PlayerMobile mobile)
mobile.SendGump(new HorseBreederGump(mobile, Faction));
}
public override void VendorSell( Mobile from )
{
}
public override void VendorSell(Mobile from)
{
}
public override bool OnBuyItems( Mobile buyer, List<BuyItemResponse> list )
{
return false;
}
public override bool OnBuyItems(Mobile buyer, List<BuyItemResponse> list)
{
return false;
}
public override bool OnSellItems( Mobile seller, List<SellItemResponse> list )
{
return false;
}
public override bool OnSellItems(Mobile seller, List<SellItemResponse> list)
{
return false;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
int version = reader.ReadInt();
}
}
}

View file

@ -4,72 +4,65 @@ using Server.Mobiles;
namespace Server.Factions
{
public class FactionOreVendor : BaseFactionVendor
{
public FactionOreVendor( Town town, Faction faction ) : base( town, faction, "the Ore Man" )
{
// NOTE: Skills verified
SetSkill( SkillName.Carpentry, 85.0, 100.0 );
SetSkill( SkillName.Lumberjacking, 60.0, 83.0 );
}
public class FactionOreVendor : BaseFactionVendor
{
public FactionOreVendor(Town town, Faction faction) : base(town, faction, "the Ore Man")
{
// NOTE: Skills verified
SetSkill(SkillName.Carpentry, 85.0, 100.0);
SetSkill(SkillName.Lumberjacking, 60.0, 83.0);
}
public override void InitSBInfo()
{
SBInfos.Add( new SBFactionOre() );
}
public FactionOreVendor(Serial serial) : base(serial)
{
}
public override void InitOutfit()
{
base.InitOutfit();
public override void InitSBInfo()
{
SBInfos.Add(new SBFactionOre());
}
AddItem( new HalfApron() );
}
public override void InitOutfit()
{
base.InitOutfit();
public FactionOreVendor( Serial serial ) : base( serial )
{
}
AddItem(new HalfApron());
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
int version = reader.ReadInt();
}
}
public class SBFactionOre : SBInfo
{
private static readonly object[] m_FixedSizeArgs = { true };
public class SBFactionOre : SBInfo
{
private static readonly object[] m_FixedSizeArgs = { true };
public SBFactionOre()
{
}
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override IShopSellInfo SellInfo { get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public override List<GenericBuyInfo> BuyInfo { get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for (int i = 0; i < 5; ++i)
Add(new GenericBuyInfo(typeof(IronOre), 16, 20, 0x19B8, 0, m_FixedSizeArgs));
}
}
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for ( int i = 0; i < 5; ++i )
Add( new GenericBuyInfo( typeof( IronOre ), 16, 20, 0x19B8, 0, m_FixedSizeArgs ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -4,85 +4,78 @@ using Server.Mobiles;
namespace Server.Factions
{
public class FactionReagentVendor : BaseFactionVendor
{
public FactionReagentVendor( Town town, Faction faction ) : base( town, faction, "the Reagent Man" )
{
SetSkill( SkillName.EvalInt, 65.0, 88.0 );
SetSkill( SkillName.Inscribe, 60.0, 83.0 );
SetSkill( SkillName.Magery, 64.0, 100.0 );
SetSkill( SkillName.Meditation, 60.0, 83.0 );
SetSkill( SkillName.MagicResist, 65.0, 88.0 );
SetSkill( SkillName.Wrestling, 36.0, 68.0 );
}
public class FactionReagentVendor : BaseFactionVendor
{
public FactionReagentVendor(Town town, Faction faction) : base(town, faction, "the Reagent Man")
{
SetSkill(SkillName.EvalInt, 65.0, 88.0);
SetSkill(SkillName.Inscribe, 60.0, 83.0);
SetSkill(SkillName.Magery, 64.0, 100.0);
SetSkill(SkillName.Meditation, 60.0, 83.0);
SetSkill(SkillName.MagicResist, 65.0, 88.0);
SetSkill(SkillName.Wrestling, 36.0, 68.0);
}
public override void InitSBInfo()
{
SBInfos.Add( new SBFactionReagent() );
}
public FactionReagentVendor(Serial serial) : base(serial)
{
}
public override VendorShoeType ShoeType => Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals;
public override VendorShoeType ShoeType => Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals;
public override void InitOutfit()
{
base.InitOutfit();
public override void InitSBInfo()
{
SBInfos.Add(new SBFactionReagent());
}
AddItem( new Robe( Utility.RandomBlueHue() ) );
AddItem( new GnarledStaff() );
}
public override void InitOutfit()
{
base.InitOutfit();
public FactionReagentVendor( Serial serial ) : base( serial )
{
}
AddItem(new Robe(Utility.RandomBlueHue()));
AddItem(new GnarledStaff());
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write( (int) 0 ); // version
}
writer.Write(0); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
int version = reader.ReadInt();
}
}
public class SBFactionReagent : SBInfo
{
public SBFactionReagent()
{
}
public class SBFactionReagent : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override IShopSellInfo SellInfo { get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public override List<GenericBuyInfo> BuyInfo { get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for (int i = 0; i < 2; ++i)
{
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 20, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 20, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 20, 0xF8C, 0));
}
}
}
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
for ( int i = 0; i < 2; ++i )
{
Add( new GenericBuyInfo( typeof( BlackPearl ), 5, 20, 0xF7A, 0 ) );
Add( new GenericBuyInfo( typeof( Bloodmoss ), 5, 20, 0xF7B, 0 ) );
Add( new GenericBuyInfo( typeof( MandrakeRoot ), 3, 20, 0xF86, 0 ) );
Add( new GenericBuyInfo( typeof( Garlic ), 3, 20, 0xF84, 0 ) );
Add( new GenericBuyInfo( typeof( Ginseng ), 3, 20, 0xF85, 0 ) );
Add( new GenericBuyInfo( typeof( Nightshade ), 3, 20, 0xF88, 0 ) );
Add( new GenericBuyInfo( typeof( SpidersSilk ), 3, 20, 0xF8D, 0 ) );
Add( new GenericBuyInfo( typeof( SulfurousAsh ), 3, 20, 0xF8C, 0 ) );
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}