Simplified how complete collections are checked.
This commit is contained in:
parent
078071e7bf
commit
70599aa1ec
@ -14619,13 +14619,12 @@ public class PlayerInstance extends Playable
|
||||
|
||||
private void restoreCollectionBonuses()
|
||||
{
|
||||
getCollections().stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()).forEach(uniqueCollection ->
|
||||
getCollections().stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()).forEach(collectionId ->
|
||||
{
|
||||
final List<PlayerCollectionData> currentProgress = getCollections().stream().filter(it -> it.getCollectionId() == uniqueCollection).collect(Collectors.toList());
|
||||
final CollectionDataHolder template = CollectionData.getInstance().getCollection(uniqueCollection);
|
||||
if (currentProgress.size() == template.getItems().size())
|
||||
final CollectionDataHolder collection = CollectionData.getInstance().getCollection(collectionId);
|
||||
if (getCollections().stream().filter(it -> it.getCollectionId() == collectionId).count() == collection.getItems().size())
|
||||
{
|
||||
final Options options = OptionData.getInstance().getOptions(template.getOptionId());
|
||||
final Options options = OptionData.getInstance().getOptions(collection.getOptionId());
|
||||
if (options != null)
|
||||
{
|
||||
options.apply(this);
|
||||
|
@ -16,8 +16,6 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.clientpackets.collection;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.data.xml.CollectionData;
|
||||
import org.l2jmobius.gameserver.data.xml.OptionData;
|
||||
@ -94,14 +92,11 @@ public class RequestCollectionRegister implements IClientIncomingPacket
|
||||
|
||||
player.getCollections().add(new PlayerCollectionData(_collectionId, item.getId(), _index));
|
||||
|
||||
if (collection.getItems().size() == player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).count())
|
||||
if (player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).count() == collection.getItems().size())
|
||||
{
|
||||
player.sendPacket(new ExCollectionComplete(_collectionId));
|
||||
}
|
||||
|
||||
// Apply collection option if all requirements are met.
|
||||
if (player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).collect(Collectors.toList()).size() == collection.getItems().size())
|
||||
{
|
||||
|
||||
// Apply collection option if all requirements are met.
|
||||
final Options options = OptionData.getInstance().getOptions(collection.getOptionId());
|
||||
if (options != null)
|
||||
{
|
||||
|
@ -14880,13 +14880,12 @@ public class PlayerInstance extends Playable
|
||||
|
||||
private void restoreCollectionBonuses()
|
||||
{
|
||||
getCollections().stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()).forEach(uniqueCollection ->
|
||||
getCollections().stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()).forEach(collectionId ->
|
||||
{
|
||||
final List<PlayerCollectionData> currentProgress = getCollections().stream().filter(it -> it.getCollectionId() == uniqueCollection).collect(Collectors.toList());
|
||||
final CollectionDataHolder template = CollectionData.getInstance().getCollection(uniqueCollection);
|
||||
if (currentProgress.size() == template.getItems().size())
|
||||
final CollectionDataHolder collection = CollectionData.getInstance().getCollection(collectionId);
|
||||
if (getCollections().stream().filter(it -> it.getCollectionId() == collectionId).count() == collection.getItems().size())
|
||||
{
|
||||
final Options options = OptionData.getInstance().getOptions(template.getOptionId());
|
||||
final Options options = OptionData.getInstance().getOptions(collection.getOptionId());
|
||||
if (options != null)
|
||||
{
|
||||
options.apply(this);
|
||||
|
@ -16,8 +16,6 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.clientpackets.collection;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.data.xml.CollectionData;
|
||||
import org.l2jmobius.gameserver.data.xml.OptionData;
|
||||
@ -94,14 +92,11 @@ public class RequestCollectionRegister implements IClientIncomingPacket
|
||||
|
||||
player.getCollections().add(new PlayerCollectionData(_collectionId, item.getId(), _index));
|
||||
|
||||
if (collection.getItems().size() == player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).count())
|
||||
if (player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).count() == collection.getItems().size())
|
||||
{
|
||||
player.sendPacket(new ExCollectionComplete(_collectionId));
|
||||
}
|
||||
|
||||
// Apply collection option if all requirements are met.
|
||||
if (player.getCollections().stream().filter(it -> it.getCollectionId() == _collectionId).collect(Collectors.toList()).size() == collection.getItems().size())
|
||||
{
|
||||
|
||||
// Apply collection option if all requirements are met.
|
||||
final Options options = OptionData.getInstance().getOptions(collection.getOptionId());
|
||||
if (options != null)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user