256 lines
9.8 KiB
C#
256 lines
9.8 KiB
C#
using Server;
|
|
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class SmugglersLiquor : BaseBeverage
|
|
{
|
|
private int m_Label;
|
|
private SmugglersLiquorType m_Type;
|
|
|
|
public override int LabelNumber { get { return m_Label; } }
|
|
public override int MaxQuantity { get { return 5; } }
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public SmugglersLiquorType LiquorType { get { return m_Type; } set { m_Type = value; ItemID = ComputeItemID(); } }
|
|
|
|
public enum SmugglersLiquorType
|
|
{
|
|
AppleIsleWhiskey,
|
|
ArabellasGargishStout,
|
|
DiablosBlazePort,
|
|
EldadorElvenWine,
|
|
EquinoxWine,
|
|
FitchsWhiteAle,
|
|
GatheredSpiritsWhisky,
|
|
GoldenBrewRum,
|
|
JoesSpicyBrew,
|
|
KazolasTreeTopWine,
|
|
Moonshine,
|
|
NapaValleysChardonnay,
|
|
OtisHomemadeBrew,
|
|
PandorasPinotNoir,
|
|
RedEyeRum,
|
|
RoyalGuardAle,
|
|
SaltyDogMead,
|
|
SapewinWine,
|
|
SerpentsCrossLager,
|
|
SummerSolsticeBrew,
|
|
VesperAle,
|
|
WaxingDarkBrew,
|
|
WhiteRoseZinfandel,
|
|
}
|
|
|
|
[Constructable]
|
|
public SmugglersLiquor() : this((SmugglersLiquorType)Utility.Random(26))
|
|
{
|
|
}
|
|
|
|
public SmugglersLiquor(SmugglersLiquorType type) : base(GetContents(type))
|
|
{
|
|
this.LiquorType = type;
|
|
}
|
|
|
|
public static BeverageType GetContents(SmugglersLiquorType type)
|
|
{
|
|
switch (type)
|
|
{
|
|
default:
|
|
case SmugglersLiquorType.AppleIsleWhiskey: return BeverageType.Liquor;
|
|
case SmugglersLiquorType.ArabellasGargishStout: return BeverageType.Ale;
|
|
case SmugglersLiquorType.DiablosBlazePort: return BeverageType.Ale;
|
|
case SmugglersLiquorType.EldadorElvenWine: return BeverageType.Wine;
|
|
case SmugglersLiquorType.EquinoxWine: return BeverageType.Wine;
|
|
case SmugglersLiquorType.FitchsWhiteAle: return BeverageType.Ale;
|
|
case SmugglersLiquorType.GatheredSpiritsWhisky: return BeverageType.Liquor;
|
|
case SmugglersLiquorType.GoldenBrewRum: return BeverageType.Liquor;
|
|
case SmugglersLiquorType.JoesSpicyBrew: return BeverageType.Ale;
|
|
case SmugglersLiquorType.KazolasTreeTopWine: return BeverageType.Wine;
|
|
case SmugglersLiquorType.Moonshine: return BeverageType.Liquor;
|
|
case SmugglersLiquorType.NapaValleysChardonnay: return BeverageType.Wine;
|
|
case SmugglersLiquorType.OtisHomemadeBrew: return BeverageType.Ale;
|
|
case SmugglersLiquorType.PandorasPinotNoir: return BeverageType.Wine;
|
|
case SmugglersLiquorType.RedEyeRum: return BeverageType.Liquor;
|
|
case SmugglersLiquorType.RoyalGuardAle: return BeverageType.Ale;
|
|
case SmugglersLiquorType.SaltyDogMead: return BeverageType.Ale;
|
|
case SmugglersLiquorType.SapewinWine: return BeverageType.Wine;
|
|
case SmugglersLiquorType.SerpentsCrossLager: return BeverageType.Ale;
|
|
case SmugglersLiquorType.SummerSolsticeBrew: return BeverageType.Ale;
|
|
case SmugglersLiquorType.VesperAle: return BeverageType.Ale;
|
|
case SmugglersLiquorType.WaxingDarkBrew: return BeverageType.Ale;
|
|
case SmugglersLiquorType.WhiteRoseZinfandel: return BeverageType.Wine;
|
|
}
|
|
}
|
|
|
|
public override int ComputeItemID()
|
|
{
|
|
int id = 0;
|
|
switch (m_Type)
|
|
{
|
|
case SmugglersLiquorType.AppleIsleWhiskey:
|
|
id = 2504;
|
|
Hue = 692; //Confirmed
|
|
m_Label = 1150020;
|
|
break;
|
|
case SmugglersLiquorType.ArabellasGargishStout:
|
|
id = 2459;
|
|
Hue = 507; //Confirmed
|
|
m_Label = 1150033;
|
|
break;
|
|
case SmugglersLiquorType.DiablosBlazePort:
|
|
id = 2459;
|
|
Hue = 675; //Confirmed
|
|
m_Label = 1150034;
|
|
break;
|
|
case SmugglersLiquorType.EldadorElvenWine:
|
|
id = 2459;
|
|
Hue = 540; //Confirmed
|
|
m_Label = 1150029;
|
|
break;
|
|
case SmugglersLiquorType.EquinoxWine:
|
|
id = 2459;
|
|
Hue = 634; //Confirmed
|
|
m_Label = 1150037;
|
|
break;
|
|
case SmugglersLiquorType.FitchsWhiteAle:
|
|
id = 2459;
|
|
Hue = 687; //Confirmed
|
|
m_Label = 1150035;
|
|
break;
|
|
case SmugglersLiquorType.GatheredSpiritsWhisky:
|
|
id = 2459;
|
|
Hue = 654; //Confirmed
|
|
m_Label = 1150026;
|
|
break;
|
|
case SmugglersLiquorType.GoldenBrewRum:
|
|
id = 2459;
|
|
Hue = 584; //Confirmed
|
|
m_Label = 1150039;
|
|
break;
|
|
case SmugglersLiquorType.JoesSpicyBrew:
|
|
id = 2459;
|
|
Hue = 535; //Confirmed
|
|
m_Label = 1150027;
|
|
break;
|
|
case SmugglersLiquorType.KazolasTreeTopWine:
|
|
id = 2504;
|
|
Hue = 512; //Confirmed
|
|
m_Label = 1150036;
|
|
break;
|
|
case SmugglersLiquorType.Moonshine:
|
|
id = 2504;
|
|
Hue = 555; //Confirmed
|
|
m_Label = 1150041;
|
|
break;
|
|
case SmugglersLiquorType.NapaValleysChardonnay:
|
|
id = 2459;
|
|
Hue = 600; //Confirmed
|
|
m_Label = 1150025;
|
|
break;
|
|
case SmugglersLiquorType.OtisHomemadeBrew:
|
|
id = 2459;
|
|
Hue = 680; //Confirmed
|
|
m_Label = 1150019;
|
|
break;
|
|
case SmugglersLiquorType.PandorasPinotNoir:
|
|
id = 2459;
|
|
Hue = 621; //Confirmed
|
|
m_Label = 1150023;
|
|
break;
|
|
case SmugglersLiquorType.RedEyeRum:
|
|
id = 2459;
|
|
Hue = 687; //Confirmed
|
|
m_Label = 1150022;
|
|
break;
|
|
case SmugglersLiquorType.RoyalGuardAle:
|
|
id = 2504;
|
|
Hue = 651; //Confirmed
|
|
m_Label = 1150024;
|
|
break;
|
|
case SmugglersLiquorType.SaltyDogMead:
|
|
id = 2504;
|
|
Hue = 566; //Confirmed
|
|
m_Label = 1150028;
|
|
break;
|
|
case SmugglersLiquorType.SapewinWine:
|
|
id = 2459;
|
|
Hue = 557; //Confirmed
|
|
m_Label = 1150040;
|
|
break;
|
|
case SmugglersLiquorType.SerpentsCrossLager:
|
|
id = 2459;
|
|
Hue = 593; //Confirmed
|
|
m_Label = 1150031;
|
|
break;
|
|
case SmugglersLiquorType.SummerSolsticeBrew:
|
|
id = 2459;
|
|
Hue = 663; //Confirmed
|
|
m_Label = 1150038;
|
|
break;
|
|
case SmugglersLiquorType.VesperAle:
|
|
id = 2504;
|
|
Hue = 519; //Confirmed
|
|
m_Label = 1150032;
|
|
break;
|
|
case SmugglersLiquorType.WaxingDarkBrew:
|
|
id = 2459;
|
|
Hue = 567; //Confirmed
|
|
m_Label = 1150030;
|
|
break;
|
|
case SmugglersLiquorType.WhiteRoseZinfandel:
|
|
id = 2459;
|
|
Hue = 516; //Confirmed
|
|
m_Label = 1150021;
|
|
break;
|
|
}
|
|
return id;
|
|
}
|
|
|
|
public static Item GetRandom()
|
|
{
|
|
int pick = Utility.Random(22);
|
|
|
|
return new SmugglersLiquor((SmugglersLiquorType)pick) as Item;
|
|
}
|
|
|
|
public SmugglersLiquor(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write((int)2);
|
|
|
|
writer.Write(m_Label);
|
|
writer.Write((int)m_Type);
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
|
|
switch (version)
|
|
{
|
|
case 2:
|
|
m_Label = reader.ReadInt();
|
|
m_Type = (SmugglersLiquorType)reader.ReadInt();
|
|
break;
|
|
case 1:
|
|
m_Type = (SmugglersLiquorType)reader.ReadInt();
|
|
ComputeItemID();
|
|
break;
|
|
case 0:
|
|
int type = reader.ReadInt();
|
|
|
|
if (type > (int)SmugglersLiquorType.WhiteRoseZinfandel)
|
|
m_Type = SmugglersLiquorType.WhiteRoseZinfandel;
|
|
else
|
|
m_Type = (SmugglersLiquorType)type;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} |