DragnMaw
Member
I have been creating some custom Sets, and have been attempting to make them work without core edits. I have the sets added/configured etc.etc.etc.etc. and as soon as I equip all pieces it does give me "The magic of your armor combines to assist you!", but it is not getting any of the SetAttributes, SetHue from the file. There are absolutely 0 Compiling Warnings or Errors. Here's my CustomItemSet relevant info
namespace Server
{
public enum DailyQuestSetItem
{
None,
Wisdom,
Archmage,
Berserker,
Warrior
}
public interface IDailyQuestSetItem
{
DailyQuestSetItem DailyQuestSetID { get; }
int Pieces { get; }
int SetHue { get; set; }
bool IsDailyQuestSetItem { get; }
bool SetEquipped { get; set; }
bool LastEquipped { get; set; }
AosAttributes SetAttributes { get; }
AosSkillBonuses SetSkillBonuses { get; }
int SetPhysicalBonus { get; }
int SetFireBonus { get; }
int SetColdBonus { get; }
int SetPoisonBonus { get; }
int SetEnergyBonus { get; }
int SetResistBonus(ResistanceType type);
}
public static class DailyQuestSetHelper
public static void AddSetBonus(Mobile to, DailyQuestSetItem setID)
{
for (int i = 0; i < to.Items.Count; i++)
{
if (to.Items is IDailyQuestSetItem)
{
IDailyQuestSetItem setItem = (IDailyQuestSetItem)to.Items;
if (setItem.IsDailyQuestSetItem && setItem.DailyQuestSetID == setID)
{
if (setItem.LastEquipped)
{
AddStatBonuses(to, to.Items, setItem.SetAttributes.BonusStr, setItem.SetAttributes.BonusDex, setItem.SetAttributes.BonusInt);
setItem.SetSkillBonuses.AddTo(to);
}
setItem.SetEquipped = true;
Timer.DelayCall(item => item.InvalidateProperties(), to.Items);
}
}
}
to.UpdateResistances();
Effects.PlaySound(to.Location, to.Map, 0x1F7);
to.FixedParticles(0x376A, 9, 32, 5030, EffectLayer.Waist);
to.SendLocalizedMessage(1072391); // The magic of your armor combines to assist you!
}
public override bool IsArtifact => true;
[Constructable]
public ArmsoftheArchmage()
: base(0x13CD)
{
Name = "Arms of the Archmage";
Weight = 2.0;
SetHue = 0x04aa;
Attributes.LowerRegCost = 17;
Attributes.LowerManaCost = 7;
SetAttributes.SpellDamage = 100;
SetAttributes.BonusDex = 10;
SetAttributes.BonusStr = 10;
SetAttributes.BonusInt = 10;
SetAttributes.NightSight = 1;
SetAttributes.CastRecovery = 6;
SetAttributes.CastSpeed = 2;
}
public ArmsoftheArchmage(Serial serial)
: base(serial)
{
}
public override DailyQuestSetItem DailyQuestSetID => DailyQuestSetItem.Archmage;
public override int Pieces => 6;
namespace Server
{
public enum DailyQuestSetItem
{
None,
Wisdom,
Archmage,
Berserker,
Warrior
}
public interface IDailyQuestSetItem
{
DailyQuestSetItem DailyQuestSetID { get; }
int Pieces { get; }
int SetHue { get; set; }
bool IsDailyQuestSetItem { get; }
bool SetEquipped { get; set; }
bool LastEquipped { get; set; }
AosAttributes SetAttributes { get; }
AosSkillBonuses SetSkillBonuses { get; }
int SetPhysicalBonus { get; }
int SetFireBonus { get; }
int SetColdBonus { get; }
int SetPoisonBonus { get; }
int SetEnergyBonus { get; }
int SetResistBonus(ResistanceType type);
}
public static class DailyQuestSetHelper
public static void AddSetBonus(Mobile to, DailyQuestSetItem setID)
{
for (int i = 0; i < to.Items.Count; i++)
{
if (to.Items is IDailyQuestSetItem)
{
IDailyQuestSetItem setItem = (IDailyQuestSetItem)to.Items;
if (setItem.IsDailyQuestSetItem && setItem.DailyQuestSetID == setID)
{
if (setItem.LastEquipped)
{
AddStatBonuses(to, to.Items, setItem.SetAttributes.BonusStr, setItem.SetAttributes.BonusDex, setItem.SetAttributes.BonusInt);
setItem.SetSkillBonuses.AddTo(to);
}
setItem.SetEquipped = true;
Timer.DelayCall(item => item.InvalidateProperties(), to.Items);
}
}
}
to.UpdateResistances();
Effects.PlaySound(to.Location, to.Map, 0x1F7);
to.FixedParticles(0x376A, 9, 32, 5030, EffectLayer.Waist);
to.SendLocalizedMessage(1072391); // The magic of your armor combines to assist you!
}
public override bool IsArtifact => true;
[Constructable]
public ArmsoftheArchmage()
: base(0x13CD)
{
Name = "Arms of the Archmage";
Weight = 2.0;
SetHue = 0x04aa;
Attributes.LowerRegCost = 17;
Attributes.LowerManaCost = 7;
SetAttributes.SpellDamage = 100;
SetAttributes.BonusDex = 10;
SetAttributes.BonusStr = 10;
SetAttributes.BonusInt = 10;
SetAttributes.NightSight = 1;
SetAttributes.CastRecovery = 6;
SetAttributes.CastSpeed = 2;
}
public ArmsoftheArchmage(Serial serial)
: base(serial)
{
}
public override DailyQuestSetItem DailyQuestSetID => DailyQuestSetItem.Archmage;
public override int Pieces => 6;