Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
using Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public static class BlackthornRewards
|
||||
{
|
||||
public static List<CollectionItem> Rewards { get; set; }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
Rewards = new List<CollectionItem>();
|
||||
|
||||
Rewards.Add(new CollectionItem(typeof(DecorativeShardShieldDeed), 0x14EF, 1153729, 0, 10));
|
||||
Rewards.Add(new CollectionItem(typeof(BlackthornPainting1), 0x4C63, 1023744, 0, 10));
|
||||
Rewards.Add(new CollectionItem(typeof(BlackthornPainting2), 0x4C65, 1023744, 0, 10));
|
||||
|
||||
// RuneBeetleCarapaceBase
|
||||
Rewards.Add(new CollectionItem(typeof(GargishStoneChestBearingTheCrestOfBlackthorn), 0x286, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishPlatemailChestBearingTheCrestOfBlackthorn), 0x030A, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(DragonBreastplateBearingTheCrestOfBlackthorn), 0x2641, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(ChainmailTunicBearingTheCrestOfBlackthorn), 0x13BF, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(RingmailTunicBearingTheCrestOfBlackthorn), 0x13EC, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(PlatemailTunicBearingTheCrestOfBlackthorn), 0x1415, 0, 0, 25));
|
||||
|
||||
// QuiverofInfinityBase
|
||||
Rewards.Add(new CollectionItem(typeof(GargishClothWingArmorBearingTheCrestOfBlackthorn), 0x45A4, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(CloakBearingTheCrestOfBlackthorn), 0x1515, 0, 0, 25));
|
||||
|
||||
// ShroudoftheCondemnedBase
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn1), 0x2683, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn1), 0x4002, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn1), 0x9986, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn1), 0x9985, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn1), 0x4000, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn1), 0x1F01, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn1), 0x230E, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn1), 0x1F00, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn1), 0x2783, 0, 0, 25));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn1), 0x2782, 0, 0, 25));
|
||||
|
||||
// Mystic's Garb Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn2), 0x2683, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn2), 0x4002, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn2), 0x9986, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn2), 0x9985, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn2), 0x4000, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn2), 0x1F01, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn2), 0x230E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn2), 0x1F00, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn2), 0x2783, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn2), 0x2782, 0, 0, 50));
|
||||
|
||||
// NightEyesBase
|
||||
Rewards.Add(new CollectionItem(typeof(BandanaBearingTheCrestOfBlackthorn1), 0x1540, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(BascinetBearingTheCrestOfBlackthorn1), 0x140C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(CircletBearingTheCrestOfBlackthorn1), 0x2B6E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(FeatheredHatBearingTheCrestOfBlackthorn1), 0x171A, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEarringsBearingTheCrestOfBlackthorn1), 0x4213, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishGlassesBearingTheCrestOfBlackthorn1), 0x4644, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(JesterHatBearingTheCrestOfBlackthorn1), 0x171C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(NorseHelmBearingTheCrestOfBlackthorn1), 0x140E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(PlateHelmBearingTheCrestOfBlackthorn1), 0x1412, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(RoyalCircletBearingTheCrestOfBlackthorn1), 0x2B6F, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(SkullcapBearingTheCrestOfBlackthorn1), 0x1544, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(TricorneHatBearingTheCrestOfBlackthorn1), 0x171B, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(WizardsHatBearingTheCrestOfBlackthorn1), 0x1718, 0, 0, 50));
|
||||
|
||||
// MaceAndShieldBase
|
||||
Rewards.Add(new CollectionItem(typeof(BandanaBearingTheCrestOfBlackthorn2), 0x1540, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(BascinetBearingTheCrestOfBlackthorn2), 0x140C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(CircletBearingTheCrestOfBlackthorn2), 0x2B6E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(FeatheredHatBearingTheCrestOfBlackthorn2), 0x171A, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEarringsBearingTheCrestOfBlackthorn2), 0x4213, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishGlassesBearingTheCrestOfBlackthorn2), 0x4644, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(JesterHatBearingTheCrestOfBlackthorn2), 0x171C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(NorseHelmBearingTheCrestOfBlackthorn2), 0x140E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(PlateHelmBearingTheCrestOfBlackthorn2), 0x1412, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(RoyalCircletBearingTheCrestOfBlackthorn2), 0x2B6F, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(SkullcapBearingTheCrestOfBlackthorn2), 0x1544, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(TricorneHatBearingTheCrestOfBlackthorn2), 0x171B, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(WizardsHatBearingTheCrestOfBlackthorn2), 0x1718, 0, 0, 50));
|
||||
|
||||
// FoldedSteelBase
|
||||
Rewards.Add(new CollectionItem(typeof(BandanaBearingTheCrestOfBlackthorn3), 0x1540, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(BascinetBearingTheCrestOfBlackthorn3), 0x140C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(CircletBearingTheCrestOfBlackthorn3), 0x2B6E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(FeatheredHatBearingTheCrestOfBlackthorn3), 0x171A, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEarringsBearingTheCrestOfBlackthorn3), 0x4213, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishGlassesBearingTheCrestOfBlackthorn3), 0x4644, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(JesterHatBearingTheCrestOfBlackthorn3), 0x171C, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(NorseHelmBearingTheCrestOfBlackthorn3), 0x140E, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(PlateHelmBearingTheCrestOfBlackthorn3), 0x1412, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(RoyalCircletBearingTheCrestOfBlackthorn3), 0x2B6F, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(SkullcapBearingTheCrestOfBlackthorn3), 0x1544, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(TricorneHatBearingTheCrestOfBlackthorn3), 0x171B, 0, 0, 50));
|
||||
Rewards.Add(new CollectionItem(typeof(WizardsHatBearingTheCrestOfBlackthorn3), 0x1718, 0, 0, 50));
|
||||
|
||||
// Cloak of Silence Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn3), 0x2683, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn3), 0x4002, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn3), 0x9986, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn3), 0x9985, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn3), 0x4000, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn3), 0x1F01, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn3), 0x230E, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn3), 0x1F00, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn3), 0x2783, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn3), 0x2782, 0, 0, 75));
|
||||
|
||||
// Cloak of Power Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn4), 0x2683, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn4), 0x4002, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn4), 0x9986, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn4), 0x9985, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn4), 0x4000, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn4), 0x1F01, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn4), 0x230E, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn4), 0x1F00, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn4), 0x2783, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn4), 0x2782, 0, 0, 75));
|
||||
|
||||
// Cloak of Life Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn5), 0x2683, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn5), 0x4002, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn5), 0x9986, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn5), 0x9985, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn5), 0x4000, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn5), 0x1F01, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn5), 0x230E, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn5), 0x1F00, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn5), 0x2783, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn5), 0x2782, 0, 0, 75));
|
||||
|
||||
// Cloak of Death Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn6), 0x2683, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn6), 0x4002, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn6), 0x9986, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn6), 0x9985, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn6), 0x4000, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn6), 0x1F01, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn6), 0x230E, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn6), 0x1F00, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn6), 0x2783, 0, 0, 75));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn6), 0x2782, 0, 0, 75));
|
||||
|
||||
|
||||
// Conjurer's Garb Base
|
||||
Rewards.Add(new CollectionItem(typeof(HoodedRobeBearingTheCrestOfBlackthorn7), 0x2683, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishFancyBearingTheCrestOfBlackthorn7), 0x4002, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishEpauletteBearingTheCrestOfBlackthorn7), 0x9986, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(EpauletteBearingTheCrestOfBlackthorn7), 0x9985, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishRobeBearingTheCrestOfBlackthorn7), 0x4000, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(PlainDressBearingTheCrestOfBlackthorn7), 0x1F01, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(GildedDressBearingTheCrestOfBlackthorn7), 0x230E, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(FancyDressBearingTheCrestOfBlackthorn7), 0x1F00, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(FemaleKimonoBearingTheCrestOfBlackthorn7), 0x2783, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(MaleKimonoBearingTheCrestOfBlackthorn7), 0x2782, 0, 0, 100));
|
||||
|
||||
// RoyalBritannianBase
|
||||
Rewards.Add(new CollectionItem(typeof(DoubletBearingTheCrestOfBlackthorn), 0x1F7B, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(GargishSashBearingTheCrestOfBlackthorn), 0x46B4, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(SurcoatBearingTheCrestOfBlackthorn), 0x1FFD, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(TunicBearingTheCrestOfBlackthorn), 0x1FA1, 0, 0, 100));
|
||||
|
||||
// TangleBase
|
||||
Rewards.Add(new CollectionItem(typeof(GargishHalfApronBearingTheCrestOfBlackthorn1), 0x50D8, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(LeatherNinjaBeltBearingTheCrestOfBlackthorn1), 0x2790, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(ObiBearingTheCrestOfBlackthorn1), 0x27A0, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(WoodlandBeltBearingTheCrestOfBlackthorn1), 0x2B68, 0, 0, 100));
|
||||
|
||||
// CrimsonCinctureBase
|
||||
Rewards.Add(new CollectionItem(typeof(GargishHalfApronBearingTheCrestOfBlackthorn2), 0x50D8, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(LeatherNinjaBeltBearingTheCrestOfBlackthorn2), 0x2790, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(ObiBearingTheCrestOfBlackthorn2), 0x27A0, 0, 0, 100));
|
||||
Rewards.Add(new CollectionItem(typeof(WoodlandBeltBearingTheCrestOfBlackthorn2), 0x2B68, 0, 0, 100));
|
||||
}
|
||||
|
||||
public static bool IsTokunoDyable(Type t)
|
||||
{
|
||||
return Rewards.FirstOrDefault(item => item.Type == t) != null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,670 @@
|
||||
using Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.ContextMenus;
|
||||
using Server.Gumps;
|
||||
using System.Collections;
|
||||
using Server.Network;
|
||||
using Server.Engines.Points;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public class AgentOfTheCrown : BaseTurnInMobile
|
||||
{
|
||||
public override int TitleLocalization { get { return 1154520; } } // Click a minor artifact to turn in for reward points.
|
||||
public override int CancelLocalization { get { return 1154519; } } // Bring me items bearing the crest of Minax and I will reward you with valuable items.
|
||||
public override int TurnInLocalization { get { return 1154571; } } // Turn In Minax Artifacts
|
||||
public override int ClaimLocalization { get { return 1154572; } } // Claim Blackthorn Artifacts
|
||||
|
||||
[Constructable]
|
||||
public AgentOfTheCrown() : base("the Agent Of The Crown")
|
||||
{
|
||||
}
|
||||
|
||||
public override void InitBody()
|
||||
{
|
||||
base.InitBody();
|
||||
|
||||
Name = NameList.RandomName("male");
|
||||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Body = 0x190;
|
||||
HairItemID = 0x2047;
|
||||
HairHue = 0x46D;
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
SetWearable(new ChainChest(), 2106);
|
||||
SetWearable(new ThighBoots(), 2106);
|
||||
SetWearable(new Obi(), 1775);
|
||||
SetWearable(new BodySash(), 1775);
|
||||
SetWearable(new GoldRing());
|
||||
SetWearable(new Epaulette());
|
||||
|
||||
// QuiverOfInfinityBase
|
||||
Item item = new CloakBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishClothWingArmorBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// RoyalBritannianBase
|
||||
|
||||
item = new DoubletBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishSashBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new SurcoatBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new TunicBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// RuneBeetleCarapaceBase
|
||||
|
||||
item = new ChainmailTunicBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new DragonBreastplateBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishPlatemailChestBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishStoneChestBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlatemailTunicBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RingmailTunicBearingTheCrestOfBlackthorn();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// ShroudOfTheCondemnedBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// MysticsGarbBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// CloakOfSilenceBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// CloakOfPowerBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn4();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// CloakOfLifeBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn5();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// CloakOfDeathBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn6();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// ConjurersGarbBase
|
||||
|
||||
item = new EpauletteBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FancyDressBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FemaleKimonoBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEpauletteBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishFancyBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishRobeBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GildedDressBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new HoodedRobeBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new MaleKimonoBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlainDressBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RobeBearingTheCrestOfBlackthorn7();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// NightEyesBase
|
||||
|
||||
item = new BandanaBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new BascinetBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new CircletBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FeatheredHatBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEarringsBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishGlassesBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new JesterHatBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new NorseHelmBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlateHelmBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RoyalCircletBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new SkullcapBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new TricorneHatBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new WizardsHatBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// MaceAndShieldBase
|
||||
|
||||
item = new BandanaBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new BascinetBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new CircletBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FeatheredHatBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEarringsBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishGlassesBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new JesterHatBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new NorseHelmBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlateHelmBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RoyalCircletBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new SkullcapBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new TricorneHatBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new WizardsHatBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// FoldedSteelBase
|
||||
|
||||
item = new BandanaBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new BascinetBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new CircletBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new FeatheredHatBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishEarringsBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new GargishGlassesBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new JesterHatBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new NorseHelmBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new PlateHelmBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new RoyalCircletBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new SkullcapBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new TricorneHatBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new WizardsHatBearingTheCrestOfBlackthorn3();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// TangleBase
|
||||
|
||||
item = new GargishHalfApronBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new LeatherNinjaBeltBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new ObiBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new WoodlandBeltBearingTheCrestOfBlackthorn1();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
// CrimsonCinctureBase
|
||||
|
||||
item = new GargishHalfApronBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new LeatherNinjaBeltBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new ObiBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
|
||||
item = new WoodlandBeltBearingTheCrestOfBlackthorn2();
|
||||
item.Movable = false;
|
||||
PackItem(item);
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1154517); // Minax Artifact Turn in Officer
|
||||
}
|
||||
|
||||
public override void AwardPoints(PlayerMobile pm, Item item, int amount)
|
||||
{
|
||||
PointsSystem.Blackthorn.AwardPoints(pm, amount);
|
||||
}
|
||||
|
||||
public override bool IsRedeemableItem(Item item)
|
||||
{
|
||||
if (item is BaseWeapon && ((BaseWeapon)item).ReforgedSuffix == ReforgedSuffix.Minax)
|
||||
return true;
|
||||
if (item is BaseArmor && ((BaseArmor)item).ReforgedSuffix == ReforgedSuffix.Minax)
|
||||
return true;
|
||||
if (item is BaseJewel && ((BaseJewel)item).ReforgedSuffix == ReforgedSuffix.Minax)
|
||||
return true;
|
||||
if (item is BaseClothing && ((BaseClothing)item).ReforgedSuffix == ReforgedSuffix.Minax)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void SendRewardGump(Mobile m)
|
||||
{
|
||||
if (m.Player && m.CheckAlive())
|
||||
m.SendGump(new BlackthornRewardGump(this, m as PlayerMobile));
|
||||
}
|
||||
|
||||
public AgentOfTheCrown(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
117
Scripts/Services/Revamped Dungeons/BlackthornDungeon/Generate.cs
Normal file
117
Scripts/Services/Revamped Dungeons/BlackthornDungeon/Generate.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
using Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Gumps;
|
||||
using System.Linq;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public static class GenerateBlackthornDungeon
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
CommandSystem.Register("GenBlackthorn", AccessLevel.Administrator, Generate);
|
||||
}
|
||||
|
||||
public static void Generate(CommandEventArgs e)
|
||||
{
|
||||
Mobile m = e.Mobile;
|
||||
|
||||
Generate(Map.Trammel);
|
||||
Generate(Map.Felucca);
|
||||
|
||||
CommandSystem.Handle(m, CommandSystem.Prefix + "XmlLoad RevampedSpawns/BlackthornDungeonCreature.xml");
|
||||
CommandSystem.Handle(m, CommandSystem.Prefix + "XmlLoad RevampedSpawns/BlackthornDungeonAgent.xml");
|
||||
}
|
||||
|
||||
public static void Generate(Map map)
|
||||
{
|
||||
DungeonHitchingPost post = new DungeonHitchingPost();
|
||||
post.MoveToWorld(new Point3D(6428, 2677, 0), map);
|
||||
|
||||
MetalDoor door = new MetalDoor(DoorFacing.WestCCW);
|
||||
door.MoveToWorld(new Point3D(6409, 2695, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.EastCW);
|
||||
door.MoveToWorld(new Point3D(6410, 2695, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.WestCW);
|
||||
door.MoveToWorld(new Point3D(6409, 2664, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.EastCCW);
|
||||
door.MoveToWorld(new Point3D(6410, 2664, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.SouthCW);
|
||||
door.MoveToWorld(new Point3D(6394, 2680, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.NorthCCW);
|
||||
door.MoveToWorld(new Point3D(6394, 2679, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.NorthCW);
|
||||
door.MoveToWorld(new Point3D(6425, 2679, 0), map);
|
||||
|
||||
door = new MetalDoor(DoorFacing.SouthCCW);
|
||||
door.MoveToWorld(new Point3D(6425, 2680, 0), map);
|
||||
|
||||
// Tram ones already exist on create world teleporter section
|
||||
if (map == Map.Felucca)
|
||||
{
|
||||
Teleporter tele = new Teleporter(new Point3D(1517, 1417, 9), map);
|
||||
tele.MoveToWorld(new Point3D(6440, 2677, 20), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(1517, 1418, 9), map);
|
||||
tele.MoveToWorld(new Point3D(6440, 2678, 20), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(1517, 1419, 9), map);
|
||||
tele.MoveToWorld(new Point3D(6440, 2679, 20), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(1517, 1420, 9), map);
|
||||
tele.MoveToWorld(new Point3D(6440, 2680, 20), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(1517, 1420, 9), map);
|
||||
tele.MoveToWorld(new Point3D(6440, 2681, 20), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(6440, 2677, 20), map);
|
||||
tele.MoveToWorld(new Point3D(1517, 1417, 9), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(6440, 2678, 20), map);
|
||||
tele.MoveToWorld(new Point3D(1517, 1418, 9), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(6440, 2679, 20), map);
|
||||
tele.MoveToWorld(new Point3D(1517, 1419, 9), map);
|
||||
|
||||
tele = new Teleporter(new Point3D(6440, 2680, 20), map);
|
||||
tele.MoveToWorld(new Point3D(1517, 1420, 12), map);
|
||||
}
|
||||
|
||||
foreach (var p in _BlockerList)
|
||||
{
|
||||
var blocker = new Blocker();
|
||||
blocker.MoveToWorld(p, map);
|
||||
}
|
||||
}
|
||||
|
||||
private static Point3D[] _BlockerList =
|
||||
{
|
||||
new Point3D(6435, 2425, -5),
|
||||
new Point3D(6435, 2424, -5),
|
||||
new Point3D(6435, 2423, -5),
|
||||
new Point3D(6435, 2422, -5),
|
||||
new Point3D(6435, 2421, -5),
|
||||
new Point3D(6434, 2421, -5),
|
||||
new Point3D(6433, 2421, -5),
|
||||
new Point3D(6432, 2421, -5),
|
||||
new Point3D(6442, 2425, -5),
|
||||
new Point3D(6442, 2424, -5),
|
||||
new Point3D(6442, 2423, -5),
|
||||
new Point3D(6442, 2422, -5),
|
||||
new Point3D(6442, 2421, -5),
|
||||
new Point3D(6443, 2421, -5),
|
||||
new Point3D(6444, 2421, -5),
|
||||
new Point3D(6445, 2421, -5)
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Gumps;
|
||||
using System.Linq;
|
||||
using Server.Engines.Points;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public class BlackthornRewardGump : BaseRewardGump
|
||||
{
|
||||
public BlackthornRewardGump(Mobile owner, PlayerMobile user)
|
||||
: base(owner, user, BlackthornRewards.Rewards, 1154516)
|
||||
{
|
||||
}
|
||||
|
||||
public override double GetPoints(Mobile m)
|
||||
{
|
||||
return PointsSystem.Blackthorn.GetPoints(m);
|
||||
}
|
||||
|
||||
public override void RemovePoints(double points)
|
||||
{
|
||||
PointsSystem.Blackthorn.DeductPoints(User, points);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,615 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Spells;
|
||||
using Server.Spells.Necromancy;
|
||||
using Server.Engines.CityLoyalty;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public class Invader : BaseCreature
|
||||
{
|
||||
public static SkillName RandomSpecialty()
|
||||
{
|
||||
return _Specialties[Utility.Random(_Specialties.Length)];
|
||||
}
|
||||
|
||||
private static SkillName[] _Specialties =
|
||||
{
|
||||
SkillName.Swords,
|
||||
SkillName.Fencing,
|
||||
SkillName.Macing,
|
||||
SkillName.Archery,
|
||||
SkillName.Magery,
|
||||
SkillName.Mysticism,
|
||||
SkillName.Spellweaving,
|
||||
SkillName.Bushido,
|
||||
SkillName.Bushido,
|
||||
SkillName.Ninjitsu,
|
||||
SkillName.Chivalry,
|
||||
SkillName.Necromancy,
|
||||
SkillName.Poisoning
|
||||
};
|
||||
|
||||
private InvasionType _InvasionType;
|
||||
private SkillName _Specialty;
|
||||
|
||||
private bool _Sampire;
|
||||
private DateTime _NextSpecial;
|
||||
|
||||
public override bool AlwaysMurderer { get { return true; } }
|
||||
public override double HealChance { get { return AI == AIType.AI_Melee || AI == AIType.AI_Paladin ? 1.0 : 0.0; } }
|
||||
public override double WeaponAbilityChance { get { return AI == AIType.AI_Melee || AI == AIType.AI_Paladin ? 0.4 : 0.1; } }
|
||||
public override bool CanStealth { get { return _Specialty == SkillName.Ninjitsu; } }
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
BaseWeapon wep = Weapon as BaseWeapon;
|
||||
|
||||
if (wep != null)
|
||||
{
|
||||
return 0.6 > Utility.RandomDouble() ? wep.PrimaryAbility : wep.SecondaryAbility;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public override bool UseSmartAI { get { return true; } }
|
||||
public virtual bool CanDoSpecial { get { return SpellCaster; } }
|
||||
|
||||
public virtual double MinSkill { get { return 100.0; } }
|
||||
public virtual double MaxSkill { get { return 120.0; } }
|
||||
public virtual int MinResist { get { return 10; } }
|
||||
public virtual int MaxResist { get { return 20; } }
|
||||
|
||||
public bool SpellCaster { get { return AI != AIType.AI_Melee && AI != AIType.AI_Ninja && AI != AIType.AI_Samurai && AI != AIType.AI_Paladin; } }
|
||||
|
||||
[Constructable]
|
||||
public Invader(InvasionType type)
|
||||
: this(RandomSpecialty(), type)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public Invader(SkillName specialty, InvasionType type)
|
||||
: base(GetAI(specialty), FightMode.Closest, 10, 1, .2, .1)
|
||||
{
|
||||
_Specialty = specialty;
|
||||
_InvasionType = type;
|
||||
|
||||
if (_Specialty == SkillName.Bushido && Utility.RandomBool())
|
||||
_Sampire = true;
|
||||
|
||||
if (Female = Utility.RandomBool())
|
||||
{
|
||||
//Body = 0x191;
|
||||
Name = NameList.RandomName("female");
|
||||
}
|
||||
else
|
||||
{
|
||||
//Body = 0x190;
|
||||
Name = NameList.RandomName("male");
|
||||
}
|
||||
|
||||
SetBody();
|
||||
|
||||
string title;
|
||||
|
||||
if (_Sampire)
|
||||
{
|
||||
title = "the sampire";
|
||||
}
|
||||
else if (specialty == SkillName.Magery)
|
||||
{
|
||||
title = "the wizard";
|
||||
}
|
||||
else
|
||||
{
|
||||
title = String.Format("the {0}", Skills[specialty].Info.Title);
|
||||
if (Female && title.EndsWith("man"))
|
||||
title = title.Substring(0, title.Length - 3) + "woman";
|
||||
}
|
||||
|
||||
Title = title;
|
||||
|
||||
SetStr(120, 170);
|
||||
SetDex(SpellCaster ? 75 : 150);
|
||||
SetInt(SpellCaster ? 1800 : 500);
|
||||
|
||||
SetHits(800, 1250);
|
||||
|
||||
if (AI == AIType.AI_Melee)
|
||||
SetDamage(15, 28);
|
||||
else if (!SpellCaster)
|
||||
SetDamage(12, 22);
|
||||
else
|
||||
SetDamage(8, 18);
|
||||
|
||||
Fame = 8000;
|
||||
Karma = -8000;
|
||||
|
||||
SetResists();
|
||||
SetSkills();
|
||||
EquipSpecialty();
|
||||
|
||||
_NextSpecial = DateTime.UtcNow;
|
||||
|
||||
if (_Sampire)
|
||||
{
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(1), () =>
|
||||
{
|
||||
VampiricEmbraceSpell spell = new VampiricEmbraceSpell(this, null);
|
||||
spell.Cast();
|
||||
});
|
||||
}
|
||||
|
||||
SetAreaEffect(AreaEffect.AuraOfEnergy);
|
||||
}
|
||||
|
||||
public virtual void SetBody()
|
||||
{
|
||||
switch (_Specialty)
|
||||
{
|
||||
default:
|
||||
if (0.75 > Utility.RandomDouble())
|
||||
Race = Race.Human;
|
||||
else
|
||||
Race = Race.Elf; break;
|
||||
case SkillName.Archery:
|
||||
case SkillName.Spellweaving: Race = Race.Elf; break;
|
||||
}
|
||||
|
||||
HairItemID = Race.RandomHair(Female);
|
||||
HairHue = Race.RandomHairHue();
|
||||
|
||||
FacialHairItemID = Race.RandomFacialHair(Female);
|
||||
FacialHairHue = Race.RandomHairHue();
|
||||
|
||||
Hue = Race.RandomSkinHue();
|
||||
}
|
||||
|
||||
public virtual void SetResists()
|
||||
{
|
||||
SetResistance(ResistanceType.Physical, MinResist, MaxResist);
|
||||
SetResistance(ResistanceType.Fire, MinResist, MaxResist);
|
||||
SetResistance(ResistanceType.Cold, MinResist, MaxResist);
|
||||
SetResistance(ResistanceType.Poison, MinResist, MaxResist);
|
||||
SetResistance(ResistanceType.Energy, MinResist, MaxResist);
|
||||
}
|
||||
|
||||
public virtual void SetSkills()
|
||||
{
|
||||
SetSkill(SkillName.Fencing, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Macing, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.MagicResist, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Swords, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Tactics, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Wrestling, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Archery, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.Parry, MinSkill, MaxSkill);
|
||||
|
||||
if (SpellCaster)
|
||||
{
|
||||
SetSkill(SkillName.Magery, MinSkill, MaxSkill);
|
||||
SetSkill(SkillName.EvalInt, MinSkill, MaxSkill);
|
||||
}
|
||||
|
||||
if (Skills[_Specialty].Base < MinSkill)
|
||||
SetSkill(_Specialty, MinSkill, MaxSkill);
|
||||
|
||||
if (_Sampire)
|
||||
{
|
||||
SetSkill(SkillName.Necromancy, MinSkill, MaxSkill);
|
||||
}
|
||||
|
||||
if (_Sampire || _Specialty == SkillName.Necromancy)
|
||||
{
|
||||
SetSkill(SkillName.SpiritSpeak, MinSkill, MaxSkill);
|
||||
}
|
||||
|
||||
if (_Specialty == SkillName.Ninjitsu)
|
||||
{
|
||||
SetSkill(SkillName.Hiding, 100);
|
||||
SetSkill(SkillName.Stealth, 100);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void EquipSpecialty()
|
||||
{
|
||||
if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal))
|
||||
PackItem(new Bandage(Utility.RandomMinMax(10, 25)));
|
||||
|
||||
SetWearable(new ThighBoots());
|
||||
SetWearable(new BodySash(), Utility.RandomSlimeHue());
|
||||
|
||||
switch (_Specialty)
|
||||
{
|
||||
case SkillName.Chivalry:
|
||||
SetWearable(RandomSwordWeapon());
|
||||
PaladinEquip();
|
||||
break;
|
||||
case SkillName.Swords:
|
||||
SetWearable(RandomSwordWeapon());
|
||||
StandardMeleeEquip();
|
||||
break;
|
||||
case SkillName.Fencing:
|
||||
SetWearable(RandomFencingWeapon());
|
||||
StandardMeleeEquip();
|
||||
break;
|
||||
case SkillName.Macing:
|
||||
SetWearable(RandomMaceWeapon());
|
||||
StandardMeleeEquip();
|
||||
break;
|
||||
case SkillName.Archery:
|
||||
SetWearable(RandomArhceryWeapon());
|
||||
StandardMeleeEquip();
|
||||
break;
|
||||
case SkillName.Magery:
|
||||
SetWearable(RandomMageWeapon());
|
||||
StandardMageEquip();
|
||||
break;
|
||||
case SkillName.Mysticism:
|
||||
SetWearable(RandomMageWeapon());
|
||||
StandardMageEquip();
|
||||
break;
|
||||
case SkillName.Spellweaving:
|
||||
SetWearable(RandomMageWeapon());
|
||||
StandardMageEquip();
|
||||
break;
|
||||
case SkillName.Necromancy:
|
||||
SetWearable(RandomMageWeapon());
|
||||
StandardMageEquip();
|
||||
break;
|
||||
case SkillName.Bushido:
|
||||
BaseWeapon w = RandomSamuraiWeapon() as BaseWeapon;
|
||||
SetWearable(w);
|
||||
|
||||
SetWearable(new LeatherSuneate());
|
||||
SetWearable(new LeatherJingasa());
|
||||
SetWearable(new LeatherDo());
|
||||
SetWearable(new LeatherHiroSode());
|
||||
SetWearable(new SamuraiTabi(Utility.RandomNondyedHue()));
|
||||
|
||||
if (_Sampire)
|
||||
w.WeaponAttributes.HitLeechHits = 100;
|
||||
|
||||
SetSkill(SkillName.Parry, 120);
|
||||
break;
|
||||
case SkillName.Ninjitsu:
|
||||
SetWearable(RandomNinjaWeapon());
|
||||
|
||||
LeatherNinjaBelt belt = new LeatherNinjaBelt();
|
||||
belt.UsesRemaining = 20;
|
||||
belt.Poison = Poison.Greater;
|
||||
belt.PoisonCharges = 20;
|
||||
SetWearable(belt);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Fukiya f = new Fukiya();
|
||||
f.UsesRemaining = 10;
|
||||
f.Poison = Poison.Greater;
|
||||
f.PoisonCharges = 10;
|
||||
f.Movable = false;
|
||||
PackItem(f);
|
||||
}
|
||||
|
||||
SetWearable(new NinjaTabi());
|
||||
SetWearable(new LeatherNinjaJacket());
|
||||
SetWearable(new LeatherNinjaHood());
|
||||
SetWearable(new LeatherNinjaPants());
|
||||
SetWearable(new LeatherNinjaMitts());
|
||||
|
||||
break;
|
||||
case SkillName.Poisoning:
|
||||
BaseWeapon wep = RandomAssassinWeapon() as BaseWeapon;
|
||||
wep.Poison = Poison.Lethal;
|
||||
wep.PoisonCharges = 100;
|
||||
SetWearable(wep);
|
||||
|
||||
SetWearable(new LeatherChest());
|
||||
SetWearable(new LeatherLegs());
|
||||
SetWearable(new LeatherGloves());
|
||||
SetWearable(new LeatherGorget());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void PaladinEquip()
|
||||
{
|
||||
SetWearable(Loot.Construct(new Type[] { typeof(Bascinet), typeof(Helmet), typeof(PlateHelm) }), 1153);
|
||||
|
||||
SetWearable(new PlateChest());
|
||||
SetWearable(new PlateLegs());
|
||||
SetWearable(new PlateGloves());
|
||||
SetWearable(new PlateGorget());
|
||||
SetWearable(new PlateArms());
|
||||
SetWearable(new MetalKiteShield());
|
||||
|
||||
SetSkill(SkillName.Parry, 120);
|
||||
}
|
||||
|
||||
private void StandardMeleeEquip()
|
||||
{
|
||||
SetWearable(Loot.Construct(new Type[] { typeof(Bascinet), typeof(Helmet), typeof(LeatherCap), typeof(RoyalCirclet) }));
|
||||
|
||||
SetWearable(new ChainChest());
|
||||
SetWearable(new ChainLegs());
|
||||
SetWearable(new RingmailGloves());
|
||||
SetWearable(new LeatherGorget());
|
||||
}
|
||||
|
||||
private void StandardMageEquip()
|
||||
{
|
||||
bool mage = AI == AIType.AI_Mage;
|
||||
|
||||
SetWearable(new WizardsHat(), mage ? Utility.RandomBlueHue() : Utility.RandomRedHue());
|
||||
SetWearable(new Robe(), mage ? Utility.RandomBlueHue() : Utility.RandomRedHue());
|
||||
SetWearable(new LeatherGloves());
|
||||
}
|
||||
|
||||
public static AIType GetAI(SkillName skill)
|
||||
{
|
||||
switch (skill)
|
||||
{
|
||||
default: return AIType.AI_Melee;
|
||||
case SkillName.Ninjitsu: return AIType.AI_Ninja;
|
||||
case SkillName.Bushido: return AIType.AI_Samurai;
|
||||
case SkillName.Chivalry: return AIType.AI_Paladin;
|
||||
case SkillName.Magery: return AIType.AI_Mage;
|
||||
case SkillName.Necromancy: return AIType.AI_NecroMage;
|
||||
case SkillName.Spellweaving: return AIType.AI_Spellweaving;
|
||||
case SkillName.Mysticism: return AIType.AI_Mystic;
|
||||
}
|
||||
}
|
||||
|
||||
public Item RandomSwordWeapon()
|
||||
{
|
||||
if (Race == Race.Elf)
|
||||
return Loot.Construct(new Type[] { typeof(ElvenMachete), typeof(RadiantScimitar) });
|
||||
|
||||
return Loot.Construct(new Type[] { typeof(Broadsword), typeof(Longsword), typeof(Katana), typeof(Halberd), typeof(Bardiche), typeof(VikingSword) });
|
||||
}
|
||||
|
||||
public Item RandomFencingWeapon()
|
||||
{
|
||||
if(Race == Race.Elf)
|
||||
return Loot.Construct(new Type[] { typeof(Leafblade), typeof(WarCleaver), typeof(AssassinSpike) });
|
||||
|
||||
return Loot.Construct(new Type[] { typeof(Kryss), typeof(Spear), typeof(ShortSpear), typeof(Lance), typeof(Pike) });
|
||||
}
|
||||
|
||||
public Item RandomMaceWeapon()
|
||||
{
|
||||
return Loot.Construct(new Type[] { typeof(Mace), typeof(WarHammer), typeof(WarAxe), typeof(BlackStaff), typeof(QuarterStaff), typeof(WarMace), typeof(DiamondMace), typeof(Scepter) });
|
||||
}
|
||||
|
||||
public Item RandomArhceryWeapon()
|
||||
{
|
||||
if (Race == Race.Elf)
|
||||
return Loot.Construct(new Type[] { typeof(MagicalShortbow), typeof(ElvenCompositeLongbow) });
|
||||
|
||||
return Loot.Construct(new Type[] { typeof(Bow), typeof(Crossbow), typeof(HeavyCrossbow), typeof(CompositeBow), typeof(RepeatingCrossbow) });
|
||||
}
|
||||
|
||||
public Item RandomMageWeapon()
|
||||
{
|
||||
return Loot.Construct(new Type[] { typeof(Spellbook), typeof(GnarledStaff), typeof(BlackStaff), typeof(QuarterStaff), typeof(WildStaff) });
|
||||
}
|
||||
|
||||
public Item RandomSamuraiWeapon()
|
||||
{
|
||||
return Loot.Construct(new Type[] { typeof(Lajatang), typeof(Wakizashi), typeof(NoDachi) });
|
||||
}
|
||||
|
||||
public Item RandomNinjaWeapon()
|
||||
{
|
||||
return Loot.Construct(new Type[] { typeof(Wakizashi), typeof(Tessen), typeof(Nunchaku), typeof(Daisho), typeof(Sai), typeof(Tekagi), typeof(Kama), typeof(Katana) });
|
||||
}
|
||||
|
||||
public Item RandomAssassinWeapon()
|
||||
{
|
||||
return Loot.Construct(new Type[] { typeof(Cleaver), typeof(ButcherKnife), typeof(Kryss), typeof(Dagger) });
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1154196 + (int)_InvasionType);
|
||||
}
|
||||
|
||||
public override void OnThink()
|
||||
{
|
||||
base.OnThink();
|
||||
|
||||
if (Combatant == null)
|
||||
return;
|
||||
|
||||
if (CanDoSpecial && InRange(Combatant, 4) && 0.1 > Utility.RandomDouble() && _NextSpecial < DateTime.UtcNow)
|
||||
{
|
||||
DoSpecial();
|
||||
|
||||
_NextSpecial = DateTime.UtcNow + TimeSpan.FromSeconds(Utility.RandomMinMax(30, 60));
|
||||
}
|
||||
else if (_Sampire)
|
||||
{
|
||||
if (0.1 > Utility.RandomDouble() && Weapon is BaseWeapon && !CurseWeaponSpell.IsCursed(this, (BaseWeapon)Weapon))
|
||||
{
|
||||
CurseWeaponSpell spell = new CurseWeaponSpell(this, null);
|
||||
spell.Cast();
|
||||
}
|
||||
else if (!TransformationSpellHelper.UnderTransformation(this, typeof(VampiricEmbraceSpell)))
|
||||
{
|
||||
VampiricEmbraceSpell spell = new VampiricEmbraceSpell(this, null);
|
||||
spell.Cast();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DoSpecial()
|
||||
{
|
||||
if (this.Map == null || this.Map == Map.Internal)
|
||||
return;
|
||||
|
||||
Map m = this.Map;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
Timer.DelayCall(TimeSpan.FromMilliseconds(i * 50), o =>
|
||||
{
|
||||
Server.Misc.Geometry.Circle2D(this.Location, m, (int)o, (pnt, map) =>
|
||||
{
|
||||
Effects.SendLocationEffect(pnt, map, Utility.RandomBool() ? 14000 : 14013, 14, 20, 2018, 0);
|
||||
});
|
||||
}, i);
|
||||
}
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromMilliseconds(200), () =>
|
||||
{
|
||||
if (m != null)
|
||||
{
|
||||
List<Mobile> list = new List<Mobile>();
|
||||
IPooledEnumerable eable = m.GetMobilesInRange(this.Location, 4);
|
||||
|
||||
foreach (Mobile mob in eable)
|
||||
{
|
||||
if (mob.AccessLevel > AccessLevel.Player)
|
||||
continue;
|
||||
|
||||
if (mob is PlayerMobile || (mob is BaseCreature && ((BaseCreature)mob).GetMaster() is PlayerMobile) && CanBeHarmful(mob))
|
||||
list.Add(mob);
|
||||
}
|
||||
|
||||
list.ForEach(mob =>
|
||||
{
|
||||
AOS.Damage(mob, this, Utility.RandomMinMax(80, 90), 0, 0, 0, 0, 0, 100, 0);
|
||||
});
|
||||
|
||||
list.Clear();
|
||||
list.TrimExcess();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
this.AddLoot(LootPack.UltraRich, 2);
|
||||
}
|
||||
|
||||
public Invader(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write((int)_Specialty);
|
||||
writer.Write((int)_InvasionType);
|
||||
writer.Write(_Sampire);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
_Specialty = (SkillName)reader.ReadInt();
|
||||
_InvasionType = (InvasionType)reader.ReadInt();
|
||||
_Sampire = reader.ReadBool();
|
||||
|
||||
_NextSpecial = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
|
||||
public class InvaderCaptain : Invader
|
||||
{
|
||||
public override double MinSkill { get { return 105.0; } }
|
||||
public override double MaxSkill { get { return 130.0; } }
|
||||
public override int MinResist { get { return 20; } }
|
||||
public override int MaxResist { get { return 30; } }
|
||||
|
||||
[Constructable]
|
||||
public InvaderCaptain(InvasionType type) : base(type)
|
||||
{
|
||||
SetStr(250);
|
||||
SetDex(SpellCaster ? 150 : 200);
|
||||
SetInt(SpellCaster ? 1000 : 5000);
|
||||
|
||||
SetHits(8000, 12000);
|
||||
|
||||
if (AI == AIType.AI_Melee)
|
||||
SetDamage(22, 30);
|
||||
else if (!SpellCaster)
|
||||
SetDamage(20, 28);
|
||||
else
|
||||
SetDamage(10, 20);
|
||||
|
||||
Fame = 48000;
|
||||
Karma = -48000;
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
var rights = GetLootingRights();
|
||||
rights.Sort();
|
||||
|
||||
List<Mobile> list = rights.Select(x => x.m_Mobile).Where(m => m.InRange(c.Location, 20)).ToList();
|
||||
|
||||
if(list.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Mobile drop;
|
||||
Item item = InvasionController.CreateItem(list[0]);
|
||||
|
||||
if (list.Count == 1 || i >= list.Count)
|
||||
drop = list[0];
|
||||
else
|
||||
drop = list[i];
|
||||
|
||||
drop.SendLocalizedMessage(1154530); // You notice the crest of Minax on your fallen foe's equipment and decide it may be of some value...
|
||||
|
||||
if (drop.Backpack == null || !drop.Backpack.TryDropItem(drop, item, false))
|
||||
{
|
||||
drop.BankBox.DropItem(item);
|
||||
drop.SendLocalizedMessage(1079730); // // The item has been placed into your bank box.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ColUtility.Free(list);
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
this.AddLoot(LootPack.UltraRich, 2);
|
||||
this.AddLoot(LootPack.SuperBoss, 1);
|
||||
}
|
||||
|
||||
public InvaderCaptain(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Engines.CityLoyalty;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public class InvasionBeacon : Beacon
|
||||
{
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public InvasionController Controller { get; set; }
|
||||
|
||||
public override bool CanDamage { get { return Controller == null || Controller.BeaconVulnerable; } }
|
||||
|
||||
public InvasionBeacon(InvasionController controller)
|
||||
{
|
||||
Controller = controller;
|
||||
Name = "lighthouse";
|
||||
Level = ItemLevel.Easy; // Hard
|
||||
}
|
||||
|
||||
public override void OnHalfDamage()
|
||||
{
|
||||
IPooledEnumerable eable = this.Map.GetMobilesInRange(this.Location, 20);
|
||||
|
||||
foreach (Mobile m in eable)
|
||||
{
|
||||
if (m.NetState != null)
|
||||
m.PrivateOverheadMessage(Server.Network.MessageType.Regular, 1154, 1154551, m.NetState); // *Minax's Beacon surges with energy into an invulnerable state! Defeat her Captains to weaken the Beacon's defenses!*
|
||||
}
|
||||
|
||||
eable.Free();
|
||||
|
||||
if (Controller != null)
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(1), () => Controller.SpawnWave());
|
||||
}
|
||||
|
||||
public override bool OnBeforeDestroyed()
|
||||
{
|
||||
if (Controller != null)
|
||||
Controller.OnBeaconDestroyed();
|
||||
|
||||
return base.OnBeforeDestroyed();
|
||||
}
|
||||
|
||||
public InvasionBeacon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,647 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Engines.CityLoyalty;
|
||||
using Server.Misc;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public enum InvasionType
|
||||
{
|
||||
Dragons,
|
||||
Undead,
|
||||
Elemental,
|
||||
Daemon,
|
||||
Orc,
|
||||
Wildlings,
|
||||
Frost,
|
||||
Arachnid,
|
||||
Fey,
|
||||
Nature
|
||||
}
|
||||
|
||||
public class InvasionController : Item
|
||||
{
|
||||
public static bool Enabled = true;
|
||||
public static int WaveCountMin = 8;
|
||||
public static int WaveCountMax = 10;
|
||||
public static int MaxWaves = 2;
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public static InvasionController TramInstance { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public static InvasionController FelInstance { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public bool ForceRespawn
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (!value)
|
||||
return;
|
||||
|
||||
RemoveSpawn();
|
||||
OnEndInvasion();
|
||||
Cleanup();
|
||||
BeginInvasion();
|
||||
}
|
||||
}
|
||||
|
||||
public static Dictionary<City, InvasionDefinition> Defs;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public City CurrentInvasion { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public InvasionType InvasionType { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public InvasionBeacon Beacon { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int SpawnCount
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Spawn == null || Spawn.Count == 0)
|
||||
return 0;
|
||||
|
||||
int count = 0;
|
||||
|
||||
foreach (KeyValuePair<BaseCreature, List<BaseCreature>> kvp in Spawn)
|
||||
{
|
||||
if (kvp.Key.Alive)
|
||||
count++;
|
||||
|
||||
count += kvp.Value.Where(bc => bc.Alive).Count();
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<BaseCreature, List<BaseCreature>> Spawn { get; set; }
|
||||
|
||||
public List<Rectangle2D> SpawnZones { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CurrentWave { get; private set; }
|
||||
|
||||
public bool BeaconVulnerable { get { return Beacon != null && (Spawn == null || Spawn.Count == 0); } }
|
||||
|
||||
public InvasionController(Map map) : base(3796)
|
||||
{
|
||||
Movable = false;
|
||||
Visible = false;
|
||||
|
||||
Spawn = new Dictionary<BaseCreature, List<BaseCreature>>();
|
||||
SpawnZones = new List<Rectangle2D>();
|
||||
|
||||
if (Enabled)
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(10), BeginInvasion);
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel > AccessLevel.GameMaster)
|
||||
{
|
||||
from.SendGump(new Server.Gumps.PropertiesGump(from, this));
|
||||
}
|
||||
}
|
||||
|
||||
private Type[][] _SpawnTable =
|
||||
{
|
||||
new Type[] { typeof(Dragon), typeof(Drake), typeof(GiantSerpent), typeof(Reptalon), typeof(Hydra) },
|
||||
new Type[] { typeof(Lich), typeof(Wraith), typeof(Mummy), typeof(Zombie), typeof(SkeletalKnight), typeof(BoneKnight) },
|
||||
new Type[] { typeof(MudElemental), typeof(MoltenEarthElemental), typeof(DiseasedBloodElemental), typeof(GreaterAirElemental),
|
||||
typeof(GreaterBloodElemental), typeof(GreaterEarthElemental), typeof(GreaterWaterElemental), typeof(ShameGreaterPoisonElemental),
|
||||
typeof(StoneElemental) },
|
||||
new Type[] { typeof(Daemon), typeof(Succubus), typeof(Imp), typeof(ChaosDaemon), typeof(BoneDemon) },
|
||||
new Type[] { typeof(Orc), typeof(OrcBomber), typeof(OrcishMage), typeof(OrcishLord) },
|
||||
new Type[] { typeof(SwampTentacle), typeof(PlagueBeast), typeof(Bogling), typeof(FeralTreefellow) },
|
||||
new Type[] { typeof(IceElemental), typeof(SnowElemental), typeof(IceFiend), typeof(FrostTroll), typeof(IceSerpent) },
|
||||
new Type[] { typeof(DreadSpider), typeof(GiantBlackWidow), typeof(Scorpion), typeof(TerathanWarrior), typeof(WolfSpider) },
|
||||
new Type[] { typeof(Satyr), typeof(Centaur), typeof(CuSidhe), typeof(Wisp), typeof(MLDryad) },
|
||||
new Type[] { typeof(DireWolf), typeof(GiantRat), typeof(Troglodyte), typeof(RagingGrizzlyBear), typeof(GreaterMongbat) },
|
||||
};
|
||||
|
||||
public void BeginInvasion()
|
||||
{
|
||||
if (!Enabled)
|
||||
return;
|
||||
|
||||
RemoveSpawn();
|
||||
|
||||
CurrentWave = 1;
|
||||
InvasionType newType;
|
||||
City newCity;
|
||||
|
||||
do
|
||||
{
|
||||
newType = (InvasionType)Utility.Random(10);
|
||||
}
|
||||
while(newType == this.InvasionType);
|
||||
|
||||
do
|
||||
{
|
||||
newCity = (City)Utility.Random(9);
|
||||
}
|
||||
while (newCity == this.CurrentInvasion);
|
||||
|
||||
this.CurrentInvasion = newCity;
|
||||
this.InvasionType = newType;
|
||||
SpawnZones = Defs[CurrentInvasion].SpawnRecs.ToList();
|
||||
|
||||
Beacon = new InvasionBeacon(this);
|
||||
Beacon.MoveToWorld(Defs[CurrentInvasion].BeaconLoc, this.Map);
|
||||
|
||||
// Shuffle zones
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
var rec = SpawnZones[Utility.Random(SpawnZones.Count)];
|
||||
SpawnZones.Remove(rec);
|
||||
SpawnZones.Insert(0, rec);
|
||||
}
|
||||
|
||||
SpawnWave();
|
||||
}
|
||||
|
||||
public void SpawnWave()
|
||||
{
|
||||
List<Rectangle2D> zones = new List<Rectangle2D>(SpawnZones);
|
||||
|
||||
for(int j = 0; j < 2; j++)
|
||||
{
|
||||
Rectangle2D spawnrec = zones[Utility.Random(zones.Count)];
|
||||
zones.Remove(spawnrec);
|
||||
|
||||
int count = Utility.RandomMinMax(WaveCountMin, WaveCountMax);
|
||||
List<BaseCreature> list = new List<BaseCreature>();
|
||||
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
BaseCreature bc = Activator.CreateInstance(_SpawnTable[(int)this.InvasionType][Utility.Random(_SpawnTable[(int)this.InvasionType].Length)]) as BaseCreature;
|
||||
|
||||
Server.Engines.XmlSpawner2.XmlAttach.AttachTo(bc, new Server.Engines.XmlSpawner2.XmlData("Notoriety", "red"));
|
||||
|
||||
if (SpawnMobile(bc, spawnrec))
|
||||
{
|
||||
list.Add(bc);
|
||||
}
|
||||
else
|
||||
{
|
||||
bc.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
Invader invader = new Invader(this.InvasionType);
|
||||
|
||||
if (SpawnMobile(invader, spawnrec))
|
||||
{
|
||||
list.Add(invader);
|
||||
}
|
||||
else
|
||||
invader.Delete();
|
||||
}
|
||||
|
||||
InvaderCaptain capt = new InvaderCaptain(this.InvasionType);
|
||||
capt.Blessed = true;
|
||||
|
||||
if (SpawnMobile(capt, spawnrec) || SpawnMobile(capt, new Rectangle2D(Defs[CurrentInvasion].BeaconLoc.X - 10, Defs[CurrentInvasion].BeaconLoc.Y - 10, 20, 20)))
|
||||
{
|
||||
Spawn[capt] = list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool SpawnMobile(BaseCreature bc, Rectangle2D spawnrec)
|
||||
{
|
||||
if (Map == null)
|
||||
return false;
|
||||
|
||||
if (bc != null)
|
||||
{
|
||||
for (int i = 0; i < 25; i++)
|
||||
{
|
||||
Point3D p = this.Map.GetRandomSpawnPoint(spawnrec);
|
||||
bool exempt = false;
|
||||
|
||||
if (spawnrec.X == 6444 && spawnrec.Y == 2446)
|
||||
{
|
||||
exempt = true;
|
||||
p.Z = -2;
|
||||
}
|
||||
|
||||
if (exempt || this.Map.CanFit(p.X, p.Y, p.Z, 16, false, false, true))
|
||||
{
|
||||
bc.MoveToWorld(p, this.Map);
|
||||
bc.Home = Defs[CurrentInvasion].BeaconLoc;
|
||||
bc.SeeksHome = true;
|
||||
bc.RangeHome = Utility.RandomMinMax(5, 10);
|
||||
bc.CanSwim = false;
|
||||
bc.Tamable = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnDeath(BaseCreature bc)
|
||||
{
|
||||
if (bc == null || bc.Controlled || bc.Summoned)
|
||||
return;
|
||||
|
||||
if (Spawn.ContainsKey(bc))
|
||||
{
|
||||
Spawn.Remove(bc);
|
||||
|
||||
bool wavecomplete = true;
|
||||
foreach (KeyValuePair<BaseCreature, List<BaseCreature>> kvp in Spawn)
|
||||
{
|
||||
if (kvp.Key != null && kvp.Key.Alive)
|
||||
{
|
||||
wavecomplete = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (wavecomplete)
|
||||
CompleteWave();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<BaseCreature, List<BaseCreature>> kvp in Spawn)
|
||||
{
|
||||
if (kvp.Value.Contains(bc))
|
||||
kvp.Value.Remove(bc);
|
||||
|
||||
int count = kvp.Value.Where(b => b != null && b.Alive).Count();
|
||||
|
||||
if (count == 0 && kvp.Key.Alive)
|
||||
{
|
||||
kvp.Key.Blessed = false;
|
||||
kvp.Key.Delta(MobileDelta.Noto);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void CleanupSpawn()
|
||||
{
|
||||
if (Spawn == null)
|
||||
return;
|
||||
|
||||
List<BaseCreature> list = null;
|
||||
|
||||
foreach (KeyValuePair<BaseCreature, List<BaseCreature>> kvp in Spawn)
|
||||
{
|
||||
if (kvp.Value != null)
|
||||
{
|
||||
list = new List<BaseCreature>(kvp.Value);
|
||||
|
||||
foreach (BaseCreature b in list.Where(bc => bc == null || !bc.Alive || bc.Deleted))
|
||||
kvp.Value.Remove(b);
|
||||
}
|
||||
|
||||
if (list != null && list.Count > 0)
|
||||
{
|
||||
list.Clear();
|
||||
list.TrimExcess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CompleteWave()
|
||||
{
|
||||
if(CurrentWave == MaxWaves)
|
||||
{
|
||||
DoMessage();
|
||||
}
|
||||
else
|
||||
{
|
||||
DoMessage();
|
||||
CurrentWave++;
|
||||
}
|
||||
}
|
||||
|
||||
private void DoMessage()
|
||||
{
|
||||
if (this.Map == null)
|
||||
return;
|
||||
|
||||
IPooledEnumerable eable = this.Map.GetMobilesInRange(Beacon.Location, 20);
|
||||
|
||||
foreach (Mobile m in eable)
|
||||
{
|
||||
if (m != null && m.NetState != null)
|
||||
m.PrivateOverheadMessage(Server.Network.MessageType.Regular, 1154, 1154550, m.NetState); // *A sound roars in the distance...Minax's Beacon is vulnerable to attack!!*
|
||||
}
|
||||
|
||||
eable.Free();
|
||||
}
|
||||
|
||||
public void OnBeaconDestroyed()
|
||||
{
|
||||
OnEndInvasion();
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromMinutes(2), () =>
|
||||
{
|
||||
Cleanup();
|
||||
BeginInvasion();
|
||||
});
|
||||
}
|
||||
|
||||
public void OnEndInvasion()
|
||||
{
|
||||
if (Beacon != null)
|
||||
{
|
||||
List<Mobile> rights = Beacon.GetLootingRights();
|
||||
|
||||
if (rights != null)
|
||||
{
|
||||
foreach (Mobile damager in rights.Where(mob => mob.InRange(Beacon.Location, 12)))
|
||||
{
|
||||
if (0.15 < Utility.RandomDouble())
|
||||
continue;
|
||||
|
||||
Item i = CreateItem(damager);
|
||||
|
||||
if (i != null)
|
||||
{
|
||||
damager.PlaySound(0x5B4);
|
||||
damager.SendLocalizedMessage(1154554); // You recover an artifact bearing the crest of Minax from the rubble.
|
||||
|
||||
if (!damager.PlaceInBackpack(i))
|
||||
{
|
||||
if (damager.BankBox != null && damager.BankBox.TryDropItem(damager, i, false))
|
||||
damager.SendLocalizedMessage(1079730); // The item has been placed into your bank box.
|
||||
else
|
||||
{
|
||||
damager.SendLocalizedMessage(1072523); // You find an artifact, but your backpack and bank are too full to hold it.
|
||||
i.MoveToWorld(damager.Location, damager.Map);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Item CreateItem(Mobile damager)
|
||||
{
|
||||
Item i = Loot.RandomArmorOrShieldOrWeaponOrJewelry(LootPackEntry.IsInTokuno(damager), LootPackEntry.IsMondain(damager), LootPackEntry.IsStygian(damager));
|
||||
|
||||
if (i != null)
|
||||
{
|
||||
RunicReforging.GenerateRandomItem(i, damager, Utility.RandomMinMax(700, 800), damager is PlayerMobile ? ((PlayerMobile)damager).RealLuck : 0, ReforgedPrefix.None, ReforgedSuffix.Minax);
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
public void Cleanup()
|
||||
{
|
||||
if (Beacon != null)
|
||||
Beacon.Delete();
|
||||
}
|
||||
|
||||
public void RemoveSpawn()
|
||||
{
|
||||
if (Spawn == null)
|
||||
return;
|
||||
|
||||
Dictionary<BaseCreature, List<BaseCreature>> copy = Spawn;
|
||||
Spawn = new Dictionary<BaseCreature, List<BaseCreature>>();
|
||||
|
||||
foreach (KeyValuePair<BaseCreature, List<BaseCreature>> kvp in copy)
|
||||
{
|
||||
foreach (BaseCreature bc in kvp.Value.Where(b => b.Alive))
|
||||
bc.Kill();
|
||||
|
||||
if (kvp.Key.Alive)
|
||||
{
|
||||
kvp.Key.Blessed = false;
|
||||
kvp.Key.Kill();
|
||||
}
|
||||
}
|
||||
|
||||
copy.Clear();
|
||||
}
|
||||
|
||||
public InvasionController(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write((int)CurrentInvasion);
|
||||
writer.Write((int)InvasionType);
|
||||
writer.Write(Beacon);
|
||||
writer.Write(CurrentWave);
|
||||
|
||||
writer.Write(SpawnZones == null ? 0 : SpawnZones.Count);
|
||||
SpawnZones.ForEach(rec => writer.Write(rec));
|
||||
|
||||
writer.Write(Spawn == null ? 0 : Spawn.Count);
|
||||
foreach(KeyValuePair<BaseCreature, List<BaseCreature>> kvp in Spawn)
|
||||
{
|
||||
writer.Write(kvp.Key);
|
||||
writer.Write(kvp.Value.Count);
|
||||
kvp.Value.ForEach(bc => writer.Write(bc));
|
||||
}
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(30), CleanupSpawn);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
Spawn = new Dictionary<BaseCreature, List<BaseCreature>>();
|
||||
SpawnZones = new List<Rectangle2D>();
|
||||
|
||||
if(Map == Map.Trammel)
|
||||
TramInstance = this;
|
||||
|
||||
if(Map == Map.Felucca)
|
||||
FelInstance = this;
|
||||
|
||||
CurrentInvasion = (City)reader.ReadInt();
|
||||
InvasionType = (InvasionType)reader.ReadInt();
|
||||
Beacon = reader.ReadItem() as InvasionBeacon;
|
||||
CurrentWave = reader.ReadInt();
|
||||
|
||||
if (Beacon != null)
|
||||
Beacon.Controller = this;
|
||||
|
||||
int count = reader.ReadInt();
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
SpawnZones.Add(reader.ReadRect2D());
|
||||
}
|
||||
|
||||
count = reader.ReadInt();
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
BaseCreature captain = reader.ReadMobile() as BaseCreature;
|
||||
int c = reader.ReadInt();
|
||||
|
||||
List<BaseCreature> list = new List<BaseCreature>();
|
||||
|
||||
for(int j = 0; j < c; j++)
|
||||
{
|
||||
BaseCreature spawn = reader.ReadMobile() as BaseCreature;
|
||||
|
||||
if(spawn != null)
|
||||
{
|
||||
list.Add(spawn);
|
||||
}
|
||||
}
|
||||
|
||||
if(captain != null)
|
||||
Spawn[captain] = list;
|
||||
else
|
||||
{
|
||||
list.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(10), () =>
|
||||
{
|
||||
if (Beacon == null || Beacon.Destroyed)
|
||||
{
|
||||
Timer.DelayCall(TimeSpan.FromMinutes(2), () =>
|
||||
{
|
||||
Cleanup();
|
||||
BeginInvasion();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
if (TramInstance == null)
|
||||
{
|
||||
TramInstance = new InvasionController(Map.Trammel);
|
||||
TramInstance.MoveToWorld(new Point3D(6359, 2570, 0), Map.Trammel);
|
||||
}
|
||||
|
||||
if (FelInstance == null)
|
||||
{
|
||||
TramInstance = new InvasionController(Map.Felucca);
|
||||
TramInstance.MoveToWorld(new Point3D(6359, 2570, 0), Map.Felucca);
|
||||
}
|
||||
|
||||
Defs = new Dictionary<City, InvasionDefinition>();
|
||||
|
||||
Defs[City.Moonglow] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6314, 2571, 10, 5),
|
||||
new Rectangle2D(6288, 2535, 8, 15),
|
||||
new Rectangle2D(6322, 2527, 8, 8),
|
||||
new Rectangle2D(6302, 2524, 10, 5),
|
||||
},
|
||||
new Point3D(6317, 2555, 0));
|
||||
|
||||
Defs[City.Britain] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6296, 2464, 7, 7),
|
||||
new Rectangle2D(6332, 2473, 8, 10),
|
||||
new Rectangle2D(6320, 2508, 3, 8),
|
||||
new Rectangle2D(6287, 2494, 8, 8),
|
||||
},
|
||||
new Point3D(6316, 2477, 11));
|
||||
|
||||
Defs[City.Jhelom] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6450, 2465, 10, 8),
|
||||
new Rectangle2D(6418, 2497, 15, 5),
|
||||
new Rectangle2D(6417, 2469, 5, 10),
|
||||
new Rectangle2D(6432, 2507, 10, 5),
|
||||
},
|
||||
new Point3D(6448, 2492, 5));
|
||||
|
||||
Defs[City.Yew] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6314, 2397, 12, 5),
|
||||
new Rectangle2D(6317, 2440, 10, 10),
|
||||
new Rectangle2D(6286, 2432, 8, 8),
|
||||
new Rectangle2D(6289, 2405, 5, 5),
|
||||
},
|
||||
new Point3D(6305, 2423, 0));
|
||||
|
||||
Defs[City.Minoc] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6309, 2339, 10, 5),
|
||||
new Rectangle2D(6290, 2367, 5, 10),
|
||||
new Rectangle2D(6304, 2378, 10, 5),
|
||||
new Rectangle2D(6323, 2344, 5, 10)
|
||||
},
|
||||
new Point3D(6307, 2362, 15));
|
||||
|
||||
Defs[City.Trinsic] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6356, 2371, 10, 10),
|
||||
new Rectangle2D(6354, 2344, 5, 10),
|
||||
new Rectangle2D(6366, 2344, 5, 7),
|
||||
new Rectangle2D(6386, 2355, 8, 8),
|
||||
},
|
||||
new Point3D(6402, 2368, 25));
|
||||
|
||||
Defs[City.SkaraBrae] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6434, 2330, 10, 5),
|
||||
new Rectangle2D(6456, 2342, 5, 10),
|
||||
new Rectangle2D(6458, 2368, 15, 6),
|
||||
new Rectangle2D(6440, 2384, 10, 3),
|
||||
new Rectangle2D(6412, 2360, 12, 12),
|
||||
},
|
||||
new Point3D(6442, 2351, 0));
|
||||
|
||||
Defs[City.NewMagincia] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6426, 2397, 10, 5),
|
||||
new Rectangle2D(6444, 2446, 10, 5),
|
||||
new Rectangle2D(6436, 2395, 5, 8),
|
||||
new Rectangle2D(6419, 2446, 10, 5),
|
||||
},
|
||||
new Point3D(6440, 2419, 26));
|
||||
|
||||
Defs[City.Vesper] = new InvasionDefinition(
|
||||
new Rectangle2D[]
|
||||
{
|
||||
new Rectangle2D(6428, 2534, 10, 5),
|
||||
new Rectangle2D(6458, 2534, 5, 10),
|
||||
new Rectangle2D(6460, 2551, 5, 10),
|
||||
new Rectangle2D(6433, 2561, 6, 6),
|
||||
},
|
||||
new Point3D(6444, 2553, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Engines.CityLoyalty;
|
||||
|
||||
namespace Server.Engines.Blackthorn
|
||||
{
|
||||
public class InvasionDefinition
|
||||
{
|
||||
public Rectangle2D[] SpawnRecs { get; set; }
|
||||
public Point3D BeaconLoc { get; set; }
|
||||
|
||||
public InvasionDefinition(Rectangle2D[] spawn, Point3D beaconLoc)
|
||||
{
|
||||
SpawnRecs = spawn;
|
||||
BeaconLoc = beaconLoc;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[FlipableAttribute(0x4C62, 0x4C63)]
|
||||
public class BlackthornPainting1 : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1023744; } } // painting
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BlackthornPainting1()
|
||||
: base(0x4C62)
|
||||
{
|
||||
}
|
||||
|
||||
public BlackthornPainting1(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();
|
||||
}
|
||||
}
|
||||
|
||||
[FlipableAttribute(0x4C64, 0x4C65)]
|
||||
public class BlackthornPainting2 : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1023744; } } // painting
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BlackthornPainting2()
|
||||
: base(0x4C64)
|
||||
{
|
||||
}
|
||||
|
||||
public BlackthornPainting2(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,58 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn6 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn6()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn6 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn6 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn6 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn6()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn6 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishRobeBearingTheCrestOfBlackthorn6 : GargishRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishRobeBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public GargishRobeBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GildedDressBearingTheCrestOfBlackthorn6 : GildedDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GildedDressBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public GildedDressBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x2684, 0x2683)]
|
||||
public class HoodedRobeBearingTheCrestOfBlackthorn6 : BaseOuterTorso, IRepairable
|
||||
{
|
||||
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
|
||||
public override int LabelNumber { get { return 1029863; } } // Hooded Robe
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn6()
|
||||
: base(0x2683)
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaleKimonoBearingTheCrestOfBlackthorn6 : MaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlainDressBearingTheCrestOfBlackthorn6 : PlainDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlainDressBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public PlainDressBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RobeBearingTheCrestOfBlackthorn6 : Robe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RobeBearingTheCrestOfBlackthorn6()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.AttackChance = 3;
|
||||
Attributes.DefendChance = 3;
|
||||
Attributes.SpellDamage = 3;
|
||||
Hue = 2019;
|
||||
}
|
||||
|
||||
public RobeBearingTheCrestOfBlackthorn6(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn5 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn5()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn5 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn5 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn5 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn5()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn5 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishRobeBearingTheCrestOfBlackthorn5 : GargishRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishRobeBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public GargishRobeBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GildedDressBearingTheCrestOfBlackthorn5 : GildedDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GildedDressBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public GildedDressBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x2684, 0x2683)]
|
||||
public class HoodedRobeBearingTheCrestOfBlackthorn5 : BaseOuterTorso, IRepairable
|
||||
{
|
||||
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
|
||||
public override int LabelNumber { get { return 1029863; } } // Hooded Robe
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn5()
|
||||
: base(0x2683)
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaleKimonoBearingTheCrestOfBlackthorn5 : MaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlainDressBearingTheCrestOfBlackthorn5 : PlainDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlainDressBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public PlainDressBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RobeBearingTheCrestOfBlackthorn5 : Robe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RobeBearingTheCrestOfBlackthorn5()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusHits = 3;
|
||||
Attributes.RegenHits = 1;
|
||||
Hue = 132;
|
||||
}
|
||||
|
||||
public RobeBearingTheCrestOfBlackthorn5(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn4 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn4()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn4 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn4 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn4 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn4()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn4 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishRobeBearingTheCrestOfBlackthorn4 : GargishRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishRobeBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public GargishRobeBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GildedDressBearingTheCrestOfBlackthorn4 : GildedDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GildedDressBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public GildedDressBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x2684, 0x2683)]
|
||||
public class HoodedRobeBearingTheCrestOfBlackthorn4 : BaseOuterTorso, IRepairable
|
||||
{
|
||||
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
|
||||
public override int LabelNumber { get { return 1029863; } } // Hooded Robe
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn4()
|
||||
: base(0x2683)
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaleKimonoBearingTheCrestOfBlackthorn4 : MaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlainDressBearingTheCrestOfBlackthorn4 : PlainDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlainDressBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public PlainDressBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RobeBearingTheCrestOfBlackthorn4 : Robe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RobeBearingTheCrestOfBlackthorn4()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusStr = 2;
|
||||
Attributes.BonusDex = 2;
|
||||
Attributes.BonusInt = 2;
|
||||
Hue = 2107;
|
||||
}
|
||||
|
||||
public RobeBearingTheCrestOfBlackthorn4(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn3 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn3()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn3 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn3 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn3 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn3()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn3 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishRobeBearingTheCrestOfBlackthorn3 : GargishRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishRobeBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public GargishRobeBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GildedDressBearingTheCrestOfBlackthorn3 : GildedDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GildedDressBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public GildedDressBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x2684, 0x2683)]
|
||||
public class HoodedRobeBearingTheCrestOfBlackthorn3 : BaseOuterTorso, IRepairable
|
||||
{
|
||||
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
|
||||
public override int LabelNumber { get { return 1029863; } } // Hooded Robe
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn3()
|
||||
: base(0x2683)
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaleKimonoBearingTheCrestOfBlackthorn3 : MaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlainDressBearingTheCrestOfBlackthorn3 : PlainDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlainDressBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public PlainDressBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RobeBearingTheCrestOfBlackthorn3 : Robe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RobeBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
SkillBonuses.SetValues(0, SkillName.Stealth, 10.0);
|
||||
Hue = 2130;
|
||||
}
|
||||
|
||||
public RobeBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn7 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn7()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn7 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn7 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn7 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn7()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn7 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishRobeBearingTheCrestOfBlackthorn7 : GargishRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishRobeBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public GargishRobeBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GildedDressBearingTheCrestOfBlackthorn7 : GildedDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GildedDressBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public GildedDressBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x2684, 0x2683)]
|
||||
public class HoodedRobeBearingTheCrestOfBlackthorn7 : BaseOuterTorso, IRepairable
|
||||
{
|
||||
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
|
||||
public override int LabelNumber { get { return 1029863; } } // Hooded Robe
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn7()
|
||||
: base(0x2683)
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public HoodedRobeBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaleKimonoBearingTheCrestOfBlackthorn7 : MaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public MaleKimonoBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlainDressBearingTheCrestOfBlackthorn7 : PlainDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlainDressBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public PlainDressBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RobeBearingTheCrestOfBlackthorn7 : Robe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RobeBearingTheCrestOfBlackthorn7()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.RegenMana = 2;
|
||||
Attributes.DefendChance = 5;
|
||||
Attributes.Luck = 140;
|
||||
Hue = 1194;
|
||||
}
|
||||
|
||||
public RobeBearingTheCrestOfBlackthorn7(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishHalfApronBearingTheCrestOfBlackthorn2 : GargoyleHalfApron
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishHalfApronBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusDex = 5;
|
||||
Attributes.BonusHits = 10;
|
||||
Attributes.RegenHits = 2;
|
||||
StrRequirement = 10;
|
||||
Hue = 1157;
|
||||
}
|
||||
|
||||
public GargishHalfApronBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LeatherNinjaBeltBearingTheCrestOfBlackthorn2 : LeatherNinjaBelt
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public LeatherNinjaBeltBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusDex = 5;
|
||||
Attributes.BonusHits = 10;
|
||||
Attributes.RegenHits = 2;
|
||||
StrRequirement = 10;
|
||||
Hue = 1157;
|
||||
}
|
||||
|
||||
public LeatherNinjaBeltBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ObiBearingTheCrestOfBlackthorn2 : Obi
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public ObiBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusDex = 5;
|
||||
Attributes.BonusHits = 10;
|
||||
Attributes.RegenHits = 2;
|
||||
StrRequirement = 10;
|
||||
Hue = 1157;
|
||||
}
|
||||
|
||||
public ObiBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class WoodlandBeltBearingTheCrestOfBlackthorn2 : WoodlandBelt
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public WoodlandBeltBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.BonusDex = 5;
|
||||
Attributes.BonusHits = 10;
|
||||
Attributes.RegenHits = 2;
|
||||
StrRequirement = 10;
|
||||
Hue = 1157;
|
||||
}
|
||||
|
||||
public WoodlandBeltBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
using Server.Multis;
|
||||
using Server.Network;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DecorativeShardShield : Item, IAddon
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public DecorativeShardShield()
|
||||
: this(0x6380)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DecorativeShardShield(int itemID)
|
||||
: base(itemID)
|
||||
{
|
||||
this.Movable = false;
|
||||
}
|
||||
|
||||
public DecorativeShardShield(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool ForceShowProperties
|
||||
{
|
||||
get
|
||||
{
|
||||
return ObjectPropertyList.Enabled;
|
||||
}
|
||||
}
|
||||
public Item Deed
|
||||
{
|
||||
get
|
||||
{
|
||||
DecorativeShardShieldDeed deed = new DecorativeShardShieldDeed();
|
||||
|
||||
return deed;
|
||||
}
|
||||
}
|
||||
public bool FacingEast
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.ItemID <= 0x639A;
|
||||
}
|
||||
}
|
||||
|
||||
void IChopable.OnChop(Mobile user)
|
||||
{
|
||||
OnDoubleClick(user);
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.InRange(this.Location, 2))
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
if (house != null && house.IsOwner(from))
|
||||
{
|
||||
from.CloseGump(typeof(RewardDemolitionGump));
|
||||
from.SendGump(new RewardDemolitionGump(this, 1049783)); // Do you wish to re-deed this decoration?
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1049784); // You can only re-deed this decoration if you are the house owner or originally placed the decoration.
|
||||
}
|
||||
else
|
||||
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
|
||||
public bool CouldFit(IPoint3D p, Map map)
|
||||
{
|
||||
if (map == null || !map.CanFit(p.X, p.Y, p.Z, this.ItemData.Height))
|
||||
return false;
|
||||
|
||||
if (this.FacingEast)
|
||||
return BaseAddon.IsWall(p.X - 1, p.Y, p.Z, map); // west wall
|
||||
else
|
||||
return BaseAddon.IsWall(p.X, p.Y - 1, p.Z, map); // north wall
|
||||
}
|
||||
}
|
||||
|
||||
public class DecorativeShardShieldDeed : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1153729; } } // Deed for a Decorative Shard Shield
|
||||
|
||||
[Constructable]
|
||||
public DecorativeShardShieldDeed()
|
||||
: base(0x14F0)
|
||||
{
|
||||
this.LootType = LootType.Blessed;
|
||||
this.Weight = 1.0;
|
||||
}
|
||||
|
||||
public DecorativeShardShieldDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public static int GetSouthItemID(int south)
|
||||
{
|
||||
return south + 27;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (this.IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(InternalGump));
|
||||
from.SendGump(new InternalGump(this));
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1042038); // You must have the object in your backpack to use it.
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
|
||||
private class InternalGump : Gump
|
||||
{
|
||||
public const int Start = 25472;
|
||||
public const int End = 25498;
|
||||
private readonly DecorativeShardShieldDeed m_Shield;
|
||||
private readonly int m_Page;
|
||||
public InternalGump(DecorativeShardShieldDeed shield)
|
||||
: this(shield, 1)
|
||||
{
|
||||
}
|
||||
|
||||
public InternalGump(DecorativeShardShieldDeed shield, int page)
|
||||
: base(150, 50)
|
||||
{
|
||||
this.m_Shield = shield;
|
||||
this.m_Page = page;
|
||||
|
||||
this.Closable = true;
|
||||
this.Disposable = true;
|
||||
this.Dragable = true;
|
||||
this.Resizable = false;
|
||||
|
||||
this.AddPage(0);
|
||||
|
||||
this.AddBackground(50, 89, 647, 505, 2600);
|
||||
this.AddLabel(103, 114, 0, @"Choose from the following:");
|
||||
|
||||
int itemID = Start;
|
||||
|
||||
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
if (8 >= i)
|
||||
{
|
||||
this.AddItem(82 + i * 65, 180, itemID);
|
||||
this.AddTooltip(1104344 + i);
|
||||
this.AddButton(92 + i * 65, 155, 0x845, 0x846, itemID, GumpButtonType.Reply, 0);
|
||||
this.AddTooltip(1104344 + i);
|
||||
}
|
||||
else if (i > 8 && i < 18)
|
||||
{
|
||||
|
||||
this.AddItem(82 + ((i - 9) * 65), 330, itemID);
|
||||
this.AddTooltip(1104344 + i);
|
||||
this.AddButton(92 + ((i - 9) * 65), 305, 0x845, 0x846, itemID, GumpButtonType.Reply, 0);
|
||||
this.AddTooltip(1104344 + i);
|
||||
}
|
||||
else if (i >= 18 && 26 >= i)
|
||||
{
|
||||
this.AddItem(82 + ((i - 18) * 65), 480, itemID);
|
||||
this.AddTooltip(1104344 + i);
|
||||
this.AddButton(92 + ((i - 18) * 65), 455, 0x845, 0x846, itemID, GumpButtonType.Reply, 0);
|
||||
this.AddTooltip(1104344 + i);
|
||||
}
|
||||
|
||||
itemID++;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnResponse(NetState sender, RelayInfo info)
|
||||
{
|
||||
if (this.m_Shield == null || this.m_Shield.Deleted)
|
||||
return;
|
||||
|
||||
Mobile m = sender.Mobile;
|
||||
|
||||
if (info.ButtonID >= Start && info.ButtonID <= End)
|
||||
{
|
||||
if ((info.ButtonID & 0x1) == 0 && info.ButtonID < 0x6380 || info.ButtonID >= 0x6380 && info.ButtonID <= 0x639A)
|
||||
{
|
||||
m.SendLocalizedMessage(1049780); // Where would you like to place this decoration?
|
||||
m.Target = new InternalTarget(this.m_Shield, info.ButtonID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class InternalTarget : Target
|
||||
{
|
||||
private readonly DecorativeShardShieldDeed m_Shield;
|
||||
private readonly int m_ItemID;
|
||||
public InternalTarget(DecorativeShardShieldDeed shield, int itemID)
|
||||
: base(-1, true, TargetFlags.None)
|
||||
{
|
||||
this.m_Shield = shield;
|
||||
this.m_ItemID = itemID;
|
||||
}
|
||||
|
||||
protected override void OnTarget(Mobile from, object targeted)
|
||||
{
|
||||
if (this.m_Shield == null || this.m_Shield.Deleted)
|
||||
return;
|
||||
|
||||
if (this.m_Shield.IsChildOf(from.Backpack))
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && house.IsOwner(from))
|
||||
{
|
||||
IPoint3D p = targeted as IPoint3D;
|
||||
Map map = from.Map;
|
||||
|
||||
if (p == null || map == null)
|
||||
return;
|
||||
|
||||
Point3D p3d = new Point3D(p);
|
||||
ItemData id = TileData.ItemTable[this.m_ItemID & TileData.MaxItemValue];
|
||||
|
||||
if (map.CanFit(p3d, id.Height))
|
||||
{
|
||||
house = BaseHouse.FindHouseAt(p3d, map, id.Height);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
bool north = BaseAddon.IsWall(p3d.X, p3d.Y - 1, p3d.Z, map);
|
||||
bool west = BaseAddon.IsWall(p3d.X - 1, p3d.Y, p3d.Z, map);
|
||||
|
||||
if (north && west)
|
||||
{
|
||||
from.CloseGump(typeof(FacingGump));
|
||||
from.SendGump(new FacingGump(this.m_Shield, this.m_ItemID, p3d, house));
|
||||
}
|
||||
else if (north || west)
|
||||
{
|
||||
DecorativeShardShield shield = null;
|
||||
|
||||
if (north)
|
||||
shield = new DecorativeShardShield(GetSouthItemID(this.m_ItemID));
|
||||
else if (west)
|
||||
shield = new DecorativeShardShield(this.m_ItemID);
|
||||
|
||||
house.Addons[shield] = from;
|
||||
shield.MoveToWorld(p3d, map);
|
||||
|
||||
this.m_Shield.Delete();
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1049781); // This decoration must be placed next to a wall.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1042036); // That location is not in your house.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(500269); // You cannot build that there.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1042038); // You must have the object in your backpack to use it.
|
||||
}
|
||||
|
||||
private class FacingGump : Gump
|
||||
{
|
||||
private readonly DecorativeShardShieldDeed m_Shield;
|
||||
private readonly int m_ItemID;
|
||||
private readonly Point3D m_Location;
|
||||
private readonly BaseHouse m_House;
|
||||
public FacingGump(DecorativeShardShieldDeed shield, int itemID, Point3D location, BaseHouse house)
|
||||
: base(150, 50)
|
||||
{
|
||||
this.m_Shield = shield;
|
||||
this.m_ItemID = itemID;
|
||||
this.m_Location = location;
|
||||
this.m_House = house;
|
||||
|
||||
this.AddBackground(0, 0, 300, 150, 0xA28);
|
||||
|
||||
this.AddItem(90, 30, itemID);
|
||||
this.AddItem(180, 30, GetSouthItemID(itemID));
|
||||
|
||||
this.AddButton(50, 35, 0x867, 0x869, (int)Buttons.East, GumpButtonType.Reply, 0);
|
||||
this.AddButton(145, 35, 0x867, 0x869, (int)Buttons.South, GumpButtonType.Reply, 0);
|
||||
}
|
||||
|
||||
private enum Buttons
|
||||
{
|
||||
Cancel,
|
||||
South,
|
||||
East
|
||||
}
|
||||
public override void OnResponse(NetState sender, RelayInfo info)
|
||||
{
|
||||
if (this.m_Shield == null || this.m_Shield.Deleted || this.m_House == null)
|
||||
return;
|
||||
|
||||
DecorativeShardShield shield = null;
|
||||
|
||||
if (info.ButtonID == (int)Buttons.East)
|
||||
shield = new DecorativeShardShield(this.m_ItemID);
|
||||
|
||||
if (info.ButtonID == (int)Buttons.South)
|
||||
shield = new DecorativeShardShield(GetSouthItemID(this.m_ItemID));
|
||||
|
||||
if (shield != null)
|
||||
{
|
||||
this.m_House.Addons[shield] = sender.Mobile;
|
||||
|
||||
shield.MoveToWorld(this.m_Location, sender.Mobile.Map);
|
||||
|
||||
this.m_Shield.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BandanaBearingTheCrestOfBlackthorn3 : Bandana
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BandanaBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public BandanaBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BascinetBearingTheCrestOfBlackthorn3 : Bascinet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BascinetBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public BascinetBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CircletBearingTheCrestOfBlackthorn3 : Circlet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public CircletBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public CircletBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FeatheredHatBearingTheCrestOfBlackthorn3 : FeatheredHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FeatheredHatBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public FeatheredHatBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEarringsBearingTheCrestOfBlackthorn3 : GargishEarrings
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishEarringsBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public GargishEarringsBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishGlassesBearingTheCrestOfBlackthorn3 : GargishGlasses
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishGlassesBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public GargishGlassesBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class JesterHatBearingTheCrestOfBlackthorn3 : JesterHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public JesterHatBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public JesterHatBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class NorseHelmBearingTheCrestOfBlackthorn3 : NorseHelm
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public NorseHelmBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public NorseHelmBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlateHelmBearingTheCrestOfBlackthorn3 : PlateHelm
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlateHelmBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public PlateHelmBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RoyalCircletBearingTheCrestOfBlackthorn3 : RoyalCirclet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RoyalCircletBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public RoyalCircletBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class SkullcapBearingTheCrestOfBlackthorn3 : SkullCap
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public SkullcapBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public SkullcapBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class TricorneHatBearingTheCrestOfBlackthorn3 : TricorneHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public TricorneHatBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public TricorneHatBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class WizardsHatBearingTheCrestOfBlackthorn3 : WizardsHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public WizardsHatBearingTheCrestOfBlackthorn3()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.NightSight = 1;
|
||||
Attributes.BonusStr = 8;
|
||||
Attributes.DefendChance = 15;
|
||||
StrRequirement = 45;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 20; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public WizardsHatBearingTheCrestOfBlackthorn3(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BandanaBearingTheCrestOfBlackthorn2 : Bandana
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BandanaBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public BandanaBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BascinetBearingTheCrestOfBlackthorn2 : Bascinet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public BascinetBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public BascinetBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CircletBearingTheCrestOfBlackthorn2 : Circlet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public CircletBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public CircletBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FeatheredHatBearingTheCrestOfBlackthorn2 : FeatheredHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FeatheredHatBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public FeatheredHatBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEarringsBearingTheCrestOfBlackthorn2 : GargishEarrings
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishEarringsBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public GargishEarringsBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishGlassesBearingTheCrestOfBlackthorn2 : GargishGlasses
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishGlassesBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public GargishGlassesBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class JesterHatBearingTheCrestOfBlackthorn2 : JesterHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public JesterHatBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public JesterHatBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class NorseHelmBearingTheCrestOfBlackthorn2 : NorseHelm
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public NorseHelmBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public NorseHelmBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PlateHelmBearingTheCrestOfBlackthorn2 : PlateHelm
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public PlateHelmBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public PlateHelmBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RoyalCircletBearingTheCrestOfBlackthorn2 : RoyalCirclet
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public RoyalCircletBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public RoyalCircletBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class SkullcapBearingTheCrestOfBlackthorn2 : SkullCap
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public SkullcapBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public SkullcapBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class TricorneHatBearingTheCrestOfBlackthorn2 : TricorneHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public TricorneHatBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public TricorneHatBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class WizardsHatBearingTheCrestOfBlackthorn2 : WizardsHat
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public WizardsHatBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
WeaponAttributes.HitLowerDefend = 30;
|
||||
Attributes.BonusStr = 10;
|
||||
Attributes.BonusDex = 5;
|
||||
StrRequirement = 45;
|
||||
Hue = 66;
|
||||
}
|
||||
|
||||
public override int BasePhysicalResistance { get { return 25; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits { get { return 255; } }
|
||||
public override int InitMaxHits { get { return 255; } }
|
||||
|
||||
public WizardsHatBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
xWeaponAttributesDeserializeHelper(reader, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EpauletteBearingTheCrestOfBlackthorn2 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123325; } } // Epaulette
|
||||
|
||||
[Constructable]
|
||||
public EpauletteBearingTheCrestOfBlackthorn2()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9985;
|
||||
Attributes.LowerManaCost = 1;
|
||||
Attributes.BonusMana = 5;
|
||||
Hue = 1306;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public EpauletteBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FancyDressBearingTheCrestOfBlackthorn2 : FancyDress
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FancyDressBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.LowerManaCost = 1;
|
||||
Attributes.BonusMana = 5;
|
||||
Hue = 1306;
|
||||
}
|
||||
|
||||
public FancyDressBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FemaleKimonoBearingTheCrestOfBlackthorn2 : FemaleKimono
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.LowerManaCost = 1;
|
||||
Attributes.BonusMana = 5;
|
||||
Hue = 1306;
|
||||
}
|
||||
|
||||
public FemaleKimonoBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishEpauletteBearingTheCrestOfBlackthorn2 : Cloak
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
public override Race RequiredRace { get { return Race.Gargoyle; } }
|
||||
public override bool CanBeWornByGargoyles { get { return true; } }
|
||||
|
||||
public override int LabelNumber { get { return 1123326; } } // Gargish Epaulette
|
||||
|
||||
[Constructable]
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn2()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
ItemID = 0x9986;
|
||||
Attributes.LowerManaCost = 1;
|
||||
Attributes.BonusMana = 5;
|
||||
Hue = 1306;
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
|
||||
public GargishEpauletteBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
|
||||
if (Layer != Layer.OuterTorso)
|
||||
{
|
||||
if (Parent is Mobile)
|
||||
{
|
||||
((Mobile)Parent).AddToBackpack(this);
|
||||
}
|
||||
|
||||
Layer = Layer.OuterTorso;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Server;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GargishFancyBearingTheCrestOfBlackthorn2 : GargishFancyRobe
|
||||
{
|
||||
public override bool IsArtifact { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public GargishFancyBearingTheCrestOfBlackthorn2()
|
||||
: base()
|
||||
{
|
||||
ReforgedSuffix = ReforgedSuffix.Blackthorn;
|
||||
Attributes.LowerManaCost = 1;
|
||||
Attributes.BonusMana = 5;
|
||||
Hue = 1306;
|
||||
}
|
||||
|
||||
public GargishFancyBearingTheCrestOfBlackthorn2(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
MaxHitPoints = 0;
|
||||
HitPoints = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user