Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
173
Scripts/Mobiles/NPCs/Mannequin/Property/ResistProperty.cs
Normal file
173
Scripts/Mobiles/NPCs/Mannequin/Property/ResistProperty.cs
Normal file
@@ -0,0 +1,173 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server.Mobiles.MannequinProperty
|
||||
{
|
||||
public abstract class ResistAttr : ValuedProperty
|
||||
{
|
||||
public override Catalog Catalog { get { return Catalog.Resistances; } }
|
||||
public override bool AlwaysVisible { get { return true; } }
|
||||
public abstract ResistanceType Resist { get; }
|
||||
public override int Hue { get { return 0x42FF; } }
|
||||
public override int Cap { get { return 70; } }
|
||||
|
||||
public double GetPropertyValue(Item item)
|
||||
{
|
||||
return GetBaseResistBonus(item, Resist);
|
||||
}
|
||||
|
||||
public override bool Matches(Item item)
|
||||
{
|
||||
Value = GetPropertyValue(item);
|
||||
|
||||
if (Value != 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool Matches(List<Item> items)
|
||||
{
|
||||
double total = 0;
|
||||
|
||||
items.ForEach(x => total += GetPropertyValue(x));
|
||||
|
||||
Value = total;
|
||||
|
||||
if (Value != 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public int GetBaseResistBonus(Item item, ResistanceType resist)
|
||||
{
|
||||
switch (resist)
|
||||
{
|
||||
case ResistanceType.Physical:
|
||||
{
|
||||
if (item is BaseWeapon)
|
||||
return ((BaseWeapon)item).PhysicalResistance;
|
||||
|
||||
if (item is BaseArmor)
|
||||
return ((BaseArmor)item).PhysicalResistance;
|
||||
|
||||
if (item is BaseClothing)
|
||||
return ((BaseClothing)item).PhysicalResistance;
|
||||
|
||||
break;
|
||||
}
|
||||
case ResistanceType.Fire:
|
||||
{
|
||||
if (item is BaseWeapon)
|
||||
return ((BaseWeapon)item).FireResistance;
|
||||
|
||||
if (item is BaseArmor)
|
||||
return ((BaseArmor)item).FireResistance;
|
||||
|
||||
if (item is BaseClothing)
|
||||
return ((BaseClothing)item).FireResistance;
|
||||
|
||||
break;
|
||||
}
|
||||
case ResistanceType.Cold:
|
||||
{
|
||||
if (item is BaseWeapon)
|
||||
return ((BaseWeapon)item).ColdResistance;
|
||||
|
||||
if (item is BaseArmor)
|
||||
return ((BaseArmor)item).ColdResistance;
|
||||
|
||||
if (item is BaseClothing)
|
||||
return ((BaseClothing)item).ColdResistance;
|
||||
|
||||
break;
|
||||
}
|
||||
case ResistanceType.Poison:
|
||||
{
|
||||
if (item is BaseWeapon)
|
||||
return ((BaseWeapon)item).PoisonResistance;
|
||||
|
||||
if (item is BaseArmor)
|
||||
return ((BaseArmor)item).PoisonResistance;
|
||||
|
||||
if (item is BaseClothing)
|
||||
return ((BaseClothing)item).PoisonResistance;
|
||||
|
||||
break;
|
||||
}
|
||||
case ResistanceType.Energy:
|
||||
{
|
||||
if (item is BaseWeapon)
|
||||
return ((BaseWeapon)item).EnergyResistance;
|
||||
|
||||
if (item is BaseArmor)
|
||||
return ((BaseArmor)item).EnergyResistance;
|
||||
|
||||
if (item is BaseClothing)
|
||||
return ((BaseClothing)item).EnergyResistance;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public class PhysicalResistProperty : ResistAttr
|
||||
{
|
||||
public override int Order { get { return 1; } }
|
||||
public override int LabelNumber { get { return 1079764; } } // Physical Resist
|
||||
public override ResistanceType Resist { get { return ResistanceType.Physical; } }
|
||||
public override int Description { get { return 1115226; } } // This property reduces the damage taken from attacks that cause physical damage. This property can be found on all armor, shields, accessories or weapons.
|
||||
public override int SpriteW { get { return 30; } }
|
||||
public override int SpriteH { get { return 30; } }
|
||||
}
|
||||
|
||||
public class FireResistProperty : ResistAttr
|
||||
{
|
||||
public override int Order { get { return 2; } }
|
||||
public override int LabelNumber { get { return 1079763; } } // Fire Resist
|
||||
public override ResistanceType Resist { get { return ResistanceType.Fire; } }
|
||||
public override int Description { get { return 1115227; } } // This property reduces the damage taken from attacks that cause fire damage. This property can be found on all armor, shields, accessories or weapons.
|
||||
public override int SpriteW { get { return 150; } }
|
||||
public override int SpriteH { get { return 0; } }
|
||||
}
|
||||
|
||||
public class ColdResistProperty : ResistAttr
|
||||
{
|
||||
public override int Order { get { return 3; } }
|
||||
public override int LabelNumber { get { return 1079761; } } // Cold Resist
|
||||
public override ResistanceType Resist { get { return ResistanceType.Cold; } }
|
||||
public override int Description { get { return 1115228; } } // This property reduces the damage taken from attacks that cause cold damage. This property can be found on all armor, shields, accessories or weapons.
|
||||
public override int SpriteW { get { return 0; } }
|
||||
public override int SpriteH { get { return 0; } }
|
||||
}
|
||||
|
||||
public class PoisonResistProperty : ResistAttr
|
||||
{
|
||||
public override int Order { get { return 4; } }
|
||||
public override int LabelNumber { get { return 1079765; } } // Poison Resist
|
||||
public override ResistanceType Resist { get { return ResistanceType.Poison; } }
|
||||
public override int Description { get { return 1115229; } } // This property reduces the damage taken from attacks that cause poison damage. This property can be found on all armor, shields, accessories or weapons.
|
||||
public override int SpriteW { get { return 60; } }
|
||||
public override int SpriteH { get { return 30; } }
|
||||
}
|
||||
|
||||
public class EnergyResistProperty : ResistAttr
|
||||
{
|
||||
public override int Order { get { return 5; } }
|
||||
public override int LabelNumber { get { return 1079762; } } // Energy Resist
|
||||
public override ResistanceType Resist { get { return ResistanceType.Energy; } }
|
||||
public override int Description { get { return 1115230; } } // This property reduces the damage taken from attacks that cause energy damage. This property can be found on all armor, shields, accessories or weapons.
|
||||
public override int SpriteW { get { return 120; } }
|
||||
public override int SpriteH { get { return 0; } }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user