#W# Fix: CrystalOfKnowlege no longer drops crafting skills.
This commit is contained in:
parent
822e82f12b
commit
ae245cdb69
1 changed files with 23 additions and 7 deletions
|
|
@ -8,6 +8,24 @@ namespace Server.Items
|
|||
{
|
||||
private SkillName _Skill;
|
||||
|
||||
// The curated list of AOS skills. Delete or comment out any skills you don't want dropping!
|
||||
private static readonly SkillName[] _ValidSkills = new SkillName[]
|
||||
{
|
||||
SkillName.Anatomy, SkillName.AnimalLore, SkillName.ItemID,
|
||||
SkillName.ArmsLore, SkillName.Parry, SkillName.Begging,
|
||||
SkillName.Peacemaking, SkillName.Camping,
|
||||
SkillName.Cartography, SkillName.DetectHidden, SkillName.Discordance,
|
||||
SkillName.EvalInt, SkillName.Healing, SkillName.Fishing, SkillName.Forensics,
|
||||
SkillName.Herding, SkillName.Hiding, SkillName.Provocation,
|
||||
SkillName.Lockpicking, SkillName.Magery, SkillName.MagicResist, SkillName.Tactics,
|
||||
SkillName.Snooping, SkillName.Musicianship, SkillName.Poisoning, SkillName.Archery,
|
||||
SkillName.SpiritSpeak, SkillName.Stealing, SkillName.AnimalTaming,
|
||||
SkillName.TasteID, SkillName.Tracking, SkillName.Veterinary,
|
||||
SkillName.Swords, SkillName.Macing, SkillName.Fencing, SkillName.Wrestling,
|
||||
SkillName.Lumberjacking, SkillName.Mining, SkillName.Meditation, SkillName.Stealth,
|
||||
SkillName.RemoveTrap, SkillName.Necromancy, SkillName.Focus, SkillName.Chivalry
|
||||
};
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public SkillName Skill
|
||||
{
|
||||
|
|
@ -19,8 +37,9 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
// Now pulls exclusively from the _ValidSkills array
|
||||
[Constructible]
|
||||
public CrystalOfKnowledge() : this((SkillName)Utility.Random(SkillInfo.Table.Length))
|
||||
public CrystalOfKnowledge() : this(_ValidSkills[Utility.Random(_ValidSkills.Length)])
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -35,7 +54,7 @@ namespace Server.Items
|
|||
|
||||
private void UpdateName()
|
||||
{
|
||||
Name = $"a minor shard of {_Skill}";
|
||||
Name = $"a crystalline shard of {_Skill}";
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
|
|
@ -67,7 +86,7 @@ namespace Server.Items
|
|||
targetSkill.Cap = maxCap;
|
||||
}
|
||||
|
||||
from.SendMessage(0x501, $"The shard dissolves, permanently increasing your {_Skill} cap by 1.0!");
|
||||
from.SendMessage(0x501, $"The crystal dissolves, permanently increasing your {_Skill} cap by 1.0!");
|
||||
from.PlaySound(0x243);
|
||||
from.FixedParticles(0x373A, 10, 15, 5012, EffectLayer.Waist);
|
||||
|
||||
|
|
@ -78,13 +97,11 @@ namespace Server.Items
|
|||
{
|
||||
}
|
||||
|
||||
// --- ModernUO Manual Serialization ---
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0); // Version
|
||||
writer.Write(0);
|
||||
|
||||
// Save the specific skill ID to the hard drive
|
||||
writer.Write((int)_Skill);
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +110,6 @@ namespace Server.Items
|
|||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
// Load the specific skill ID back when the server boots
|
||||
_Skill = (SkillName)reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue