Merge branch 'master' into credits_update
This commit is contained in:
@@ -23,7 +23,7 @@ import client.MapleCharacter;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import server.MapleItemInformationProvider;
|
||||
//import server.MapleItemInformationProvider;
|
||||
import server.life.MapleMonsterInformationProvider;
|
||||
import server.life.MonsterDropEntry;
|
||||
import server.quest.MapleQuest;
|
||||
@@ -34,7 +34,7 @@ import server.quest.MapleQuest;
|
||||
*/
|
||||
public class MapleLootManager {
|
||||
|
||||
private static boolean isRelevantDrop(MonsterDropEntry dropEntry, List<MapleCharacter> partyMembers, List<MapleLootInventory> partyInv) {
|
||||
private static boolean isRelevantDrop(MonsterDropEntry dropEntry, List<MapleCharacter> players, List<MapleLootInventory> playersInv) {
|
||||
int qStartAmount = 0, qCompleteAmount = 0;
|
||||
MapleQuest quest = MapleQuest.getInstance(dropEntry.questid);
|
||||
if (quest != null) {
|
||||
@@ -42,12 +42,12 @@ public class MapleLootManager {
|
||||
qCompleteAmount = quest.getCompleteItemAmountNeeded(dropEntry.itemId);
|
||||
}
|
||||
|
||||
boolean restricted = MapleItemInformationProvider.getInstance().isPickupRestricted(dropEntry.itemId);
|
||||
for (int i = 0; i < partyMembers.size(); i++) {
|
||||
MapleLootInventory chrInv = partyInv.get(i);
|
||||
//boolean restricted = MapleItemInformationProvider.getInstance().isPickupRestricted(dropEntry.itemId);
|
||||
for (int i = 0; i < players.size(); i++) {
|
||||
MapleLootInventory chrInv = playersInv.get(i);
|
||||
|
||||
if (dropEntry.questid > 0) {
|
||||
int qItemAmount, chrQuestStatus = partyMembers.get(i).getQuestStatus(dropEntry.questid);
|
||||
int qItemAmount, chrQuestStatus = players.get(i).getQuestStatus(dropEntry.questid);
|
||||
if (chrQuestStatus == 0) {
|
||||
qItemAmount = qStartAmount;
|
||||
} else if (chrQuestStatus != 1) {
|
||||
@@ -63,12 +63,12 @@ public class MapleLootManager {
|
||||
int qItemStatus = chrInv.hasItem(dropEntry.itemId, qItemAmount);
|
||||
if (qItemStatus == 2) {
|
||||
continue;
|
||||
} else if (restricted && qItemStatus == 1) {
|
||||
} /*else if (restricted && qItemStatus == 1) {
|
||||
continue;
|
||||
}
|
||||
} else if (restricted && chrInv.hasItem(dropEntry.itemId, 1) > 0) {
|
||||
}*/
|
||||
} /*else if (restricted && chrInv.hasItem(dropEntry.itemId, 1) > 0) { // thanks Conrad, Legalize for noticing eligible loots not being available to drop for non-killer parties
|
||||
continue;
|
||||
}
|
||||
}*/
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -76,19 +76,19 @@ public class MapleLootManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static List<MonsterDropEntry> retrieveRelevantDrops(int monsterId, List<MapleCharacter> partyMembers) {
|
||||
public static List<MonsterDropEntry> retrieveRelevantDrops(int monsterId, List<MapleCharacter> players) {
|
||||
List<MonsterDropEntry> loots = MapleMonsterInformationProvider.getInstance().retrieveEffectiveDrop(monsterId);
|
||||
if(loots.isEmpty()) return loots;
|
||||
|
||||
List<MapleLootInventory> partyInv = new LinkedList<>();
|
||||
for(MapleCharacter chr : partyMembers) {
|
||||
List<MapleLootInventory> playersInv = new LinkedList<>();
|
||||
for(MapleCharacter chr : players) {
|
||||
MapleLootInventory lootInv = new MapleLootInventory(chr);
|
||||
partyInv.add(lootInv);
|
||||
playersInv.add(lootInv);
|
||||
}
|
||||
|
||||
List<MonsterDropEntry> effectiveLoot = new LinkedList<>();
|
||||
for(MonsterDropEntry mde : loots) {
|
||||
if(isRelevantDrop(mde, partyMembers, partyInv)) {
|
||||
if(isRelevantDrop(mde, players, playersInv)) {
|
||||
effectiveLoot.add(mde);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user