I know there's been a few threads relating to this, but they have tended to go OT so I thought I'd start a new one.
I've been looking at the source code to see if I can have a stab at implementing it as it's a really good mechanic that I feel is underutilised in live.
To resurrect this, I just want to summarise what I know about these from
https://www.everquest.com/news/imported-eq-enus-50566 (and
http://www.everquest.fanra.info/wiki/Evolving_items) :-
Quote:
1. Evolving items were introduced with the Depths of Darkhallow expansion.
2. Evolving items gain experience of their own as your character earns experience. Some of these items will only earn experience from certain types of defeated enemies, while others earn experience from all types.
3. As an evolving item levels, its statistics, powers, and even appearance may change. An evolving item may even gain particle effects, or have current particle effects enhanced. Hidden abilities may also be unlocked as an item evolves. Some evolving items may even possess an "intelligence" that allows them to voice opinions and alerts in certain situations!
You can view your evolving items from your inventory window, under the Evolution tab.
4. Evolving items must be equipped and activated in order to gain experience. They have a "wake up" period after being equipped in which the item will not gain experience. This period occurs each time the item is unequipped and re-equipped.
5. You may control whether an item earns experience by using the checkbox in the evolving item's inspection window.
6. An evolving item's current level, experience toward next level, and stats can be viewed in the item inspection window.
7. The item's experience is stored in the item itself, and so retain its progress if transferred to a new owner (unless flagged as non-tradable).
8. Experience in an evolving item can sometimes be transferred to new evolving items; however, some item experience is lost in the process. The items that are transferable are only items from the Depths of Darkhollow expansion.
9. If you get an evolving item that is lore, you won't be able to have two of them in different states of evolving.
|
Notes on the above:-
1. September 13th, 2005 Patch.
2. For example, the Alaran Tear only gains xp if you kill *certain* mobs (Alarans+Undead Alarans). You can also evolve it by clicking on certain droppable items. We'd need to factor in making this customisable.
3. Items don't scale like charms do (they may scale in terms of recommended level, however). They are either one level or another.
- When an item levels, any augs are retained.
- When an item "dings", it stays in the equipped slot (i.e. doesn't return to your cursor).
- Intelligent items talk to the owner and are exceptionally irritating, so I'm told (see comments here:-
http://everquest.allakhazam.com/db/item.html?item=44874 )
4. On live, you must have the item equipped when a mob dies for the item to gain xp.
- The wake up period appears to be approx 30 seconds. Unsure if it varies between items, but 30 seconds seems reasonable.
- (possibly hearsay as I can't find dev input on this). Evolving items share the experience gained - one of the reasons you can turn on/off evolving item exsperience in the UI. They don't "take" experience from normal/aa xp however.
- Normal task/quest xp does not evolve items (it is possible that a quest specific to that item *could*. The item clicks for the Alaran Tear, in our terms would be an evolving item specific SetExp())
- It is commonly thought that the xp gained is divided by the number of people in group, which is why solo'ing light blues appears to be the quickest way to level them. However look at this from June 13th 2006 patch notes:-
Quote:
- Increased the amount of experience that evolving items gain when you kill an NPC. In addition, you will now gain more experience toward your evolving item when you are in a group, similar to how normal experience works.
- Reduced the amount of experience required to level up intelligent items. If your items now have more experience than is required to level, they will evolve the next time they gain experience.
- Due to the changes to how fast you gain item XP, the amount of XP required to evolve the Cloak of the Spirit Tracker has been increased.
- Evolving an item should no longer cause occasional crashes.
|
This seems contrary to the previous statement, but it may well be that the xp is simply shared using the same mechanism as group xp (I don't know if having someone too high level in group affects it also), and previously they forgot to implement the group bonus.
- mixed reports on raid xp- some say the amount gained is so small due to the division factor (see obove) that people think it doesn't help, but it does. Others flatly say it doesn't count at all.
- XP modifers such as Lesson of the Devoted do NOT affect item evolution either solo or in group. People also say ZEM's don't affect it but that might be hard to prove.
6. In the 12/08/2010 patch on live the following note was made:-
- The inspect window will now show the final stage of evolving items when clicking on an item link.
8. There is a quest in Corathus Creep to do this
http://everquest.allakhazam.com/db/q...tml?quest=3175
What we know from itemdata collects (just using one example for now, choosing one mentioned in one of the above patch notes) that the items are linked by a common id that *isn't* the lore group. For example-
http://lucy.allakhazam.com/itemraw.html?id=85613 and
http://lucy.allakhazam.com/itemraw.html?id=85612. Both have evoid=1211, both have the same lore group 85612. Both have evomax and evolvlevel (so presumably these are sent to the client to give the "Evolving: Level 2/3" text.) Presumably the server also sends the link to the final result which could be found by searching the item with that evoid and max level (no link sent if evomax==evolvlevel).
The actual experience levels may be a bit of trial and error.
So what I don't know is:-
1. When evolving xp is turned on/off what packets are sent by clients- and do we support them?
2. How to alter item structs so that we can send the % xp, evolving levels and final result to the client for display (again, I presume this will change per client).
3. Whether the server sends out a packet when an item dings- to initiate the swapping in of the new item (aug and all).
4. The actual XP amounts per item (we might have to make educated guesses on these although for the Alaran Tear we know the numbers for the levels
https://forums.station.sony.com/eq/i...e-tear.201278/ but not the amount of xp given per kill/the forumal for that).
Obviosuly one my the main concerns is getting packet captures for the various parts of the system (reasonably easy for me to get them on "live", but of course that is probably not compatable with UF/Titanium or even RoF clients).
Anyway, testing the waters to see if current devs want/don't want the input. I don't think I will have issues doing the actual db/server coding (famous last words), just deciphering the packet structs (not that I have any to decipher yet).