Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 03-18-2014, 10:44 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I'd like to keep this thread going..I'm working in the new item instance class right now and would like to try and finalize it before moving on...


I don't see how the client knows what is a base attribute versus what is an evolving attribute.

For instance:
Lucy shows item ID: 60810 as having five fill-able augment slots. The client only see 3 slots..but, the data fields have the augsvisible = false.

This is not even an evolving item..so, how do we know when to activate these?


Evolving items (on lucy) have an evolvl = x and maxevolvl = x. In this case, what attributes are active and not-active at lower levels?

Is there information that we're not reading properly yet, or do all of the repositories have incomplete data for levels 0 -> (x - 1)?


Take a look at the update history of item 60810 and you'll see what I mean...

Any ideas?
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #2  
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
  #3  
Old 03-19-2014, 08:21 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Quote:
Originally Posted by Uleat View Post
For instance:
Lucy shows item ID: 60810 as having five fill-able augment slots. The client only see 3 slots..but, the data fields have the augsvisible = false.

This is not even an evolving item..so, how do we know when to activate these?

Any ideas?
I think the hidden augments are/should be used when you equip a power source?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 11:56 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3