ok i have a set system that gives bonus str,dex,int when a full set is equipped but!
im having a problem when it comes to bonus resists (cold,physical,fire,energy)
heres the mod code
and heres the error i get (see uploaded file)
im having a problem when it comes to bonus resists (cold,physical,fire,energy)
heres the mod code
Code:
#region Header
// File: ResistModBonus.cs
// Author: Vorspire
// License: The MIT License (MIT)
// Copyright: (c) 2013, Vita-Nex | http://www.vita-nex.com
//
// Created: 10/04/2012 @ 03:58
// Edited: 01/13/2013 @ 03:48
#endregion
#region References
using System;
using Server;
#endregion
namespace VitaNex.Modules.EquipmentSets
{
public class ResistSetMod : EquipmentSetMod
{
private TimeSpan _Duration = TimeSpan.Zero;
private int _Offset;
private ResistanceType _Resist = ResistanceType.All;
public ResistSetMod()
: this(1)
{ }
public ResistSetMod(int partsReq)
: this(partsReq, true)
{ }
public ResistSetMod(int partsReq, bool display)
: this(partsReq, display, ResistanceType.All)
{ }
public ResistSetMod(int partsReq, bool display, ResistanceType Resist)
: this(partsReq, display, Resist, 1)
{ }
public ResistSetMod(int partsReq, bool display, ResistanceType Resist, int offset)
: this(partsReq, display, Resist, offset, TimeSpan.Zero)
{ }
public ResistSetMod(int partsReq, bool display, ResistanceType Resist, int offset, TimeSpan duration)
: base("Resist-Mod", String.Empty, partsReq, display)
{
_Resist = Resist;
_Offset = offset;
_Duration = duration;
InvalidateBlurb();
}
public ResistSetMod(GenericReader reader)
: base(reader)
{ }
[CommandProperty(EquipmentSets.Access)]
public virtual ResistanceType Resist
{
get { return _Resist; }
set
{
_Resist = value;
InvalidateBlurb();
}
}
[CommandProperty(EquipmentSets.Access)]
public virtual int Offset
{
get { return _Offset; }
set
{
_Offset = value;
InvalidateBlurb();
}
}
[CommandProperty(EquipmentSets.Access)]
public virtual TimeSpan Duration
{
get { return _Duration; }
set
{
_Duration = value;
InvalidateBlurb();
}
}
public virtual string InternalName { get { return String.Format("{0} [{1}][{2}][{3}]", Name, _Resist, _Offset, (int)_Duration.TotalSeconds); } }
public virtual void InvalidateBlurb()
{
string ResistName = String.Empty;
switch (_Resist)
{
case ResistanceType.All:
ResistName = "All Resists";
break;
case ResistanceType.BaseFireResistance:
ResistName = "Fire";
break;
case ResistanceType.BasePoisonResistance:
ResistName = "Poison";
break;
case ResistanceType.BaseEnergyResistance:
ResistName = "Energy";
break;
case ResistanceType.BaseColdResistance:
ResistName = "Cold";
break;
case ResistanceType.BasePhysicalResistance:
ResistName = "Physical";
break;
}
if (_Duration > TimeSpan.Zero)
{
Blurb = String.Format(
"Increases {0} By {1} for {2}",
ResistName,
_Offset,
new DateTime(_Duration.Ticks).ToString("hh:mm:ss"));
}
else
{
Blurb = String.Format("Increases {0} By {1}", ResistName, _Offset);
}
}
public override void OnActivate(Mobile m, EquipmentSetPart[] equipped)
{
string name = InternalName;
if (m.GetResistMod(name) == null)
{
m.AddResistMod(new ResistMod(_Resist, name, _Offset, _Duration));
}
}
public override void OnDeactivate(Mobile m, EquipmentSetPart[] equipped)
{
string name = InternalName;
if (m.GetResistMod(name) != null)
{
m.RemoveResistMod(name);
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
int version = writer.SetVersion(0);
switch (version)
{
case 0:
{
writer.WriteFlag(_Resist);
writer.Write(_Offset);
writer.Write(_Duration);
}
break;
}
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
{
_Resist = reader.ReadFlag<ResistanceType>();
_Offset = reader.ReadInt();
_Duration = reader.ReadTimeSpan();
}
break;
}
}
}
}
and heres the error i get (see uploaded file)