ShadowLord

Member
ServUO Version
Publish 57
Ultima Expansion
High Seas
If I wanted to make a "super item" that occupies talisman slot, that holds items and retains their combined properties, thus making a super talisman so to speak, what would be the best approach?
 
It’s not an easy task, it largely depends on the type of bonuses involved. For instance, if the bonuses are strictly stat/skill increases, that’s one scenario. However, if they include special behaviours (such as reducing incoming damage, emitting light, or suppressing hunger/thirst), it becomes a more complex issue.

One approach is to create an “aggregator talisman” as a container (or as a talisman derivative with an embedded container function). When a talisman is put inside of it, it would recursively check all the talismans within it and aggregate similar values and bonuses. This method requires you to manually craft a helper function (e.g., GetBonuses()) to extract, map, and then apply the bonuses all at once according to the specific bonus type. Then when equipped (or triggered) it would apply the aggregated bonuses.

Another approach is similar in that the aggregator talisman would still hold multiple talismans, but instead of extracting and applying bonuses in one shot, it would simply trigger the OnEquip (or trigger method you use on the talisman) function of each talisman it contains. However, this method carries the risk of duplicate bonuses (for example, if two talismans provide similar effects, they might override each other or not work as intended) or other issues.
 

Active Shards

Donations

Total amount
$0.00
Goal
$500.00
Back