Implementing: Collections

EQ2Emulator Development forum.

Moderator: Team Members

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Implementing Collections

Post by Zcoretri » Fri Apr 29, 2011 9:08 pm

I seem to remember getting more than 1 reward for some items.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Collections

Post by John Adams » Fri Apr 29, 2011 10:54 pm

We had a couple ideas swirling tonight. Even if SOE doesn't provide multiple rewards, there's no reason we cannot. So I think we should go forward with that assumption; multiple rewards items and/or coin.

One thought is to build (yet another) table which holds the sets of item(s) as rewards for completing the collection.

Another idea is to utilize our existing Loot Tables to store them (shouldn't be impossible).

Last idea, just add fields for `reward_1`, `reward_2`...`reward_n` to the `collections` table for however many rewards you actually think SOE maxes out on. Somehow I doubt it will be hundreds ;)

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Fri Apr 29, 2011 11:02 pm

Personally I like the idea of another table to hold collection_rewards. Of course, we can store the coin rewards in the collections table itself. It'd be a quick and easy join. I definitely don't like the idea the reward_1 .. reward_n.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Collections

Post by John Adams » Sun May 01, 2011 1:58 am

So existing loot tables able to do exactly what we want, not good enough? :) Just asking for at least a consideration before dismissing it.

Also, here's the Zam's link: http://eq2.zam.com/db/collection.html?1

I'm seeing multiple rewards, just like you said. Maybe we should check out the rewards "rules", make sure we're thinking of everything (smart loot?)

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Sun May 01, 2011 10:38 am

Oh, right. I can't remember if collections do this too, but does it give the best choice, out of x choices, for your class? Like if you're a warrior, it'll hide the wisdom piece reward?

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Collections

Post by John Adams » Sun May 01, 2011 12:08 pm

My guess is nobody plays EQ2 anymore, so that's why no one can provide input.

Shame, it was a good game.

;)

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Sun May 01, 2011 2:33 pm

Z, can you explain to me the process when you examine an item you are adding?

Does WS_CollectionUpdate send with all the player's current collections + any that he doesn't have and has the item being examined?
Or does WS_CollectionUpdate send with only the player's collections that require the item being examined and any collections that the player doesn't have any requires the item?

The new_collection_flag gets set to 0?

Then the WS_CollectionFilter packet gets sent with what collections? ONLY the collections that will be shown in the window that the item can be added to?
Also for WS_CollectionFilter version 908, i can't get the item icon and name to appear in the client.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Implementing Collections

Post by Zcoretri » Mon May 02, 2011 7:13 am

Scatman wrote:Z, can you explain to me the process when you examine an item you are adding?

Does WS_CollectionUpdate send with all the player's current collections + any that he doesn't have and has the item being examined?
Or does WS_CollectionUpdate send with only the player's collections that require the item being examined and any collections that the player doesn't have any requires the item?

The new_collection_flag gets set to 0?
If it is a new collection just found, WS_CollectionUpdate gets sent with the new_collection_flag set to 0, followed by the WS_CollectionFilter packet. The WS_CollectionItem packet gets sent when the player clicks the 'Add' button.
Then the WS_CollectionFilter packet gets sent with what collections? ONLY the collections that will be shown in the window that the item can be added to?
Only the collections that the item can be added to should display.
Also for WS_CollectionFilter version 908, i can't get the item icon and name to appear in the client.
I will have to take a look at packets and make sure struct is not different for version 908.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Mon May 02, 2011 3:34 pm

Thanks Z.
For the first bullet though. If it's a new_collection=0, (maybe we should call this old_collection?) do all the players collections + any collections that the player has not receieved, but can add the item to appear in the packet?

Also, I'm successfully data mining ZAM for collection data (Bion style!!). Just have to do a few more tweaks and we'll have all 553 collections posted on their website. Gotta go watch a Flyer's game though, so bbl!

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Collections

Post by John Adams » Mon May 02, 2011 4:27 pm

Go Flyers!

And, I'm not following why "old_collection" makes sense. How is it old?

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Mon May 02, 2011 9:37 pm

Zcoretri wrote:If it is a new collection just found, WS_CollectionUpdate gets sent with the new_collection_flag set to 0
Isn't this one of those double negative things? Or maybe I'm thinking about it wrong? (which is very possible because I'm still a little confused about this flag).

So if it's a new collection, the new_collection flag gets set to 0 (false)?

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Implementing Collections

Post by Zcoretri » Tue May 03, 2011 7:20 am

Scatman wrote:
Zcoretri wrote:If it is a new collection just found, WS_CollectionUpdate gets sent with the new_collection_flag set to 0
Isn't this one of those double negative things? Or maybe I'm thinking about it wrong? (which is very possible because I'm still a little confused about this flag).

So if it's a new collection, the new_collection flag gets set to 0 (false)?
Yes, and as far as I know, only one collections gets sent...

Code: Select all

-- OP_ClientCmdMsg::OP_Unknown --
3/16/2009 17:26:24
199.108.12.55 -> 192.168.1.100
0000:	01 37 89 00 00 00 FF 1C 02 01 00 01 12 00 66 65 .7............fe
0010:	61 74 68 65 72 20 63 6F 6C 6C 65 63 74 69 6F 6E ather collection
0020:	07 00 46 65 61 74 68 65 72 01 00 44 48 8C 53 0A ..Feather..DH.S.
0030:	C0 05 00 93 00 0C 00 64 75 63 6B 20 66 65 61 74 .......duck feat
0040:	68 65 72 01 9A 00 0D 00 65 61 67 6C 65 20 66 65 her.....eagle fe
0050:	61 74 68 65 72 01 9C 00 0E 00 66 61 6C 63 6F 6E ather.....falcon
0060:	20 66 65 61 74 68 65 72 01 94 00 0F 00 73 70 61  feather.....spa
0070:	72 72 6F 77 20 66 65 61 74 68 65 72 01 96 00 0C rrow feather....
0080	00 68 61 77 6B 20 66 65 61 74 68 65 72 01 00    .hawk feather..

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Tue May 03, 2011 3:12 pm

OK and I guess my final (probably not) question is: when you inspect a collection item, does it show every collection in the game that's it's apart of? Whether or not you have already added that item to that collection or not?

Just trying to figure out the packet sequence when inspecting a collection item.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Implementing Collections

Post by Zcoretri » Wed May 04, 2011 7:50 am

Scatman wrote:OK and I guess my final (probably not) question is: when you inspect a collection item, does it show every collection in the game that's it's apart of? Whether or not you have already added that item to that collection or not?

Just trying to figure out the packet sequence when inspecting a collection item.
I think what you are asking is, if the item you are inspecting is used in more than one collection, does it show every collection regardless if you have added that item to a collection before.
The answer is no, it will only show either uncompleted collections the item can be added to and/or a newly discovered collection that the item can belong to.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Collections

Post by Scatman » Sun May 08, 2011 1:15 pm

We'll need the table for collection rewards now. I'm at that point in the code and so we can throw the rewards in from ZAM. All it'll be is a collection_id, item_id, and a flag to determine if the reward is selectable. Some rewards give you an item you have to take and/or a list of selectable items.

Also, what about smart rewards for collections, does that exist? If a reward gives a list of helmets for each class, does it only display the helmet that would benefit my class?

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests