Dulrik wrote:
The closest reasonable suggestions that I remember hearing was to have some way to limit an enchantment to a level where the item would not be stolen for that character. But I haven't heard a good suggestion yet on an exact implementation for that.
How about this: If an enchanted weapon is equipped by someone whose level exceeds the weapon's level, then the weapons enchantments are reduced in effectiveness to match the wielders level, to a maximum of zero effective enchants. The enchantments themselves remain, but are ineffective in the hands of the low level user. Thief stealing calculations operate on login differently as well: All enchantments are ignored when determining level for login thieves.
If a magical weapon is equipped by a player with a level greater than or equal to the items level, then all magical enchantments become effective again. The biggest problem with this is having to create a new number to be used in calculating damage in combat, but the one nice thing is this: The "effective" magical level of a weapon needs to be calculated only when A) Said weapon is equipped, and B) When a character levels up. (At which point you could perhaps even force a remove-reequip of weaponry, to save on logic)
For example:
John is level 35. He wants to equip a level 30 weapon which has 8 enchantments on it, making it an effective level 38 weapon.
John equips the weapon, at which point the weapon seems to lose an amount of luster, and John receives a message indicating that he feels unable to harness the weapon's full magical potential.
For all intents and purposes, the weapon is now treated as a level 30 weapon with 5 enchantments on it, seeing as how John is only level 35. It hits and does damage like a weapon of its subtype with five enchantments placed upon it. The permanent value of eight enchantments remains in the weapon's data.
John gains a level! His weapon is now treated, for all intents and purposes, like a weapon of its subtype with six enchantments placed upon it. The permanent value of eight enchantments remains in the weapon's data, however.
John un-equips the weapon. It now returns to being a level 30 weapon with 8 enchantments, effective level 38.
Here's the kicker. If John logs out and logs back in, the thief calculation script uses only the item's base level, not the item's level with enchantment included. Reason: Regardless of whether John is level 30, level 38, or level 50, the sword will not be taken as long as John is above level 30.
Any ideas? The only bump I really run into is fading, which I suppose would update the item's 'base' level, as I call it. The primary achieved goal by this is that as long as you don't fade your weapon, enchanting your weapon will make it no more susceptible to logout thieves than it already was.
As for armor, I'm not sure if this exact implementation will work, as armor has multiple possibilities for enchantments, as opposed to weaponry.
Therefore, calculating armor "effective" levels and deciding which enchantments to drop may become problematic.