The best way to do stealable items is to script them as a BaseDecorationArtifact and add Weight to it.
The higher the Artifact Rarity number and Weight, will determine the fail success rate.
After you script them, you can put them on a xmlspanwer, Item/Movable/False/STEALABLE/True

Example:

[FlipableAttribute(0x6EB5, 0x6EB6)]
public class HhiGeniLantern : BaseDecorationArtifact
{

public override bool IsArtifact { get { return true; } }
public override int ArtifactRarity { get { return 12; } }

[Constructable]
public HhiGeniLantern()
: base(0x6EB5)
{
this.Name = "Lantern";
this.Weight = 8.0;
}

public HhiGeniLantern(Serial serial)
: base(serial)
{
}

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();
}
}
 
Or just find StealableArtifactsSpawner.cs and add it.
Example code:

C#:
Expand Collapse Copy
 private static readonly StealableEntry[] m_Entries = new StealableEntry[]
        {         
            // Doom - Artifact rarity 1
            new StealableEntry(Map.Malas, new Point3D(317, 56, -1), 72, 108, typeof(RockArtifact)),
            new StealableEntry(Map.Malas, new Point3D(360, 31, 8), 72, 108, typeof(SkullCandleArtifact)),
            new StealableEntry(Map.Malas, new Point3D(369, 372, -1), 72, 108, typeof(BottleArtifact)),
            new StealableEntry(Map.Malas, new Point3D(378, 372, 0), 72, 108, typeof(DamagedBooksArtifact)),
            // Doom - Artifact rarity 2
            new StealableEntry(Map.Malas, new Point3D(432, 16, -1), 144, 216, typeof(StretchedHideArtifact)),
            new StealableEntry(Map.Malas, new Point3D(489, 9, 0), 144, 216, typeof(BrazierArtifact)),
            // Doom - Artifact rarity 3
            new StealableEntry(Map.Malas, new Point3D(471, 96, -1), 288, 432, typeof(LampPostArtifact), GetLampPostHue()),
            new StealableEntry(Map.Malas, new Point3D(421, 198, 2), 288, 432, typeof(BooksNorthArtifact)),
            new StealableEntry(Map.Malas, new Point3D(431, 189, -1), 288, 432, typeof(BooksWestArtifact)),
            new StealableEntry(Map.Malas, new Point3D(435, 196, -1), 288, 432, typeof(BooksFaceDownArtifact)),
            // Doom - Artifact rarity 5
            new StealableEntry(Map.Malas, new Point3D(447, 9, 8), 1152, 1728, typeof(StuddedLeggingsArtifact)),
            new StealableEntry(Map.Malas, new Point3D(423, 28, 0), 1152, 1728, typeof(EggCaseArtifact)),
            new StealableEntry(Map.Malas, new Point3D(347, 44, 4), 1152, 1728, typeof(SkinnedGoatArtifact)),
            new StealableEntry(Map.Malas, new Point3D(497, 57, -1), 1152, 1728, typeof(GruesomeStandardArtifact)),
            new StealableEntry(Map.Malas, new Point3D(381, 375, 11), 1152, 1728, typeof(BloodyWaterArtifact)),
            new StealableEntry(Map.Malas, new Point3D(489, 369, 2), 1152, 1728, typeof(TarotCardsArtifact)),
            new StealableEntry(Map.Malas, new Point3D(497, 369, 5), 1152, 1728, typeof(BackpackArtifact)),
C#:
Expand Collapse Copy
public StealableEntry(Map map, Point3D location, int minDelay, int maxDelay, Type type, int hue)

Then use command [GenStealArties to see your.
 

Donations

Total amount
$50.00
Goal
$500.00

Shards

Back