View Single Post
  #8  
Old 03-19-2014, 05:51 AM
moofta
Sarnak
 
Join Date: Jan 2014
Location: United Kingdom
Posts: 53
Default

I think I have good news for you.. afaik evolving items are not scaling items at all (like charms, for example), but discrete entities (I could be wrong). The current code makes 2 false assumptions (I appreciate though it was never finished): dinging is based on number of kills rather than XP, and that the item scales like charms do.


A level 1 item with 99% XP is no more powerful than a level 1 item with 0% XP. But a level 2 items is a totally different item, with different stats. In other words, we don't need to worry about attribute scaling for evolving items, we just know they are linked by their evolving level and the "evoid", so we just go up the chain of levels when the item dings. Of course, any "recommended level" scaling is still applicable.

For the other slots on that cultural TS item, I couldn't comment. It may well be that there are reserved slots for future expansion (perhaps like the epic 2.5 aug).

If you're looking at item instances, there are some things I would want to implement specifically for evolving items as I don't believe the current support has quite hit the spot (I think the view was they work like charms, when I don't believe they do).

One is when they are equipped there needs to be a timestamp. When the items potentially earns xp, it needs to check that the item is worn, and that n amount of seconds has passed to allow the xp to be earnt (as a guide I think n=30 seconds). This should persist over zones as far as I'm concerned. Of course, if we have a few more item specific events (equip/unequip) we could maybe do this in a script instead (See below).

Secondly, is XP turned on or off for that item? Obviously if it is off then it would not earn xp. This might need to be accessible to scripts.

Thirdly, the item not only has a level but an XP amount - we would need to store this in the DB as it persists over time but also between players.

I haven't yet dived into how the scripting events are hooked up but it would be nice is to have item events triggered on equip and unequip, and when player xp is earnt. That way we could script the items that only gain xp when certain mobs are killed etc. It would be much more flexible than hard-coding it. The flip side is that it's quite nice to have an item 100% defined in the database, although I guess charms are already implemented by that.

In fact, eq live items have access to things like "when the wielder gets a killshot"- I'm not sure if this is currently possible in eqemu - and it's probably a phase two for evolving item implementation.

I don't recall the message you get when the item dings, I guess I will need to level someone up (pretty easy I have 15+ level 85+ characters on live), equip one and get it to ding. I could get packet captures but not sure how useful these would be given it would be for a different client. Any suggestions would be appreciated- it might at least be a good exercise in seeing how the client/server talk in this manner...

Do you have a branch on github so I can be nosey and see what you're up to?
Reply With Quote