Files
abysmal-isle/Scripts/Mobiles/NPCs/Mannequin/Property/SkillBonusAttribute.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

267 lines
9.2 KiB
C#

using System;
using Server;
using Server.Items;
using System.Collections.Generic;
namespace Server.Mobiles.MannequinProperty
{
public abstract class SkillBonusAttr : ValuedProperty
{
public override Catalog Catalog { get { return Catalog.SkillBonusGear; } }
public override int Description { get { return 1159316; } } // Increases your skill points in a particular skill, up to, but not exceeding your cap in that skill.
public abstract SkillName Skill { get; }
public override int Hue { get { return 0x42FF; } }
public override int SpriteW { get { return 270; } }
public override int SpriteH { get { return 300; } }
public double GetPropertyValue(Item item)
{
double value = 0;
AosSkillBonuses skillbonuses = RunicReforging.GetAosSkillBonuses(item);
if (skillbonuses != null)
{
for (int i = 0; i < 5; i++)
{
if (skillbonuses.GetValues(i, out SkillName check, out double bonus) && check == Skill && bonus > 0)
{
value += bonus;
}
}
}
return value;
}
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;
foreach (var item in items)
{
total += GetPropertyValue(item);
}
Value = total;
if (Value != 0)
{
return true;
}
return false;
}
}
public class SwordsBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002151; } } // Swordsmanship
public override SkillName Skill { get { return SkillName.Swords; } }
}
public class FencingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044102; } } // Fencing
public override SkillName Skill { get { return SkillName.Fencing; } }
}
public class MacingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044101; } } // Mace Fighting
public override SkillName Skill { get { return SkillName.Macing; } }
}
public class MageryBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002106; } } // Magery
public override SkillName Skill { get { return SkillName.Magery; } }
}
public class MusicianshipBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002116; } } // Musicianship
public override SkillName Skill { get { return SkillName.Musicianship; } }
}
public class WrestlingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002169; } } // Wrestling
public override SkillName Skill { get { return SkillName.Wrestling; } }
}
public class TacticsBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1017321; } } // Tactics
public override SkillName Skill { get { return SkillName.Tactics; } }
}
public class AnimalTamingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044095; } } // Animal Taming
public override SkillName Skill { get { return SkillName.AnimalTaming; } }
}
public class ProvocationBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002125; } } // Provocation
public override SkillName Skill { get { return SkillName.Provocation; } }
}
public class SpiritSpeakBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002140; } } // Spirit Speak
public override SkillName Skill { get { return SkillName.SpiritSpeak; } }
}
public class StealthBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044107; } } // Stealth
public override SkillName Skill { get { return SkillName.Stealth; } }
}
public class ParryBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002118; } } // Parrying
public override SkillName Skill { get { return SkillName.Parry; } }
}
public class MeditationBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044106; } } // Meditation
public override SkillName Skill { get { return SkillName.Meditation; } }
}
public class AnimalLoreBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002007; } } // Animal Lore
public override SkillName Skill { get { return SkillName.AnimalLore; } }
}
public class DiscordanceBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044075; } } // Discordance
public override SkillName Skill { get { return SkillName.Discordance; } }
}
public class FocusBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044110; } } // Focus
public override SkillName Skill { get { return SkillName.Focus; } }
}
public class StealingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002142; } } // Stealing
public override SkillName Skill { get { return SkillName.Stealing; } }
}
public class AnatomyBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002004; } } // Anatomy
public override SkillName Skill { get { return SkillName.Anatomy; } }
}
public class EvalIntBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044076; } } // Eval Intelligence
public override SkillName Skill { get { return SkillName.EvalInt; } }
}
public class VeterinaryBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044099; } } // Veterinary
public override SkillName Skill { get { return SkillName.Veterinary; } }
}
public class NecromancyBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044109; } } // Necromancy
public override SkillName Skill { get { return SkillName.Necromancy; } }
}
public class BushidoBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044112; } } // Bushido
public override SkillName Skill { get { return SkillName.Bushido; } }
}
public class MysticismBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044115; } } // Mysticism
public override SkillName Skill { get { return SkillName.Mysticism; } }
}
public class HealingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002082; } } // Healing
public override SkillName Skill { get { return SkillName.Healing; } }
}
public class MagicResistBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1049662; } } // Resisting Spells
public override SkillName Skill { get { return SkillName.MagicResist; } }
}
public class PeacemakingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002120; } } // Peacemaking
public override SkillName Skill { get { return SkillName.Peacemaking; } }
}
public class ArcheryBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1002029; } } // Archery
public override SkillName Skill { get { return SkillName.Archery; } }
}
public class ChivalryBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044111; } } // Chivalry
public override SkillName Skill { get { return SkillName.Chivalry; } }
}
public class NinjitsuBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044113; } } // Ninjitsu
public override SkillName Skill { get { return SkillName.Ninjitsu; } }
}
public class ThrowingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044117; } } // Throwing
public override SkillName Skill { get { return SkillName.Throwing; } }
}
public class LumberjackingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044104; } } // Lumberjacking
public override SkillName Skill { get { return SkillName.Lumberjacking; } }
}
public class SnoopingBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044088; } } // Snooping
public override SkillName Skill { get { return SkillName.Snooping; } }
}
public class MiningBonusProperty : SkillBonusAttr
{
public override int LabelNumber { get { return 1044105; } } // Mining
public override SkillName Skill { get { return SkillName.Mining; } }
}
}