Page 2 of 3

Re: Implementing Collections

Posted: Fri Apr 29, 2011 9:08 pm
by Zcoretri
I seem to remember getting more than 1 reward for some items.

Re: Implementing Collections

Posted: Fri Apr 29, 2011 10:54 pm
by John Adams
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 ;)

Re: Implementing Collections

Posted: Fri Apr 29, 2011 11:02 pm
by Scatman
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.

Re: Implementing Collections

Posted: Sun May 01, 2011 1:58 am
by John Adams
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?)

Re: Implementing Collections

Posted: Sun May 01, 2011 10:38 am
by Scatman
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?

Re: Implementing Collections

Posted: Sun May 01, 2011 12:08 pm
by John Adams
My guess is nobody plays EQ2 anymore, so that's why no one can provide input.

Shame, it was a good game.

;)

Re: Implementing Collections

Posted: Sun May 01, 2011 2:33 pm
by Scatman
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.

Re: Implementing Collections

Posted: Mon May 02, 2011 7:13 am
by Zcoretri
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.

Re: Implementing Collections

Posted: Mon May 02, 2011 3:34 pm
by Scatman
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!

Re: Implementing Collections

Posted: Mon May 02, 2011 4:27 pm
by John Adams
Go Flyers!

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

Re: Implementing Collections

Posted: Mon May 02, 2011 9:37 pm
by Scatman
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)?

Re: Implementing Collections

Posted: Tue May 03, 2011 7:20 am
by Zcoretri
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..

Re: Implementing Collections

Posted: Tue May 03, 2011 3:12 pm
by Scatman
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.

Re: Implementing Collections

Posted: Wed May 04, 2011 7:50 am
by Zcoretri
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.

Re: Implementing Collections

Posted: Sun May 08, 2011 1:15 pm
by Scatman
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?